Code:
/*
Description :
An extra item that is made for zombies , which will reduce "Bazooka" damage.
*/
#include <amxmodx>
#include <zombieplague>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#define Red print_team_red
#define Blue print_team_blue
#define Grey print_team_grey
#define DontChange print_team_default
#endif
#define VERSION "1.0"
new const NAME[] = "Anti-Bazooka"
new damage_reduce
new g_item
public bool:has_anti_bazooka[33]
public plugin_init()
{
register_plugin("Anti-Bazooka" , VERSION , "LearninG")
register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
damage_reduce = register_cvar("zp_anti_bazooka_damage_reduce" , "300")
g_item = zp_register_extra_item(NAME , 25 , ZP_TEAM_ZOMBIE)
}
public plugin_natives()
{
register_library("bazooka")
register_native("is_user_bazooka","_is_user_bazooka")
}
public _is_user_bazooka(plugin, iParams)
{
new id = get_param(1)
if(!is_user_connected(id))
return PLUGIN_CONTINUE
if(has_anti_bazooka[id])
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public zp_extra_item_selected(player, itemid)
{
if (itemid == g_item && has_anti_bazooka[player])
{
return ZP_PLUGIN_HANDLED
}
else if (itemid == g_item && is_user_alive(player))
{
client_print_color(player, print_chat , "^4[ZP]^1 You bought Anti-Bazooka! [%2.1f damage reduce]", get_pcvar_num(damage_reduce))
has_anti_bazooka[player] = true
}
return PLUGIN_CONTINUE
}
public Event_NewRound()
{
static players[32], num, id
get_players(players, num)
for (new i = 0; i < num; i++)
{
id = players[i]
has_anti_bazooka[id] = false
}
}
public client_disconnected(id)
{
has_anti_bazooka[id] = false
}
public client_putinserver(id)
{
has_anti_bazooka[id] = false
}
Code:
#if defined _bazooka_included
#endinput
#endif
#define _bazooka_included
native is_user_bazooka(index);
Code:
#include <bozooka>
public something_else(id)
{
if(is_user_bazooka(id))
{
// Put the command here
}
}