Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define PLUGIN "AdminWeaponMenu"
#define VERSION "1.0"
#define AUTHOR "StudenT"
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)
new gRoundNum
new gRoundNum_2
new g_Maxplayers
new mapname[32]
new key = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_0
public plugin_init()
{
get_mapname(mapname, charsmax(mapname))
if(containi(mapname, "awp_") != -1)
{
return
}
else
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("AdminWeapon", key, "AdminWeaponFunc")
register_concmd("", "AdminWeaponMenu")
g_Maxplayers = get_maxplayers()
register_event("HLTV", "EventStartRound", "a", "1=0", "2=0")
register_event("TextMsg", "EventRestartRound", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
}
}
public EventStartRound()
{
gRoundNum++
gRoundNum_2++
for(new id = 1; id <= g_Maxplayers; id++)
{
if(!is_user_connected(id))
continue
if(get_user_flags(id) & ADMIN_BAN)
{
AdminWeaponMenu(id)
}
}
}
public EventRestartRound()
{
gRoundNum = 0
gRoundNum_2 = 0
}
public AdminWeaponMenu(id)
{
static weaponmenu[650], len
len = 0
len = formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r[\yAdminWeapons\r]^n^n")
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r1. \wDeagle \y+ \wPack^n")
key |= MENU_KEY_1
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r2. \wAK47 \y+ \wPack^n")
key |= MENU_KEY_2
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d2. AK47 \y+ \dPack^n")
key &= ~MENU_KEY_2
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r2. \wM4A1 \y+ \wPack^n")
key |= MENU_KEY_2
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d2. M4A1 \y+ \dPack^n")
key &= ~MENU_KEY_2
}
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r3. \wGalil \y+ \wPack^n")
key |= MENU_KEY_3
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d3. Galil \y+ \dPack^n")
key &= ~MENU_KEY_3
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r3. \wFamas \y+ \wPack^n")
key |= MENU_KEY_3
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d3. Famas \y+ \dPack^n")
key &= ~MENU_KEY_3
}
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r4. \wKrieg 552 \y+ \wPack^n")
key |= MENU_KEY_4
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d4. Krieg 552 \y+ \dPack^n")
key &= ~MENU_KEY_4
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r4. \wBullpup \y+ \wPack^n")
key |= MENU_KEY_4
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d4. Bullpup \y+ \dPack^n")
key |= MENU_KEY_4
}
}
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r5. \wScout \y+ \wPack^n")
key |= MENU_KEY_5
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d5. Scout \y+ \dPack^n")
key |= MENU_KEY_5
}
if(gRoundNum_2 > 2)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r6. \wAWP \y+ \wPack^n")
key |= MENU_KEY_6
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d6. AWP \y+ \dPack^n")
key &= ~MENU_KEY_6
}
if(gRoundNum_2 > 2)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r7. \wM249 \y+ \wPack^n^n")
key |= MENU_KEY_7
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d7. M249 \y+ \dPack^n^n")
key &= ~MENU_KEY_7
}
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r0. \wВыход")
key |= MENU_KEY_0
show_menu(id, key, weaponmenu, -1, "AdminWeapon")
return PLUGIN_HANDLED
}
public AdminWeaponFunc(id, key)
{
switch(key)
{
case 0:
{
strip_weapons(id, 2)
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
case 1:
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
}
case 2:
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_galil")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_famas")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
}
case 3:
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_sg552")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_aug")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
}
case 4:
{
if(gRoundNum > 1)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_scout")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
case 5:
{
if(gRoundNum_2 > 2)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
case 6:
{
if(gRoundNum_2 > 2)
{
strip_weapons(id, 1)
strip_weapons(id, 2)
give_item(id,"weapon_m249")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_556natobox")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
cs_set_user_armor( id, 100, CsArmorType:CS_ARMOR_VESTHELM )
}
else
{
return PLUGIN_CONTINUE
}
}
}
return PLUGIN_HANDLED
}
stock strip_weapons(id,stripwhat)
{
new weapons[32],num_weapons,index,weaponid
get_user_weapons(id,weapons,num_weapons)
for(index=0;index<num_weapons;index++)
{
weaponid = weapons[index]
if((stripwhat == PRIMARY_ONLY && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
||(stripwhat == SECONDARY_ONLY && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))
||(stripwhat == GRENADES_ONLY && ((1<<weaponid) & GRENADES_WEAPONS_BIT_SUM)))
{
new wname[32]
get_weaponname(weaponid,wname,charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}