Код:
#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]
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 vipmenu_new(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new new_menu = menu_create( "\wVIP Меню", "menu_admin" )
menu_additem( new_menu,"Сменить карту", "1")
menu_additem( new_menu,"Провести голосование \y(За смену карты)", "2")
menu_additem( new_menu,"Набор оружия [AWP DEAGLE]", "3")
menu_additem( new_menu,"Набор оружия [m4a1 deagle]", "4")
menu_additem( new_menu,"Набор оружия [ak47 deagle]^n", "5")
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: client_cmd(id, "amx_mapmenu")
case 2: client_cmd(id, "amx_votemapmenu")
case 3:
{
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 4:
{
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 5:
{
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)
}
ничего не правил, кроме пунктов. как-то так:)