Доброго дня. Пожалуйста подскажите как сделать чтобы игроку без флага b выводилось сообщение "Для доступа к меню установи античит", а для игрока с флагом не выводилось.
Вот то что получилось у меня:
Код
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#define ACCESS_FLAG ADMIN_LEVEL_B
public plugin_init()
{
register_clcmd("amx_menu", "function_menu", ADMIN_LEVEL_B,"")
register_clcmd("say /menu", "function_menu")
register_clcmd("say_team /menu", "function_menu")
register_clcmd("menu", "function_menu")
register_dictionary ( "menu.txt" )
register_clcmd("menu","go_menu");
}
public client_putinserver(id, menu, item)
{
if (item < 0)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new command[24], paccess, call
menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)
if (paccess && !(get_user_flags(id) & paccess))
{
ColorChat(id, RED, "%L", "ANTICHEAT")
return PLUGIN_HANDLED
}
client_cmd(id, command)
menu_destroy(menu)
return PLUGIN_HANDLED
}
public function_menu(id)
{
new menu = menu_create("\rМеню сервера", "menu_handler")
menu_additem(menu, "\wМеню1","1")
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
menu_additem(menu, "\wМеню2","2")
menu_additem(menu, "\wМеню3","3")
}
else
{
menu_additem(menu, "\wМеню2","2")
menu_additem(menu, "\wМеню3","3")
}
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
return PLUGIN_HANDLED
}
public client_authorized(id)
{
client_cmd(id, "bind ^"F3^" ^"menu^"")
}
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 /menu1")
}
case 2:{
if(get_user_flags(id) & ADMIN_LEVEL_B)
client_cmd(id, "say /menu2")
}
case 3:{
if(get_user_flags(id) & ADMIN_LEVEL_B)
client_cmd(id, "say /menu3")
}
return PLUGIN_HANDLED
}
Отредактировал: NiceSleep, - 3.11.2011, 21:18