OnUnoccupiedVehicleUpdate ES

From SA-MP Wiki

Jump to: navigation, search



OnUnoccupiedVehicleUpdate ES was added in SA-MP 0.3a ¡Este/a callback fue agregado/a en SA-MP 0.3c R3 y no funcionará en versiones anteriores!


Descripción:

Esta callback es llamada cada vez que un vehículo desocupado actualiza el servidor con su estado, por ejemplo cuando un jugador empuja un vehículo, esto se sincroniza con el servidor (y después con los otros jugadores).


Image:32px-Circle-style-warning.png

Nota
Importante

Esta callback es llamada muy frecuentemente por segundo y por vehiculo, no es recomendable hacer grandes cálculos o hacer escritura/lectura de archivos dentro de ésta.


Image:32px-Circle-style-warning.png

Nota
Importante

Los parámetros (Float:new_x, Float:new_y, Float:new_z) fueron añadidos en SA-MP 0.3z y no son compatibles con versiones anteriores.


Descripción:

Esta callback es llamada cuando un jugador actualiza la posición de un vehículo que no están manejando. Esto puede ocurrir fuera del vehículo o cuando el jugador está como pasajero dentro de un vehículo que no tiene un conductor.


Parámetros:
(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z)
vehicleidLa ID del vehículo que la callback está procesando.
playeridLa ID del jugador que la callback está procesando (la del jugador que está afectado al vehículo)
passenger_seatEl asiento en el que está el jugador moviendo el vehículo. 0 si no está en el vehículo.
new_xLa nueva coordenada X del vehículo. Solo en SA-MP 0.3z y versiones superiores.
new_yLa nueva coordenada Y del vehículo. Solo en SA-MP 0.3z y versiones superiores.
new_zLa nueva coordenada Z del vehículo. Solo en SA-MP 0.3z y versiones superiores.


Retornos/Devoluciones:

Retornar 0 en esta callback causará que el vehículo deje de sincronizar su posición a otros jugadores.


Consejo

Image:Light_bulb_icon.png

Si quieres obtener las coordenadas del vehículo antes de su última actualización usa GetVehiclePos.


Ejemplos:

public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z)
{
    new Float: fVehicle[3];
    GetVehiclePos(vehicleid, fVehicle[0], fVehicle[1], fVehicle[2]);
 
    if(!IsPlayerInRangeOfPoint(playerid, 10, fVehicle[0], fVehicle[1], fVehicle[2]))
    {
        return;
    }
}