Код
#include <amxmodx>
#include <cstrike>
#include <fun>
#define ADMIN_ACCESS ADMIN_LEVEL_H
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
public plugin_init()
{
register_plugin("Weapon Menu", "1.0", "9 rpamm!?")
register_clcmd("weaponmenu", "WeaponMenu")
}
public WeaponMenu(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_E)
{
new menu = menu_create("WeaponMenu", "WeaponMenu_Func")
menu_additem(menu, "Аk-47+Deagle+Гранаты+Броня", "1", 0)
menu_additem(menu, "M4a1+Deagle+Гранаты+Броня", "2", 0)
menu_additem(menu, "Awp+Deagle+Гранаты+Броня", "3", 0)
menu_additem(menu, "Skout+Deagle+Гранаты+Броня", "4", 0)
menu_additem(menu, "Взять 16000$", "5", 0)
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}
else
{
client_print(id, print_chat, "У вас нет прав")
}
return PLUGIN_HANDLED
}
public WeaponMenu_Func(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:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_ak47")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_AK47, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
set_user_armor(id, 100)
}
case 2:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_m4a1")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_M4A1, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
set_user_armor(id, 100)
}
case 3:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_awp")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_AWP, 30)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
set_user_armor(id, 100)
}
case 4:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_scout")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_SCOUT, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
set_user_armor(id, 100)
}
case 5: cs_set_user_money(id, 16000)
}
return PLUGIN_HANDLED
}
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)
for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}