30.11.2013, 02:08
Vou deixar um exemplo, talvez esteja feito errado porque eu criei aqui mesmo pelo fуrum e hoje nгo to legal.
Em seu comando/funзгo, em que cria o veiculo, coloque isto.
Coloque isto na callback/comando responsбvel pela criaзгo do veiculo.
Cуdigo em PAWN:
Em seguida adicionar o resto do cуdigo em seu gm/fs.
Cуdigo em PAWN:
Caso estiver errado, avisar o problema ou corrigir.
Em seu comando/funзгo, em que cria o veiculo, coloque isto.
Coloque isto na callback/comando responsбvel pela criaзгo do veiculo.
Cуdigo em PAWN:
PHP Code:
vehicleX[playerid] = COLOQUE_AQUI_A_VARIAVEL_ID_DO_CREATE_VEHICLE
Cуdigo em PAWN:
PHP Code:
#define T_LOCALIZAR_PLAYER (0)
new P_TIMER[50][ MAX_PLAYERS];
forward GetPlayerLocate( playerid, vehiclelocate );
YCMD:locatev( playerid, params[], help )
{
for( new v = 0, p = 0; v < MAX_VEHICLES & p < MAX_PLAYERS; v++, p++ )
{
if( (v == INVALID_VEHICLE_ID ) | (p == INVALID_PLAYER_ID))
continue;
if( vehicleX[ v ] == GetPlayerVehicleID( p ) )
return GetPLocate( p, v );
}
return true;
}
public GetPLocate( playerlocate, vehiclelocate ) {
P_TIMER[ T_LOCALIZAR_PLAYER ][ playerid ] = SetTimerEx( "GetPlayerLocate", true, 800, "ii", playerlocate, vehiclelocate );
return 0;
}
public GetPlayerLocate( playerid, vehid )
{
new Float: fDistance, pPos[3], vPos[3];
GetVehiclePos( vehid, vPos[0], vPos[1], vPos[2] );
fDistance = GetVehicleDistanceFromPoint( vehid, vPos[0], vPos[1], vPos[2] ),
if( fDistance <= 10.0 )
return KillTimer( P_TIMER[ T_LOCALIZAR_PLAYER ][ playerid ] ),
DisablePlayerCheckpoint( playerid );
SetPlayerCheckpoint( playerid, vPos[0], vPos[1], vPos[2] , 5.0 );
return 0;
}
public OnPlayerDisconnect(playerid)
{
KillTimer( P_TIMER[ T_LOCALIZAR_PLAYER ][ playerid ] );
return 1;
}