hlmod.hu
https://hlmod.hu/

KÉSZ! Spectator, mintha "élnél" + sebzéskiírás
https://hlmod.hu/viewtopic.php?f=29&t=21614
Oldal: 1 / 2

Szerző:  ZiT3K [ 2015.07.20. 21:02 ]
Hozzászólás témája:  KÉSZ! Spectator, mintha "élnél" + sebzéskiírás

Hali!
Valaki tudna csinálni vagy linkelni egy MŰKÖDŐ(de tesztelni tudom), olyan plugint, ami ezeket tudja:
A spectatorban lévő játékos vagy halott néző azt a játékost, akit néz látja annak a pénzét, töltényét, páncélzatát, HP-ját ÉS, amennyiben eltalál valakit vagy őt találják el, akkor azt is kiírja középre(ÁLTALAD SEBZETT->kékkel, TÉGED SEBZETT->pirossal), TEHÁT ugyan azokat látod mintha az élők között játszanál.

Előre is THX!

Szerző:  LyleChriss [ 2015.07.21. 00:00 ]
Hozzászólás témája:  Re: SPECTATOR update

Nézd meg ezt. ;)
Bár ez csak a spec hud. :D

SMA Forráskód: [ Mindet kijelol ]
  1. /* Formatright © 2010, ConnorMcLeod
  2.  
  3. This plugin is free software;
  4. you can redistribute it and/or modify it under the terms of the
  5. GNU General Public License as published by the Free Software Foundation.
  6.  
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11.  
  12. You should have received a copy of the GNU General Public License
  13. along with this plugin; if not, write to the
  14. Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  15. Boston, MA 02111-1307, USA.
  16. */
  17.  
  18. #include <amxmodx>
  19. #include <engine>
  20.  
  21. #define VERSION "0.0.1"
  22. #define PLUGIN "Spectator Hud Informations"
  23.  
  24. #define MAX_PLAYERS 32
  25. #define FIRST_PERSON_VIEW 4
  26.  
  27. new const g_iWeaponIdToAmmoId[] = {
  28. 0, 9, 0, 2, 12, 5, 14, 6, 4, 13, 10, 7, 6, 4, 4, 4, 6, 10, 1, 10, 3, 5, 4, 10, 2, 11, 8, 4, 2, 0, 7}
  29.  
  30. new g_iHealth[MAX_PLAYERS+1]
  31. new g_iArmor[MAX_PLAYERS+1]
  32. new g_iMoney[MAX_PLAYERS+1]
  33. new g_iCurWeapon[MAX_PLAYERS+1]
  34. new g_iAmmo[MAX_PLAYERS+1]
  35. new g_iBpAmmo[MAX_PLAYERS+1][15]
  36.  
  37. new g_dhud_color
  38.  
  39. public plugin_init()
  40. {
  41. register_plugin(PLUGIN, VERSION, "ConnorMcLeod")
  42.  
  43. register_cvar("amx_spec_hud_color", "250 250 250")
  44.  
  45. register_event("Money", "Event_Money", "b")
  46. register_event("CurWeapon", "Event_CurWeapon", "b", "1=1")
  47. register_event("Health", "Event_Health", "b")
  48. register_event("Battery", "Event_Battery", "b")
  49. register_event("AmmoX", "Event_AmmoX", "b", "1<15")
  50.  
  51. new szColor[12], szRed[4], szGreen[4], szBlue[4], r, g, b
  52. get_cvar_string("amx_spec_hud_color", szColor, charsmax(szColor))
  53. parse(szColor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue))
  54. r = clamp( str_to_num(szRed), 0, 255)
  55. g = clamp( str_to_num(szGreen), 0, 255)
  56. b = clamp( str_to_num(szBlue), 0, 255)
  57. g_dhud_color = b + ( g << 8 ) + ( r << 16 )
  58.  
  59. new iEnt = create_entity("info_target")
  60. if( iEnt )
  61. {
  62. entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1)
  63. entity_set_string(iEnt, EV_SZ_classname, "_hud_spec")
  64. register_think("_hud_spec", "UpdateSpecHud")
  65. }
  66. else
  67. {
  68. set_task(0.1, "UpdateSpecHud", .flags="b")
  69. }
  70. }
  71.  
  72. public UpdateSpecHud( iEnt )
  73. {
  74. if( iEnt )
  75. {
  76. entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1)
  77. }
  78. static iAlivePlayers[32], iDeadPlayers[32], iAliveCount, iDeadCount, iAlivePlayer, iDeadPlayer, i
  79. static iAmmo
  80. static bool:bRetrievedValues, szMessage1[128], szMessage2[128], iLen1, iLen2
  81. get_players(iAlivePlayers, iAliveCount, "a")
  82. if( !iAliveCount )
  83. {
  84. return
  85. }
  86. get_players(iDeadPlayers, iDeadCount, "bch")
  87. if( !iDeadCount )
  88. {
  89. return
  90. }
  91.  
  92. for(--iAliveCount; iAliveCount>=0; iAliveCount--)
  93. {
  94. bRetrievedValues = false
  95. iAlivePlayer = iAlivePlayers[iAliveCount]
  96. for(i=0; i<iDeadCount; i++)
  97. {
  98. iDeadPlayer = iDeadPlayers[i]
  99. if( entity_get_int(iDeadPlayer, EV_INT_iuser2) == iAlivePlayer && entity_get_int(iDeadPlayer, EV_INT_iuser1) == FIRST_PERSON_VIEW )
  100. {
  101. if( !bRetrievedValues )
  102. {
  103. iLen1 = 31+ formatex(szMessage1, charsmax(szMessage1), "%3d HP^t^t^t%3d AP", g_iHealth[iAlivePlayer], g_iArmor[iAlivePlayer])
  104. iAmmo = g_iAmmo[iAlivePlayer]
  105. if( iAmmo != -1 )
  106. {
  107. iLen2 = 31 + formatex(
  108. szMessage2, charsmax(szMessage2),
  109. "$ %5d^n%3d|%3d",
  110. g_iMoney[iAlivePlayer], iAmmo, g_iBpAmmo[iAlivePlayer][ g_iWeaponIdToAmmoId[ g_iCurWeapon[iAlivePlayer] ] ]
  111. )
  112. }
  113. else
  114. {
  115. iLen2 = 31 + formatex(szMessage2, charsmax(szMessage2), "$ %5d^n", g_iMoney[iAlivePlayer])
  116. }
  117. bRetrievedValues = true
  118. }
  119.  
  120. __show__dhudmessage(iDeadPlayer, szMessage1, iLen1, _:0.01, _:0.98)
  121. __show__dhudmessage(iDeadPlayer, szMessage2, iLen2, _:0.92, _:0.93)
  122.  
  123. iDeadPlayers[i--] = iDeadPlayers[--iDeadCount]
  124. if( !iDeadCount )
  125. {
  126. return
  127. }
  128. }
  129. }
  130. }
  131. }
  132.  
  133. public Event_Money( id )
  134. {
  135. g_iMoney[id] = read_data(1)
  136. }
  137.  
  138. public Event_CurWeapon(id)
  139. {
  140. g_iCurWeapon[id] = read_data(2)
  141. g_iAmmo[id] = read_data(3)
  142. }
  143.  
  144. public Event_AmmoX(id)
  145. {
  146. g_iBpAmmo[id][read_data(1)] = read_data(2)
  147. }
  148.  
  149. public Event_Health(id)
  150. {
  151. g_iHealth[id] = read_data(1)
  152. }
  153.  
  154. public Event_Battery(id)
  155. {
  156. g_iArmor[id] = read_data(1)
  157. }
  158.  
  159. // code extracted from Director Hud Message include file
  160. __show__dhudmessage(id, const szMessage[], iLen, x, y)
  161. {
  162. message_begin( MSG_ONE_UNRELIABLE , SVC_DIRECTOR, .player=id )
  163. {
  164. write_byte( iLen )
  165. write_byte( DRC_CMD_MESSAGE )
  166. write_byte( 0 )
  167. write_long( g_dhud_color )
  168. write_long( x )
  169. write_long( y )
  170. write_long( 0x38D1B717 )
  171. write_long( 0x38D1B717 )
  172. write_long( 0x3DF5C28F )
  173. write_long( 0 )
  174. write_string( szMessage )
  175. }
  176. message_end()
  177. }
  178.  

