hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 05:47



Jelenlévő felhasználók

Jelenleg 484 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 484 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Deathrun Terror Csere
HozzászólásElküldve: 2014.05.08. 18:48 
Offline
Senior Tag

Csatlakozott: 2014.04.26. 23:27
Hozzászólások: 201
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 1 alkalommal
Szasztok. Deathrun Szerverre szeretnék egy olyan plugint amivel ha T kiáll akkor egy CT-t automatikusan bedob a helyére előre is köszi :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deathrun Terror Csere
HozzászólásElküldve: 2014.05.08. 19:39 
Offline
Tud valamit
Avatar

Csatlakozott: 2011.10.28. 13:32
Hozzászólások: 148
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 26 alkalommal
Halálfutam Mód
halálfutam mód már alapból tartalmazza.

_________________
Következő pluginok várhatóak:
  • Emoticon of message


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deathrun Terror Csere
HozzászólásElküldve: 2014.05.08. 21:47 
Offline
Senior Tag

Csatlakozott: 2014.04.26. 23:27
Hozzászólások: 201
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 1 alkalommal
Melyik cvarral tudom állítani akkor?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deathrun Terror Csere
HozzászólásElküldve: 2014.05.09. 11:01 
Offline
Jómunkásember

Csatlakozott: 2012.01.29. 12:48
Hozzászólások: 408
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 126 alkalommal
nos'chez írta:
https://hlmod.hu/viewtopic.php?f=101&t=12506
halálfutam mód már alapból tartalmazza.

Szerintem ő úgy gondolta, hogy kör közben ha kiáll a T, akkor automatikusan kör resi nélkül rakjon a helyére egy CT-t. ;)

Lang fájl:
Csatolmány:
data.zip [1.02 KiB]
Letöltve 25 alkalommal.


SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6.  
  7. #define TID_RESTORE_ORIGIN 457547
  8.  
  9. new Float:_pg_ftmp
  10. #define _Vec3ToAngles(%1,%2) _pg_ftmp = floatsqroot(%1[0]*%1[0] + %1[1]*%1[1]);\
  11. %2[1] = floatacos(%1[0]/_pg_ftmp, 1)*(1-2*_:(%1[1]<0));\
  12. %2[0] =-floatatan(%1[2]/_pg_ftmp, 1);\
  13. %2[2] = 0.0
  14.  
  15. #define _Vec3AddScalar(%1,%2) %1[0]+=%2;%1[1]+=%2;%1[2]+=%2
  16. #define _Vec3MultScalar(%1,%2) %1[0]*=%2;%1[1]*=%2;%1[2]*=%2
  17. #define _Vec3Set(%1,%2) %1[0]=%2[0];%1[1]=%2[1];%1[2]=%2[2]
  18. #define _Vec3Add(%1,%2) %1[0]+=%2[0];%1[1]+=%2[1];%1[2]+=%2[2]
  19.  
  20. #define _Set(%1,%2) %1|=1<<%2
  21. #define _UnSet(%1,%2) %1&=~(1<<%2)
  22. #define _Is(%1,%2) (%1&1<<%2)
  23. new _human
  24. new _alive
  25.  
  26. #define _IsPlayer(%1) (1<=%1<=g_max_players)
  27.  
  28.  
  29. new g_max_players
  30. new g_msg_saytext
  31. new Float:g_t_origin[3]
  32. new Float:g_b_origin[3]
  33. new bool:g_valid_origin
  34. new bool:g_ml
  35.  
  36.  
  37. public plugin_init(){
  38. register_plugin("Replace Disconnected T", "1.5", "Sylwester")
  39. RegisterHam(Ham_Use, "func_button", "button_pushed", 1)
  40. RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
  41. RegisterHam(Ham_Killed, "player", "Player_Killed", 1)
  42. g_max_players = get_maxplayers()
  43. g_msg_saytext = get_user_msgid("SayText")
  44.  
  45. new path[128]
  46. get_datadir(path, 127)
  47. add(path, 127, "/lang/replace_disconnected_t.txt")
  48. if(file_exists(path)){
  49. register_dictionary("replace_disconnected_t.txt")
  50. g_ml = true
  51. }
  52. }
  53.  
  54.  
  55. public button_pushed(ent, idcaller, idactivator, use_type, Float:value){
  56. if(!_IsPlayer(idcaller) || !_Is(_alive, idcaller) || !pev_valid(ent) || cs_get_user_team(idcaller) != CS_TEAM_T)
  57. return
  58. new Float:ftmp[3]
  59. pev(ent, pev_mins, g_b_origin)
  60. pev(ent, pev_maxs, ftmp)
  61.  
  62. _Vec3Add(g_b_origin, ftmp)
  63. _Vec3MultScalar(g_b_origin, 0.5)
  64.  
  65. pev(idcaller, pev_origin, g_t_origin)
  66. if(pev(idcaller, pev_flags) & FL_DUCKING)
  67. g_t_origin[2] += 19
  68. g_valid_origin = true
  69. }
  70.  
  71.  
  72. public Player_Killed(id){
  73. _UnSet(_alive, id)
  74. }
  75.  
  76.  
  77. public Player_Spawn(id){
  78. if(!is_user_alive(id))
  79. return
  80. _Set(_alive, id)
  81. if(cs_get_user_team(id) != CS_TEAM_T)
  82. return
  83. g_valid_origin = false
  84. }
  85.  
  86.  
  87. public client_putinserver(id){
  88. if(is_user_bot(id) || is_user_hltv(id))
  89. return
  90. _Set(_human, id)
  91. }
  92.  
  93.  
  94. public announce_t_change(newid, oldid){
  95. new msg[160], otname[32], ntname[32]
  96. get_user_name(oldid, otname, 31)
  97. get_user_name(newid, ntname, 31)
  98. if(!g_ml){
  99. formatex(msg, 159, "^3[ DeathRun ] ^4%s^1 has left the game. ^4%s^1 is now the terrorist.", otname, ntname)
  100. message_begin(MSG_ALL, g_msg_saytext, _, 0)
  101. write_byte(oldid)
  102. write_string(msg)
  103. message_end()
  104. return
  105. }
  106. for(new i=1; i<=g_max_players; i++){
  107. if(!_Is(_human, i))
  108. continue
  109. formatex(msg, 159, "%L", i, "ANN_REPL_T", otname, ntname)
  110. message_begin(MSG_ONE, g_msg_saytext, _, i)
  111. write_byte(oldid)
  112. write_string(msg)
  113. message_end()
  114. }
  115. }
  116.  
  117.  
  118. public client_disconnect(id){
  119. _UnSet(_human, id)
  120. _UnSet(_alive, id)
  121. new players[32], pnum
  122. for(new i=1; i<=g_max_players; i++){
  123. if(!_Is(_human, i))
  124. continue
  125. if(cs_get_user_team(i) == CS_TEAM_T)
  126. return
  127. players[pnum++] = i
  128. }
  129. if(pnum<=0)
  130. return
  131. new new_terr = players[random(pnum)]
  132. cs_set_user_team(new_terr, CS_TEAM_T)
  133.  
  134. announce_t_change(new_terr, id)
  135.  
  136. if(!g_valid_origin){
  137. ExecuteHamB(Ham_CS_RoundRespawn, new_terr)
  138. return
  139. }
  140. ExecuteHamB(Ham_CS_RoundRespawn, new_terr)
  141. g_valid_origin = true
  142. new param[2]
  143. param[0] = new_terr
  144. param[1] = 10 //max teleport attempts
  145. restore_origin(param)
  146. }
  147.  
  148.  
  149. public restore_origin(param[]) {
  150. if(!g_valid_origin || --param[1]<0 || !_Is(_alive, param[0]))
  151. return
  152. new tr, Float:ftmp[3]
  153. _Vec3Set(ftmp, g_t_origin)
  154.  
  155. //find vacant location
  156. for(new i=0; i<100; i++){
  157. engfunc(EngFunc_TraceHull, ftmp, ftmp, 0, HULL_HUMAN, 0, tr)
  158. if(get_tr2(tr, TR_StartSolid) || get_tr2(tr, TR_AllSolid)){
  159. _Vec3AddScalar(ftmp, random_float(-10.0, 10.0))
  160. continue
  161. }
  162. //check if new location is on the correct side of the wall
  163. engfunc(EngFunc_TraceLine, g_t_origin, ftmp, DONT_IGNORE_MONSTERS, 0, tr)
  164. new Float:fraction
  165. get_tr2(tr, TR_flFraction, fraction)
  166. if(fraction != 1.0){
  167. break
  168. }
  169. _Vec3Set(g_t_origin, ftmp)
  170.  
  171. set_pev(param[0], pev_origin, g_t_origin) //move player to vacant location
  172.  
  173. //calculate angles
  174. _Vec3Set(ftmp, -g_t_origin)
  175. _Vec3Add(ftmp, g_b_origin)
  176. _Vec3ToAngles(ftmp, ftmp)
  177.  
  178. //aim at button
  179. set_pev(param[0], pev_angles, ftmp)
  180. set_pev(param[0], pev_fixangle, 1)
  181. return
  182. }
  183. set_task(0.1, "restore_origin", TID_RESTORE_ORIGIN+param[0], param, 2)
  184. }
  185.  


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 112 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole