hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 11:51



Jelenlévő felhasználók

Jelenleg 302 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 302 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  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.10. 13:07 
Offline
Lelkes

Csatlakozott: 2013.02.05. 15:30
Hozzászólások: 19
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 1 alkalommal
Hol tudom azt beállítani hogy a védőburok ne a kör végéig legyen hanem mondjuk csak 30 másodpercig legyen és eltűnjön ! ??
Esetleg ha még lehet akkor összébb venni hogy ne legyen olyan nagy.

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <zombieplague>
  6. #include <hamsandwich>
  7. #include <fakemeta_util>
  8. #include <fun>
  9.  
  10.  
  11. #define PLUGIN "[ZP] Extra Item: Force Field Grenade"
  12. #define VERSION "v1.6"
  13. #define AUTHOR "lucas_7_94" // Thanks To Users in credits too!.
  14.  
  15. /*=============================[Plugin Customization]=============================*/
  16. //#define CAMPO_TASK
  17. #define CAMPO_ROUND
  18.  
  19. new const NADE_TYPE_CAMPO = 7000
  20.  
  21. new const model_grenade[] = "models/zombie_plague/v_auragren.mdl"
  22. new g_bomb[33]
  23. new g_itemID
  24. new const model[] = "models/zombie_plague/aura8.mdl"
  25.  
  26. new const entclas[] = "campo_grenade_forze"
  27. new cvar_flaregrenades
  28. new g_trailSpr
  29. const m_pPlayer = 41;
  30.  
  31. new cvar_push
  32.  
  33. new g_SayText
  34. new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
  35.  
  36. /*=============================[End Customization]=============================*/
  37.  
  38. public plugin_init()
  39. {
  40. register_plugin(PLUGIN, VERSION, AUTHOR)
  41.  
  42. RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
  43.  
  44. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  45.  
  46. cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades")
  47.  
  48. register_forward(FM_SetModel, "fw_SetModel")
  49.  
  50. RegisterHam( Ham_Item_Deploy, "weapon_smokegrenade", "FwdHamSmokeDeploy", 1 );
  51.  
  52. register_touch(entclas, "player", "entity_touch")
  53.  
  54. register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
  55.  
  56. g_SayText = get_user_msgid("SayText")
  57.  
  58. // cvar to push!!.
  59. register_cvar("zp_shield_creator", AUTHOR, FCVAR_SERVER)
  60.  
  61. #if defined CAMPO_ROUND
  62. g_itemID = zp_register_extra_item( "Force Shield", 30 , ZP_TEAM_HUMAN)
  63. #else
  64. g_itemID = zp_register_extra_item( "Force Shield (Short-acting)", 15 , ZP_TEAM_HUMAN)
  65. #endif
  66.  
  67. cvar_push = register_cvar("zp_forze_push", "5.5")
  68. }
  69. public event_round_start()
  70. {
  71. #if defined CAMPO_ROUND
  72. remove_entity_name(entclas)
  73. #endif
  74.  
  75. arrayset( g_bomb, false, 33 );
  76. }
  77.  
  78. public plugin_precache()
  79. {
  80. g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
  81.  
  82. engfunc(EngFunc_PrecacheModel, model_grenade)
  83. engfunc(EngFunc_PrecacheModel, model)
  84. }
  85.  
  86. public client_disconnect(id)
  87. {
  88. g_bomb[id] = false
  89. }
  90.  
  91. public zp_extra_item_selected(player, itemid)
  92. {
  93. if(itemid == g_itemID)
  94. {
  95. if(g_bomb[player])
  96. {
  97. Color(player, "!g[ZP]!y Neked mar van Force Shield Granatod!")
  98. }
  99. else
  100. {
  101. g_bomb[player] = true
  102. give_item(player,"weapon_smokegrenade")
  103.  
  104.  
  105. #if defined CAMPO_ROUND
  106. Color(player, "!g[ZP]!y Vettel egy Force Shield Granatot!")
  107. #else
  108. Color(player, "!g[ZP]!y Vettel egy Force Shield Granatot!")
  109. #endif
  110. }
  111.  
  112.  
  113. }
  114.  
  115. }
  116.  
  117. public fw_PlayerKilled(victim, attacker, shouldgib) g_bomb[victim] = false
  118.  
  119.  
  120. public fw_ThinkGrenade(entity)
  121. {
  122. if(!pev_valid(entity))
  123. return HAM_IGNORED
  124.  
  125. static Float:dmgtime
  126. pev(entity, pev_dmgtime, dmgtime)
  127.  
  128. if (dmgtime > get_gametime())
  129. return HAM_IGNORED
  130.  
  131. if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_CAMPO)
  132. crear_ent(entity)
  133.  
  134.  
  135. return HAM_SUPERCEDE
  136. }
  137.  
  138. public FwdHamSmokeDeploy(const iEntity) {
  139. if(pev_valid(iEntity) != 2 )
  140. return HAM_IGNORED
  141.  
  142. new id = get_pdata_cbase(iEntity, m_pPlayer, 4)
  143.  
  144. if(g_bomb[id] && !zp_get_user_zombie(id))
  145. {
  146. set_pev( id, pev_viewmodel2, model_grenade )
  147. }
  148.  
  149. return HAM_IGNORED;
  150. }
  151.  
  152. public fw_SetModel(entity, const model[])
  153. {
  154. static Float:dmgtime
  155. pev(entity, pev_dmgtime, dmgtime)
  156.  
  157. if (dmgtime == 0.0)
  158. return
  159.  
  160. if (equal(model[7], "w_sm", 4))
  161. {
  162. new owner = pev(entity, pev_owner)
  163.  
  164. if(!zp_get_user_zombie(owner) && g_bomb[owner])
  165. {
  166. set_pcvar_num(cvar_flaregrenades,0)
  167.  
  168. fm_set_rendering(entity, kRenderFxGlowShell, 000, 255, 255, kRenderNormal, 16)
  169.  
  170. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  171. write_byte(TE_BEAMFOLLOW) // TE id
  172. write_short(entity) // entity
  173. write_short(g_trailSpr) // sprite
  174. write_byte(10) // life
  175. write_byte(10) // width
  176. write_byte(000) // r
  177. write_byte(255) // g
  178. write_byte(255) // b
  179. write_byte(500) // brightness
  180. message_end()
  181.  
  182. set_pev(entity, pev_flTimeStepSound, NADE_TYPE_CAMPO)
  183.  
  184. set_task(6.0, "DeleteEntityGrenade" ,entity)
  185. }
  186. }
  187.  
  188. }
  189.  
  190. public DeleteEntityGrenade(entity) remove_entity(entity)
  191.  
  192. public crear_ent(id)
  193. {
  194. set_pcvar_num(cvar_flaregrenades,1)
  195.  
  196. // Create entitity
  197. new iEntity = create_entity("info_target")
  198.  
  199. if(!is_valid_ent(iEntity))
  200. return PLUGIN_HANDLED
  201.  
  202. new Float: Origin[3]
  203. entity_get_vector(id, EV_VEC_origin, Origin)
  204. Origin[2] -= 0.00
  205.  
  206. entity_set_string(iEntity, EV_SZ_classname, entclas)
  207.  
  208. entity_set_vector(iEntity,EV_VEC_origin, Origin)
  209. entity_set_model(iEntity,model)
  210. entity_set_int(iEntity, EV_INT_solid, SOLID_TRIGGER)
  211. entity_set_size(iEntity, Float: {-100.0, -100.0, -100.0}, Float: {100.0, 100.0, 100.0})
  212. entity_set_int(iEntity, EV_INT_renderfx, kRenderFxGlowShell)
  213. entity_set_int(iEntity, EV_INT_rendermode, kRenderTransAlpha)
  214. entity_set_float(iEntity, EV_FL_renderamt, 50.0)
  215.  
  216.  
  217. if(is_valid_ent(iEntity))
  218. {
  219. new Float:vColor[3]
  220.  
  221. for(new i; i < 3; i++)
  222. vColor[i] = random_float(0.0, 255.0)
  223.  
  224. entity_set_vector(iEntity, EV_VEC_rendercolor, vColor)
  225. }
  226.  
  227.  
  228. #if defined CAMPO_TASK
  229. set_task(15.0, "DeleteEntity", iEntity)
  230. #endif
  231.  
  232. static attacker
  233. attacker = pev(id, pev_owner)
  234.  
  235. g_bomb[attacker] = false
  236.  
  237. return PLUGIN_CONTINUE;
  238. }
  239.  
  240. public zp_user_infected_post(infected, infector)
  241. {
  242. if (g_bomb[infected])
  243. {
  244. g_bomb[infected] = false
  245. }
  246. }
  247.  
  248. public entity_touch(touched, toucher)
  249. {
  250. if(zp_get_user_zombie(toucher) || zp_get_user_nemesis(toucher))
  251. {
  252. new Float:pos_ptr[3], Float:pos_ptd[3], Float:push_power = get_pcvar_float(cvar_push)
  253.  
  254. pev(touched, pev_origin, pos_ptr)
  255. pev(toucher, pev_origin, pos_ptd)
  256.  
  257. for(new i = 0; i < 2; i++)
  258. {
  259. pos_ptd[i] -= pos_ptr[i]
  260. pos_ptd[i] *= push_power
  261. }
  262. set_pev(toucher, pev_velocity, pos_ptd)
  263. set_pev(toucher, pev_impulse, pos_ptd)
  264. }
  265. }
  266.  
  267. public remove_ent()
  268. {
  269. remove_entity_name(entclas)
  270. }
  271.  
  272. public DeleteEntity( entity )
  273. if( is_valid_ent( entity ) )
  274. remove_entity( entity );
  275.  
  276. stock Color(const id, const input[], any:...)
  277. {
  278. static msg[191]
  279. vformat(msg, 190, input, 3)
  280.  
  281. replace_all(msg, 190, "!g", "^4")
  282. replace_all(msg, 190, "!y", "^1")
  283. replace_all(msg, 190, "!t", "^3")
  284.  
  285. message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id)
  286. write_byte(id)
  287. write_string(msg)
  288. message_end()
  289. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.10. 19:35 
