Not tested
PHP Code:
#include <amxmodx>
#include <reapi>
#define PLUGIN "resetscore(ReAPI)"
#define VERSION "1.0"
#define AUTHOR "modders"
#define TASK_SPEC 100
new iFragRestarts[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say .rr", "resetscore");
register_clcmd("say_team .rr", "resetscore");
register_clcmd("say /rs", "resetscore");
register_clcmd("say /resetscore", "resetscore")
RegisterHookChain(RG_HandleMenu_ChooseTeam, "HC_HandleMenu_ChooseTeam_Pre", false)
}
public resetscore(id)
{
if(!is_user_connected(id)) return;
set_entvar(id, var_frags, 0.0);
set_member(id, m_iDeaths, 0);
client_print_color(id, print_team_blue, "^3Score Resetado!");
client_cmd(id, "spk fvox/buzz.wav");
message_begin(MSG_ALL, 85);
write_byte(id);
write_short(0); write_short(0); write_short(0); write_short(0);
message_end();
iFragRestarts[id]++
}
public HC_HandleMenu_ChooseTeam_Pre(id, MenuChooseTeam:iSlot)
{
switch(iSlot)
{
case MenuChoose_Spec:
{
set_task(1.0, "Observer", id + TASK_SPEC, .flags = "b")
return HC_CONTINUE
}
case MenuChoose_CT, MenuChoose_T, MenuChoose_AutoSelect:
{
remove_task(id + TASK_SPEC)
return HC_CONTINUE
}
}
return HC_CONTINUE
}
public client_disconnected(id, bool:drop, message[], maxlen)
{
remove_task(id + TASK_SPEC)
iFragRestarts[id] = 0
}
public Observer(taskid)
{
new id = taskid - TASK_SPEC
if(get_member(id, m_iTeam) != TEAM_SPECTATOR)
{
remove_task(id + TASK_SPEC)
return 1
}
static id2
id2 = get_entvar(id, var_iuser2)
if(id2)
{
serverset_dhudmessage(0, 255, 0, -1.0, 0.3, .effects = 0, .fxtime = 2.0, .holdtime = 1.0, .fadeintime = 0.1, .fadeouttime = 0.2)
show_dhudmessage(id, "Times restarted [%i]", iFragRestarts[id2])
return 0
}
return 1
}
__________________