VIP Problem
#1

Hello,i got SFCnR server i got a problem with my server its the vip system it doesnt save.... when players relog when they are vip it dissappears how can i fix it?
Reply
#2

I dont have a SFCnr Server. Im no good even with VIP Scripts. Don't worry, someone will come help soon!
Reply
#3

pawn Код:
enum pInfo
{
    pVIP
}
new PlayerInfo[MAX_PLAYERS][pInfo];
do you have it ?
Reply
#4

no i don't have.
Reply
#5

Quote:
Originally Posted by RTR12
Посмотреть сообщение
I dont have a SFCnr Server. Im no good even with VIP Scripts. Don't worry, someone will come help soon!
Useless


Vendicatori- show as your vip script we cant help you like that !!!
Reply
#6

do u have enum on your script ?
if not add it
pawn Код:
enum pInfo
{
    pVIP
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Reply
#7

Quote:
Originally Posted by Devilxz97
Посмотреть сообщение
pawn Код:
enum pInfo
{
    pVIP
}
new PlayerInfo[MAX_PLAYERS][pInfo];
do you have it ?
Quote:
Originally Posted by Vendicatori
Посмотреть сообщение
no i don't have.
Quote:
Originally Posted by Devilxz97
Посмотреть сообщение
do u have enum on your script ?
if not add it
pawn Код:
enum pInfo
{
    pVIP
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Stop dumping wait him post his script,we will not guess everything
Reply
#8

Thats the filterscript i use.

Код:
#if defined VIP
												xxSPEEDYxx's V.I.P System - NEW*
														   3 Levels
										  					 v2.0
COMMANDS - [v1.0]:

V.I.P Level 1 Commands:                             V.I.P Level 2 Commands:                             V.I.P Level 3 Commands:
	/mytime                                         	/vsaveskin                                          /vkick
 	/myweather                                          /dontuseskin                                        /vget
 	/myvw                                               /vweapons                                           /rw
	/mycolor                                            /vipgoto                                            /maxammo
	/vspec                                              /vasay                                              + V.I.P level 1&2 CMDS
	/vspecoff                                           + V.I.P level 1 CMDS
	/spawnme
	/vcmds

COMMANDS - [v2.0]:

V.I.P Level 1 Commands:                             V.I.P Level 2 Commands:                             V.I.P Level 3 Commands:
	/ltc[1 - 13]                                        /vipgod                                         	/vannounce
	/viphouse
	/godcar
	/vcar
	/vspa( V.I.P Special Actions! )
	/stophold!

V.I.P over 35 command! OMG!

#endif
												//============ [ Includes ] ============//
														#include <	a_samp  > // Main include!
														#include <  zcmd    > // Find it on: https://sampforum.blast.hk/showthread.php?tid=91354&highlight=zcmd
														#include <  sscanf2 > // Find it on: https://sampforum.blast.hk/showthread.ph...9.96699037												//======================================//

#pragma tabsize 0
#define VIPS_SEND_COMMAND //Put this: // In front of this define to do not use //VIPS_SEND_COMAND

//============ [ Colours ] ============//
#define RED 		0xE60000AA
#define YELLOW 		0xFFFF00AA
#define GREEN   	0x00FF00AA
#define ABLUE   	0x2641FEAA
#define COLOR_VIP   0xFF5500AA //aka Orange:P
//====================================//
//========== [ Dialogs ] ==========//
/*
I put the dialogids bigest to not confuse with other dialogs in your FSs/GM
*/
#define MYLVL 		12000
#define VIPS        12001
#define VIPCMDS     12002
#define ONCONN      12003
#define VSPA        12004
//====================================//
//============= [ SPEC ] =============//
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2
/*
Do not touch this!
*/
//=========== [ Shortcuts ] ==========//
#define Public:%0(%1) \
	forward%0(%1); public%0(%1)
//====================================//
//========== [ News&Enums ] ==========//
enum pInfo
{
    Vip,
    SpecID,
	SpecType,
	God,
	CarGod
};

new P_DATA[ MAX_PLAYERS ][ pInfo ];
new	DB:Database;
new Float:Position[ MAX_PLAYERS ][ 4 ];
//====================================//
//======================================================== [ CallBacks ] ========================================================//
public OnFilterScriptInit( )
{
    Database = db_open( "Vips.db" ); //Name of the database! You can change it!
    db_query( Database, "CREATE TABLE IF NOT EXISTS `Vips` \
										( `Nume` TEXT,\
										  `VipLevel` NUMERIC,\
										  `VSkin` NUMERIC )" );
    return 1;
}

public OnFilterScriptExit( )
{
	db_close( Database );
	return 1;
}

public OnPlayerConnect( playerid )
{
	new Query[ 256 ], string[ 128 ], DBResult:Result;
	format( Query, sizeof( Query ), "SELECT * FROM `Vips` WHERE `Nume` = '%s'", PlayerName2( playerid ) );
	Result = db_query( Database, Query );

	if ( db_num_rows( Result ) )
	{
	    new Field[ 30 ];
	    db_get_field_assoc( Result, "VipLevel", Field, 30 );
     	P_DATA[ playerid ][ Vip ] = strval( Field );
     	format( string, sizeof( string ), "\t{FF5500}Your V.I.P Level:\n\n{FF5500}You have V.I.P level {00FF00}%d\n\n{E60000}Congratulations!", P_DATA[ playerid ][ Vip ] );
     	ShowPlayerDialog( playerid, ONCONN, DIALOG_STYLE_MSGBOX, "{00FF00}V.I.P", string, "Quit", "" );
 	}
 	else
 	{
     	ShowPlayerDialog( playerid, ONCONN+1, DIALOG_STYLE_MSGBOX, "{00FF00}V.I.P", "{E60000}This username have V.I.P level 0", "Quit", "" );
	}
	db_free_result( Result );
	return 1;
}


public OnPlayerDisconnect( playerid, reason )
{
	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
	    if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
	    {
   		   	AdvanceSpectate( i );
		}
	}
	return 1;
}

public OnPlayerDeath( playerid, killerid, reason )
{
	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
	    if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
	    {
	       AdvanceSpectate( i );
		}
	}
	return 1;
}

public OnPlayerInteriorChange( playerid, newinteriorid, oldinteriorid )
{
	new i = 0;
	while( i != MAX_PLAYERS )
	{
	    if ( IsPlayerConnected( i ) && GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid && P_DATA[ i ][ SpecType ] == ADMIN_SPEC_TYPE_PLAYER )
   		{
   		    SetPlayerInterior( i, newinteriorid );
		}
		i++;
	}
}

public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
{
	if ( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
	{
		if ( newkeys == KEY_JUMP ) AdvanceSpectate( playerid );
		else if ( newkeys == KEY_SPRINT ) ReverseSpectate( playerid );
	}
	return 1;
}

public OnPlayerEnterVehicle( playerid, vehicleid )
{
	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
	    if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
		{
	        TogglePlayerSpectating( i, 1 );
	        PlayerSpectateVehicle( i, vehicleid );
	        P_DATA[ i ][ SpecType ] = ADMIN_SPEC_TYPE_VEHICLE;
		}
	}
	return 1;
}

public OnPlayerStateChange( playerid, newstate, oldstate )
{
	switch( newstate )
	{
		case PLAYER_STATE_ONFOOT:
		{
			switch( oldstate )
			{
				case PLAYER_STATE_DRIVER: OnPlayerExitVehicle( playerid, 255 );
				case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle( playerid, 255 );
			}
		}
	}
	return 1;
}

public OnPlayerText( playerid, text[ ] )
{
	new textstr[ 128 ];

	if ( text[ 0 ] == '!' && P_DATA[ playerid ][ Vip ] >= 1 )
	{
		GetPlayerName( playerid, textstr, sizeof( textstr ) );
		format( textstr, sizeof( textstr ),"V.I.P Chat: {00FF00}%s{FF5500}: %s", textstr, text[ 1 ] );
		SendVipMessage( COLOR_VIP, textstr );
		return 0;
	}
	return 1;
}

public OnPlayerExitVehicle( playerid, vehicleid )
{
	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
    	if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid && P_DATA[ i ][ SpecType ] == ADMIN_SPEC_TYPE_VEHICLE)
		{
        	TogglePlayerSpectating( i, 1 );
	        PlayerSpectatePlayer( i, playerid );
    	    P_DATA[ i ][ SpecType ] = ADMIN_SPEC_TYPE_PLAYER;
		}
	}
	return 1;
}

