01.08.2012, 10:26
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?
enum pInfo
{
pVIP
}
new PlayerInfo[MAX_PLAYERS][pInfo];
enum pInfo
{
pVIP
}
new PlayerInfo[MAX_PLAYERS][pInfo];
pawn Код:
|
#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 ] ===========================================================//