Offline
Félisten
Avatar

Csatlakozott: 2010.09.16. 20:57
Hozzászólások: 950
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 101 alkalommal
méretet itt:
entity_set_size(iEntity, Float: {-100.0, -100.0, -100.0}, Float: {100.0, 100.0, 100.0})
eltünést bele kell írni...

_________________
Weboldalam: nandee.smmg.hu
Kép

Ők köszönték meg Nandee nek ezt a hozzászólást: brutal (2013.02.10. 20:01)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.10. 20:01 
Offline
Lelkes

Csatlakozott: 2013.02.05. 15:30
Hozzászólások: 19
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 1 alkalommal
Nandee írta:
méretet itt:
entity_set_size(iEntity, Float: {-100.0, -100.0, -100.0}, Float: {100.0, 100.0, 100.0})
eltünést bele kell írni...


Köszi, esetleg az eltűnésében tudnál segíteni??


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.10. 20:40 
Offline
Félisten
Avatar

Csatlakozott: 2010.09.16. 20:57
Hozzászólások: 950
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 101 alkalommal
jah holnap beleírom...

_________________
Weboldalam: nandee.smmg.hu
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.11. 19:33 
Offline
Lelkes

Csatlakozott: 2013.02.05. 15:30
Hozzászólások: 19
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 1 alkalommal
Nandee írta:
jah holnap beleírom...


