Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1.  
  2. #include <amxmodx>
  3. #include <fakemeta>
  4. #include <hamsandwich>
  5. #include <zombieplague>
  6.  
  7. #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
  8.  
  9. new const NADE_TYPE_STRIPBOMB= 7777
  10. new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
  11. new const sprite_grenade_ring[] = "sprites/shockwave.spr"
  12. new const model_grenade_infect[] = "models/v_grenade_astrip.mdl"
  13. new const bcost = 5;
  14.  
  15. new nick_p[ 32 ]
  16.  
  17. new g_trailSpr, g_exploSpr, item_id, cvar_enabled, cvar_mode, cvar_radius, cvar_max
  18. new has_bomb[33],had_bombs[33];
  19.  
  20. public plugin_init()
  21. {
  22. register_plugin("[ZP] Extra Item: Strip Bomb", "1.6", "Hezerf")
  23.  
  24. RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
  25. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  26.  
  27. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_smokegrenade", "smokeThrown" )
  28.  
  29. register_forward(FM_SetModel, "fw_SetModel")
  30.  
  31. register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
  32.  
  33. register_event("HLTV","Event_New_Round","a", "1=0", "2=0")
  34.  
  35. cvar_enabled = register_cvar("zp_strip_bomb", "1")
  36. cvar_mode = register_cvar("zp_strip_mode", "0")
  37. cvar_radius = register_cvar("zp_strip_radius", "250.0")
  38. cvar_max = register_cvar("zp_strip_max","5")
  39. }
  40.  
  41. public plugin_precache()
  42. {
  43. g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
  44. g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
  45.  
  46. engfunc(EngFunc_PrecacheModel, model_grenade_infect)
  47.  
  48. item_id = zp_register_extra_item("Strip Bomb", bcost, ZP_TEAM_ZOMBIE)
  49. }
  50.  
  51. public client_disconnect(id)
  52. {
  53. has_bomb[id] = 0;
  54. had_bombs[id] = 0;
  55. }
  56.  
  57. public Event_New_Round()
  58. {
  59. arrayset(had_bombs,0,32);
  60. arrayset(has_bomb,0,32);
  61. }
  62. public zp_extra_item_selected(player, itemid)
  63. {
  64. if(itemid != item_id)
  65. return;
  66. if(get_pcvar_num(cvar_max) == had_bombs[player])
  67. {
  68. zp_set_user_ammo_packs(player,zp_get_user_ammo_packs(player) + bcost)
  69. client_print(player, print_chat, "[ZP] You can't buy Strip Bomb !")
  70. return;
  71. }
  72.  
  73. has_bomb[player] = 1
  74. had_bombs[player]++;
  75. fm_strip_user_gun(player, 9)
  76. fm_give_item(player, "weapon_smokegrenade")
  77. }
  78. public smokeThrown( id )
  79. {
  80. get_user_name( id, nick_p, charsmax( nick_player ) )
  81. client_print( 0, print_chat, "[MILF] %s je bacio bombu!", nick_player )
  82. }
  83. public fw_PlayerKilled(victim, attacker, shouldgib)
  84. has_bomb[victim] = 0;
  85.  
  86. public fw_ThinkGrenade(entity)
  87. {
  88. if(!pev_valid(entity))
  89. return HAM_IGNORED
  90.  
  91. static Float:dmgtime
  92. pev(entity, pev_dmgtime, dmgtime)
  93.  
  94. if (dmgtime > get_gametime())
  95. return HAM_IGNORED
  96.  
  97. if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_STRIPBOMB)
  98. {
  99. stripbomb_explode(entity)
  100.  
  101. return HAM_SUPERCEDE
  102. }
  103.  
  104. return HAM_IGNORED
  105. }
  106.  
  107. public fw_SetModel(entity, const model[])
  108. {
  109. static Float:dmgtime
  110. pev(entity, pev_dmgtime, dmgtime)
  111.  
  112. new owner = pev(entity, pev_owner)
  113.  
  114. if(!get_pcvar_num(cvar_enabled) || !dmgtime || !(equal(model[7], "w_sm", 4)) || !zp_get_user_zombie(owner) || !has_bomb[owner])
  115. return;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement