#include <amxmodx>
#pragma semicolon 1
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
enum _:MAIN_MENU_DATA {
mmds_item[48],
mmds_access,
mmds_time
}
new const MAIN_MENU_LIST[][MAIN_MENU_DATA] = {
{"Удалить игрока", ADMIN_LEVEL_A, 0},
{"Заблокировать игрока", ADMIN_LEVEL_A, 0},
{"Ударить/убить игрока", ADMIN_LEVEL_A, 0},
{"Сменить команду", ADMIN_LEVEL_A, 0},
{"Сменить карту", ADMIN_LEVEL_A, 180},
{"Голосование за карту", ADMIN_LEVEL_A, 180},
{"Заткнуть Игрока", ADMIN_LEVEL_A, 0},
{"Меню привилегий", ADMIN_LEVEL_A, 0},
{"Серверные команды", ADMIN_RCON, 0}
};
new g_iTemTimer, g_iCurrentSysTime;
public plugin_init() {
register_plugin("AmxModMenu_New", "2.0", "CaNiBaL");
register_clcmd("amxmodmenu", "CmdAdminMenu");
register_menucmd(register_menuid("_am_main_menu"), 1023, "HandleMainMenu");
g_iCurrentSysTime = get_systime();
}
public CmdAdminMenu(const id) {
if(get_user_flags(id) & ADMIN_MENU) {
return ShowMainMenu(id);
}
client_print_color(id, print_team_default, "^4* ^1У вас недостаточно прав для использования этой команды");
return PLUGIN_HANDLED;
}
ShowMainMenu(const id) {
new Menu[512], Len = copy(Menu, charsmax(Menu), "\yМеню администратора^n^n"), Keys = MENU_KEY_0;
for(new i, Flags = get_user_flags(id), j; i < sizeof MAIN_MENU_LIST; i++) {
if(Flags & MAIN_MENU_LIST[mmds_access]) {
Keys |= (1<<j); new iTimeTemp = get_systime();
if(Flags & ADMIN_RCON || (g_iTemTimer = MAIN_MENU_LIST[mmds_time]) + g_iCurrentSysTime < iTimeTemp)
Len += formatex(Menu[Len], charsmax(Menu) - Len, "\y%d. \w%s^n", ++j, MAIN_MENU_LIST[mmds_item]);
else
Len += formatex(Menu[Len], charsmax(Menu) - Len, "\y%d. \d%s \r(Осталось %d сек)^n", ++j, MAIN_MENU_LIST[mmds_item], g_iTemTimer + g_iCurrentSysTime - iTimeTemp);
} else
Len += formatex(Menu[Len], charsmax(Menu) - Len, "\d%d. %s^n", ++j, MAIN_MENU_LIST[mmds_item]);
}
formatex(Menu[Len], charsmax(Menu) - Len, "^n\y0. \wВыход");
return show_menu(id, Keys, Menu, -1, "_am_main_menu");
}
public HandleMainMenu(const id, const Key) {
switch(Key) {
case 0: client_cmd(id, "amx_kickmenu");
case 1: client_cmd(id, "amx_banmenu");
case 2: client_cmd(id, "amx_slapmenu");
case 3: client_cmd(id, "amx_teammenu");
case 4: client_cmd(id, "amx_mapmenu");
case 5: client_cmd(id, "amx_votemapmenu");
case 6: client_cmd(id, "gag_menu");
case 7: client_cmd(id, "vipmenu");
case 8: client_cmd(id, "amx_cmdmenu");
}
return PLUGIN_HANDLED;
}