Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <amxmisc>
#define ADMIN_ACCESS ADMIN_IMMUNITY
#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "Pakistan"
new round_number
new menu
new cvarAmountOpeningVIPMenu
new countOpeningMenu[32]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
cvarAmountOpeningVIPMenu = register_cvar("opening_menu", "3");
RegisterHam(Ham_Spawn, "player", "hamSpawn", 1);
menu = menu_create("\rV.I.P Меню","func_menu")
menu_additem( menu, "\wВзять \yUsp")
menu_additem( menu, "\wВзять \yDeagle")
menu_additem( menu, "\wВзять \yAK-47")
menu_additem( menu, "\wВзять \yM4a1")
menu_additem( menu, "\wВзять \yFomas")
menu_additem( menu, "\wВзять \yAUG")
menu_additem( menu, "\wВзять \yAWP")
menu_setprop( menu, MPROP_EXITNAME, "Выход")
register_clcmd("say /vipmenu","go_menu", ADMIN_ACCESS)
register_clcmd("1", "usp")
register_clcmd("2", "dgl")
register_clcmd("3", "ak47")
register_clcmd("4", "m4a1")
register_clcmd("5", "fms")
register_clcmd("6", "aug")
register_clcmd("7", "awp")
}
public func_menu(id, menu, key)
{
key++
if(key==1) client_cmd(id, "1")
if(key==2) client_cmd(id, "2")
if(key==3) client_cmd(id, "3")
if(key==4) client_cmd(id, "4")
if(key==5) client_cmd(id, "5")
if(key==6) client_cmd(id, "6")
if(key==7) client_cmd(id, "7")
}
public go_menu(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
new amountOpeningVIPMenu = get_pcvar_num(cvarAmountOpeningVIPMenu);
if((amountOpeningVIPMenu != 0) && (countOpeningMenu[id] >= amountOpeningVIPMenu))
{
ChatColor(id, "!g[SERVER]!y Меню можно открыть всего лишь %d(раз) за !teamраунд !y!", amountOpeningVIPMenu)
return PLUGIN_HANDLED;
}
menu_display(id,menu)
countOpeningMenu[id]++;
return PLUGIN_HANDLED
}
public event_round_start ()
round_number++
public usp(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
give_item(id, "weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
return PLUGIN_CONTINUE;
}
public dgl(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
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")
return PLUGIN_CONTINUE;
}
public ak47(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
if(round_number <= 2)
{
ChatColor(id, "!g[SERVER]!y Доступно со 2 раунда !y!" )
return PLUGIN_HANDLED;
}
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")
return PLUGIN_CONTINUE;
}
public m4a1(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
if(round_number <= 2)
{
ChatColor(id, "!g[SERVER]!y Доступно со 2 раунда !y!" )
return PLUGIN_HANDLED;
}
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
return PLUGIN_CONTINUE;
}
public fms(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
if(round_number <= 2)
{
ChatColor(id, "!g[SERVER]!y Доступно со 2 раунда !y!" )
return PLUGIN_HANDLED;
}
give_item(id,"weapon_famas")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
return PLUGIN_CONTINUE;
}
public aug(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
if(round_number <= 2)
{
ChatColor(id, "!g[SERVER]!y Доступно со 2 раунда !y!" )
return PLUGIN_HANDLED;
}
give_item(id,"weapon_aug")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
return PLUGIN_CONTINUE;
}
public awp(id)
{
if(!(get_user_flags(id) & ADMIN_ACCESS))
{
ChatColor(id, "!g[SERVER]!y Только для !team[VIP] !y!" )
return PLUGIN_HANDLED;
}
if(round_number <= 2)
{
ChatColor(id, "!g[SERVER]!y Доступно со 2 раунда !y!" )
return PLUGIN_HANDLED;
}
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
return PLUGIN_CONTINUE;
}
public hamSpawn(id)
{
countOpeningMenu[id] = 0;
}
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")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")
replace_all(msg, 190, "!team2", "^0")
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();
}
}
}
}