13.07.2012, 00:16
pawn Code:
enum E_CARJACK_DATA
{
Float: E_LAST_X, Float: E_LAST_Y, Float: E_LAST_Z,
E_LAST_VEH
}
new
g_carjackData[ MAX_PLAYERS ] [ E_CARJACK_DATA ]
;
stock CheckPlayerRemoteJacking( playerid )
{
new iVehicle = GetPlayerVehicleID( playerid );
if( !IsPlayerInAnyVehicle( playerid ) )
GetPlayerPos( playerid, g_carjackData[ playerid ] [ E_LAST_X ], g_carjackData[ playerid ] [ E_LAST_Y ], g_carjackData[ playerid ] [ E_LAST_Z ] );
if( ( iVehicle != g_carjackData[ playerid ] [ E_LAST_VEH ] ) && ( iVehicle != 0 ) && ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) )
{
new
Float: fDistance = GetVehicleDistanceFromPoint( iVehicle, g_carjackData[ playerid ] [ E_LAST_X ], g_carjackData[ playerid ] [ E_LAST_Y ], g_carjackData[ playerid ] [ E_LAST_Z ] ),
Float: fOffset = 10.0
;
if( ( GetVehicleModel( iVehicle ) == 577 ) || ( GetVehicleModel( iVehicle ) == 592 )) fOffset = 25.0; // Andromanda | AT-400
if( fDistance > fOffset) {
/*
INSERT WHAT YOU WANT TO DO TO A CAR JACKER HERE!
WARNING: THIS IS NOT ACCURATE IMHO!
*/
SendClientMessage( playerid, -1, "Y U TRY TO CAR JACK" );
}
GetPlayerPos( playerid, g_carjackData[ playerid ] [ E_LAST_X ], g_carjackData[ playerid ] [ E_LAST_Y ], g_carjackData[ playerid ] [ E_LAST_Z ] );
g_carjackData[ playerid ] [ E_LAST_VEH ] = iVehicle;
}
}
Installation of my code:
- Add the enum and variable declarations at the top underneath your includes.
- Place the function wherever you want. (stock CheckPlayerRemoteJacking) Just not inside a function...
- Go to OnPlayerUpdate and insert CheckPlayerRemoteJacking( playerid );