Szerző:  ZiT3K [ 2015.08.07. 10:14 ]
Hozzászólás témája:  Re: SPECTATOR update

Sikerült megnéznem, mutatja a hp-kat stb. csak NAGYON halvány fehéren mutatja, hol kell átírni a színt?

Így átírtam, de még mindig fehér :( :
SMA Forráskód: [ Mindet kijelol ]
  1. register_cvar("amx_spec_hud_color", "0 250 0")

Szerző:  Mr.Freeze [ 2015.08.07. 10:22 ]
Hozzászólás témája:  Re: SPECTATOR update

Az első a (r) ami red, a második (g) ami green, (b) blue
Itt egy színgenerátor.
http://users.atw.hu/vitt1c3ps/htmlszinkod.php

Szerző:  ZiT3K [ 2015.08.07. 10:23 ]
Hozzászólás témája:  Re: SPECTATOR update

Jó szint adtam meg, mert zöldet akartam csak mégsem változtatta át zöldre.

EDIT:

Most néztem, hogy nem is annyira halvány a fehér sem csak ugye, amikor specből nézelődünk, akkor ott van a képernyő alsó részén egy fekete sáv és ezt a HUD feliratokat mögé helyezi és ezért, sötétíti el.
Tehát szeretném, ha valaki átalakítaná úgy, hogy éppen a fekete sáv fölött jelenjenek meg a cuccok, hogy ne legyenek takarásban.

Szerző:  ZiT3K [ 2015.08.31. 22:52 ]
Hozzászólás témája:  Re: SPECTATOR update

ZiT3K írta:
Jó szint adtam meg, mert zöldet akartam csak mégsem változtatta át zöldre.

EDIT:

Most néztem, hogy nem is annyira halvány a fehér sem csak ugye, amikor specből nézelődünk, akkor ott van a képernyő alsó részén egy fekete sáv és ezt a HUD feliratokat mögé helyezi és ezért, sötétíti el.
Tehát szeretném, ha valaki átalakítaná úgy, hogy éppen a fekete sáv fölött jelenjenek meg a cuccok, hogy ne legyenek takarásban.


A koordinátákat légyszíves valaki írja fentebb, előre is köszi!

Szerző:  mforce [ 2015.08.31. 23:14 ]
Hozzászólás témája:  Re: SPECTATOR update

Amxx studioba elhelyezed magadnak a kordinátákat és kimásolod!

Szerző:  ZiT3K [ 2015.09.01. 07:30 ]
Hozzászólás témája:  Re: SPECTATOR update

Igen, próbáltam, de ott sokkal rövidebb sor(koordináta) jött ki.
Akkor csak írd le, hogy melyikkel állítom a magasságot és utána majd odateszem, ahova kell.

Szerző:  mforce [ 2015.09.01. 08:04 ]
Hozzászólás témája:  Re: SPECTATOR update

Színkód utáni 2 szám. Ha ez alapján tudod értelmezni,akkor az első szám a szélesség. Második a magasság.
X tengely és Y tengely

Kód:
// - - - - - - - - - - - - - - - - - - - - - - -
//  (0.0,0.0) ↑  (0.0,1.0)    syntax : x y
//            │            (alap: -1.0 0.2)
//      ← ————┼———— →
//            │             közép: (-1.0,-1.0)
//  (0.0,1.0) ↓  (1.0,1.0)
// - - - - - - - - - - - - - - - - - - - - - - -

Szerző:  ZiT3K [ 2015.09.01. 13:21 ]
Hozzászólás témája:  Re: SPECTATOR update

A spectatorban lévő játékos vagy halott néző azt a játékost, akit néz látja annak a pénzét, töltényét, páncélzatát, HP-ját ÉS, amennyiben eltalál valakit vagy őt találják el, akkor azt is kiírja középre(ÁLTALAD SEBZETT->kékkel, TÉGED SEBZETT->pirossal), TEHÁT ugyan azokat látod mintha az élők között játszanál.


A sebzést még légyszíves, aki tudja írja bele!
Előre is köszi!

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/