警告
回调是在SA-MP 0.3c R3中添加的,在早期版本中不起作用!

描述

当玩家的客户端更新/同步他们未驾驶的车辆的位置时,会调用此回调。这种情况可能发生在车外,或者当玩家是没有司机的车辆的乘客时。
姓名 描述
vehicleid 该位置车辆的 ID 已更新。
playerid 发送车辆位置同步更新的玩家的 ID。
passenger_seat 如果玩家是乘客,则为座位 ID。0=不在车辆内,1=前排乘客,2=左后3=右后4+用于有许多乘客座位的长途汽车/公共汽车等。
new_x 车辆的新 X 坐标。该参数是0.3z中添加的。如果使用早期版本,请忽略它。
new_y 车辆的新 Y 坐标。该参数是0.3z中添加的。如果使用早期版本,请忽略它。
new_z 车辆的新 Z 坐标。该参数是0.3z中添加的。如果使用早期版本,请忽略它。
vel_x 车辆的新 X 速度。该参数是在0.3z R4中添加的。如果使用早期版本,请忽略它。
vel_y 车辆的新 Y 速度。该参数是在0.3z R4中添加的。如果使用早期版本,请忽略它。
vel_z 车辆的新 Z 速度。该参数是在0.3z R4中添加的。如果使用早期版本,请忽略它。

返回

它总是在过滤器脚本中首先被调用,因此返回 0 也会阻止其他脚本看到它。

例子

  1. public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
  2. {
  3. // Check if it moved far
  4. if (GetVehicleDistanceFromPoint(vehicleid, new_x, new_y, new_z) > 50.0)
  5. {
  6. // Reject the update
  7. return 0;
  8. }
  9. return 1;
  10. }

笔记

警告
每个空闲车辆每秒都会非常频繁地调用此回调。您应该避免在此回调中执行密集的计算或密集的文件写入/读取操作。GetVehiclePos 将返回本次更新之前车辆的旧坐标。