| Dr7sTyLe |
06-25-2011 11:05 |
Menu - Make Something Disappear
PHP Code:
#include <amxmodx>
const MAXPLAYERS = 32;
const TASKID = 1241;
new g_pCvar_Time;
new g_pCvar_ShowDelay;
new bool:g_bAgreed[MAXPLAYERS + 1] = {false, ...};
new g_iCountDown[MAXPLAYERS + 1];
public plugin_init()
{
register_plugin("Agreements", "0.1", "DahVid");
g_pCvar_ShowDelay = register_cvar("agreements_menudelay", "20");
g_pCvar_Time = register_cvar("agreements_acceptwait", "10");
}
public client_putinserver(id)
{
g_iCountDown[id] = get_pcvar_num(g_pCvar_Time);
set_task(get_pcvar_float(g_pCvar_ShowDelay), "TaskAgreement", id + TASKID);
}
public client_disconnect(id)
{
if( task_exists(id + TASKID) )
{
remove_task(id + TASKID);
}
}
public TaskAgreement(id)
{
id -= TASKID;
if( g_bAgreed[id] )
{
return PLUGIN_CONTINUE;
}
new iMenu = menu_create("\r[\yJailbreak\r]\yTerms and Agreements:", "Agreements_Handle");
new iCallback = menu_makecallback("Agreements_Callback");
g_iCountDown[id] -= 1;
new szItem[128];
formatex(szItem, charsmax(szItem), "%sAccept \r[\y %i \r]", g_iCountDown[id] > 0 ? "\d" : "\w", g_iCountDown[id] <= 0 ? 0 : g_iCountDown[id]);
menu_additem(iMenu, szItem, "1", _, iCallback);
menu_additem(iMenu, "Decline", "2");
menu_addblank(iMenu, false);
menu_additem(iMenu, "Show MOTD again", "3");
menu_setprop(iMenu, MPROP_EXIT, MEXIT_NEVER);
if( g_iCountDown[id] > 0 && !g_bAgreed[id] )
{
set_task(1.0, "TaskAgreement", id + TASKID);
}
menu_display(id, iMenu);
return PLUGIN_HANDLED;
}
public Agreements_Callback(id, iMenu, iItem)
{
new iAccess, szData[5], iCallback;
menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
if( g_iCountDown[id] > 0 )
{
return ITEM_DISABLED;
}
return ITEM_ENABLED;
}
public Agreements_Handle(id, iMenu, iItem)
{
new iAccess, szData[5], iCallback;
menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
switch( str_to_num(szData) )
{
case 1:
{
g_bAgreed[id] = true;
client_print(id, print_chat, "* You accepted the Terms and Agreements.");
}
case 2: client_cmd(id, "disconnect");
case 3:
{
show_motd(id, "rules.txt", "MOTD:");
set_task(1.0, "TaskAgreement", id + TASKID);
}
}
}
The Agree Option Is Disabled For 10 Sec.
And You See Like:Agree[10]
Agree[9]
Agree[8]
But When It Get To Zero,The "[0]" Stays And I Want To Make It Disappear How Should I Do It.
|