/* Связь с автором плагина: Telegram: @NordicWarrior */
#include <amxmodx>
#include <amxmisc>
new const PLUGIN_VERSION[] = "1.0.0";
/* Настройки */
#define ACCESS_FLAG ADMIN_KICK // Флаг доступа к меню показа правил
new const RULES_FILE[] = "rules.txt"; // Файл с MOTD
new const TAG[] = "^3[^4Rules^3]"; // Префикс плагина в чате
/* Конец настроек */
public plugin_init()
{
register_plugin("MOTD Rules", PLUGIN_VERSION, "Nordic Warrior");
register_clcmd("showrules", "cmdShowRulesMenu", ACCESS_FLAG);
if(!file_exists(RULES_FILE))
{
set_fail_state("Отсутствует файл %s!", RULES_FILE);
}
}
public cmdShowRulesMenu(id, level, cid)
{
if(!cmd_access(id, level, cid, 0))
return PLUGIN_HANDLED;
RulesMenu(id);
return PLUGIN_HANDLED;
}
public RulesMenu(const id)
{
new iMenu = menu_create("Кому показать правила?", "RulesMenu_handler");
new iPlayers[MAX_PLAYERS], iPlayersNum;
get_players_ex(iPlayers, iPlayersNum, GetPlayers_ExcludeHLTV | GetPlayers_ExcludeBots);
new iPlayer, szPlayer[3];
for(new i; i < iPlayersNum; i++)
{
iPlayer = iPlayers[i];
if(iPlayer == id)
continue;
num_to_str(iPlayer, szPlayer, charsmax(szPlayer));
menu_additem(iMenu, fmt("%n", iPlayer), szPlayer);
}
if(!menu_items(iMenu))
{
client_print_color(id, print_team_red, "%s ^1На сервере ^3отсутствуют игроки^1.", TAG);
return PLUGIN_HANDLED;
}
menu_setprop(iMenu, MPROP_NEXTNAME, "Далее");
menu_setprop(iMenu, MPROP_BACKNAME, "Назад");
menu_setprop(iMenu, MPROP_EXITNAME, "Выход");
menu_display(id, iMenu);
return PLUGIN_HANDLED;
}
public RulesMenu_handler(id, iMenu, iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy(iMenu);
return PLUGIN_HANDLED;
}
new szData[3];
menu_item_getinfo(iMenu, iItem, .info = szData, .infolen = charsmax(szData));
new iTarget = str_to_num(szData);
if(!is_user_connected(iTarget))
{
client_print_color(id, print_team_red, "%s ^1Выбран ^3неверный ^1игрок, либо выбранный игрок ^3вышел^1.", TAG);
menu_destroy(iMenu);
return PLUGIN_HANDLED;
}
show_motd(iTarget, RULES_FILE, "Соблюдай правила!");
client_print_color(0, print_team_default, "%s ^1Админ ^3%n ^4показал правила ^1игроку ^3%n^1.", TAG, id, iTarget);
menu_destroy(iMenu);
RulesMenu(id);
return PLUGIN_HANDLED;
}