public menu_buy2(id, key)
{
// Player dead?
if (!g_isalive[id])
return PLUGIN_HANDLED;
// Zombies or survivors get no guns
if (g_zombie[id] || g_survivor[id] || g_sniper[id] || g_wesker[id] || g_termi[id] || g_depre[id])
return PLUGIN_HANDLED;
// Special keys / weapon list exceeded
if (key >= ArraySize(g_secondary_items))
{
// Toggle autoselect
if (key == MENU_KEY_AUTOSELECT)
WPN_AUTO_ON = 1 - WPN_AUTO_ON
// Reshow menu unless user exited
if (key != MENU_KEY_EXIT)
show_menu_buy2(id)
return PLUGIN_HANDLED;
}
// Level required for get weapon
if (g_level[id] < ArrayGetCell(g_secondary_levels, key))
{
if (g_isbot[id] || get_pcvar_num(cvar_randweapons))
menu_buy2(id, random_num(0, ArraySize(g_secondary_items) - 1))
else
show_menu_buy2(id)
return PLUGIN_HANDLED;
}
// Store selected weapon
WPN_AUTO_SEC = key
// Drop secondary gun again, in case we picked another (bugfix)
drop_weapons(id, 2)
// Get weapon's id
static weaponid, wname[32]
weaponid = ArrayGetCell(g_secondary_weaponids, key)
ArrayGetString(g_secondary_items, key, wname, charsmax(wname))
// Give the new weapon and full ammo
fm_give_item(id, wname)
ExecuteHamB(Ham_GiveAmmo, id, MAXBPAMMO[weaponid], AMMOTYPE[weaponid], MAXBPAMMO[weaponid])
if(WPN_AUTO_NADES == -1)
show_menu_buy3(id)
return PLUGIN_HANDLED;
}
public menu_buy3(id, key)
{
// Zombies or survivors get no guns
if (g_zombie[id] || g_survivor[id] || !is_user_alive(id))
return PLUGIN_HANDLED;
// Special keys / weapon list exceeded
if (key >= 7)
{
// Toggle autoselect
if (key == MENU_KEY_AUTOSELECT)
WPN_AUTO_ON = 1 - WPN_AUTO_ON
// Reshow menu unless user exited
if (key != MENU_KEY_EXIT)
show_menu_buy3(id)
return PLUGIN_HANDLED;
}
if(g_level[id] >= GRANADAS_NIVEL[key])
{
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE, GRANADAS_1[key])
cs_set_user_bpammo(id, CSW_FLASHBANG, GRANADAS_2[key])
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, GRANADAS_3[key])
WPN_AUTO_NADES = key
}
else
{
show_menu_buy3(id)
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}