День добрый На нескольких серверах видел меню при нажатии на кнопку E или использовать открывается меню, через бинд не получается сделать но тоже по какой то причине не запускается не на одной из версий амхх, инкубы все установил посмотрите может будут идеи подскажите. Меню компилируется правда с предупреждениями в plugins.ini дописывал debyg в общем не туда не сюда ошибки в логах выдаёт на 46 строчке, собственно вот сам скрипт.
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <colorchat> // обязательно должно быть, это для формирования надписи в меню
new day[32]
public plugin_init()
{
register_plugin("Player_Menu","0.4","autor");
register_clcmd("player_menu","go_menu");
register_clcmd("say mymenu", "go_menu");
register_clcmd("say /mymenu", "go_menu");
register_forward( FM_CmdStart , "FwdCmdStart" ); // регистрируем форвард для открытия меню по кнопке е
}
public FwdCmdStart(id, uc_handle)// функция, которая реализует открытие меню на кнопку е
{
static Button, OldButtons;
Button = get_uc(uc_handle, UC_Buttons);
OldButtons = pev(id, pev_oldbuttons);
if((Button & IN_USE) && !(OldButtons & IN_USE))
go_menu(id);
return FMRES_HANDLED;
}
public go_menu(id) // собственно наше меню
{
new menu = menu_create("Меню сервера ","func_menu");
menu_additem( menu,"\rНазвание пункта 1", "1", 0)
menu_additem( menu,"Название пункта 2", "2", 0)
menu_additem( menu,"Название пункта 3", "3", 0)
menu_additem( menu,"Название пункта 4", "4", 0)
menu_additem( menu,"Название пункта 5", "5", 0)
menu_additem( menu,"Название пункта 6", "6", 0)
menu_additem( menu,"Название пункта 7", "7", 0)
menu_additem( menu,"Название пункта 8", "8", 0)
menu_additem(menu, "\wВыход", "0")
menu_setprop(menu, MPROP_PERPAGE)
menu_display(id,menu)
}
public func_menu(id, menu, key) // действия кнопок нашего меню
{
key++
switch(key)
{
case 1: client_cmd(id,"bla bla bla")
case 2: client_cmd(id,"bla bla bla")
case 3: client_cmd(id,"bla bla bla")
case 4: client_cmd(id,"bla bla bla")
case 5: client_cmd(id,"bla bla bla")
case 6: client_cmd(id,"bla bla bla")
case 7: client_cmd(id,"bla bla bla")
case 8: client_cmd(id,"bla bla bla")
}
return PLUGIN_HANDLED
}
stock client_printcolor(const id, const input[], any:...) // обязательно вставить этот сток, он нужне для форматирования надписи в меню
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
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)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}