Here is the fix.
Zmd94 you know we are friend.Just the code above had wrong return id value making it bought once per map.
Here is the fix to limit it 1 per round for each player.
PHP Code:
/*================================================================================
-------------------------------------------------
-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
-------------------------------------------------
~~~~~~~~~~~~~~~
- Description -
~~~~~~~~~~~~~~~
This item gives humans some armor that offers protection
against zombie injuries.
================================================================================*/
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
/*================================================================================
[Plugin Customization]
=================================================================================*/
new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 10
new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 100
/*============================================================================*/
// Item IDs
new g_itemid_humanarmor, g_PlayerArmor[33]
new g_Maxplayers
public plugin_precache()
{
precache_sound(g_sound_buyarmor)
}
public plugin_init()
{
register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
g_Maxplayers = get_maxplayers()
}
public event_new_round()
{
for(new i; i<g_Maxplayers; i++)
g_PlayerArmor[1] = false
}
// Human buys our upgrade, give him some armor
public zp_extra_item_selected(player, itemid)
{
if (itemid == g_itemid_humanarmor)
{
if (g_PlayerArmor[1])
{
client_print(player, print_chat, "[ZP] You already have bought armor.")
return ZP_PLUGIN_HANDLED;
}
set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
g_PlayerArmor[1] = true
}
return PLUGIN_CONTINUE;
__________________