Skip to content

车辆 – 额外回放数据

汉化标题:车辆 – 额外回放数据
原文标题:Cars – Extra Replay Data
汉化更新时间:2025-01-14 00:00:00 +0800
英文原文最新更新时间:2025-11-08 11:36:26 -0300

车辆脚本可以通过控制器输入写入额外的回放数据。此功能在 0.2.3 更新中添加。只需在 car.ini 文件中定义模式,然后使用脚本控制器输入来读/写将被存储为回放数据的数据。尽量保持回放输入的数量较低。

car.ini:

ini
[_EXTENSION]
SCRIPT_INPUTS_REPLAY = 100:uint8, 101:unorm8, 102:half
ini
[_EXTENSION]
SCRIPT_INPUTS_REPLAY = 100:uint8, unorm8, half, uint8 ;INDEX == 100, INDEX == 101, INDEX == 102, INDEX == 103

回放输入可以以 <INDEX>:<TYPE> 的形式添加。您也可以仅使用 <TYPE> 定义输入,它们的 INDEX 将从最后显式定义的 INDEX 值开始递增。

已知类型:

  • h, half: 2 字节,浮点数(大约从 1/65536 到 65536);
  • f, float: 4 字节,浮点数;
  • i8, int8, char: 1 字节,从 -128 到 127;
  • u8, uint8, byte: 1 字节,从 0 到 255;
  • i16, int16, short: 2 字节,从 -32768 到 32767;
  • u16, uint16, ushort: 2 字节,从 0 到 65535;
  • i32, int32, int: 4 字节,可以为负数;
  • u32, uint32, uint: 4 字节,仅正整数;
  • unorm8: 1 字节,从 0 到 1;
  • norm8: 1 字节,从 -1 到 1;
  • unorm16: 2 字节,从 0 到 1;
  • norm16: 2 字节,从 -1 到 1;

如果您定义的模式发生更改,任何使用先前模式保存的回放将不再重播录制的额外数据。

车辆物理 script.lua:

lua
function script.update(dt)
  local data = ac.accessCarPhysics()

  -- 写入这些控制器的数据将存储在回放数据中
  data.controllerInputs[100] = 1
  data.controllerInputs[101] = 2
  data.controllerInputs[102] = 3
end