Ok, Köszönöm


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.11. 20:12 
Offline
Félisten
Avatar

Csatlakozott: 2010.09.16. 20:57
Hozzászólások: 950
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 101 alkalommal
Teszteld
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <zombieplague>
  6. #include <hamsandwich>
  7. #include <fakemeta_util>
  8. #include <fun>
  9.  
  10.  
  11. #define PLUGIN "[ZP] Extra Item: Force Field Grenade"
  12. #define VERSION "v1.6"
  13. #define AUTHOR "lucas_7_94" // Thanks To Users in credits too!.
  14.  
  15. /*=============================[Plugin Customization]=============================*/
  16. //#define CAMPO_TASK
  17. #define CAMPO_ROUND
  18.  
  19. new const NADE_TYPE_CAMPO = 7000
  20.  
  21. new const model_grenade[] = "models/zombie_plague/v_auragren.mdl"
  22. new g_bomb[33]
  23. new g_itemID
  24. new const model[] = "models/zombie_plague/aura8.mdl"
  25.  
  26. new const entclas[] = "campo_grenade_forze"
  27. new cvar_flaregrenades
  28. new g_trailSpr
  29. const m_pPlayer = 41;
  30.  
  31. new cvar_push,cvar_delay
  32.  
  33. new g_SayText
  34. new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
  35.  
  36. /*=============================[End Customization]=============================*/
  37.  
  38. public plugin_init()
  39. {
  40. register_plugin(PLUGIN, VERSION, AUTHOR)
  41.  
  42. RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
  43.  
  44. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  45.  
  46. cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades")
  47.  
  48. register_forward(FM_SetModel, "fw_SetModel")
  49.  
  50. RegisterHam( Ham_Item_Deploy, "weapon_smokegrenade", "FwdHamSmokeDeploy", 1 );
  51.  
  52. register_touch(entclas, "player", "entity_touch")
  53.  
  54. register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
  55.  
  56. g_SayText = get_user_msgid("SayText")
  57.  
  58. // cvar to push!!.
  59. register_cvar("zp_shield_creator", AUTHOR, FCVAR_SERVER)
  60.  
  61. #if defined CAMPO_ROUND
  62. g_itemID = zp_register_extra_item( "Force Shield", 30 , ZP_TEAM_HUMAN)
  63. #else
  64. g_itemID = zp_register_extra_item( "Force Shield (Short-acting)", 15 , ZP_TEAM_HUMAN)
  65. #endif
  66.  
  67. cvar_push = register_cvar("zp_forze_push", "5.5")
  68. cvar_delay=register_cvar("zp_forze_delay","30.0")
  69.  
  70. register_think(entclas,"fw_think")
  71. }
  72. public event_round_start()
  73. {
  74. #if defined CAMPO_ROUND
  75. remove_entity_name(entclas)
  76. #endif
  77.  
  78. arrayset( g_bomb, false, 33 );
  79. }
  80.  
  81. public plugin_precache()
  82. {
  83. g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
  84.  
  85. engfunc(EngFunc_PrecacheModel, model_grenade)
  86. engfunc(EngFunc_PrecacheModel, model)
  87. }
  88.  
  89. public client_disconnect(id)
  90. {
  91. g_bomb[id] = false
  92. }
  93.  
  94. public zp_extra_item_selected(player, itemid)
  95. {
  96. if(itemid == g_itemID)
  97. {
  98. if(g_bomb[player])
  99. {
  100. Color(player, "!g[ZP]!y Neked mar van Force Shield Granatod!")
  101. }
  102. else
  103. {
  104. g_bomb[player] = true
  105. give_item(player,"weapon_smokegrenade")
  106.  
  107.  
  108. #if defined CAMPO_ROUND
  109. Color(player, "!g[ZP]!y Vettel egy Force Shield Granatot!")
  110. #else
  111. Color(player, "!g[ZP]!y Vettel egy Force Shield Granatot!")
  112. #endif
  113. }
  114.  
  115.  
  116. }
  117.  
  118. }
  119.  
  120. public fw_PlayerKilled(victim, attacker, shouldgib) g_bomb[victim] = false
  121.  
  122.  
  123. public fw_ThinkGrenade(entity)
  124. {
  125. if(!pev_valid(entity))
  126. return HAM_IGNORED
  127.  
  128. static Float:dmgtime
  129. pev(entity, pev_dmgtime, dmgtime)
  130.  
  131. if (dmgtime > get_gametime())
  132. return HAM_IGNORED
  133.  
  134. if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_CAMPO)
  135. crear_ent(entity)
  136.  
  137.  
  138. return HAM_SUPERCEDE
  139. }
  140.  
  141. public FwdHamSmokeDeploy(const iEntity) {
  142. if(pev_valid(iEntity) != 2 )
  143. return HAM_IGNORED
  144.  
  145. new id = get_pdata_cbase(iEntity, m_pPlayer, 4)
  146.  
  147. if(g_bomb[id] && !zp_get_user_zombie(id))
  148. {
  149. set_pev( id, pev_viewmodel2, model_grenade )
  150. }
  151.  
  152. return HAM_IGNORED;
  153. }
  154.  
  155. public fw_SetModel(entity, const model[])
  156. {
  157. static Float:dmgtime
  158. pev(entity, pev_dmgtime, dmgtime)
  159.  
  160. if (dmgtime == 0.0)
  161. return
  162.  
  163. if (equal(model[7], "w_sm", 4))
  164. {
  165. new owner = pev(entity, pev_owner)
  166.  
  167. if(!zp_get_user_zombie(owner) && g_bomb[owner])
  168. {
  169. set_pcvar_num(cvar_flaregrenades,0)
  170.  
  171. fm_set_rendering(entity, kRenderFxGlowShell, 000, 255, 255, kRenderNormal, 16)
  172.  
  173. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  174. write_byte(TE_BEAMFOLLOW) // TE id
  175. write_short(entity) // entity
  176. write_short(g_trailSpr) // sprite
  177. write_byte(10) // life
  178. write_byte(10) // width
  179. write_byte(000) // r
  180. write_byte(255) // g
  181. write_byte(255) // b
  182. write_byte(500) // brightness
  183. message_end()
  184.  
  185. set_pev(entity, pev_flTimeStepSound, NADE_TYPE_CAMPO)
  186.  
  187. set_task(6.0, "DeleteEntityGrenade" ,entity)
  188. }
  189. }
  190.  
  191. }
  192.  
  193. public DeleteEntityGrenade(entity) remove_entity(entity)
  194.  
  195. public crear_ent(id)
  196. {
  197. set_pcvar_num(cvar_flaregrenades,1)
  198.  
  199. // Create entitity
  200. new iEntity = create_entity("info_target")
  201.  
  202. if(!is_valid_ent(iEntity))
  203. return PLUGIN_HANDLED
  204.  
  205. new Float: Origin[3]
  206. entity_get_vector(id, EV_VEC_origin, Origin)
  207. Origin[2] -= 0.00
  208.  
  209. entity_set_string(iEntity, EV_SZ_classname, entclas)
  210.  
  211. entity_set_vector(iEntity,EV_VEC_origin, Origin)
  212. entity_set_model(iEntity,model)
  213. entity_set_int(iEntity, EV_INT_solid, SOLID_TRIGGER)
  214. entity_set_size(iEntity, Float: {-100.0, -100.0, -100.0}, Float: {100.0, 100.0, 100.0})
  215. entity_set_int(iEntity, EV_INT_renderfx, kRenderFxGlowShell)
  216. entity_set_int(iEntity, EV_INT_rendermode, kRenderTransAlpha)
  217. entity_set_float(iEntity, EV_FL_renderamt, 50.0)
  218. entity_set_float(iEntity, EV_FL_nextthink,get_gametime()+get_pcvar_float(cvar_delay))
  219.  
  220.  
  221. if(is_valid_ent(iEntity))
  222. {
  223. new Float:vColor[3]
  224.  
  225. for(new i; i < 3; i++)
  226. vColor[i] = random_float(0.0, 255.0)
  227.  
  228. entity_set_vector(iEntity, EV_VEC_rendercolor, vColor)
  229. }
  230.  
  231.  
  232. #if defined CAMPO_TASK
  233. set_task(15.0, "DeleteEntity", iEntity)
  234. #endif
  235.  
  236. static attacker
  237. attacker = pev(id, pev_owner)
  238.  
  239. g_bomb[attacker] = false
  240.  
  241. return PLUGIN_CONTINUE;
  242. }
  243.  
  244. public zp_user_infected_post(infected, infector)
  245. {
  246. if (g_bomb[infected])
  247. {
  248. g_bomb[infected] = false
  249. }
  250. }
  251.  
  252. public entity_touch(touched, toucher)
  253. {
  254. if(zp_get_user_zombie(toucher) || zp_get_user_nemesis(toucher))
  255. {
  256. new Float:pos_ptr[3], Float:pos_ptd[3], Float:push_power = get_pcvar_float(cvar_push)
  257.  
  258. pev(touched, pev_origin, pos_ptr)
  259. pev(toucher, pev_origin, pos_ptd)
  260.  
  261. for(new i = 0; i < 2; i++)
  262. {
  263. pos_ptd[i] -= pos_ptr[i]
  264. pos_ptd[i] *= push_power
  265. }
  266. set_pev(toucher, pev_velocity, pos_ptd)
  267. set_pev(toucher, pev_impulse, pos_ptd)
  268. }
  269. }
  270.  
  271. public remove_ent()
  272. {
  273. remove_entity_name(entclas)
  274. }
  275.  
  276. public DeleteEntity( entity )
  277. {
  278. if( is_valid_ent( entity ) )
  279. remove_entity( entity )
  280. }
  281.  
  282. public fw_think(ent)
  283. DeleteEntity( ent )
  284.  
  285. stock Color(const id, const input[], any:...)
  286. {
  287. static msg[191]
  288. vformat(msg, 190, input, 3)
  289.  
  290. replace_all(msg, 190, "!g", "^4")
  291. replace_all(msg, 190, "!y", "^1")
  292. replace_all(msg, 190, "!t", "^3")
  293.  
  294. message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id)
  295. write_byte(id)
  296. write_string(msg)
  297. message_end()
  298. }

