#include <amxmodx>
#include <fun>
#define PLUGIN "DrVip"
#define VERSION "1.0"
#define AUTHOR "C0sm1N"
#define ADMIN_VIP ADMIN_KICK
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )
new g_Speed[33], bool:g_Grav[33], bool:g_Speed2[33]
new const Tag[] = "!y[!gVIP!y]"
public plugin_init () {
register_plugin ("PLUGIN", "VERSION", "AUTHOR");
register_clcmd ("say /vipmenu","cmdVip");
register_logevent("roundstart", 2, "1=Round_Start");
register_event("CurWeapon", "event_curweapon", "be", "1=1")
register_message(get_user_msgid("ScoreAttrib"), "Message_ScoreAttrib")
}
public cmdVip ( id )
{
if(get_user_flags(id) & ADMIN_VIP && !is_user_bot(id))
{
if(is_user_alive(id))
{
cmdMenu( id )
}
else
{
Chat_Color(id,"!gPoti folosii acest meniu !teamdoar cand esti in !gviata ! ")
}
}
}
public roundstart( )
{
new iPlayers[ 32 ], iNum;
get_players( iPlayers, iNum, "c" );
for( new i = 0; i < iNum; i++ )
{
g_Speed[ iPlayers[ i ] ] = false
g_Speed2[ iPlayers [ i ] ] = false
set_user_maxspeed(iPlayers,400.0)
g_Grav[ iPlayers[ i ] ] = false;
set_user_gravity(iPlayers,1.0)
}
}
public cmdMenu ( id )
{
static menu;
menu = menu_create ("\ Meniu vip","meniu_vip");
menu_additem ( menu,"\ Viteza[1300]","1", 0 );
menu_additem ( menu,"\ Viteza[250]","2", 0 );
menu_additem ( menu,"\ Gravity","3", 0 );
menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y");
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
return 0;
}
public meniu_vip ( id, menu, item )
{
if ( item == MENU_EXIT )
{
menu_destroy ( menu );
return 1;
}
new data [ 6 ], szName [ 64 ];
new access, callback;
menu_item_getinfo ( menu, item, access, data, charsmax ( data ), szName, charsmax ( szName ), callback );
new key = str_to_num ( data );
switch ( key )
{
case 1:
{
g_Speed[id] = true;
set_user_maxspeed(id, 1300.0)
Chat_Color(id, "%sTi-ai ales !team1300 viteza",Tag)
}
case 2:
{
g_Speed2[id] = true
set_user_maxspeed(id, 250.0)
Chat_Color(id, "%sTi-ai ales !team250 viteza",Tag)
}
case 3:
{
g_Grav[id] = true
set_user_gravity(id, 0.6)
Chat_Color(id, "%sTi-ai ales !team500 gravitatie",Tag)
}
}
menu_destroy ( menu );
return 1;
}
public event_curweapon( id )
{
if(g_Speed[id])
{
set_user_maxspeed(id, 1300.0)
}
if(g_Speed2[id])
{
set_user_maxspeed(id, 250.0)
}
if(g_Grav[id])
{
set_user_gravity(id, 0.6)
}
}
public Message_ScoreAttrib( iMsgID, iDest, iReceiver )
{
new iPlayer = get_msg_arg_int( 1 )
if(get_user_flags( iPlayer) & ADMIN_VIP && is_user_connected( iPlayer ) )
set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD )
}
stock Chat_Color(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")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
public client_putinserver( id )
{
g_Speed[id] = false
g_Speed2[id] = false
}
public client_disconnect( id ) {
g_Speed[id] = false
g_Speed2[id] = false
}