hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 535 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 535 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: FORCE SHIELD BEÁLLÍTÁSOK
HozzászólásElküldve: 2013.03.20. 16:39 
Offline
Tag

Csatlakozott: 2013.02.04. 16:17
Hozzászólások: 57
Megköszönt másnak: 16 alkalommal
Helló.
A következő SMA Ba hol lehet beállítani hogy maximum hány védő pajzs gránátot tudjanak venni körönként az emberek??
Ha nem lehet beállítani, akkor átírnátok nekem pls hogy lehessen??
Köszönöm ha megcsináljátok!
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", "7.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: FORCE SHIELD BEÁLLÍTÁSOK
HozzászólásElküldve: 2013.03.27. 14:52 
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
Hali!

Raktam a pluginba egy limitert, amit a "zp_granat_limit" cvarral lehet szabályozni. Alapértéknek: körönként 3 gránát vételt állítottam be.

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

Ők köszönték meg HuBaBuBa nek ezt a hozzászólást (összesen 2): jukas (2013.03.27. 16:18) • norbee.16 (2013.03.28. 01:42)
  Népszerűség: 4.55%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: FORCE SHIELD BEÁLLÍTÁSOK
HozzászólásElküldve: 2013.03.27. 16:18 
Offline
Tag

Csatlakozott: 2013.02.04. 16:17
Hozzászólások: 57
Megköszönt másnak: 16 alkalommal
köszi nagyon!


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


Ki van itt

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