Привет всем ребята помогите пожалуйста мне как сделать чтобы на картах 35hp_, awp_, adminweapon не работал
и еще надо сделать когда сидишь с спекторах Меню с выбором оружия не показывало!
с меня Спасибо )) + кому надо хороший плагин я выложил ))
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>
#define PLUGIN "AdminWeaponMenu"
#define VERSION "1.0"
#define AUTHOR "StudenT"
#define ADMIN_FLAG 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)
new gRoundNum, gRoundNum_2, maxplayers
new mapname[32]
new key = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0
public plugin_init()
{
get_mapname(mapname, charsmax(mapname))
if(containi(mapname, "awp_") != -1)
return
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "SpawnPlayer", 1)
register_menu("AdminWeapon", key, "AdminWeaponFunc")
register_event("HLTV", "EventStartRound", "a", "1=0", "2=0")
register_event("TextMsg", "EventRestartRound", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
maxplayers = get_maxplayers()
register_clcmd("say /vips", "VipList")
}
public VipList(user)
{
new vipnames[33][32]
new message[256]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_FLAG)
get_user_name(id, vipnames[count++], 31)
len = format(message, 255, "!y[ !gVIP !y] Онлайн: !g")
if(count > 0)
{
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "%s%s ", vipnames[x], x < (count-1) ? ", ":"")
if(len > 96)
{
Color_Print(user, message)
len = format(message, 255, "!g ")
}
}
Color_Print(user, message)
}
else
{
len += format(message[len], 255-len, "Нету =(")
Color_Print(user, message)
}
}
public client_putinserver(id)
{
new szName[32]
get_user_name(id, szName, 31)
if(get_user_flags(id) & ADMIN_FLAG)
{
Color_Print(0, "!y[ !gVIP !y] Connected !g%s", szName)
client_cmd(0, "spk misc/vipka")
}
}
public plugin_precache()
precache_sound("misc/vipka.wav")
public SpawnPlayer(id)
{
if(is_user_connected(id) && is_user_alive(id))
{
if(get_user_flags(id) & ADMIN_FLAG)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_defuse(id, 1, 0, 160, 0, _, 0)
}
}
}
public EventStartRound()
{
gRoundNum++
gRoundNum_2++
new maxpls = get_maxplayers(), id
for(id = 1; id <= maxpls; id++)
{
if(!is_user_connected(id))
continue
if(get_user_flags(id) & ADMIN_FLAG)
{
set_task(0.0, "AdminWeaponMenu", id)
set_task(0.5, "VIP", id + 6910)
}
}
}
public VIP(TaskID)
{
new id = TaskID - 6910
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
return PLUGIN_HANDLED
}
public EventRestartRound()
{
gRoundNum = 0
gRoundNum_2 = 0
}
public AdminWeaponMenu(id)
{
static weaponmenu[650], len
len = 0
len = formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\rОружейка \w[ \yV.I.P \w]^n^n")
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r1. \wВзять \r[ \yДигл \r]^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. \wВзять \r[ \yAK47 \r]^n")
key |= MENU_KEY_2
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r2. \d[ АK47 ]^n")
key &= ~MENU_KEY_2
}
}else
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r2. \wВзять \r[ \yM4A1 \r]^n")
key |= MENU_KEY_2
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r2. \d[M4A1]^n")
key &= ~MENU_KEY_2
}
}
if(gRoundNum_2 > 2)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r3. \wВзять \r[ \yAWP \r]^n")
key |= MENU_KEY_3
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r3. \d[AWP]^n")
key &= ~MENU_KEY_3
}
if(gRoundNum_2 > 2)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r4. \wВзять \r[ \yПулемёт \r]^n^n")
key |= MENU_KEY_4
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r4. \d[Пулемёт]^n^n")
key &= ~MENU_KEY_4
}
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:
{
drop_weapons(id, 2)
fm_give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
fm_give_item(id,"weapon_hegrenade")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_smokegrenade")
fm_set_user_armor(id, 100)
}
case 1:
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum > 1)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
fm_give_item(id,"weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
fm_give_item(id,"weapon_hegrenade")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_smokegrenade")
fm_give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
fm_set_user_armor(id, 100)
}
}else
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum > 1)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
fm_give_item(id,"weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
fm_give_item(id,"weapon_hegrenade")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_smokegrenade")
fm_give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
fm_set_user_armor(id, 100)
}
}
}
case 2:
{
if(gRoundNum_2 > 2)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
fm_give_item(id,"weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
fm_give_item(id,"weapon_hegrenade")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_smokegrenade")
fm_give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
fm_set_user_armor(id, 100)
}
}
case 3:
{
if(gRoundNum_2 > 2)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
fm_give_item(id, "weapon_m249")
cs_set_user_bpammo(id, CSW_M249, 200)
fm_give_item(id,"weapon_hegrenade")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_flashbang")
fm_give_item(id,"weapon_smokegrenade")
fm_give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
fm_set_user_armor(id, 100)
}
}
}
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)
}
}
}
stock Color_Print(const id, const input[], any:...)
{
new count = 1, players[32], i
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, "!t", "^3") // Team Color
if(id)players[0] = id; else get_players(players, count, "ch")
{
for(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()
}
}
}
}
Отредактировал: kR1m1naL, - 11.12.2013, 11:16