Может и сработает
Код:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Menu"
#define VERSION "0.1"
#define AUTHOR "64564"
#define is_alive_check(%0) (!is_user_alive(%0))
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("open_menu", "Cmd_OpenServersMenu")
register_clcmd("open_menu_open", "ServersMenu")
register_menucmd(register_menuid("MenuServers"), 1023, "FuncMenuServers")
}
/**=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=
Меню Сервера.
-=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-*/
public Cmd_OpenServersMenu(id)
{
if(get_user_flags(id) && ADMIN_LEVEL_H)
{
client_cmd(0, "open_menu_open")
}
}
public ServersMenu(id)
{
if(!(get_user_flags(id) && ADMIN_LEVEL_H))
return PLUGIN_HANDLED
static szMenu[650], iLen, keys
iLen = 0
iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\rCSDM\y] \wМеню Сервера \yツ^n^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, is_alive_check(id) ? "\y[\r1\y] \dМагазин \d(\r---\d)^n" : "\y[\r1\y] \wМагазин^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\r2\y] \wПередать Деньги^n^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, is_alive_check(id) ? "\y[\r3\y] \dПоставить Пушку \d(\r---\d)^n" : "\y[\r3\y] \wПоставить Пушку^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, is_alive_check(id) ? "\y[\r4\y] \dПоставить Лазер \d(\r---\d)^n" : "\y[\r4\y] \wПоставить Лазер^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, is_alive_check(id) ? "\y[\r5\y] \dПоставить Раздатчик \d(\r---\d)^n^n" : "\y[\r5\y] \wПоставить Раздатчик^n^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\r6\y] \wНоминировать Карту^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\r7\y] \wКупить Привилегии^n^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\r8\y] \wЗастрял^n^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\r9\y] \wВыбрать Команду^n")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\y[\r0\y] \wВыход")
keys |= (MENU_KEY_1|MENU_KEY_3|MENU_KEY_2|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|ME
NU_KEY_8|MENU_KEY_9|MENU_KEY_0)
!is_alive_check(id) ? (keys |= (MENU_KEY_1|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5)) : (keys &= ~(MENU_KEY_1|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5))
show_menu_new(id, keys, szMenu, -1, "MenuServers");
return PLUGIN_HANDLED
}
public FuncMenuServers(id, key)
{
new SteamID[35]
get_user_authid(id, SteamID, charsmax(SteamID))
switch(key)
{
case 0:
{
if(is_alive_check(id))
return PLUGIN_CONTINUE
client_cmd(id, "csdmshop")
}
case 1: client_cmd(id, "moneymenu")
case 2:
{
if(is_alive_check(id))
return PLUGIN_CONTINUE
client_cmd(id, "sentry_build")
}
case 3:
{
if(is_alive_check(id))
return PLUGIN_CONTINUE
client_cmd(id, "+setlaser")
}
case 4:
{
if(is_alive_check(id))
return PLUGIN_CONTINUE
client_cmd(id, "build_dispenser")
}
case 5: client_cmd(id, "say /maps")
case 6:
{
show_motd(id, "motd.txt")
}
case 7: ClientCommand_UnStick(id);
case 8: ShowMenu(id)
}
return PLUGIN_HANDLED
}
stock show_menu_new(id, iKeys, const szMenu[], iTime = -1, const title[]="")
{
new szNewMenu[1024]
format(szNewMenu, charsmax(szNewMenu), "%s", szMenu)
return show_menu(id, iKeys, szNewMenu, iTime, title)
}