脚本基础

定时器与触发

说明 OnTimer 定时器的范围、启动与停止命令、QManage.txt 对应脚本段和常见用法。
OnTimer 提供 0-15 共 16 个定时器槽位,适合处理周期性触发的脚本逻辑。若定时器数量不够,可考虑使用 SetAbility 作为替代方案。

定时器说明

范围相关命令变量解释
0-15SetScTimer、KillScTimer用于按固定秒数循环触发 QManage.txt 中对应的 [@OnTimerX] 段

触发规则

定时器脚本位于 QManage.txt 中,对应脚本段如下:

QManage.txt
[@OnTimer0]
[@OnTimer1]
[@OnTimer2]
...
[@OnTimer15]

例如启用 0 号定时器后,引擎会按设置的间隔周期性触发 QManage.txt 里的 [@OnTimer0]。

相关命令

启动定时器

SetScTimer <定时器编号> <间隔秒数>
参数位置参数说明
10-15定时器编号,对应 QManage.txt 里的 [@OnTimer0] 到 [@OnTimer15]
2间隔秒数触发间隔,单位为秒

示例:

#ACT
SetScTimer 0 20
#SAY
你已经开始定时器系统,每 20 秒触发一次 QManage.txt 里的 [@OnTimer0]。

停止定时器

KillScTimer <定时器编号>
参数位置参数说明
10-15要停止的定时器编号,对应 QManage.txt 里的 [@OnTimer0] 到 [@OnTimer15]

示例:

#ACT
KillScTimer 0
#SAY
0号定时器已经停止

使用示例

示例一:定时发送当前位置

#ACT
SetScTimer 0 20
#SAY
你已经开始定时器系统,每 20 秒触发一次 QManage.txt 里的 [@OnTimer0]。

示例二:关闭定时器

#ACT
KillScTimer 0
#SAY
0号定时器已经停止。

使用建议

  • 需要做周期广播、坐标提示、状态检测或倒计时行为时,可优先考虑 OnTimer。
  • 编写定时器逻辑时,先确认脚本段编号和 SetScTimer 的编号完全一致。
  • 定时器触发逻辑应尽量保持简洁,避免在高频触发段中执行过重的脚本。
  • 当 0-15 的定时器槽位不够用时,可再评估是否改用 SetAbility 实现同类效果。