表概述

vehicle_seat_addon表用于覆盖VehicleSeatEntry.dbc中的默认座位参数。通过此表可以动态调整座位朝向(SeatOrientation)和乘客退出载具时的位置参数(ExitParamX/Y/Z/O)。

主键为 SeatEntry,对应VehicleSeatEntry.dbc的ID。ExitParamValue标志控制退出参数的使用方式。

表结构

字段名数据类型默认值说明
SeatEntryINT UNSIGNEDNOT NULLVehicleSeatEntry.dbc座位ID(主键)
SeatOrientationFLOAT0座位朝向覆盖值(弧度)
ExitParamXFLOAT0退出位置X偏移
ExitParamYFLOAT0退出位置Y偏移
ExitParamZFLOAT0退出位置Z偏移(高度)
ExitParamOFLOAT0退出朝向(弧度)
ExitParamValueTINYINT(1)0退出参数标志

重要字段详解

SeatOrientation (座位朝向覆盖)

以弧度为单位,覆盖DBC中定义的默认座位朝向。0表示使用DBC默认值,非0则强制使用此朝向。

朝向角度换算:弧度 = 角度 * PI / 180。例如90度 = 1.5708弧度。

ExitParam (退出位置参数)

当玩家从座位退出时,以载具当前位置为原点进行偏移:

  • ExitParamX/Y/Z:乘客退出时相对于载具的坐标偏移
  • ExitParamO:退出后的朝向角度
  • ExitParamValue:控制退出参数的解析方式

实战案例

覆盖座位的朝向和退出位置
-- 调整SeatEntry=1234的座位朝向为90度,退出时偏移到车后方
INSERT INTO vehicle_seat_addon (SeatEntry, SeatOrientation, ExitParamX, ExitParamY, ExitParamZ, ExitParamO)
VALUES (1234, 1.5708, 0, 5, 0, 3.1416);
查询所有已覆盖的座位配置
SELECT SeatEntry, SeatOrientation,
       ExitParamX, ExitParamY, ExitParamZ, ExitParamO
FROM vehicle_seat_addon
ORDER BY SeatEntry;

常见问题

Q: 此表是否必需?

A: 不是必需的。如果某个SeatEntry在此表中没有记录,系统直接使用VehicleSeatEntry.dbc中的默认配置。只有需要覆盖DBC默认值时才有必要添加。

Q: 退出参数为什么会穿墙?

A: 退出位置参数是与载具的相对偏移,不是世界坐标。如果ExitParam值过大,可能导致乘客退出到障碍物内部。建议保持偏移值在合理范围内(通常X/Y不超过10)。