#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <zmvip>
#define PLUGIN "[ZP] Pack Assasin,Survivor,Nemesis,Sniper"
#define VERSION "0.1"
#define AUTHOR "Gabriel"
#define ZV_TEAM_HUMAN (1<<1)
native zv_register_extra_item_item(const name[], cost, teams)
native zp_make_user_nemesis(id)
native zp_make_user_survivor(id)
native zp_make_user_sniper(id)
native zp_make_user_assassin(id)
native zp_get_user_ammo_packs(id)
native zp_set_user_ammo_packs(id, amount)
new g_maxplayers, g_msgSayText
new g_enabled
new g_nemesis, g_survivor, g_assassin, g_sniper
new const g_costnemesis = 9000
new const g_costsurvivor = 9000
new const g_costassassin = 10000
new const g_costsniper = 9000
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_enabled = register_cvar("zv_extra_pack_mods", "1")
g_nemesis = zv_register_extra_item("Buy Nemesis"), g_costnemesis, ZV_TEAM_HUMAN)
g_survivor = zv_register_extra_item("Buy Survivor"), g_costsurvivor, ZV_TEAM_HUMAN)
g_assassin = zv_register_extra_item("Buy Assasin"), g_costassassin, ZV_TEAM_HUMAN)
g_sniper = zv_register_extra_item("Buy Sniper"), g_costsniper, ZV_TEAM_HUMAN)
g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}
public zv_extra_item_selected(player, itemid)
{
new name[32]
get_user_name(player, name, 31)
if (itemid == g_nemesis)
{
if (get_pcvar_num(g_enabled)) {
zp_make_user_nemesis(player)
zp_colored_print(0, "^x04[ZOMBIE]^x03 %s^x01 a cumparat ^x04 Nemesis", name)
}
else
{
static ammopacksnemesis
ammopacksnemesis = zp_get_user_ammo_packs(player)
zp_set_user_ammo_packs(player, ammopacksnemesis + g_costnemesis)
}
}
else if (itemid == g_survivor)
{
if (get_pcvar_num(g_enabled)) {
zp_make_user_survivor(player)
zp_colored_print(0, "^x04[ZOMBIE]^x03 %s^x01 a cumparat ^x04 Survivor", name)
}
else
{
static ammopackssurvivor
ammopackssurvivor = zp_get_user_ammo_packs(player)
zp_set_user_ammo_packs(player, ammopackssurvivor + g_costsurvivor)
}
}
else if (itemid == g_assassin)
{
if (get_pcvar_num(g_enabled)) {
zp_make_user_assassin(player)
zp_colored_print(0, "^x04[ZOMBIE]^x03 %s^x01 a cumparat ^x04 Assasin", name)
}
else
{
static ammopacksassassin
ammopacksassassin = zp_get_user_ammo_packs(player)
zp_set_user_ammo_packs(player, ammopacksassassin + g_costassassin)
}
}
else if (itemid == g_sniper)
{
if (get_pcvar_num(g_enabled)) {
zp_make_user_sniper(player)
zp_colored_print(0, "^x04[ZOMBIE]^x03 %s^x01 a cumparat ^x04 Sniper", name)
}
else
{
static ammopackssniper
ammopackssniper = zp_get_user_ammo_packs(player)
zp_set_user_ammo_packs(player, ammopackssniper + g_costsniper)
}
}
}
zp_colored_print(target, const message[], any:...)
{
static buffer[512], i, argscount
argscount = numargs()
// Send to everyone
if (!target)
{
static player
for (player = 1; player <= g_maxplayers; player++)
{
// Not connected
if (!is_user_connected(player))
continue;
// Remember changed arguments
static changed[5], changedcount // [5] = max LANG_PLAYER occurencies
changedcount = 0
// Replace LANG_PLAYER with player id
for (i = 2; i < argscount; i++)
{
if (getarg(i) == LANG_PLAYER)
{
setarg(i, 0, player)
changed[changedcount] = i
changedcount++
}
}
// Format message for player
vformat(buffer, charsmax(buffer), message, 3)
// Send it
message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
write_byte(player)
write_string(buffer)
message_end()
// Replace back player id's with LANG_PLAYER
for (i = 0; i < changedcount; i++)
setarg(changed[i], 0, LANG_PLAYER)
}
}
// Send to specific target
else
{
// Format message for player
vformat(buffer, charsmax(buffer), message, 3)
// Send it
message_begin(MSG_ONE, g_msgSayText, _, target)
write_byte(target)
write_string(buffer)
message_end()
}
}