Цитата(Rosh @ 22.12.2014, 15:21)

Помогите убрать ограничение на использование за 1 раунд
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#pragma tabsize 0
#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "NoNe"
#define ADMIN_VIP ADMIN_RESERVATION
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )
new bool:has_used[33]
public plugin_init()
{
register_clcmd( "vipmenu", "VIPMenu" );
register_clcmd( "say /vipmenu", "VIPMenu" );
register_clcmd( "say_team /vipmenu", "VIPMenu" );
register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
register_logevent("event_new_round", 2, "1=Round_Start")
}
public VIPMenu( id )
{
if(!has_used[id])
{
if(get_user_flags(id) & ADMIN_VIP)
{
new vip_menu = menu_create( "\wVip меню:", "menu_handler" );
menu_additem( vip_menu, "\wНизкая гравитация", "1", 0);
menu_additem( vip_menu, "\wСвечение", "2", 0);
menu_additem( vip_menu, "\wСкорость", "3", 0);
menu_additem( vip_menu, "\w200 HP и 200 Брони", "4", 0);
menu_additem( vip_menu, "\wБесшумные шаги", "5", 0);
menu_setprop(vip_menu, MPROP_EXITNAME, "\yВыход")
menu_display( id, vip_menu, 0 );
}
else
{
client_print(id, print_chat, "[ВИП] Для начала купите [ВИП]")
}
}
}
public menu_handler( 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( is_user_alive( id ) )
{
set_user_gravity( id, 0.5 );
}
}
case 2:
{
if(is_user_alive(id))
{
set_user_rendering(id, kRenderFxGlowShell, random_num(100, 255), random_num(100, 255), random_num(100, 255), kRenderNormal, 25);
}
}
case 3:
{
set_user_maxspeed(id, 370.0);
{
}
}
case 4:
{
if( is_user_alive( id ) )
{
set_user_health( id, 200 );
set_user_armor(id, 200);
}
}
case 5:
{
if( is_user_alive( id ) )
{
set_user_footsteps(id, 0);
}
}
}
has_used[id] = true;
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public event_new_round()
arrayset(has_used, false, 33)
public handle_say(id) {
new said[192]
read_args(said,192)
return PLUGIN_CONTINUE
}
public MessageScoreAttrib( iMsgID, iDest, iReceiver ) {
new iPlayer = get_msg_arg_int( 1 );
if( is_user_connected( iPlayer )
&& ( get_user_flags( iPlayer ) & ADMIN_VIP ) ) {
set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );
}
}
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#pragma tabsize 0
#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "NoNe"
#define ADMIN_VIP ADMIN_RESERVATION
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )
new bool:has_used[33]
public plugin_init()
{
register_clcmd( "vipmenu", "VIPMenu" );
register_clcmd( "say /vipmenu", "VIPMenu" );
register_clcmd( "say_team /vipmenu", "VIPMenu" );
register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
}
public VIPMenu( id )
{
if(!has_used[id])
{
if(get_user_flags(id) & ADMIN_VIP)
{
new vip_menu = menu_create( "\wVip меню:", "menu_handler" );
menu_additem( vip_menu, "\wНизкая гравитация", "1", 0);
menu_additem( vip_menu, "\wСвечение", "2", 0);
menu_additem( vip_menu, "\wСкорость", "3", 0);
menu_additem( vip_menu, "\w200 HP и 200 Брони", "4", 0);
menu_additem( vip_menu, "\wБесшумные шаги", "5", 0);
menu_setprop(vip_menu, MPROP_EXITNAME, "\yВыход")
menu_display( id, vip_menu, 0 );
}
else
{
client_print(id, print_chat, "[ВИП] Для начала купите [ВИП]")
}
}
}
public menu_handler( 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( is_user_alive( id ) )
{
set_user_gravity( id, 0.5 );
}
}
case 2:
{
if(is_user_alive(id))
{
set_user_rendering(id, kRenderFxGlowShell, random_num(100, 255), random_num(100, 255), random_num(100, 255), kRenderNormal, 25);
}
}
case 3:
{
set_user_maxspeed(id, 370.0);
{
}
}
case 4:
{
if( is_user_alive( id ) )
{
set_user_health( id, 200 );
set_user_armor(id, 200);
}
}
case 5:
{
if( is_user_alive( id ) )
{
set_user_footsteps(id, 0);
}
}
}
has_used[id] = true;
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public handle_say(id) {
new said[192]
read_args(said,192)
return PLUGIN_CONTINUE
}
public MessageScoreAttrib( iMsgID, iDest, iReceiver ) {
new iPlayer = get_msg_arg_int( 1 );
if( is_user_connected( iPlayer )
&& ( get_user_flags( iPlayer ) & ADMIN_VIP ) ) {
set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );
}
}
Советую вот так :
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#pragma tabsize 0
#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "NoNe"
#define ADMIN_VIP ADMIN_RESERVATION
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )
public plugin_init()
{
register_clcmd( "vipmenu", "VIPMenu" );
register_clcmd( "say /vipmenu", "VIPMenu" );
register_clcmd( "say_team /vipmenu", "VIPMenu" );
register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
}
public VIPMenu( id )
{
if ( get_user_flags ( id ) & ADMIN_VIP )
client_print(id, print_chat, "[ВИП] Для начала купите [ВИП]")
return PLUGIN_HANDLED
new vip_menu = menu_create( "\wVip меню:", "menu_handler" )'
menu_additem( vip_menu, "\wНизкая гравитация", "1", 0);
menu_additem( vip_menu, "\wСвечение", "2", 0);
menu_additem( vip_menu, "\wСкорость", "3", 0);
menu_additem( vip_menu, "\w200 HP и 200 Брони", "4", 0);
menu_additem( vip_menu, "\wБесшумные шаги", "5", 0);
menu_setprop(vip_menu, MPROP_EXITNAME, "\yВыход")
menu_display( id, vip_menu, 0 );
}
public menu_handler( 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( is_user_alive( id ) )
{
set_user_gravity( id, 0.5 );
}
}
case 2:
{
if(is_user_alive(id))
{
set_user_rendering(id, kRenderFxGlowShell, random_num(100, 255), random_num(100, 255), random_num(100, 255), kRenderNormal, 25);
}
}
case 3:
{
set_user_maxspeed(id, 370.0);
}
case 4:
{
if( is_user_alive( id ) )
{
set_user_health( id, 200 );
set_user_armor(id, 200);
}
}
case 5:
{
if( is_user_alive( id ) )
{
set_user_footsteps(id, 0);
}
}
}
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public handle_say(id) {
new said[192]
read_args(said,192)
return PLUGIN_CONTINUE
}
public MessageScoreAttrib( iMsgID, iDest, iReceiver ) {
new iPlayer = get_msg_arg_int( 1 );
if( is_user_connected( iPlayer )
&& ( get_user_flags( iPlayer ) & ADMIN_VIP ) ) {
set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );
}
}
мб, что забыл дополнить или тд сам разберешься
Отредактировал: OverGame, - 22.12.2014, 15:32