附录

延时跳转标签

延迟一段时间后再进入指定标签处理逻辑,并可把少量上下文参数传给目标标签。

命令用途

DelayGoto 用于延迟一段时间后,再进入指定标签处理逻辑。

它适合先显示提示、等待短暂表现,或把少量上下文参数一起带到后续标签。

命令名

DelayGoto

调用格式

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

参数说明

参数必填说明
毫秒是延迟时间,单位为毫秒。
@标签名是延迟结束后要进入的目标标签。
参数1..参数5否扩展写法可继续带 5 个上下文参数,目标标签中可通过 S_CONTEXT[n] 读取。

返回或影响

  • 这是执行型命令,会在延迟结束后进入目标标签处理逻辑。
  • 最多可继续传 5 个上下文参数。
  • 目标标签中可通过 <$STR(S_CONTEXT[0])> 到 <$STR(S_CONTEXT[4])> 读取这些参数。
  • 如果后续需要回到主菜单、结果页或其它固定入口,应在目标标签里显式写 GOTO。

示例

基础用法

[@Main]
#SAY
3 秒后进入传送确认页...

#ACT
DelayGoto 3000 @ConfirmMap 比奇省 330 330

[@ConfirmMap]
#SAY
即将前往 <$STR(S_CONTEXT[0])>(<$STR(S_CONTEXT[1])>:<$STR(S_CONTEXT[2])>)

这段写法会在 3 秒后进入 [@ConfirmMap],并把地图名和坐标一起传过去。

输入防重入

(@@InPutInteger)

[@@InPutInteger5]
#IF
CheckLevelEx > 0
#ACT
DelayGoto 1 ~InPutInteger5

[~InPutInteger5]
#IF
CheckLevelEx > 0
#SAY
你输入的数字是:<$STR(M5)>

这类写法适合拦住连续点击或网络延迟下的重复触发,避免同一段输入流程被重复执行。

注意事项

  • DelayGoto 适合一次性延时跳转,不适合做周期性触发;周期性流程应改看定时器机制。
  • 如果后续逻辑不需要等待或传参,通常直接使用 GOTO 更直接。
  • 目标标签中的上下文参数数量和顺序,应与前面的传参保持一致。
  • 如果目标标签执行完后还需要回主菜单、回结果页或进入其它固定流程,应显式写后续跳转,不要依赖自动返回。

相关命令