24.09.2011, 11:05
as my topic says i use MYSQL and a modified VIP system to add Admin system but it never saves the level and stuff could someone help me please?
Код:
//============ [ Includes ] ============// #include <a_samp> #include <zcmd> #include <sscanf2> #include <file> //======================================// #pragma tabsize 0 #define VIPS_SEND_COMMAND #define RED 0xE60000AA #define YELLOW 0xFFFF00AA #define GREEN 0x00FF00AA #define ABLUE 0x2641FEAA #define COLOR_VIP 0xFF5500AA #define COLOR_ORANGE COLOR_VIP #define MYLVL 12000 #define VIPS 12001 #define VIPCMDS 12002 #define ONCONN 12003 #define VSPA 12004 #define ADMIN_SPEC_TYPE_NONE 0 #define ADMIN_SPEC_TYPE_PLAYER 1 #define ADMIN_SPEC_TYPE_VEHICLE 2 #define Public:%0(%1) \ forward%0(%1); public%0(%1) #define FormatMSG(%0,%1,%2,%3)\ do{\ format( _S_T_R_, sizeof ( _S_T_R_ ), ( %2 ), %3);\ SendClientMessage( ( %0 ),( %1 ), _S_T_R_);\ }\ while ( False ) enum pInfo { Vip, SpecID, SpecType, God, CarGod, Level, Score, Cash, Kills, Deaths, }; new P_DATA[ MAX_PLAYERS ][ pInfo ]; new DB:Database; new Float:Position[ MAX_PLAYERS ][ 4 ]; new _S_T_R_[ 256 ]; new False=false; public OnFilterScriptInit( ) { Database = db_open( "Administration.db" ); db_free_result( db_query( Database, "CREATE TABLE IF NOT EXISTS `Accounts` \ ( `Key` INTEGER PRIMARY KEY AUTOINCREMENT, \ `Name` TEXT, \ `Vip` NUMERIC, \ `Level` NUMERIC, \ `Score` NUMERIC, \ `Money` NUMERIC, \ `Kills` NUMERIC, \ `Deaths` 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 `Key` FROM `Accounts` WHERE `Name` = '%s'", PlayerName2( playerid ) ); Result = db_query( Database, Query ); if ( db_num_rows( Result ) ) { new Field[ 128 ]; db_get_field_assoc( Result, "Vip", Field, 128 ); P_DATA[ playerid ][ Vip ] = strval( Field ); db_get_field_assoc( Result, "Level", Field, 128 ); P_DATA[ playerid ][ Level ] = strval( Field ); db_get_field_assoc( Result, "Score", Field, 128 ); P_DATA[ playerid ][ Score ] = strval( Field ); db_get_field_assoc( Result, "Money", Field, 128 ); P_DATA[ playerid ][ Cash ] = strval( Field ); db_get_field_assoc( Result, "Kills", Field, 128 ); P_DATA[ playerid ][ Kills ] = strval( Field ); db_get_field_assoc( Result, "Deaths", Field, 128 ); P_DATA[ playerid ][ Deaths ] = strval( Field ); ResetPlayerMoney( playerid ); GivePlayerMoney( playerid, P_DATA[ playerid ][ Cash ] ); SetPlayerScore( playerid, P_DATA[ playerid ][ Score ] ); format( string, sizeof( string ), "\t\t{FF5500}Your Stats:\n\n{FF5500}You have V.I.P level {00FF00}%d\n{FF5500}Admin Level: {00FF00}%d\n{FF5500}Kills: {00FF00}%d {FF5500}|| Deaths: {00FF00}%d\n\n{E60000}Congratulations!", P_DATA[ playerid ][ Vip ], P_DATA[ playerid ][ Level ], P_DATA[ playerid ][ Kills ], P_DATA[ playerid ][ Deaths ] ); ShowPlayerDialog( playerid, ONCONN, DIALOG_STYLE_MSGBOX, "Account:", string, "Quit", "" ); } else { SendClientMessage( playerid, YELLOW, "ACCOUNT: {FFFFFF}You don't have an account! Your account have been created automaticlly!" ); format( Query, sizeof( Query ), "INSERT INTO `Accounts` VALUES(NULL, '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d' )", PlayerName2( playerid ), 0, 0, 0, 0, 0, 0, 0 ); db_free_result( db_query( Database, Query ) ); } 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 ) { P_DATA[ killerid ][ Kills ] ++; P_DATA[ playerid ][ Deaths ] ++; 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 str[ 256 ], str2[ 256 ]; if ( text[ 0 ] == '!' && P_DATA[ playerid ][ Vip ] >= 1 ) { format( str, sizeof( str ),"V.I.P Chat: {00FF00}%s{FF5500}: %s", PlayerName2( playerid ), text[ 1 ] ); SendVipMessage( COLOR_ORANGE, str ); return 0; } if ( text[ 0 ] == '#' && P_DATA[ playerid ][ Level ] >= 1 ) { format( str2, sizeof( str2 ), "Admin Chat: {00FF00}%s{FFFFFF}: %s", PlayerName2( playerid ), text[ 1 ] ); SendAdminMessage( COLOR_ORANGE, str2 ); 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; } //======================================================== [ V.I.P Commands ] ====================================================// CMD:vipgoto( playerid , params[ ] ) { new Player; new Float:x, Float:y, Float:z; if ( P_DATA[ playerid ][ Vip ] >= 2 ) { if ( sscanf( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vipgoto [PlayerID]" ); GetPlayerPos( Player , x , y , z ); SetPlayerInterior( playerid , GetPlayerInterior( Player ) ); SetPlayerVirtualWorld( playerid , GetPlayerVirtualWorld( Player ) ); if ( IsPlayerConnected( Player ) && Player != INVALID_PLAYER_ID && Player != playerid ) { if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) { SetVehiclePos( GetPlayerVehicleID( playerid ) , x+3 , y , z ); LinkVehicleToInterior( GetPlayerVehicleID( playerid ), GetPlayerInterior( Player ) ); SetVehicleVirtualWorld( GetPlayerVehicleID( playerid ), GetPlayerVirtualWorld( Player ) ); FormatMSG( playerid, COLOR_VIP, "You have teleported to %s's location!" , PlayerName2( Player ) ); FormatMSG( Player, COLOR_VIP, "V.I.P {00FF00}%s(%d) {FF5500}has teleported to your location!", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ] ); #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 ); FormatMSG( Player, COLOR_VIP, "V.I.P {00FF00}%s(%d) {FF5500}has teleported to your location!", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ] ); FormatMSG( playerid, COLOR_VIP, "You have teleported to %s's location!" , PlayerName2( Player ) ); } } 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 ]; 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, "i", 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, "i", 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[ ] ) { new vw, string[ 128 ]; if ( P_DATA[ playerid ][ Vip ] >= 1 ) { if ( sscanf( params, "i", 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) ; GivePlayerWeapon( playerid, 31, 75 ); GivePlayerWeapon( playerid, 34, 15 ); GivePlayerWeapon( playerid, 26, 100 ); #if defined VIPS_SEND_COMMAND SendVipsCommand( playerid, "/vweapons" ); #endif } 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 `Accounts` SET `VSkin` = '%d' WHERE `Name` = '%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 `Accounts` SET `VSkin` = '-1' WHERE `Name` = '%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); GivePlayerWeapon( playerid, 28, 1000); GivePlayerWeapon( playerid, 26, 100); GivePlayerWeapon( playerid, 22, 500); 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; } 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 ); PutPlayerInVehicle( playerid, carid, 0 ); SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) ); LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); } } 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[ ] ) { 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; } //======================================================= [ Admin Commands ] =====================================================// CMD:setlevel( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >= 5 || IsPlayerAdmin( playerid ) ) { new Player, aLevel, Query[ 256 ]; if ( sscanf( params, "ui", Player, aLevel ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/setlevel [PlayerID] [Level]" ); if ( aLevel > 5 ) return SendClientMessage( playerid, RED, "ERROR: Invalid level! Max admin level you can set is 5!" ); if ( IsPlayerConnected( Player ) ) { if ( P_DATA[ Player ][ Level ] == aLevel ) return SendClientMessage( playerid, RED, "ERROR: Player is have already this level!" ); format( Query, sizeof( Query ), "UPDATE `Accounts` SET `Level` = '%d' WHERE `Name` = '%s'", aLevel, PlayerName2( Player ) ); db_free_result( db_query( Database, Query ) ); FormatMSG( Player, ABLUE, "Administrator %s has set your admin level to %d", PlayerName2( playerid ), aLevel ); FormatMSG( playerid, ABLUE, "You set %s's admin level to %d", PlayerName2( Player ), aLevel ); } else return SendClientMessage( playerid, RED, "ERROR: Player is not connected!" ); } else return SendaLevel( playerid, 5); return 1; } CMD:kick ( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >=1 || IsPlayerAdmin( playerid ) ) { new Player; if ( sscanf( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/Kick [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { FormatMSG( Player, ABLUE, "Admin %s Has Kicked You", PlayerName2 ( playerid ) ); FormatMSG( playerid, ABLUE, "You Have Kicked %s", PlayerName2 ( Player ) ); Kick(Player); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 1); return 1; } CMD:ban ( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >=3 || IsPlayerAdmin( playerid ) ) { new Player; if ( sscanf( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/Ban [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { new year, month, day; getdate( year, month, day ); new hour, minuite, second; gettime( hour, minuite, second ); new File:Bans=fopen( "BanLog.txt", io_write ); FormatMSG( Player, ABLUE, "Admin %s Has Banned You, [Date: %d/%d/%d] [Time: %d,%d]", PlayerName2 ( playerid ), day, month, year, hour, minuite ); FormatMSG( playerid, ABLUE, "You Have Banned %s, [Date: %d/%d/%d] [Time: %d,%d", PlayerName2 ( Player ), day, month, year, hour, minuite ); new str[ 128 ]; format( str, sizeof( str ), "%s has been Banned by Administrator %s | [Date: %d/%d/%d] [Time: %d,%d]", PlayerName2 ( Player ), PlayerName2 ( playerid ), day, month, year, hour, minuite ); SendClientMessageToAll( RED, str ); fwrite( Bans, str ); print( str ); Ban(Player); fclose( Bans ); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 3); return 1; } CMD:goto ( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >=2 || IsPlayerAdmin( playerid ) ) { new Player, Float:X, Float:Y, Float:Z; if ( sscanf ( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/goto [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { GetPlayerPos(Player, X, Y, Z); FormatMSG( playerid, ABLUE, "You Have Teleported To %s", PlayerName2 ( Player ) ); SetPlayerPos(playerid, X, Y, Z); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 2); return 1; } CMD:get ( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >=2 || IsPlayerAdmin( playerid ) ) { new Player, Float:X, Float:Y, Float:Z; if ( sscanf ( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/get [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { GetPlayerPos(playerid, X, Y, Z); FormatMSG( playerid, ABLUE, "You Have Teleported %s to you", PlayerName2 ( Player ) ); SetPlayerPos(Player, X, Y, Z); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 2); return 1; } CMD:akill ( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >=2 || IsPlayerAdmin( playerid ) ) { new Player; if ( sscanf ( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/akill [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { FormatMSG( playerid, ABLUE, "You Have Killed %s", PlayerName2 ( Player ) ); FormatMSG( Player, ABLUE, "You Have been Killed by %s", PlayerName2 ( playerid ) ); SetPlayerHealth(Player, -10); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 2); return 1; } CMD:explode ( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >=2 || IsPlayerAdmin( playerid ) ) { new Player; if ( sscanf ( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/explode [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { new Float:SLX, Float:SLY, Float:SLZ; GetPlayerPos(Player, SLX, SLY, SLZ); CreateExplosion(SLX, SLY, SLZ, 11, 0.25); FormatMSG( playerid, ABLUE, "You Have Exploded %s", PlayerName2 ( Player ) ); FormatMSG( playerid, ABLUE, "You Have Been Exploded By %s", PlayerName2 ( playerid ) ); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 2); return 1; } CMD:rban( playerid, params[ ] ) { if ( P_DATA[ playerid ][ Level ] >= 4 || IsPlayerAdmin( playerid ) ) { new Player, ip[ 128 ], ip1[ 128 ]; if ( sscanf ( params, "u", Player ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/rban [PlayerID]" ); if ( IsPlayerConnected( Player ) ) { new year, month, day; getdate( year, month, day ); new hour, minuite, second; gettime( hour, minuite, second ); new File:Bans=fopen( "BanLog.txt", io_write ); FormatMSG( playerid, ABLUE, "|- You Have Banned %s [Date: %d/%d/%d] [Time: %d,%d] -|", PlayerName2 ( Player ), day, month, year, hour, minuite); FormatMSG( Player, ABLUE, "|- You Have Been Banned By %s [Date: %d/%d/%d] [Time: %d,%d] -|", PlayerName2 ( playerid ), day, month, year, hour, minuite); new str[ 128 ]; format( str, sizeof( str ), "%s has been Range Banned by Administrator %s | [Date: %d/%d/%d] [Time: %d,%d]", PlayerName2 ( Player ), PlayerName2 ( playerid ), day, month, year, hour, minuite ); SendClientMessageToAll( RED, str ); fwrite( Bans, str ); print( str ); GetPlayerIp( Player, ip1, sizeof( ip1 ) ); GetPlayerIp( Player, ip, sizeof( ip1 ) ); strdel( ip, strlen( ip ) - 2, strlen( ip ) ); strcat( ip, "**", 128 ); fwrite( Bans, ip ); format( ip1, 128,"banip %s", ip1 ); SendRconCommand( ip1 ); fclose( Bans ); } else return SendClientMessage( playerid, RED, "ERROR: Player Is Not Online!" ); } else return SendaLevel( playerid, 4); return 1; } CMD:setviplevel( playerid, params[ ] ) { new Query[ 256 ]; if ( P_DATA[ playerid ][ Level ] >=5 || !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" ); new Player, vLevel; if ( sscanf( params, "ud", Player, vLevel ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/setvip [PlayerID] [Level]" ); if ( Player == INVALID_PLAYER_ID ) return SendClientMessage( playerid, RED, "ERROR: Player Is Not Connected!" ); if ( vLevel > 3 ) return SendClientMessage( playerid, RED, "ERROR: Maximum V.I.P level is 3!" ); P_DATA[ Player ][ Vip ] = vLevel; FormatMSG( Player, ABLUE, "Administrator %s has set your V.I.P level to %d!", PlayerName2( playerid ), vLevel ); format( Query, sizeof( Query ), "UPDATE `Accounts` SET `Vip` = '%d' WHERE `Name` = '%s'", Level, PlayerName2( Player ) ); db_free_result( db_query( Database, Query ) ); return 1; } //======================================================= [ Public ] =============================================================// 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: SendaLevel( playerid, aLevel ) { if ( aLevel == 1 ) return SendClientMessage( playerid, RED, "ERROR: You need to be Admin Level 1 or bigest to use this command!" ); if ( aLevel == 2 ) return SendClientMessage( playerid, RED, "ERROR: You need to be Admin Level 2 or bigest to use this command!" ); if ( aLevel == 3 ) return SendClientMessage( playerid, RED, "ERROR: You need to be Admin Level 3 or bigest to use this command!" ); if ( aLevel == 4 ) return SendClientMessage( playerid, RED, "ERROR: You need to be Admin Level 4 or bigest to use this command!" ); if ( aLevel == 5 ) return SendClientMessage( playerid, RED, "ERROR: You need to be Admin Level 5 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: SendAdminMessage( color, const string[ ] ) { for ( new i = 0; i < MAX_PLAYERS; i++ ) { if ( IsPlayerConnected( i ) ) { if ( P_DATA[ i ][ Level ] >= 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; }