#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
new bool:DetectVIPMap[33];
new act_menu[33] = 1; // Т.е. Вкл.
new bool: g_bChange[33];
// 1 2 5 6
#define MENU_KEYS (1<<0 | 1<<1 | 1<<4 | 1<<5)
public plugin_init()
{
register_plugin("Choose Menu" , "1.0" , "unnamed" );
register_message(get_user_msgid("ShowMenu"), "MessageShowMenu");
register_message(get_user_msgid("VGUIMenu"), "MessageVGUIMenu");
register_menucmd(register_menuid("\wВыберите команду:"), MENU_KEYS, "Menu_Team");
register_clcmd("chooseteam", "OpenMenu");
//register_clcmd("say /menu", "OpenMenu");
//register_clcmd("menu", "OpenMenu");
//register_event("HLTV", "event_HLTV", "a", "1=0", "2=0");
new entity = -1;
if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
{
DetectVIPMap[0] = true;
}
else
{
DetectVIPMap[0] = false;
}
}
public ShowMenu(id)
{
new iPlayers[32], iNumCT , iNumT, iNumSP;
get_players(iPlayers, iNumCT, "e", "CT" );
get_players(iPlayers, iNumT, "e", "TERRORIST");
get_players(iPlayers, iNumSP, "e", "SPECTATOR");
static szMenu[256]
static iLen;
iLen = formatex(szMenu, charsmax(szMenu), "\wВыберите команду:^n^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[1].\wТеррористы [%d]^n", iNumT)
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[2].\wКонтр-Террористы [%d]^n^n^n", iNumCT)
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[5].\wАвто-Выбор^n^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[6].\wНаблюдатель [%d]^n", iNumSP)
show_menu(id, MENU_KEYS, szMenu, -1, "");
return PLUGIN_HANDLED;
}
public Menu_Team(id, key)
{
g_bChange[id] = true;
set_task(2.0, "Clear", id)
switch(++key)
{
case 1:
{
engclient_cmd(id, "jointeam", "1");
engclient_cmd(id, "joinclass", "1");
}
case 2:
{
engclient_cmd(id, "jointeam", "2");
engclient_cmd(id, "joinclass", "1");
}
case 5:
{
engclient_cmd(id, "jointeam", "5");
engclient_cmd(id, "joinclass", "1");
}
case 6:
{
engclient_cmd(id, "jointeam", "6");
engclient_cmd(id, "joinclass", "1");
}
}
return PLUGIN_HANDLED;
}
public Clear(id) g_bChange[id] = false;
public client_putinserver(id) g_bChange[id] = false;
public OpenMenu(id)
{
if(DetectVIPMap[0] == false)
{
menu_cancel(id);
TeamMenu(id);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public MessageShowMenu(iMsgID, iDest, iReceiver)
{
if(g_bChange[iReceiver])
{
set_pdata_int(iReceiver, 205, 0);
return PLUGIN_HANDLED;
}
new const Team_Select[] = "#Team_Select";
new szMenu[sizeof(Team_Select)];
get_msg_arg_string(4, szMenu, charsmax(szMenu));
if(!equal(szMenu, Team_Select))
{
return PLUGIN_CONTINUE;
}
// reset CS menu code
set_pdata_int(iReceiver, 205, 0);
// show your own menu
TeamMenu(iReceiver);
return PLUGIN_HANDLED;
}
public MessageVGUIMenu(iMsgID, iDest, iReceiver)
{
if(g_bChange[iReceiver])
{
return PLUGIN_HANDLED;
}
if(get_msg_arg_int(1) != 2)
{
return PLUGIN_CONTINUE;
}
// show your own menu
TeamMenu(iReceiver);
return PLUGIN_HANDLED;
}
public TeamMenu(id)
{
if (act_menu[id] == 1)
{
ShowMenu(id);
act_menu[id] = 0;
}
else
{
new menu = menu_create("\dc-s.net.ua","func_menu");
menu_setprop( menu,MPROP_NUMBER_COLOR,"\w")
menu_additem( menu,"\rВыбрать команду")
menu_additem( menu,"\yМеню сервера^nновая строка")
menu_additem( menu,"\rПодпишись:^nновая строка^n")
menu_setprop( menu, MPROP_EXITNAME, "Выход");
menu_display(id, menu, 0);
}
act_menu[id] = 0;
return PLUGIN_HANDLED;
}
public func_menu(id, menu, key)
{
key++
if(key==1)
{
act_menu[id] = 1;
TeamMenu(id)
}
if(key==2) client_cmd(id,"amx_menu")
return PLUGIN_HANDLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/