Код:
#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#define VIP_FLAG ADMIN_IMMUNITY
new round_number
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("Admin_vip", "1.0", "inf.VeSuViuS")
register_event("ResetHUD", "ResetHUD", "be")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_clcmd("say /admin", "ShowVipsOnline");
// register_clcmd("say /dgl", "dgl")
// register_clcmd("say /m4a1", "m4a1")
// register_clcmd("say /ak47", "ak47")
// register_clcmd("say /awp", "awp")
}
public ShowVipsOnline(id)
{
new VIP[16], vCounter = 0
new MaxP[32], pCounter, player
get_players(MaxP, pCounter, "ch")
for (new i=0 ; i<pCounter ; i++)
{
player = MaxP[i]
if (access(player, VIP_FLAG))
{
VIP[vCounter] = player
vCounter++
continue;
}
}
if (vCounter == 0)
{
ChatColor ( id , "!y[!gTm.inf!y]!team В данный момент !gАдминов !teamнет! Ищи тут:!g vk.com/tm_inf " );
}
else
{
new vonline[200]
new vname[32], iVIPID
for (new z=0 ; z<vCounter ; z++)
{
iVIPID = VIP[z]
get_user_name(iVIPID, vname, 31)
add(vonline, charsmax(vonline), vname)
if (z != vCounter-1)
{
add(vonline, charsmax(vonline), ", ")
}
}
ChatColor ( id , "!y[!gTm.inf!y]!team Онлайн !gАдмины:!team %s.", vonline );
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}
public VIP(TaskID)
{
new id = TaskID - 6910
if(is_user_alive(id) && get_user_flags(id) & VIP_FLAG)
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
drop_weapons(id, 1)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
give_item(id,"item_assaultsuit")
give_item(id,"item_thighpack")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
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) & SECONDARY_WEAPONS_BIT_SUM))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
public event_round_start ( )
round_number++
public dgl ( id )
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!y[!gTm.inf!y] Только для !team[VIP] !y!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!y[!gTm.inf!y] Ты!team [Мертв] !y!");
return PLUGIN_HANDLED;
}
give_item( id, "weapon_deagle" )
cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
return PLUGIN_HANDLED;
}
public m4a1 ( id )
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!y[!gTm.inf!y] Только для !team[VIP] !y!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!y[!gTm.inf!y] Ты!team [Мертв] !y!");
return PLUGIN_HANDLED;
}
if ( round_number <= 3 )
{
ChatColor ( id , "!y[!gTm.inf!y] Доступно со 2 раунда !y!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_m4a1" )
cs_set_user_bpammo( id , CSW_M4A1, 90 )
return PLUGIN_CONTINUE;
}
public ak47 ( id )
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!y[!gTm.inf!y] Только для !team[VIP] !y!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!y[!gTm.inf!y] Ты!team [Мертв] !y!");
return PLUGIN_HANDLED;
}
if ( round_number <= 3 )
{
ChatColor ( id , "!y[!gTm.inf!y] Доступно с 2 раунда !y!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_ak47" )
cs_set_user_bpammo( id , CSW_AK47, 90 )
return PLUGIN_CONTINUE;
}
public awp ( id )
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!y[!gTm.inf!y] Только для !team[VIP] !y!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!y[!gTm.inf!y] Ты!team [Мертв] !y!");
return PLUGIN_HANDLED;
}
if ( round_number <= 4 )
{
ChatColor ( id , "!y[!gTm.inf!y] Доступно с 3 раунда !y!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_awp" )
cs_set_user_bpammo( id , CSW_AWP, 30 )
return PLUGIN_CONTINUE;
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
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, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new 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();
}
}
}
}