Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <fakemeta>
- #include <hamsandwich>
- #include <zombieplague>
- #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
- new const NADE_TYPE_STRIPBOMB= 7777
- new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
- new const sprite_grenade_ring[] = "sprites/shockwave.spr"
- new const model_grenade_infect[] = "models/v_grenade_astrip.mdl"
- new const bcost = 5;
- new nick_p[ 32 ]
- new g_trailSpr, g_exploSpr, item_id, cvar_enabled, cvar_mode, cvar_radius, cvar_max
- new has_bomb[33],had_bombs[33];
- public plugin_init()
- {
- register_plugin("[ZP] Extra Item: Strip Bomb", "1.6", "Hezerf")
- RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
- RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
- RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_smokegrenade", "smokeThrown" )
- register_forward(FM_SetModel, "fw_SetModel")
- register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
- register_event("HLTV","Event_New_Round","a", "1=0", "2=0")
- cvar_enabled = register_cvar("zp_strip_bomb", "1")
- cvar_mode = register_cvar("zp_strip_mode", "0")
- cvar_radius = register_cvar("zp_strip_radius", "250.0")
- cvar_max = register_cvar("zp_strip_max","5")
- }
- public plugin_precache()
- {
- g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
- g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
- engfunc(EngFunc_PrecacheModel, model_grenade_infect)
- item_id = zp_register_extra_item("Strip Bomb", bcost, ZP_TEAM_ZOMBIE)
- }
- public client_disconnect(id)
- {
- has_bomb[id] = 0;
- had_bombs[id] = 0;
- }
- public Event_New_Round()
- {
- arrayset(had_bombs,0,32);
- arrayset(has_bomb,0,32);
- }
- public zp_extra_item_selected(player, itemid)
- {
- if(itemid != item_id)
- return;
- if(get_pcvar_num(cvar_max) == had_bombs[player])
- {
- zp_set_user_ammo_packs(player,zp_get_user_ammo_packs(player) + bcost)
- client_print(player, print_chat, "[ZP] You can't buy Strip Bomb !")
- return;
- }
- has_bomb[player] = 1
- had_bombs[player]++;
- fm_strip_user_gun(player, 9)
- fm_give_item(player, "weapon_smokegrenade")
- }
- public smokeThrown( id )
- {
- get_user_name( id, nick_p, charsmax( nick_player ) )
- client_print( 0, print_chat, "[MILF] %s je bacio bombu!", nick_player )
- }
- public fw_PlayerKilled(victim, attacker, shouldgib)
- has_bomb[victim] = 0;
- public fw_ThinkGrenade(entity)
- {
- if(!pev_valid(entity))
- return HAM_IGNORED
- static Float:dmgtime
- pev(entity, pev_dmgtime, dmgtime)
- if (dmgtime > get_gametime())
- return HAM_IGNORED
- if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_STRIPBOMB)
- {
- stripbomb_explode(entity)
- return HAM_SUPERCEDE
- }
- return HAM_IGNORED
- }
- public fw_SetModel(entity, const model[])
- {
- static Float:dmgtime
- pev(entity, pev_dmgtime, dmgtime)
- new owner = pev(entity, pev_owner)
- if(!get_pcvar_num(cvar_enabled) || !dmgtime || !(equal(model[7], "w_sm", 4)) || !zp_get_user_zombie(owner) || !has_bomb[owner])
- return;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement