SAMP/OnUnoccupiedVehicleUpdate
Материал из Pawno Info Wikipedia
OnUnoccupiedVehicleUpdate
Добавлено |
Обратный вызов работает только начиная с версии SA-MP 0.3c R3 и не будет работать в предыдущих версиях! |
Добавлено |
Набор параметров координат позиций (new_x, new_y, new_z) работает только начиная с версии SA-MP 0.3z RC5 и не будет работать в предыдущих версиях! |
Добавлено |
Набор параметров ускорений по осям (vel_x, vel_y, vel_z) работает только начиная с версии SA-MP 0.3z R4 и не будет работать в предыдущих версиях! |
Описание:
Срабатывает, когда клиент игрока обновляет/синхронизирует состояние автомобиля, которым он не управляет. Это может произойти за пределами транспортного средства или когда игрок является пассажиром транспортного средства без водителя.
Параметры:
(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
vehicleid | ID транспортного средства, состояние которого обновлено. |
playerid | ID игрока, который способствовал изменению состояния. |
passenger_seat | ID посадочного места игрока, который вызвал изменение состояния. |
new_x | Координата X новой позиции транспортного средства. |
new_y | Координата Y новой позиции транспортного средства. |
new_z | Координата Z новой позиции транспортного средства. |
vel_x | Ускорение по оси X нового ускорения транспортного средства. |
vel_y | Ускорение по оси Y нового ускорения транспортного средств. |
vel_z | Ускорение по оси Z нового ускорения транспортного средств. |
Возвращаемые значения:
1: позволяет вызывать обратный вызов в других скриптах.
0: отключает обработку обратного вызова в других скриптах.
0: отключает обработку обратного вызова в других скриптах.
Важное |
Этот обратный вызов вызывается очень часто (как OnPlayerUpdate). Воздержитесь от выполнения интенсивных вычислений или, тем более, интенсивных операций записи/чтения файлов в нём. GetVehiclePos вернет старые координаты автомобиля до этого обновления. |
Пример использования:
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
{
// Если транспорт сдвинули
if(GetVehicleDistanceFromPoint(vehicleid, new_x, new_y, new_z) > 50.0)
{
// Блокируем изменение позиции
return 0;
}
return 1;
}