#include <amxmodx>
#include <fakemeta>
new bool:DetectVIPMap[33];
new act_menu[33] = 1; // Т.е. Вкл.
public plugin_init()
{
register_plugin("Main Menu" , "1.0" , "villlenka" );
register_message(get_user_msgid("ShowMenu"), "MenuTeam");
register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
register_clcmd("chooseteam", "OpenMenu");
register_clcmd("say /menu", "OpenMenu");
register_clcmd("menu", "OpenMenu");
new entity = -1;
if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
{
DetectVIPMap[0] = true;
}
else
{
DetectVIPMap[0] = false;
}
}
public OpenMenu(id)
{
if(DetectVIPMap[0] == false)
{
menu_cancel(id);
TeamMenu(id);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public MenuTeam(msg, des, rec)
{
if(DetectVIPMap[0] == false)
{
static const TeamSelect[] = "#Team_Select";
static sz_Menu[sizeof(TeamSelect)];
get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
if(!equal( sz_Menu, TeamSelect))
{
return PLUGIN_CONTINUE;
}
set_pdata_int(rec, 205, 0);
TeamMenu(rec);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public VGUITeam(msg, des, rec)
{
if(get_msg_arg_int(1) != 2)
{
return PLUGIN_CONTINUE;
}
TeamMenu(rec);
return PLUGIN_HANDLED;
}
public TeamMenu(id)
{
if (act_menu[id] == 1)
{
new iPlayers[32], iNumCT , iNumT;
get_players(iPlayers, iNumCT, "e", "CT" );
get_players(iPlayers, iNumT, "e", "TERRORIST");
new menu = menu_create("\yВыберите команду:", "TeamMenu_Handler");
new szTittle[124];
formatex(szTittle, charsmax(szTittle), "\wТеррористы \r[%d]", iNumT);
menu_additem(menu, szTittle, "1")
formatex(szTittle, charsmax(szTittle), "\wКонтр-террористы \r[%d]^n", iNumCT);
menu_additem(menu, szTittle, "2")
menu_additem(menu, "\wАвыто-выбор", "3");
menu_additem(menu, "\wНаблюдатели", "4");
menu_setprop(menu, MPROP_EXITNAME, "Выход");
menu_display(id, menu, 0);
act_menu[id] = 0;
}
else
{
new menu = menu_create("ИМЯ СЕРВЕРА","func_menu");
menu_setprop( menu,MPROP_NUMBER_COLOR,"\r")
menu_additem( menu,"\yВыбрать команду")
menu_additem( menu,"Список \rкоманд")
menu_additem( menu,"Позвать \rАдмина")
menu_additem( menu,"Обнулить \rсчет")
menu_additem( menu,"Заткнуть \rигрока")
menu_additem( menu,"Купить \yУслугу")
menu_additem( menu,"Админ Меню [\rАдмин\w]","7")
menu_additem( menu,"Вкл/Выкл \rДемагер","8")
menu_additem( menu,"Вкл/Выкл \rНаблюдателей","9")
menu_display(id, menu, 0);
}
return PLUGIN_CONTINUE;
}
public TeamMenu_Handler(id, menu, item)
{
if(item == MENU_EXIT)
{
return PLUGIN_HANDLED;
}
new Name[64], Data[6], Access, Callback;
menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback);
static choose[4][2] = {"1","2","5","6"};
engclient_cmd(id, "jointeam", choose[Data[0] - '1']);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public func_menu(id, menu, key)
{
key++
if(key==1)
{
act_menu[id] = 1;
client_cmd(id,"chooseteam");
}
if(key==2) client_cmd(id,"say /info")
if(key==3) client_cmd(id,"say /admin")
if(key==4) client_cmd(id,"say /rs")
if(key==5) client_cmd(id,"say /mute")
if(key==6) client_cmd(id,"say /bay")
if(key==7) client_cmd(id,"say /adminmenu")
if(key==8) client_cmd(id,"say /damage")
if(key==9) client_cmd(id,"say /speclist")
return PLUGIN_HANDLED;
}