Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <dhudmessage>
#define PLUGINAME "vipmenu_public"
#define MAX_PLAYERS 32
#define VIP_FLAG ADMIN_LEVEL_H
new maxplayers
new mkb
new new_round
new gun[33]
new granade[33]
new armor[33]
public plugin_init()
{
register_clcmd( "vip_menu", "vipmenu_new" )
register_clcmd( "say /vipmenu", "vipmenu_new" )
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
}
public client_authorized(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
new pname[32]
get_user_name(id, pname, 31)
set_dhudmessage( 255, 0, 85, -1.0, 0.36, 0, 6.0, 12.0);
show_dhudmessage(0, "Приветствуем [VIP] игрока %s !",pname );
client_cmd(id, "bind ^"F5^" ^"say /vipmenu^"")
}
}
public server_restart(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
server_cmd("restart")
remove_task(0)
}
else
{
client_print(id,print_chat, "NOT_FLAG")
}
}
public vipmenu_new(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
static restart_round[64]
formatex(restart_round, charsmax(restart_round), "%L", id, "RESTART_ROUND")
new new_menu = menu_create( "\wVIP Меню \yФортуны", "menu_admin" )
menu_additem( new_menu,"Рестарт раунда", "1")
menu_additem( new_menu,"Кикнуть", "2")
menu_additem( new_menu,"Сменить карту", "3")
menu_additem( new_menu,"Провести голосование \y(За смену карты)", "4")
menu_additem( new_menu,"Набор оружия [AWP DEAGLE]", "5")
menu_additem( new_menu,"Набор гранат", "6")
menu_additem( new_menu,"Выдать броню", "7")
menu_additem( new_menu,"Набор оружия [m4a1 deagle]", "8")
menu_additem( new_menu,"Набор оружия [ak47 deagle]", "9")
menu_additem( new_menu, "Покинуть меню", "0")
menu_setprop( new_menu, MPROP_PERPAGE, 0)
menu_display( id, new_menu, 0 )
}
}
public menu_admin( id, menu, item, iEnt, player)
{
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 (get_user_flags(id) & ADMIN_LEVEL_H)
{
server_cmd("sv_restartround 1");
client_print(id,print_chat, "[VIP SYSTEM]: Вы сделали рестарт раунда. :)");
}
}
case 2: client_cmd(id, "amx_kickmenu")
case 3: client_cmd(id, "amx_mapmenu")
case 4: client_cmd(id, "amx_votemapmenu")
case 5:
{
if ( new_round <= 5 )
{
client_print(id,print_chat,"[VIP SYSTEM]: Данная связка оружий доступна с 4 раунда!" );
return PLUGIN_HANDLED;
}
else
{
client_print(id,print_chat,"[VIP SYSTEM]: Данная связка оружий доступна 1 раз в раунд." );
return PLUGIN_HANDLED;
}
if(gun[id])
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_awp")
cs_set_user_bpammo( id, CSW_ELITE, 9999 );
client_cmd(id,"vip_menu");
gun[id] = 0
}
else
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_awp")
cs_set_user_bpammo( id, CSW_ELITE, 9999 );
client_cmd(id,"vip_menu");
gun[id] = 1
}
set_task(0.1, "vip_menu", id)
}
case 6:
{
if ( new_round <= 0 )
{
client_print(id,print_chat,"[VIP SYSTEM]: Набор гранат доступен с 1 раунда." );
return PLUGIN_HANDLED;
}
else
{
client_print(id,print_chat,"[VIP SYSTEM]: Гранаты можно брать 1 раз в раунд." );
return PLUGIN_HANDLED;
}
if(granade[id])
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
client_cmd(id, "vip_menu");
granade[id] = 0
}
else
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
client_cmd(id, "vip_menu");
granade[id] = 1
}
set_task(0.1, "vip_menu", id)
}
case 7:
{
if(armor[id])
{
give_item(id, "item_assaultsuit")
client_cmd(id, "vip_menu");
armor[id] = 0
}
else
{
give_item(id, "item_assaultsuit")
client_cmd(id, "vip_menu");
armor[id] = 1
}
set_task(0.1, "vip_menu", id)
}
case 8:
{
if ( new_round <= 3 )
{
client_print(id,print_chat,"[VIP SYSTEM]: Данная связка оружий доступна со 2-го раунда!" );
return PLUGIN_HANDLED;
}
else
{
client_print(id,print_chat,"[VIP SYSTEM]: Данную свзяку оружий можно брать 1 раз в раунд." );
return PLUGIN_HANDLED;
}
if(gun[id])
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_m4a1")
cs_set_user_bpammo( id, CSW_ELITE, 9999 );
client_cmd(id,"vip_menu");
gun[id] = 0
}
else
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_m4a1")
cs_set_user_bpammo( id, CSW_ELITE, 9999 );
client_cmd(id,"vip_menu");
gun[id] = 1
}
set_task(0.1, "vip_menu", id)
}
case 9:
{
if ( new_round <= 3 )
{
client_print(id,print_chat,"[VIP SYSTEM]: Данная связка оружий доступна с 2 раунда!" );
return PLUGIN_HANDLED;
}
else
{
client_print(id,print_chat,"[VIP SYSTEM]: Данную свзяку оружий можно брать 1 раз в раунд." );
return PLUGIN_HANDLED;
}
if(gun[id])
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_ak47")
cs_set_user_bpammo( id, CSW_ELITE, 9999 );
client_cmd(id,"vip_menu");
gun[id] = 0
}
else
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_ak47")
cs_set_user_bpammo( id, CSW_ELITE, 9999 );
client_cmd(id,"vip_menu");
gun[id] = 1
}
set_task(0.1, "vip_menu", id)
}
}
menu_destroy( menu )
return PLUGIN_HANDLED
}
public event_round_start ( )
{
new_round++
}
public death_msg()
{
if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
}