public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
{
	if ( dialogid == VSPA )
	{
	    if ( response )
	    {
	        if ( listitem == 0 )
	        {
         		for ( new i = 0; i < 5; i++ )
         		{
					if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
					{
						RemovePlayerAttachedObject( playerid, i );
					}
				}
				SetPlayerAttachedObject( playerid, 1, 19086, 8, -0.049768, -0.014062, -0.108385, 87.458297, 263.478149, 184.123764, 0.622413, 1.041609, 1.012785 );
				SendClientMessage( playerid, COLOR_VIP, "You have holded a {00FF00}dick!" );
				SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
			}
			if ( listitem == 1 )
			{
			   	for ( new i = 0; i < 5; i++ )
         		{
					if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
					{
						RemovePlayerAttachedObject( playerid, i );
					}
				}
                SetPlayerAttachedObject( playerid, 0, 1114, 1, 0.138007, 0.002714, -0.157366, 350.942352, 16.794704, 32.683506, 0.791829, 0.471535, 1.032759 );
				SetPlayerAttachedObject( playerid, 1, 1114, 1, 0.138007, 0.002714, 0.064523, 342.729064, 354.099456, 32.369094, 0.791829, 0.471535, 1.032759 );
                SendClientMessage( playerid, COLOR_VIP, "You have holded a {00FF00}iron!" );
				SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
			}
			if ( listitem == 2 )
			{
			    for ( new i = 0; i < 5; i++ )
         		{
					if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
					{
						RemovePlayerAttachedObject( playerid, i );
					}
				}
                SetPlayerAttachedObject( playerid, 0, 18645, 2, 0.017478, 0.051500, 0.003912, 285.055511, 90.860740, 171.179550, 1.780549, 0.912008, 1.208514 );
				SetPlayerAttachedObject( playerid, 1, 18690, 2, -2.979508, 0.306475, -0.388553, 285.055511, 90.860740, 171.179550, 1.780549, 0.912008, 1.208514 );
				SetPlayerAttachedObject( playerid, 2, 18716, 2, -2.979508, 0.306475, -0.388553, 285.055511, 90.860740, 171.179550, 1.780549, 0.912008, 1.208514 );
                SendClientMessage( playerid, COLOR_VIP, "You have holded as {00FF00}Alien!" );
				SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
			}
			if ( listitem == 3 )
			{
			   	for ( new i = 0; i < 5; i++ )
         		{
					if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
					{
						RemovePlayerAttachedObject( playerid, i );
					}
				}
           		SetPlayerAttachedObject( playerid, 0, 18693, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
				SetPlayerAttachedObject( playerid, 1, 18693, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
				SetPlayerAttachedObject( playerid, 2, 18703, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
				SetPlayerAttachedObject( playerid, 3, 18703, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
				SetPlayerAttachedObject( playerid, 4, 18965, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 1.200000, 1.283168, 1.200000 );
				SendClientMessage( playerid, COLOR_VIP, "You have holded as {00FF00}Icread!" );
				SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
			}
			if ( listitem == 4 )
			{
			    SetPlayerSpecialAction( playerid, 2 ); //Jetpack!
				SendClientMessage( playerid, COLOR_VIP,"Jetpack Spawmed!" );
			}
		}
	}
	return 1;
}
//================================================================================================================================//
//======================================================== [ Commands v1.0 ] =====================================================//
CMD:setvip( playerid, params[ ] )
{
	new giveplayerid, level;
	new string[ 128 ], Query[ 256 ], DBResult:Resultat;

	if ( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, RED, "Only RCON Administrator can use this command!" );
	if ( sscanf( params, "ud", giveplayerid, level ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/setvip [playerid] [level]" );
	if ( giveplayerid == INVALID_PLAYER_ID ) return SendClientMessage( playerid, RED, "Player Is Not Connected!" );
 	if ( level > 3 ) return SendClientMessage( playerid, RED, "Maximum V.I.P level is 3!" );

 	if ( level == 0 )
 	{
		P_DATA[ giveplayerid ][ Vip ] = level;
		format( Query, sizeof( Query ), "DELETE FROM `Vips` WHERE `Nume` = '%s'" , PlayerName2( giveplayerid ) );
	 	db_query( Database, Query );
		format( string, sizeof( string ), "Administrator %s has deleted you V.I.P account!", PlayerName2( playerid ) );
		return SendClientMessage( giveplayerid, ABLUE, string );
	}

 	format( Query, sizeof( Query ), "SELECT * FROM `Vips` WHERE `Nume` = '%s'", PlayerName2( playerid ) );
	Resultat = db_query( Database, Query );

	if ( !db_num_rows( Resultat ) )
	{
	 	P_DATA[ giveplayerid ][ Vip ] = level;
	 	format( string, sizeof( string ), "Administrator %s has set your V.I.P level to %d!", PlayerName2( playerid ), level );
	 	SendClientMessage( giveplayerid, ABLUE, string );
	 	format( Query, sizeof( Query ), "INSERT INTO `Vips` VALUES('%s','%d','%d')", PlayerName2( giveplayerid ), level, -1 );
	 	db_query( Database, Query );
    } else {
        P_DATA[ giveplayerid ][ Vip ] = level;
        format( string, sizeof( string ), "Administrator %s has set update your V.I.P level to %d!", PlayerName2( playerid ), level );
	 	SendClientMessage( giveplayerid, ABLUE, string );
		format( Query, sizeof( Query ), "UPDATE `Vips` SET `VipLevel` = '%d' WHERE `Nume` = '%s'", level, PlayerName2( giveplayerid ) );
     	db_query( Database, Query );
	}
	db_free_result( Resultat );
	return 1;
}

CMD:vipgoto( playerid , params[ ] )
{
	new PID, string[ 128 ];
	new Float:x, Float:y, Float:z;

	if ( P_DATA[ playerid ][ Vip ] >= 2 )
	{
		if ( sscanf( params, "u", PID ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vipgoto [playerid]" );

		GetPlayerPos( PID , x , y , z );
		SetPlayerInterior( playerid , GetPlayerInterior( PID ) );
		SetPlayerVirtualWorld( playerid , GetPlayerVirtualWorld( PID ) );
	    if ( IsPlayerConnected( PID ) && PID != INVALID_PLAYER_ID && PID != playerid )
	    {
			if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
			{
				SetVehiclePos( GetPlayerVehicleID( playerid ) , x+3 , y , z );
				LinkVehicleToInterior( GetPlayerVehicleID( playerid ), GetPlayerInterior( PID ) );
				SetVehicleVirtualWorld( GetPlayerVehicleID( playerid ), GetPlayerVirtualWorld( PID ) );
				format( string , sizeof( string ), "You have teleported to %s's location!" , PlayerName2( PID ) );
				SendClientMessage( playerid ,COLOR_VIP ,string );
				format( string, sizeof( string ), "V.I.P {00FF00}%s(%d) {FF5500}has teleported to your location!", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ] );
				SendClientMessage( PID, COLOR_VIP, string );
				#if defined VIPS_SEND_COMMAND
				SendVipsCommand( playerid, "/vipgoto" );
				#endif
			} else {
				#if defined VIPS_SEND_COMMAND
				SendVipsCommand( playerid, "/vipgoto" );
				#endif
				SetPlayerPos( playerid , x+2 , y , z );
				format( string, sizeof( string ), "V.I.P {00FF00}%s(%d) {FF5500}has teleported to your location!", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ] );
				SendClientMessage( PID, COLOR_VIP, string );
				format( string , sizeof( string ), "You have teleported to %s's location!" , PlayerName2( PID ) );
				SendClientMessage( playerid ,COLOR_VIP ,string ); }
		} else {
		    SendClientMessage( playerid, RED, "Player not connected or is yourself!" ); }
	} else {
    	return SendLevel( playerid, 2 ); }
	return 1;
}

CMD:spawnme( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		SpawnPlayer( playerid );
		SendClientMessage( playerid, COLOR_VIP, "You have been respawmed!" );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/spawnme" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vips( playerid, params[ ] )
{
	new V, vstr[ 2048 ]; // I put big string to apeear all V.I.Ps

	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
		if ( IsPlayerConnected( i ) && P_DATA[ i ][ Vip ] > 0 )
		{
			format( vstr, 2048, "{FF5500}%s\n{FF5500}V.I.P {00FF00}%s {FF5500}- Level {00FF00}%d", vstr, ReturnPlayerName( i ), P_DATA[ i ][ Vip ] );
			V++;
		}
	}
	if ( V == 0 )
	{
		format ( vstr, sizeof( vstr ), "\n{E60000}No V.I.Ps online at the moment!" );
	}
	return ShowPlayerDialog( playerid, VIPS, DIALOG_STYLE_MSGBOX, "{00FF00}Online V.I.Ps:", vstr, "Quit", "" );
}

CMD:myweather( playerid, params[ ] )
{
	new weather, string[ 128 ];

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( sscanf( params, "d", weather ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/myweather [weatherid]" );
		if ( ( weather < 0 ) || ( weather > 52 ) ) return SendClientMessage( playerid, RED, "Only between 0 and 52 weather ids!" );

		SetPlayerWeather( playerid, weather );
		format( string, sizeof( string ), "You have set your weather to {E60000}%d", weather );
		SendClientMessage( playerid, COLOR_VIP, string );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/myweather" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:mytime( playerid, params[ ] )
{
	new time, string[ 128 ];

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( sscanf( params, "d", time ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/mytime [time]" );
		if ( ( time < 0 ) || ( time > 24 ) ) return SendClientMessage( playerid, RED, "Only between 0 and 24 hours you can set your time!" );

	    SetPlayerTime( playerid, time, 0 );
		format( string, sizeof( string ), "You have set your time to {E60000}%d", time );
		SendClientMessage( playerid, COLOR_VIP, string );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/mytime" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:myvw( playerid, params[ ] )
/*
With this function you will be ablle to change your virtual world!
Disponible Virtual Worlds are between 0 and 100 you can change to bigest or lowest on this line:
                        if ( ( vw < 0 ) || ( vw > 100 ) )
*/
{
    new vw, string[ 128 ];

    if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
	    if ( sscanf( params, "d", vw ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/myvw [virtualworld]" );
		if ( ( vw < 0 ) || ( vw > 100 ) ) return SendClientMessage( playerid, RED, "Only between 0 and 100 Virtual Worlds ar disponible!" );

		if ( vw == 0 )
		{
		    SetPlayerVirtualWorld( playerid, 0 );
		    return SendClientMessage( playerid, YELLOW, "You have returned back in normal world( 0 )!" );
		}
		SetPlayerVirtualWorld( playerid, vw );
		format( string, sizeof( string ), "You have set your Virtual World to {E60000}%d", vw );
		SendClientMessage( playerid, COLOR_VIP, string );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/myvw" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vasay( playerid, params[ ] )
{
	new VipMessage[ 180 ];

	if ( P_DATA[ playerid ][ Vip ] >= 2 )
	{
		if ( sscanf( params, "s[ 120 ]", VipMessage ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vasay [text]" );

		format( VipMessage, sizeof( VipMessage ), "V.I.P - %s {FFFF00}(lvl: %d): {00FF00}%s", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ], VipMessage );
		SendClientMessageToAll( COLOR_VIP, VipMessage );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/vasay" );
		#endif
	} else {
		return SendLevel( playerid, 2 ); }
	return 1;
}

CMD:maxammo( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] == 3 )
	{
		SendPlayerMaxAmmo( playerid );
		SendClientMessage( playerid, COLOR_VIP, "You have added {00FF00}Max Ammo{FF5500} to your weapons!" );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/MaxAmmo" );
		#endif
	} else {
	    return SendLevel( playerid, 3 ); }
    return 1;
}

CMD:vweapons( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] >= 2 )
	{

		GivePlayerWeapon( playerid ,28, 120) ; //Weapons: Micro SMG || Ammo: 120
		GivePlayerWeapon( playerid, 31, 75 ); //Weapons: M4 || Gloante: 75
		GivePlayerWeapon( playerid, 34, 15 ); //Weapons: Sniper Rifle || Ammo: 15
		GivePlayerWeapon( playerid, 26, 100 ); //Weapons: Sawn-off Shotgun || Ammo: 100
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/vweapons" );
		#endif
		//Else you can change and the weapons.You don't know the weapon ids? Check: https://sampwiki.blast.hk/wiki/Weaponsnl...9.96699037	} else {
	    return SendLevel( playerid, 2 ); }
	return 1;
}

CMD:vspec( playerid, params[ ] )
{
    new PID, string[ 128 ];

    if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
    	if ( sscanf( params, "u", PID ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vspec [playerid]" );

	    if ( IsPlayerConnected( PID ) && PID != INVALID_PLAYER_ID && PID != playerid )
	    {
			if ( GetPlayerState( PID ) == PLAYER_STATE_SPECTATING && P_DATA[ PID ][ SpecID ] != INVALID_PLAYER_ID )
			{
				if ( GetPlayerState( PID ) != 1 && GetPlayerState( PID ) != 2 && GetPlayerState( PID ) != 3)
				{
					SpectatePlayer( playerid, PID );
					GetPlayerPos( playerid, Position[ playerid ][ 0 ], Position[ playerid ][ 1 ], Position[ playerid ][ 2 ] );
					GetPlayerFacingAngle( playerid, Position[ playerid ][ 3 ] );
					format( string, sizeof( string ), "Now you spectating %s (%d)", PlayerName2( PID ), PID );
					SendClientMessage( playerid, COLOR_VIP, string );
					#if defined VIPS_SEND_COMMAND
					SendVipsCommand( playerid, "/vspec" );
					#endif
				} else {
					SendClientMessage( playerid, RED, "ERROR: Player not spawned!" ); }
			} else {
			    SendClientMessage( playerid, RED, "ERROR: Player spectating someone else!" ); }
		} else {
	 		SendClientMessage( playerid, RED, "ERROR: Player is not connected or is yourself!" ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vspecoff( playerid, params[ ] )
{
    if ( P_DATA[ playerid ][ Vip ] >= 1 )
    {
	    if ( P_DATA[ playerid ][ SpecType ] != ADMIN_SPEC_TYPE_NONE )
		{
			StopSpectate( playerid );
			SetTimerEx("ReturnPosition", 3000, 0, "d", playerid );
			SendClientMessage( playerid, COLOR_VIP, "You have stop spectating" );
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/vspecoff" );
			#endif
		} else {
			SendClientMessage( playerid, RED, "ERROR: You are not spectating" ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vsaveskin( playerid, params[ ] )
{
    new SkinID, string[ 128 ], Query[ 256 ];

 	if ( P_DATA[ playerid ][ Vip ] >= 2 )
	{
		SkinID = GetPlayerSkin( playerid );
		format( Query, sizeof( Query ), "UPDATE `Vips` SET `VSkin` = '%d' WHERE `Nume` = '%s' ", SkinID, PlayerName2( playerid ) );
		db_free_result( db_query( Database, Query ) );
		format( string, sizeof( string ), "You have successfully saved this skin (ID: %d)", SkinID );
		SendClientMessage( playerid, COLOR_VIP, string );
		SendClientMessage( playerid, COLOR_VIP, "Type /dontuseskin for don't save again this skin!" );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/vsaveskin" );
		#endif
	} else {
 		return SendLevel( playerid, 2 ); }
	return 1;
}

CMD:dontuseskin( playerid, params[ ] )
{
	new Query[ 256 ];

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
	    format( Query, sizeof( Query ), "UPDATE `Vips` SET `VSkin` = '-1' WHERE `Nume` = '%s' ", PlayerName2( playerid ) );
	    db_free_result( db_query( Database, Query ) );
	    #if defined VIPS_SEND_COMMAND
	    SendVipsCommand( playerid, "/dontuseskin" );
	    #endif
	    SendClientMessage( playerid, COLOR_VIP, "Your saved skin is never been used!" );
	} else {
	    return SendLevel( playerid, 2 ); }
	return 1;
}

CMD:mycolor( playerid, params[ ] )
{
	new Colour, colour[ 24 ];

    if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( sscanf( params, "d", Colour ) ) return Send2Clients( playerid, "/mycolor [color]", "0 = Black | 1 = White | 2 = Red | 3 = Orange | 4 = Yellow | 5 = Green | 6 = Blue | 7 = Purple | 8 = Brown" );
		if ( Colour > 8 ) return SendClientMessage( playerid, RED, "Colours: 0 = Black | 1 = White | 2 = Red | 3 = Orange | 4 = Yellow | 5 = Green | 6 = Blue | 7 = Purple | 8 = Brown" );

		switch ( Colour ) {
	 	case 0: { SetPlayerColor( playerid, 0x000000AA ); colour = "Black"; }
	  	case 1: { SetPlayerColor( playerid, 0xFFFFFFAA ); colour = "White"; }
	   	case 2: { SetPlayerColor( playerid, 0xE60000AA ); colour = "Red"; }
	   	case 3: { SetPlayerColor( playerid, 0xFF5500AA ); colour = "Orange"; }
		case 4: { SetPlayerColor( playerid, 0xFFFF00AA ); colour = "Yellow"; }
		case 5: { SetPlayerColor( playerid, 0x00FF00AA ); colour = "Green"; }
		case 6: { SetPlayerColor( playerid, 0x0000BBAA ); colour = "Blue"; }
		case 7: { SetPlayerColor( playerid, 0x800080AA ); colour = "Purple"; }
		case 8: { SetPlayerColor( playerid, 0xA52A2AAA ); colour = "Brown"; } }
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/mycolor" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
    return 1;
}

CMD:vcmds( playerid, params[ ] )
{
	new string[ 1024 ];

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		strcat( string, "{FF5500}V.I.P Level {00FF00}1 {FF5500}Commands:\t{FF5500}V.I.P Level {00FF00}2 {FF5500}Commands:\t{FF5500}V.I.P Level {00FF00}3 {FF5500}Commands:\n\n" );
		strcat( string, "{FFFF00}/mytime\t\t\t/vsaveskin\t\t\t/vkick\n" );
		strcat( string, "/myweather\t\t\t/dontuseskin\t\t\t/vget\n" );
		strcat( string, "/myvw\t\t\t\t/vweapons\t\t\t/rw\n" );
		strcat( string, "/mycolor\t\t\t/vipgoto\t\t\t/maxammo\n" );
		strcat( string, "/vspec\t\t\t\t/vasay\t\t\t\t\n" );
		strcat( string, "/vspecoff\n/spawnme\n/vcmds\n" );
		strcat( string, "{E60000}/ltc[1-13]\t\t\t/vipgod\t\t\t/vannounce\n" );
		strcat( string, "{E60000}/godcar\n/vcar\n/vspa\n/stophold\n/viphouse\n" );
		strcat( string, "\t\t\t\t{FFFF00}+V.I.P level 1 CMDS\t\t+ V.I.P level 1&2 CMDS\n\n\n" );
		strcat( string, "{FF5500}Use simbol {00FF00}! {FF5500}in front of your text to speak in V.I.P Chat\n" );
		ShowPlayerDialog( playerid, VIPCMDS, DIALOG_STYLE_MSGBOX, "V.I.P Commands:", string, "Quit", "" );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/vcmds" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vget( playerid, params[ ] )
{
	new PID, string[ 256 ];
	new Float:x, Float:y, Float:z;

    if ( P_DATA[ playerid ][ Vip ] == 3 )
	{
	    if ( sscanf( params, "u", PID ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vget [playerid]" );

	 	if ( IsPlayerConnected( PID ) && PID != INVALID_PLAYER_ID && PID != playerid )
		{
			GetPlayerPos( playerid, x, y, z );
		 	SetPlayerInterior( PID, GetPlayerInterior( playerid ) );
			SetPlayerVirtualWorld( PID, GetPlayerVirtualWorld( playerid ) );
			if ( GetPlayerState( PID ) == 2 )
			{
			    new VehicleID = GetPlayerVehicleID( PID );
				SetVehiclePos( VehicleID, x+3, y, z);
				LinkVehicleToInterior( VehicleID, GetPlayerInterior( PID ) );
				SetVehicleVirtualWorld( GetPlayerVehicleID( PID ), GetPlayerVirtualWorld( PID ) );
				format( string, sizeof( string ),"You have been teleported to V.I.P {00FF00}%s's {FF5500}location", PlayerName2( playerid ) );
				SendClientMessage( PID, COLOR_VIP, string );
				format( string, sizeof( string ),"You have teleported {00FF00}%s {FF5500}to your location", PlayerName2( PID ) );
				SendClientMessage( playerid, COLOR_VIP, string );
				#if defined VIPS_SEND_COMMAND
				SendVipsCommand( playerid, "/vget" );
				#endif
			} else {
				SetPlayerPos( PID, x+2, y, z );
				#if defined VIPS_SEND_COMMAND
				SendVipsCommand( playerid, "/vget" );
				#endif
				format( string, sizeof( string ),"You have been teleported to V.I.P {00FF00}%s's {FF5500}location", PlayerName2( playerid ) );
				SendClientMessage( PID, COLOR_VIP, string );
				format( string, sizeof( string ),"You have teleported {00FF00}%s {FF5500}to your location", PlayerName2( PID ) );
			 	SendClientMessage( playerid, COLOR_VIP, string ); }
		} else {
			SendClientMessage( playerid, RED, "Player is not connected or is yourself!" ); }
	} else {
	    return SendLevel( playerid, 3 ); }
	return 1;
}

CMD:vkick( playerid, params[ ] )
{
    new string[ 128 ];

    if ( P_DATA[ playerid ][ Vip ] == 3 )
    {
        if ( sscanf( params, "us[ 128 ]", params[ 0 ], params[ 1 ] ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vkick [playerid] [reason]" );

        if ( IsPlayerConnected( params[ 0 ] ) && params[ 0 ] != INVALID_PLAYER_ID && params[ 0 ] != playerid )
        {
            if ( !strlen( params[ 1 ] ) )
            {
				format( string, sizeof( string ), "%s {FF5500}has been kicked by V.I.P {00FF00}%s {FF5500}[no reason given]!",PlayerName2( params[ 0 ] ), PlayerName2( playerid ) );
                SendClientMessageToAll( GREEN, string );
                Kick( params[ 0 ] );

                #if defined VIPS_SEND_COMMAND
                SendVipsCommand( playerid, "/vkick" );
                #endif
        	} else {

            	#if defined VIPS_SEND_COMMAND
                SendVipsCommand( playerid, "/vkick" );
                #endif

                format( string, sizeof( string ), "%s {FF5500}has been kicked by V.I.P {00FF00}%s {FF5500}[reason: {00FF00%s{FF5500}] ", PlayerName2( params[ 0 ] ), PlayerName2( playerid ), params[ 1 ] );
                SendClientMessageToAll( GREEN, string );
                Kick( params[ 0 ] ); }
        } else {
                SendClientMessage( playerid, RED, "Player is not connected or is yourself!" ); }
	} else {
    return SendLevel( playerid, 3 ); }
	return 1;
}

CMD:rw( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] == 3 )
	{
		GivePlayerWeapon( playerid, 4, 1); //Knife
		GivePlayerWeapon( playerid, 28, 1000); // Micro - SMG
		GivePlayerWeapon( playerid, 26, 100); // Sawn-off Shotgun
		GivePlayerWeapon( playerid, 22, 500); // 9mm Pistol
		//Source: https://sampwiki.blast.hk/wiki/Weapons !
		SendClientMessage( playerid, COLOR_VIP, "You got an Runing Weapons package!" );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/vkick" );
		#endif
	} else {
	    return SendLevel( playerid, 3 ); }
	return 1;
}
//================================================================================================================================//
//===================================================== [ Comenzi v2.0 ] =========================================================//
CMD:vipgod( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] >= 2 )
	{
	    if ( P_DATA[ playerid ][ God ] == 1 )
	    {
			P_DATA[ playerid ][ God ] = 1;
			SendClientMessage( playerid, COLOR_VIP, "You have activated the V.I.P {00FF00}God Mode!" );
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/vipgod" );
			#endif
		} else {
		    #if defined VIPS_SEND_COMMAND
		    SendVipsCommand( playerid, "/vipgod" );
		    #endif
		    P_DATA[ playerid ][ God ] = 0; }
	} else {
	    return SendLevel( playerid, 2 ); }
	return 1;
}

CMD:godcar( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
	    if ( P_DATA[ playerid ][ CarGod ] == 1 )
	    {
			P_DATA[ playerid ][ CarGod ] = 1;
			SendClientMessage( playerid, COLOR_VIP, "You have activated the Vehicle {00FF00}God Mode!" );
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/GodCar" );
			#endif
		} else {
		    #if defined VIPS_SEND_COMMAND
		    SendVipsCommand( playerid, "/GodCar" );
		    #endif
		    P_DATA[ playerid ][ CarGod ] = 0; }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc1( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, VehiclulRt;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle" );
		} else  {
		    #if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc1" );
			#endif
			GetPlayerPos( playerid, x, y, z);
			GetPlayerFacingAngle( playerid, Angle );
	    	VehiclulRt = CreateVehicle( 560, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, VehiclulRt, 0);
	  		AddVehicleComponent( VehiclulRt, 1028 );	AddVehicleComponent( VehiclulRt, 1030 );	AddVehicleComponent( VehiclulRt, 1031 );	AddVehicleComponent( VehiclulRt, 1138 );	AddVehicleComponent(VehiclulRt, 1140);  AddVehicleComponent(VehiclulRt, 1170);
	    	AddVehicleComponent( VehiclulRt, 1028 );	AddVehicleComponent( VehiclulRt, 1030 );	AddVehicleComponent( VehiclulRt, 1031 );	AddVehicleComponent( VehiclulRt, 1138 );	AddVehicleComponent(VehiclulRt, 1140);  AddVehicleComponent(VehiclulRt, 1170);
	    	AddVehicleComponent( VehiclulRt, 1080 );	AddVehicleComponent( VehiclulRt, 1086 ); 	AddVehicleComponent( VehiclulRt, 1087 ); 	AddVehicleComponent( VehiclulRt, 1010 );
			PlayerPlaySound( playerid, 1133, 0.0, 0.0, 0.0 );
			ChangeVehiclePaintjob( VehiclulRt, 0 );
	   		SetVehicleVirtualWorld( VehiclulRt, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( VehiclulRt, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc2( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, VehiclulRt;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
	 		#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc2" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        VehiclulRt = CreateVehicle( 560, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, VehiclulRt, 0 );
	  		AddVehicleComponent( VehiclulRt, 1028 );	AddVehicleComponent( VehiclulRt, 1030 );	AddVehicleComponent( VehiclulRt, 1031 );	AddVehicleComponent( VehiclulRt, 1138 );	AddVehicleComponent( VehiclulRt, 1140 );  AddVehicleComponent( VehiclulRt, 1170 );
		    AddVehicleComponent( VehiclulRt, 1028 );	AddVehicleComponent( VehiclulRt, 1030 );	AddVehicleComponent( VehiclulRt, 1031 );	AddVehicleComponent( VehiclulRt, 1138 );	AddVehicleComponent( VehiclulRt, 1140 );  AddVehicleComponent( VehiclulRt, 1170 );
		    AddVehicleComponent( VehiclulRt, 1080 );	AddVehicleComponent( VehiclulRt, 1086 ); 	AddVehicleComponent( VehiclulRt, 1087 ); 	AddVehicleComponent( VehiclulRt, 1010 );
			PlayerPlaySound( playerid, 1133, 0.0, 0.0, 0.0 );
			ChangeVehiclePaintjob( VehiclulRt, 1 );
		   	SetVehicleVirtualWorld( VehiclulRt, GetPlayerVirtualWorld( playerid ) );
		    LinkVehicleToInterior( VehiclulRt, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc3( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, VehiclulRt;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
	 		#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc3" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
		    VehiclulRt = CreateVehicle( 560, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, VehiclulRt, 0 );
	  		AddVehicleComponent( VehiclulRt, 1028 );    AddVehicleComponent( VehiclulRt, 1138 );    AddVehicleComponent( VehiclulRt, 1170 );
	  		AddVehicleComponent( VehiclulRt, 1030 );	AddVehicleComponent( VehiclulRt, 1031 );	AddVehicleComponent( VehiclulRt, 1140 );
		    AddVehicleComponent( VehiclulRt, 1080 );	AddVehicleComponent( VehiclulRt, 1086 ); 	AddVehicleComponent( VehiclulRt, 1087 ); AddVehicleComponent( VehiclulRt, 1010 );
			PlayerPlaySound( playerid, 1133, 0.0, 0.0, 0.0 );
			ChangeVehiclePaintjob( VehiclulRt, 2 );
		   	SetVehicleVirtualWorld( VehiclulRt, GetPlayerVirtualWorld( playerid ) );
		    LinkVehicleToInterior( VehiclulRt, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc4( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
	 		#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc4" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 559, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
	    	AddVehicleComponent( carid, 1065 );    	AddVehicleComponent( carid, 1067 );     AddVehicleComponent( carid, 1073 );
			AddVehicleComponent( carid, 1162 );		AddVehicleComponent( carid, 1010 ); 	ChangeVehiclePaintjob( carid, 1 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc5( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
	 		#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc5" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
		    carid = CreateVehicle( 565, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
		    AddVehicleComponent( carid, 1046 ); 	AddVehicleComponent( carid, 1049 );     AddVehicleComponent( carid, 1073 );
			AddVehicleComponent( carid, 1053 ); 	AddVehicleComponent( carid, 1010 );  	ChangeVehiclePaintjob( carid, 1 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	 	return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc6( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc6" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
		    carid = CreateVehicle( 558, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
			AddVehicleComponent( carid, 1088 ); 	AddVehicleComponent( carid, 1092 );     AddVehicleComponent( carid, 1073 );
		 	AddVehicleComponent( carid, 1139 ); 	AddVehicleComponent( carid, 1010 );  	ChangeVehiclePaintjob( carid, 1 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
		  	LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	 } else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc7( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc7" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
		    carid = CreateVehicle( 561, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
			AddVehicleComponent( carid, 1055 ); 	AddVehicleComponent( carid, 1058 ); 	AddVehicleComponent( carid, 1073 );
			AddVehicleComponent( carid, 1064 ); 	AddVehicleComponent( carid, 1010 );  	ChangeVehiclePaintjob( carid, 1 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
		 	LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc8( playerid, params[ ] )
{
 	new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc8" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 562, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
		    AddVehicleComponent( carid, 1034 ); 	AddVehicleComponent( carid, 1038 );     AddVehicleComponent( carid, 1073 );
			AddVehicleComponent( carid, 1147 ); 	AddVehicleComponent( carid, 1010 );  	ChangeVehiclePaintjob( carid, 1 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc9( playerid, params[ ] )
{
	new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc9" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
		    carid = CreateVehicle( 567, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
		    AddVehicleComponent( carid, 1102 ); 	AddVehicleComponent( carid, 1129 );     AddVehicleComponent( carid, 1188 );     AddVehicleComponent( carid, 1087 );     AddVehicleComponent( carid, 1086 );
			AddVehicleComponent( carid, 1133 ); 	AddVehicleComponent( carid, 1186 );  	AddVehicleComponent( carid, 1010 ); 	AddVehicleComponent( carid, 1085 );   	ChangeVehiclePaintjob( carid, 1 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
		 	LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc10( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc10" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 558, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
	   		AddVehicleComponent( carid, 1092 ); 	AddVehicleComponent( carid, 1166 ); 	AddVehicleComponent( carid, 1165 ); 	AddVehicleComponent( carid, 1090 );
		    AddVehicleComponent( carid, 1094 ); 	AddVehicleComponent( carid, 1010 ); 	AddVehicleComponent( carid, 1087 ); 	AddVehicleComponent( carid, 1163 );
		    AddVehicleComponent( carid, 1091 ); 	ChangeVehiclePaintjob( carid, 2 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc11( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc11" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 557, x, y, z, Angle, 1, 1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
			AddVehicleComponent( carid, 1010 ); 	AddVehicleComponent( carid, 1081 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc12( playerid, params[ ] )
{
	new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc12" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 535, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
			ChangeVehiclePaintjob( carid, 1 ); 		AddVehicleComponent( carid, 1109 ); 	AddVehicleComponent( carid, 1115 ); 	AddVehicleComponent( carid, 1117 ); 	AddVehicleComponent( carid, 1073 ); 	AddVehicleComponent( carid, 1010 );
		    AddVehicleComponent( carid, 1087 ); 	AddVehicleComponent( carid, 1114 ); 	AddVehicleComponent( carid, 1081 ); 	AddVehicleComponent( carid, 1119 ); 	AddVehicleComponent( carid, 1121 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:ltc13( playerid, params[ ] )
{
	new Float:x, Float:y, Float:z, Float:Angle, carid;

	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/ltc13" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 562, x, y, z, Angle, 1, -1, -1 );
			PutPlayerInVehicle( playerid, carid, 0 );
	  		AddVehicleComponent( carid, 1034 ); 	AddVehicleComponent( carid, 1038 ); 	AddVehicleComponent( carid, 1147 );
			AddVehicleComponent( carid, 1010 ); 	AddVehicleComponent( carid, 1073 ); 	ChangeVehiclePaintjob( carid, 0 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	  		LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
	} else {
	 	return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vcar( playerid, params[ ] )
{
    new Float:x, Float:y, Float:z, Float:Angle, carid;

    if ( P_DATA[ playerid ][ Vip ] >= 1 )
    {
	    if ( IsPlayerInAnyVehicle( playerid ) )
		{
			SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
		} else  {
			#if defined VIPS_SEND_COMMAND
			SendVipsCommand( playerid, "/vcar" );
			#endif
			GetPlayerPos( playerid, x, y, z );
			GetPlayerFacingAngle( playerid, Angle );
	        carid = CreateVehicle( 402, x, y, z, Angle, 0, 0, 0 ); // Car: Buffalo
			PutPlayerInVehicle( playerid, carid, 0 );
		   	SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
	        LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
		//Source: https://sampwiki.blast.hk/wiki/Vehicles:...9.96699037	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:vannounce( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] == 3 )
	{
	    if ( sscanf( params, "s[128]", params[ 0 ] ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vannounce [playerid]" );

	    GameTextForAll( params[ 0 ], 6000, 1 );
	    #if defined VIPS_SEND_COMMAND
	    SendVipsCommand( playerid, "/vannounce" );
	    #endif
	} else {
	   	return SendLevel( playerid, 3 ); }
	return 1;
}

CMD:vspa( playerid, params[ ] )// V.I.Ps Special Actions( Holds + Jetpack! )
{
	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		ShowPlayerDialog( playerid, VSPA, DIALOG_STYLE_LIST, "V.I.P Special Actions!", "Hold: Dick!\nHold: Iron!\nHold: Alien!\nHold: Incred!\nSpawn: JetPack!", "Select", "Cancel" );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/vspa" );
		#endif
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:stophold( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
		if( !IsPlayerAttachedObjectSlotUsed( playerid, 0  ) &&
		    !IsPlayerAttachedObjectSlotUsed( playerid, 1  ) &&
		    !IsPlayerAttachedObjectSlotUsed( playerid, 2  ) &&
		    !IsPlayerAttachedObjectSlotUsed( playerid, 3  ) &&
		    !IsPlayerAttachedObjectSlotUsed( playerid, 4  ) )
		return SendClientMessage( playerid, RED, "You are not holding any object" );

		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/stophold" );
		#endif

		for ( new i = 0; i < 5; i ++ )
		{
			if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
			{
				RemovePlayerAttachedObject( playerid, i );
				SendClientMessage( i, RED, "You have stopped holding object!" );
			}
		}
	} else {
	    return SendLevel( playerid, 1 ); }
	return 1;
}

CMD:viphouse( playerid, params[ ] )
{
	if ( P_DATA[ playerid ][ Vip ] >= 1 )
	{
	    SetPlayerPos( playerid, -2637.69,1404.24,906.46 );
		SetPlayerInterior( playerid, 3 );
		RemovePlayerFromVehicle( playerid );
		#if defined VIPS_SEND_COMMAND
		SendVipsCommand( playerid, "/VipHouse" );
		#endif
		SendClientMessage( playerid, COLOR_VIP, "You have teleported to V.I.P House( Club )!" );
	} else {
		return SendLevel( playerid, 1 ); }
	return 1;
}
//================================================================================================================================//
//====================================================== [ public's ] ============================================================//
Public: SendLevel( playerid, level )
{
	if ( level == 1 ) return SendClientMessage( playerid, RED, "ERROR: You need to be V.I.P Level 1 or bigest to use this command!" );
	if ( level == 2 ) return SendClientMessage( playerid, RED, "ERROR: You need to be V.I.P Level 2 or bigest to use this command!" );
	if ( level == 3 ) return SendClientMessage( playerid, RED, "ERROR: You need to be V.I.P Level 3 to use this command!" );
	return 1;
}

Public: SendVipMessage( color, const string[ ] )
{
	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
		if ( IsPlayerConnected( i ) )
		{
			if ( P_DATA[ i ][ Vip ] >= 1 )
			{
			 	SendClientMessage( i, color, string );
			}
		}
	}
	return 1;
}

Public: ReturnPosition( playerid )
{
	SetPlayerPos( playerid, Position[ playerid ][ 0 ], Position[ playerid ][ 1 ], Position[ playerid ][ 2 ] );
	SetPlayerFacingAngle( playerid, Position[ playerid ][ 3 ] );
}

Public: GodUpdate( )
{
	for ( new i = 0; i < MAX_PLAYERS; i++ )
	{
		if ( IsPlayerConnected( i ) && P_DATA[ i ][ God ] == 1 )
		{
			SetPlayerHealth( i, 100000 );
		}
		if ( IsPlayerConnected( i ) && P_DATA[ i ][ CarGod ] == 1 && IsPlayerInAnyVehicle( i ) )
		{
			SetVehicleHealth( GetPlayerVehicleID( i ), 10000 );
		}
	}
}
//======================================================== [ Stocks ] ============================================================//
stock PlayerName2( i ){
	new n[ 24 ];
	GetPlayerName( i, n, 24 );
	return n;
}
stock ReturnPlayerName( id )
{
    new tehname[ MAX_PLAYER_NAME ];
    GetPlayerName( id, tehname, sizeof( tehname ) );
    return tehname;
}
stock SpectatePlayer( playerid, PID )
{
    new string[ 100 ], Float:health, Float:armour;

	for(new i = 0; i < MAX_PLAYERS; i++ )
	{
	    if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
		{
	       AdvanceSpectate( i );
		}
	}
		SetPlayerInterior( playerid, GetPlayerInterior( PID ) );
		TogglePlayerSpectating( playerid, 1 );
	if ( IsPlayerInAnyVehicle( PID ) )
	{
		PlayerSpectateVehicle( playerid, GetPlayerVehicleID( PID ) );
		P_DATA[ playerid ][ SpecID ] = PID;
		P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_VEHICLE;
	} else {
		PlayerSpectatePlayer( playerid, PID );
		P_DATA[ playerid ][ SpecID ] = PID;
		P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_PLAYER;
	}
	GetPlayerName( PID, string, sizeof( string ) );
	GetPlayerHealth( PID, health );
	GetPlayerArmour( PID, armour );
	format( string, sizeof( string ),"~n~~n~~n~~n~~n~~n~~n~n~~w~%s - id:%d~n~< sprint - jump >~n~~r~Health:%0.1f ~b~Armour:%0.1f~n~~g~$%d~n~~g~%d", string, PID, health, armour, GetPlayerMoney( PID ), GetPlayerScore( PID ) );
	GameTextForPlayer( playerid, string, 25000, 3 );
	return 1;
}
stock StopSpectate( playerid )
{
	TogglePlayerSpectating( playerid, 0 );
	P_DATA[ playerid ][ SpecID ] = INVALID_PLAYER_ID;
	P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_NONE;
	GameTextForPlayer( playerid,"~n~~n~~n~~w~Spectate mode ended", 1000, 3 );
	return 1;
}
stock AdvanceSpectate( playerid )
{
    if ( ConnectedPlayers( ) == 2 )
	{
		StopSpectate( playerid );
		return 1;
	}
	if ( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
	{
	    for ( new i = P_DATA[ playerid ][ SpecID] +1; i <= MAX_PLAYERS; i++ )
		{
	    	if ( i == MAX_PLAYERS ) i = 0;
	        if ( IsPlayerConnected( i ) && i != playerid )
			{
				if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] != INVALID_PLAYER_ID || ( GetPlayerState( i ) != 1 && GetPlayerState( i ) != 2 && GetPlayerState( i ) != 3 ) )
				{
					continue;
				} else {
					SpectatePlayer( playerid, i );
					break;
				}
			}
		}
	}
	return 1;
}
stock ConnectedPlayers( )
{
	new Connected;
	for ( new i = 0; i < MAX_PLAYERS; i++ ) if ( IsPlayerConnected( i ) ) Connected++;
	return Connected;
}
stock Send2Clients( playerid, Client1[ ], Client2[ ] )
{
	new Str[ 256 ];
	format( Str, sizeof( Str ), "Usage: {FFFF00} %s", Client1 );
	SendClientMessage( playerid, RED, Str );
	format( Str, sizeof( Str ), "Colours: {00FF00} %s", Client2 );
	SendClientMessage( playerid, RED, Str );
	return 1;
}
#if defined VIPS_SEND_COMMAND
stock SendVipsCommand( playerid, cmdtext[ ] )
{
	new str[ 128 ];

	format( str, sizeof( str ),"[V.I.P] {00FF00}%s(%d) {FF5500}has used command {00FF00}%s", PlayerName2( playerid ), playerid, cmdtext );
	return SendVipMessage( COLOR_VIP, str );
}
#endif
stock ReverseSpectate( playerid )
{
    if ( ConnectedPlayers( ) == 2 )
	{
		StopSpectate( playerid );
	 	return 1;
 	}
	if ( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
	{
	    for ( new i = P_DATA[ playerid ][ SpecID ]-1; i >= 0; i-- )
		{
	    	if ( i == 0 ) i = MAX_PLAYERS;
	        if ( IsPlayerConnected( i ) && i != playerid )
			{
				if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] != INVALID_PLAYER_ID || ( GetPlayerState( i ) != 1 && GetPlayerState( i ) != 2 && GetPlayerState( i ) != 3 ) )
				{
					continue;
				} else {
					SpectatePlayer( playerid, i );
					break;
				}
			}
		}
	}
	return 1;
}
stock SendPlayerMaxAmmo( playerid )
{
	new slot, weap, ammo;

	for ( slot = 0; slot < 14; slot++ )
	{
    	GetPlayerWeaponData( playerid, slot, weap, ammo );
		if ( IsValidWeapon( weap ) )
		{
		   	GivePlayerWeapon( playerid, weap, 99999 );
		}
	}
	return 1;
}
stock IsValidWeapon( weaponid )
{
    if ( weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47 ) return 1;
    return 0;
}
//============================================================ [ EOF ] ===========================================================//
Reply
#9

Quote:
Originally Posted by doreto
Посмотреть сообщение
Stop dumping wait him post his script,we will not guess everything
HE JUST SAID HE DOESNT HAVE!!
Can't you read?
Reply
#10

Quote:
Originally Posted by Majed
Посмотреть сообщение
HE JUST SAID HE DOESNT HAVE!!
Can't you read?


Read my post again if you dont understand read again, i say to wait him to show hes code what you wont from as to ask him for every single way... "do you have this .. or this .... what about this ... " !!!!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)