Hello.
Today i have started to make a plugin (timer) and i am now at the stop part
It has continues to count.
Here is my code
PHP Code:
#include <amxmodx>
new Timer[33]
new g_on, g_max
public plugin_init()
{
register_plugin("Timer", "1.0", "m0skVi4a")
g_on = register_cvar("timer_on", "1")
g_max = register_cvar("timer_max", "86400")
register_clcmd("say /timermenu", "ShowMenu")
register_clcmd("say_team /timermenu", "ShowMenu")
}
public ShowMenu(id)
{
if(is_user_alive(id) || is_user_connected(id) || get_pcvar_num(g_on))
{
new timer_menu = menu_create("Timer Menu", "ShowTimerMenu");
menu_additem(timer_menu,"Star/Reset Timer","1",0)
menu_additem(timer_menu,"Stop Timer","2",0)
menu_setprop(timer_menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, timer_menu, 0)
}
}
public ShowTimerMenu(id, timer_menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(timer_menu)
return PLUGIN_HANDLED_MAIN
}
new data[6], iName[64], access, callback
menu_item_getinfo(timer_menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
StartTimer(id)
}
case 2:
{
StopTimer(id)
}
}
menu_destroy(timer_menu)
return PLUGIN_HANDLED_MAIN
}
public StartTimer(id)
{
Timer[id] = 0
set_task(0.1,"TimerMain")
set_task(0.1,"TimerHud")
}
public TimerMain(id)
{
if(Timer[id] < get_pcvar_num(g_max))
{
Timer[id] += 1
set_task(1.0, "TimerMain", id)
}
}
public TimerHud(id)
{
set_hudmessage(0, 255 , 0, 0.47, 0.85, 0, 0.02, 0.8,_,_,-1)
show_hudmessage(id, "Timer: %d second%s", Timer[id], Timer[id] > 1 ? "s" : "")
set_task(0.2,"TimerHud")
}
public StopTimer(id)
{
remove_task(id)
}
Why does the remove task doesn't work?