Код
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <dhudmessage>
new const PLUGIN[] = "Меню для сервера", VERSION[] = "2.0", AUTHOR[] = "VO Team"
new vo_menu_informatin
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR );
register_dictionary("vo_menu.txt");
register_clcmd("menu", "open_menu");
set_task(60.0,"menu_informer",_,_,_,"b");
vo_menu_informatin = register_cvar("amx_vo_information", "1");
}
public open_menu(id)
{
new menu = menu_create("\rМеню сервераw \w[\d1337 Паблик\w]\w", "menu_handler")
menu_additem(menu, "\wОбнулить Счет \d[\rRS\d]\w","1")
menu_additem(menu, "\wКупить \d[\rVIP'ку\d]\w","2")
menu_additem(menu, "\wКупить \d[\rАдминку\d]\w", "3")
menu_additem(menu, "\wАдмины \d[\ronline\d]\w", "4")
menu_additem(menu, "\wIP данного сервера \d[\rIP\d]\w", "5")
menu_additem(menu, "\wVIP оружейка \d[\rVIPMENU\d]\w", "6")
menu_additem(menu, "\wВход в админку \d[\rAMXMODMENU\d]\w", "7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
return PLUGIN_HANDLED
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
client_cmd(id, "say /rs")
}
case 2:
{
show_motd(id, "addons/amxmodx/configs/menu/vip.txt", "VIP's система");
}
case 3:
{
show_motd(id, "addons/amxmodx/configs/menu/adminka.txt", "Админ права");
}
case 4:
{
client_cmd(id, "say /admin")
}
case 5:
{
client_cmd(id, "say /ip")
}
case 6:
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
client_cmd(id, "vip_menu")
}
else
{
set_dhudmessage( 100, 100, 100, 0.57, -1.0, 1, 6.0, 3.0, 0.1, 1.5 );
show_dhudmessage( id, "%L", LANG_PLAYER, "VO_VIP_NO" );
}
}
case 7:
{
if(get_user_flags(id) & ADMIN_MENU)
{
client_cmd(id, "amxmodmenu")
}
else
{
set_dhudmessage( 100, 100, 100, 0.57, -1.0, 1, 6.0, 3.0, 0.1, 1.5 );
show_dhudmessage( id, "%L", LANG_PLAYER, "VO_ADM_NO" );
}
}
}
return PLUGIN_HANDLED
}
public client_authorized(id)
{
client_cmd(id, "bind ^"F8^" ^"menu^"")
}
public menu_informer()
{
if(get_pcvar_num(vo_menu_informatin))
{
ChatColor(0, "%L", LANG_PLAYER, "VO_MENU_INFORMER")
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Зелёный
replace_all(msg, 190, "!y", "^1") // Стандартный
replace_all(msg, 190, "!t", "^3") // Цвет команды
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}