#include <amxmodx>
#include <reapi>
#pragma semicolon 1
const PISTOLS_FLAGS = ADMIN_BAN;
const TIME_MENU = NULLENT;
const MENU_KEYS = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9;
const CONTENT_STRLEN = 512;
const ITEM_STRLEN = 32;
const CLASS_STRLEN = 24;
new const MENU_TAB[] = "^t^t^t^t";
enum _:PISTOLS_DATA {
sItemName[ITEM_STRLEN],
sClassName[CLASS_STRLEN],
};
new const PISTOLS_LIST[][PISTOLS_DATA] = {
{"Взять \yDeagle", "weapon_deagle"},
{"Взять \yGlock", "weapon_glock18"},
{"Взять \yUSP", "weapon_usp"},
{"Взять \yP228", "weapon_p228"},
{"Взять \yFiveseven", "weapon_fiveseven"},
{"Взять \yDual Elite", "weapon_elite"}
};
new g_iPistolsID[MAX_PLAYERS + 1];
public plugin_init() {
register_plugin("Pistols Menu", "1.0", "Javekson");
register_clcmd("pistols", "ClCmdPistolsMenu");
register_menucmd(register_menuid("_pistols_menu"), MENU_KEYS, "HandlePistolsMenu");
}
public ClCmdPistolsMenu(const id) {
if(get_user_flags(id) & PISTOLS_FLAGS) {
ShowPistolsMenu(id);
return PLUGIN_CONTINUE;
}
client_print_color(id, print_team_default, "^4* ^1У Вас недостаточно прав для использования этой команды");
rg_send_audio(id, "events/friend_died.wav");
return PLUGIN_CONTINUE;
}
ShowPistolsMenu(const id) {
new sContent[CONTENT_STRLEN], iLen, iItem, bsKeys = MENU_KEY_0;
iLen = formatex(sContent, charsmax(sContent), "%s\yМеню пистолетов^n^n", MENU_TAB);
for(new i; i < sizeof PISTOLS_LIST; i++) {
bsKeys |= (1<<iItem);
iLen += formatex(sContent[iLen], charsmax(sContent) - iLen, "%s\y%d. \w%s^n", MENU_TAB, ++iItem, PISTOLS_LIST[i]);
}
formatex(sContent[iLen], charsmax(sContent) - iLen, "^n%s\y0. \wВыход", MENU_TAB);
show_menu(id, bsKeys, sContent, TIME_MENU, "_pistols_menu");
}
public HandlePistolsMenu(const id, const iKey) {
if(iKey == 9) return PLUGIN_CONTINUE;
if(is_player_alive(id)) {
g_iPistolsID[id] = iKey;
give_item_pistols(id);
}
return PLUGIN_HANDLED;
}
stock is_player_alive(const id) {
if(is_user_alive(id)) return true;
client_print_color(id, print_team_default, "^4* ^1Меню пистолетов доступно только живым игрокам");
rg_send_audio(id, "events/friend_died.wav");
return false;
}
stock give_item_pistols(const id) {
rg_remove_items_by_slot(id, PISTOL_SLOT);
rg_give_item(id, PISTOLS_LIST[g_iPistolsID[id]][sClassName], GT_REPLACE);
rg_instant_reload_weapons(id);
}