Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#pragma tabsize 0
#define DAMAGE_RECIEVED
#define SOUND_GAME "test/vip.wav"
new round_number
new bool:has_used[33];
public plugin_init()
{
register_plugin("VIP-ADMIN", "1", "7eVen");
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_logevent("rs_r", 2, "0=World triggered", "1&Restart_Round_")
register_logevent("game_c", 2, "0=World triggered", "1=Game_Commencing")
register_logevent("event_new_round", 2, "1=Round_Start")
register_clcmd("say /adminka", "adminka");
register_clcmd("say /vip","ShowMotd");
register_clcmd("vipmenu", "showWeaponMenu");
}
public rs_r(){
round_number = 0
}
public game_c(){
round_number = 0
}
public showWeaponMenu(id)
{
if(get_user_flags (id) & ADMIN_LEVEL_H)
{
new menu = menu_create("\rВыбери оружие:","menu")
if(round_number >= 2)
{
menu_additem( menu,"\wВзять \r[FAMAS]", "1", 0)
}
else
{
menu_additem( menu,"\dВзять [FAMAS]", "1", 0)
}
if(round_number >= 3)
{
menu_additem( menu,"\wВзять \r[AK47]", "2", 0)
}
else
{
menu_additem( menu,"\dВзять [AK47]", "2", 0)
}
if(round_number >= 3)
{
menu_additem( menu,"\wВзять \r[M4A1]", "3", 0)
}
else
{
menu_additem( menu,"\dВзять [M4A1]", "3", 0)
}
if(round_number >= 4)
{
menu_additem( menu,"\wВзять \r[AWP]^n", "4", 0)
}
else
{
menu_additem( menu,"\dВзять [AWP]^n", "4", 0)
}
menu_additem(menu,"\rВыход", "0", 0)
menu_setprop(menu, MPROP_PERPAGE, 0)
menu_setprop(menu, MPROP_PERPAGE, 0)
menu_display(id, menu, 0)
}
else
{
ChatColor ( id , "!g[SERVER]!y Недостаточно прав!y!" );
}
return PLUGIN_CONTINUE
}
public menu(id,menu,item)
{
if(item==MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data)
switch(key)
{
case 1 :{
if(round_number < 2)
{
ChatColor ( id , "!g[SERVER]!y Доступно со 2 раунда !y!" );
return PLUGIN_CONTINUE
}
give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 90)
}
case 2 :{
if(round_number < 3)
{
ChatColor ( id , "!g[SERVER]!y Доступно со 3 раунда !y!" );
return PLUGIN_CONTINUE
}
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
}
case 3 :{
if(round_number < 3)
{
ChatColor ( id , "!g[SERVER]!y Доступно со 3 раунда !y!" );
return PLUGIN_CONTINUE
}
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
}
case 4 :{
if(round_number < 4)
{
ChatColor ( id , "!g[SERVER]!y Доступно со 4 раунда !y!" );
return PLUGIN_CONTINUE
}
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
}
}
return PLUGIN_HANDLED
}
public event_round_start ( )
{
round_number++
}
public adminka(id)
{
show_motd(id, "adminka.txt")
}
public client_putinserver(id)
{
if(get_user_flags (id) & ADMIN_LEVEL_H)
set_task(2.0, "show", id)
}
public show(id){
new name[32];
get_user_name(id, name, 31);
ChatColor(0 , "!g[VIP] !team%s !gзаходит на сервер!", name);
client_cmd(0, "spk test/vip.wav")
}
public client_authorized(id)
{
client_cmd(id, "bind ^"-^" ^"vipmenu^"")
}
public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}
public VIP(TaskID)
{
new MapName[32]
get_mapname(MapName, 31)
if(equali(MapName, "35hp") || equali(MapName, "1hp") || equali(MapName, "35hp_2") || equali(MapName, "awp_india"))
return PLUGIN_CONTINUE
new id = TaskID - 6910
if ( get_user_flags ( id ) & ADMIN_LEVEL_H )
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
give_item(id,"item_thighpack");
//give_item(id,"weapon_deagle")
//cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
}
return PLUGIN_HANDLED
}
public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public event_new_round()
{
arrayset(has_used, false, 33)
}
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();
}
}
}
}
public plugin_precache(){
precache_sound(SOUND_GAME)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/