附录
延迟调用脚本
延迟指定毫秒后调用目标脚本标签,支持传递上下文参数。
命令用途
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调用的目标标签中有效。
