附录

延迟调用脚本

延迟指定毫秒后调用目标脚本标签,支持传递上下文参数。

命令用途

DelayCall 在指定的毫秒数后,跳转到目标脚本标签继续执行。适合"先等待一段时间,再进入后续逻辑"的场景。

与 DelayGoto 的区别在于:DelayCall 更适合跨脚本的功能调用和拆分复用,DelayGoto 更侧重于当前脚本内的标签流转。

命令名

DelayCall

调用格式

DelayCall <毫秒> <@标签名> [参数0] [参数1] [参数2] [参数3] [参数4]

参数说明

参数必填说明
毫秒是延迟时间,单位为毫秒。
@标签名是延迟后跳转的目标脚本标签。
参数0 ~ 参数4否可选,最多 5 个上下文参数,支持传入变量。

返回或影响

  • 设置延迟后,脚本不会阻塞,后续代码继续执行。
  • 延迟时间到达后,跳转到目标标签执行。
  • 传入的上下文参数可通过 <$STR(S_CONTEXT[0])> 到 <$STR(S_CONTEXT[4])> 在目标标签中读取。

示例

基础用法

[@Main]
#IF
#ACT
DelayCall 1000 @每日奖励结算 <$STR(S_奖励类型)> <$USERNAME>
SendMsg 5 "1 秒后将进入每日奖励结算。"

1 秒后调用 [@每日奖励结算],同时传递奖励类型和用户名。

在目标标签中读取参数

[@每日奖励结算]
#ACT
SendMsg 5 "<$STR(S_CONTEXT[0])> 的 <$STR(S_CONTEXT[1])> 奖励已发放。"

S_CONTEXT[0] 获取传入的奖励类型,S_CONTEXT[1] 获取用户名。

注意事项

  • 延迟期间如果人物下线,延迟调用将不会触发。
  • 上下文参数变量 S_CONTEXT[0~4] 是固定变量名,仅在 DelayCall 调用的目标标签中有效。

相关命令