Code:
new bool: AlreadyUsed[ 33 ];
new g_iSayText;
public plugin_init( )
{
register_clcmd( "say /vipmenu" , "CmdVIP" );
register_event( "HLTV" , "NewRound" , "a" , "1=0" , "2=0" );
g_iSayText = get_user_msgid( "SayText" );
}
public NewRound( )
{
arrayset( AlreadyUsed , false , sizeof( AlreadyUsed ) );
}
public CmdVIP( iPlayer )
{
if( get_user_flags( iPlayer ) & ADMIN_LEVEL_H )
{
if( !AlreadyUsed[ iPlayer ] )
{
new Menu = menu_create( "VIP Menu" , "VIPMenu" );
menu_additem( Menu , "GoDMoDe" , "1" );
menu_additem( Menu , "NoClip" , "2" );
menu_additem( Menu , "HeaLth" , "3" );
menu_additem( Menu , "MoNeY" , "4" );
menu_additem( Menu , "XP" , "5" );
menu_additem( Menu , "ReSPaWn" , "6" );
menu_display( iPlayer , Menu , 0 );
AlreadyUsed[ iPlayer ] = true;
}
else
{
TE_SayText( iPlayer , "^x03 Ai folosit deja meniul de VIP runda asta" );
}
}
else
{
TE_SayText( iPlayer , "^x03 Nu ai acces la aceasta comanda" );
}
}
public VIPMenu( iPlayer , Menu , Item )
{
if( Item == MENU_EXIT )
{
menu_destroy( Menu );
return PLUGIN_HANDLED;
}
switch( Item )
{
case 0 : GoDMoDe( iPlayer );
case 1 : NoClip( iPlayer );
case 2 : HeaLth( iPlayer );
case 3 : MoNeY( iPlayer );
case 4 : XP( iPlayer );
case 5 : ReSPaWn( iPlayer );
}
return PLUGIN_HANDLED;
}
public GoDMoDe( iPlayer )
{
set_user_godmode( iPlayer , 1 );
TE_SayText( iPlayer , "^x03 Ai folosit comanda de^x04 VIP GoDMoDe^x03 . Pentru 5 secunde esti invincibil" );
set_task( 2.0 , "GoDMoDeOff" , iPlayer );
}
public GoDMoDeOff( iPlayer )
set_user_godmode( iPlayer , 0 );
public NoClip( iPlayer )
{
set_user_noclip( iPlayer , 1 );
TE_SayText( iPlayer , "^x03 Ai folosit comanda de^x04 VIP NoClip^x03 . Pentru 5 secunde poti trece prin pereti" );
set_task( 5.0 , "NoClipOff" , iPlayer );
}
public NoClipOff( iPlayer )
set_user_noclip( iPlayer , 0 );
public HeaLth( iPlayer )
{
set_user_health( iPlayer , get_user_health( iPlayer ) + 50 );
cs_set_user_armor( iPlayer , get_user_armor( iPlayer ) + 100 , CS_ARMOR_VESTHELM );
set_user_footsteps( iPlayer , 1 );
TE_SayText( iPlayer , "^x03 Ai folosit comanda de^x04 VIP HeaLth^x03 . Ai primit +50 HP" );
}
public MoNeY( iPlayer )
{
cs_set_user_money( iPlayer , 16000 );
TE_SayText( iPlayer , "^x03 Ai folosit comanda de^x04 VIP MoNeY^x03 . Ai primit 16.000 $" );
}
public XP( iPlayer )
{
new Nume[ 32];
get_user_name( iPlayer , Nume , 31 );
server_cmd( "amx_givexp %s 2500" , Nume );
}
public ReSPaWn( iPlayer )
{
new iSansa = random( 100 );
if( iSansa <= 20 && !is_user_alive( iPlayer ) )
{
ExecuteHamB( Ham_CS_RoundRespawn , iPlayer );
TE_SayText( iPlayer , "^x03 Ai folosit comanda de^x04 VIP ReSPaWn . Ai primit ReSPaWn" );
}
else
{
TE_SayText( iPlayer , "^x03 Astazi nu ai noroc . Nu ai primit ReSPaWn" );
}
}
TE_SayText( iReceiver , szMessage[ ] , any: ... )
{
static szBuffer[ 192 ];
vformat( szBuffer , 191 , szMessage , 3 );
if( iReceiver )
message_begin( MSG_ONE_UNRELIABLE , g_iSayText , _ , iReceiver ) , write_byte( iReceiver ) , write_string( szBuffer ) , message_end( );
else
{
static iPlayers[ 32 ] , iNum , i;
get_players( iPlayers , iNum , "ch" );
for( i = 0; i < iNum; i++ )
message_begin( MSG_ONE_UNRELIABLE , g_iSayText , _ , iPlayers[ i ] ) , write_byte( iPlayers[ i ] ) , write_string( szBuffer ) , message_end( );
}
}