Помогите! хочу сделать что бы меню воскрешения можно было открыть 1 раз в 5 раундов! перепробовал уже всё!
Сам код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
#define PLUGIN "Respawn"
#define VERSION "1.1"
#define AUTHOR "st0ka"
new respawned[33]
new g_Round_counter
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("amx_respawn","0")
register_cvar("amx_autorespawn","0")
register_cvar("amx_autorespawn_players","1")
register_event("DeathMsg","event_death","a")
register_menu("Menu_2", keys, "func_menu2")
register_clcmd("say /respawn","p_respawn")
register_clcmd("say_team /respawn","p_respawn")
register_clcmd("respawn", "res")
g_Round_counter = get_cvar_num("amx_f_every_rounds")
}
public res(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню возрождения^n^n");
if(get_user_flags(id) & ADMIN_LEVEL_C)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wВозрадиться^n")
keys |= MENU_KEY_1
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dВозрадиться^n")
keys &= ~MENU_KEY_1
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \wЗакрыть^n")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu_2");
return PLUGIN_HANDLED
}
public func_menu2(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /respawn")
}
}
public event_death()
{
new id = read_data(2)
if(get_cvar_num("amx_autorespawn") == 0 && get_cvar_num("amx_respawn") == 0)
{
return PLUGIN_HANDLED
}
else if(get_cvar_num("amx_autorespawn") == 0 && get_cvar_num("amx_respawn") == 0)
{
set_task(0.1,"respawn",id)
set_task(2.0,"r_check",id)
}
return PLUGIN_HANDLED
}
public respawn(id)
{
new num = get_playersnum()
if(num >= get_cvar_num("amx_autorespawn_players"))
{
new CsTeams:team = cs_get_user_team(id)
if(team == CS_TEAM_CT)
{
cs_user_spawn(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_usp")
cs_set_user_bpammo(id,CSW_USP,24)
respawned[id] = true
}
else if(team == CS_TEAM_T)
{
cs_user_spawn(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_glock18")
cs_set_user_bpammo(id,CSW_GLOCK18,40)
respawned[id] = true
}
}
else
{
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public p_respawn(id)
{
if(get_cvar_num("amx_respawn") == 1)
{
new CsTeams:team = cs_get_user_team(id)
if(team == CS_TEAM_CT && !is_user_alive(id))
{
cs_user_spawn(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_usp")
cs_set_user_bpammo(id,CSW_USP,24)
}
else if(team == CS_TEAM_T && !is_user_alive(id))
{
cs_user_spawn(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_glock18")
cs_set_user_bpammo(id,CSW_GLOCK18,40)
}
}
}
public r_check(id)
{
if(!respawned[id])
{
respawn(id)
}
}