_________________
Weboldalam: nandee.smmg.hu
Kép

Ők köszönték meg Nandee nek ezt a hozzászólást: brutal (2013.02.11. 21:33)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Forche Shield= Védőburok Kérdés
HozzászólásElküldve: 2013.02.11. 21:33 
Offline
Lelkes

Csatlakozott: 2013.02.05. 15:30
Hozzászólások: 19
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 1 alkalommal
Nandee írta:
Teszteld
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <zombieplague>
  6. #include <hamsandwich>
  7. #include <fakemeta_util>
  8. #include <fun>
  9.  
  10.  
  11. #define PLUGIN "[ZP] Extra Item: Force Field Grenade"
  12. #define VERSION "v1.6"
  13. #define AUTHOR "lucas_7_94" // Thanks To Users in credits too!.
  14.  
  15. /*=============================[Plugin Customization]=============================*/
  16. //#define CAMPO_TASK
  17. #define CAMPO_ROUND
  18.  
  19. new const NADE_TYPE_CAMPO = 7000
  20.  
  21. new const model_grenade[] = "models/zombie_plague/v_auragren.mdl"
  22. new g_bomb[33]
  23. new g_itemID
  24. new const model[] = "models/zombie_plague/aura8.mdl"
  25.  
  26. new const entclas[] = "campo_grenade_forze"
  27. new cvar_flaregrenades
  28. new g_trailSpr
  29. const m_pPlayer = 41;
  30.  
  31. new cvar_push,cvar_delay
  32.  
  33. new g_SayText
  34. new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
  35.  
  36. /*=============================[End Customization]=============================*/
  37.  
  38. public plugin_init()
  39. {
  40. register_plugin(PLUGIN, VERSION, AUTHOR)
  41.  
  42. RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
  43.  
  44. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  45.  
  46. cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades")
  47.  
  48. register_forward(FM_SetModel, "fw_SetModel")
  49.  
  50. RegisterHam( Ham_Item_Deploy, "weapon_smokegrenade", "FwdHamSmokeDeploy", 1 );
  51.  
  52. register_touch(entclas, "player", "entity_touch")
  53.  
  54. register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
  55.  
  56. g_SayText = get_user_msgid("SayText")
  57.  
  58. // cvar to push!!.
  59. register_cvar("zp_shield_creator", AUTHOR, FCVAR_SERVER)
  60.  
  61. #if defined CAMPO_ROUND
  62. g_itemID = zp_register_extra_item( "Force Shield", 30 , ZP_TEAM_HUMAN)
  63. #else
  64. g_itemID = zp_register_extra_item( "Force Shield (Short-acting)", 15 , ZP_TEAM_HUMAN)
  65. #endif
  66.  
  67. cvar_push = register_cvar("zp_forze_push", "5.5")
  68. cvar_delay=register_cvar("zp_forze_delay","30.0")
  69.  
  70. register_think(entclas,"fw_think")
  71. }
  72. public event_round_start()
  73. {
  74. #if defined CAMPO_ROUND
  75. remove_entity_name(entclas)
  76. #endif
  77.  
  78. arrayset( g_bomb, false, 33 );
  79. }
  80.  
  81. public plugin_precache()
  82. {
  83. g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
  84.  
  85. engfunc(EngFunc_PrecacheModel, model_grenade)
  86. engfunc(EngFunc_PrecacheModel, model)
  87. }
  88.  
  89. public client_disconnect(id)
  90. {
  91. g_bomb[id] = false
  92. }
  93.  
  94. public zp_extra_item_selected(player, itemid)
  95. {
  96. if(itemid == g_itemID)
  97. {
  98. if(g_bomb[player])
  99. {
  100. Color(player, "!g[ZP]!y Neked mar van Force Shield Granatod!")
  101. }
  102. else
  103. {
  104. g_bomb[player] = true
  105. give_item(player,"weapon_smokegrenade")
  106.  
  107.  
  108. #if defined CAMPO_ROUND
  109. Color(player, "!g[ZP]!y Vettel egy Force Shield Granatot!")
  110. #else
  111. Color(player, "!g[ZP]!y Vettel egy Force Shield Granatot!")
  112. #endif
  113. }
  114.  
  115.  
  116. }
  117.  
  118. }
  119.  
  120. public fw_PlayerKilled(victim, attacker, shouldgib) g_bomb[victim] = false
  121.  
  122.  
  123. public fw_ThinkGrenade(entity)
  124. {
  125. if(!pev_valid(entity))
  126. return HAM_IGNORED
  127.  
  128. static Float:dmgtime
  129. pev(entity, pev_dmgtime, dmgtime)
  130.  
  131. if (dmgtime > get_gametime())
  132. return HAM_IGNORED
  133.  
  134. if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_CAMPO)
  135. crear_ent(entity)
  136.  
  137.  
  138. return HAM_SUPERCEDE
  139. }
  140.  
  141. public FwdHamSmokeDeploy(const iEntity) {
  142. if(pev_valid(iEntity) != 2 )
  143. return HAM_IGNORED
  144.  
  145. new id = get_pdata_cbase(iEntity, m_pPlayer, 4)
  146.  
  147. if(g_bomb[id] && !zp_get_user_zombie(id))
  148. {
  149. set_pev( id, pev_viewmodel2, model_grenade )
  150. }
  151.  
  152. return HAM_IGNORED;
  153. }
  154.  
  155. public fw_SetModel(entity, const model[])
  156. {
  157. static Float:dmgtime
  158. pev(entity, pev_dmgtime, dmgtime)
  159.  
  160. if (dmgtime == 0.0)
  161. return
  162.  
  163. if (equal(model[7], "w_sm", 4))
  164. {
  165. new owner = pev(entity, pev_owner)
  166.  
  167. if(!zp_get_user_zombie(owner) && g_bomb[owner])
  168. {
  169. set_pcvar_num(cvar_flaregrenades,0)
  170.  
  171. fm_set_rendering(entity, kRenderFxGlowShell, 000, 255, 255, kRenderNormal, 16)
  172.  
  173. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  174. write_byte(TE_BEAMFOLLOW) // TE id
  175. write_short(entity) // entity
  176. write_short(g_trailSpr) // sprite
  177. write_byte(10) // life
  178. write_byte(10) // width
  179. write_byte(000) // r
  180. write_byte(255) // g
  181. write_byte(255) // b
  182. write_byte(500) // brightness
  183. message_end()
  184.  
  185. set_pev(entity, pev_flTimeStepSound, NADE_TYPE_CAMPO)
  186.  
  187. set_task(6.0, "DeleteEntityGrenade" ,entity)
  188. }
  189. }
  190.  
  191. }
  192.  
  193. public DeleteEntityGrenade(entity) remove_entity(entity)
  194.  
  195. public crear_ent(id)
  196. {
  197. set_pcvar_num(cvar_flaregrenades,1)
  198.  
  199. // Create entitity
  200. new iEntity = create_entity("info_target")
  201.  
  202. if(!is_valid_ent(iEntity))
  203. return PLUGIN_HANDLED
  204.  
  205. new Float: Origin[3]
  206. entity_get_vector(id, EV_VEC_origin, Origin)
  207. Origin[2] -= 0.00
  208.  
  209. entity_set_string(iEntity, EV_SZ_classname, entclas)
  210.  
  211. entity_set_vector(iEntity,EV_VEC_origin, Origin)
  212. entity_set_model(iEntity,model)
  213. entity_set_int(iEntity, EV_INT_solid, SOLID_TRIGGER)
  214. entity_set_size(iEntity, Float: {-100.0, -100.0, -100.0}, Float: {100.0, 100.0, 100.0})
  215. entity_set_int(iEntity, EV_INT_renderfx, kRenderFxGlowShell)
  216. entity_set_int(iEntity, EV_INT_rendermode, kRenderTransAlpha)
  217. entity_set_float(iEntity, EV_FL_renderamt, 50.0)
  218. entity_set_float(iEntity, EV_FL_nextthink,get_gametime()+get_pcvar_float(cvar_delay))
  219.  
  220.  
  221. if(is_valid_ent(iEntity))
  222. {
  223. new Float:vColor[3]
  224.  
  225. for(new i; i < 3; i++)
  226. vColor[i] = random_float(0.0, 255.0)
  227.  
  228. entity_set_vector(iEntity, EV_VEC_rendercolor, vColor)
  229. }
  230.  
  231.  
  232. #if defined CAMPO_TASK
  233. set_task(15.0, "DeleteEntity", iEntity)
  234. #endif
  235.  
  236. static attacker
  237. attacker = pev(id, pev_owner)
  238.  
  239. g_bomb[attacker] = false
  240.  
  241. return PLUGIN_CONTINUE;
  242. }
  243.  
  244. public zp_user_infected_post(infected, infector)
  245. {
  246. if (g_bomb[infected])
  247. {
  248. g_bomb[infected] = false
  249. }
  250. }
  251.  
  252. public entity_touch(touched, toucher)
  253. {
  254. if(zp_get_user_zombie(toucher) || zp_get_user_nemesis(toucher))
  255. {
  256. new Float:pos_ptr[3], Float:pos_ptd[3], Float:push_power = get_pcvar_float(cvar_push)
  257.  
  258. pev(touched, pev_origin, pos_ptr)
  259. pev(toucher, pev_origin, pos_ptd)
  260.  
  261. for(new i = 0; i < 2; i++)
  262. {
  263. pos_ptd[i] -= pos_ptr[i]
  264. pos_ptd[i] *= push_power
  265. }
  266. set_pev(toucher, pev_velocity, pos_ptd)
  267. set_pev(toucher, pev_impulse, pos_ptd)
  268. }
  269. }
  270.  
  271. public remove_ent()
  272. {
  273. remove_entity_name(entclas)
  274. }
  275.  
  276. public DeleteEntity( entity )
  277. {
  278. if( is_valid_ent( entity ) )
  279. remove_entity( entity )
  280. }
  281.  
  282. public fw_think(ent)
  283. DeleteEntity( ent )
  284.  
  285. stock Color(const id, const input[], any:...)
  286. {
  287. static msg[191]
  288. vformat(msg, 190, input, 3)
  289.  
  290. replace_all(msg, 190, "!g", "^4")
  291. replace_all(msg, 190, "!y", "^1")
  292. replace_all(msg, 190, "!t", "^3")
  293.  
  294. message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id)
  295. write_byte(id)
  296. write_string(msg)
  297. message_end()
  298. }


Köszönöm, működik!! 8-)


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  [ 7 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 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