#include <amxmodx>
#include <reapi>
#define iPermission ADMIN_BAN
new const g_szTag[] = "\rWebailesi \d-";
new const g_szChatTag[] = "^1[^3Webailesi^1]^4";
new bool:gAfk[MAX_CLIENTS+1];
public plugin_init()
{
register_plugin("Afk Menu", "0.1", "LyNcH");
register_clcmd("say /afkmenu", "AfkMenu");
register_clcmd("say /afk", "AfkSwitch");
RegisterHookChain(RG_CBasePlayer_Spawn, "PlayerSpawn", .post = true);
}
public client_putinserver(id)
{
gAfk[id] = false;
}
public AfkSwitch(const id)
{
gAfk[id] = !gAfk[id];
if(gAfk[id] && is_user_alive(id)) user_silentkill(id);
client_print_color(id, id, "%s Afk modu %s.", g_szChatTag, gAfk[id] ? "acik":"kapali");
}
public PlayerSpawn(const id)
{
if(!is_user_alive(id))
{
return;
}
if(gAfk[id])
{
user_silentkill(id);
client_print_color(id, id, "%s Afk modunuz aktif oldugu icin slaylandiniz.", g_szChatTag);
}
}
public AfkMenu(const id)
{
if(~get_user_flags(id) & iPermission)
{
return;
}
new menu = menu_create(fmt("%s Afk Menu", g_szTag), "_AfkMenu");
for(new i = 1; i <= MaxClients; i++)
{
if(is_user_connected(i) && !is_user_bot(i))
{
menu_additem(menu, fmt("%n \d[\r%s\d]", i, gAfk[i] ? "ACIK":"KAPALI"), fmt("%i", i));
}
}
menu_setprop(menu, MPROP_BACKNAME, "\dGeri");
menu_setprop(menu, MPROP_NEXTNAME, "\dIleri");
menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
menu_setprop(menu, MPROP_NUMBER_COLOR, "\d");
menu_display(id, menu);
}
public _AfkMenu(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
if(is_user_connected(key))
{
gAfk[key] = !gAfk[key];
if(gAfk[key] && is_user_alive(key))
{
user_silentkill(key);
}
client_print_color(key, key, "%s %n adli admin sizin afk modunuzu %s yapti.", g_szChatTag, id, gAfk[key] ? "acik":"kapali");
client_print_color(id, id, "%s %n adli oyuncunun afk modu %s yapildi.", g_szChatTag, key, gAfk[key] ? "acik":"kapali");
}
AfkMenu(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}