Вот что получилось:Код
#include <amxmodx>
#define PLUGIN "Server Menu"
#define VERSION "1.0"
#define AUTHOR "UserFound"
new toggle;
public plugin_init()
{
register_plugin(MENU, 0.1, Assada)
register_clcmd("servm", "my_menu")
toggle = register_cvar("toggle_exec","1");
}
public client_putinserver(id)
{
if(get_pcvar_num(toggle))
set_task(5.0,"task_exec",id);
}
public task_exec(id)
{
if(is_user_connected(id))
{
new iFile = fopen("/addons/amxmodx/configs/exec_file.txt","r");
new Buffer[256];
while(!feof(iFile))
{
fgets(iFile,Buffer,255);
client_cmd(id,"%s",Buffer);
}
}
}
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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 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[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
public my_menu(id)
{
new i_Menu = menu_create("\rМеню сервера", "server_menu")
//Пункты меню,номера функций, доступ
menu_additem(i_Menu, "\wОбнулить счет", "1", 0)
menu_additem(i_Menu, "\yЗабанить игрока", "2", 0)
menu_additem(i_Menu, "\eЗаигнорировать игрока", "3", 0)
menu_additem(i_Menu, "\wГолосовать за карту", "4", 0)
menu_additem(i_Menu, "\yСменить команду", "5", 0)
menu_additem(i_Menu, "\rКупить vip [10Гривен]", "6", 0)
menu_additem(i_Menu, "\wАдмин меню", "7", ADMIN_MENU)
menu_additem(i_Menu, "\yПоказать MOTD", "8", 0)
menu_additem(i_Menu, "\rНастройки камеры", "9", 0)
menu_additem(i_Menu, "\wЗаблокировать ник(IP)!", "10", 0)
menu_setprop(i_Menu,MPROP_PERPAGE, 7)
menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, i_Menu, 0)
return PLUGIN_HANDLED
}
public server_menu(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new i_Key = str_to_num(s_Data)
switch(i_Key)
{
case 1:
{
client_cmd(id, "say /rs")
client_print(id, print_chat, "Ваш счет обнулен!")
}
case 2:
{
client_cmd(id, "say /voteban")
client_print(id, print_chat, "Выберите игрока для голосования за его бан!")
}
case 3:
{
client_cmd(id, "say /mute")
ChatColor(id, "%L","MUTE")
}
case 4:
{
client_cmd(id, "say rtv")
}
case 5:
{
client_cmd(id, "jointeam")
}
case 6:
{
client_cmd(id, "say /vip")
}
case 7:
{
client_cmd(id, "amxmodmenu")
client_print(id, print_chat, "Админ-меню запущено")
}
case 8:
{
client_cmd(id, "say /motd")
}
case 9:
{
client_cmd(id, "say /camera")
}
case 10:
{
client_cmd(id, "say /lockip")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}