功能:
跳转,延时执行脚本。
格式
DELAYGOTO S Label
DELAYCALL S Label
参数一S单位为毫秒.参数二Label为跳转的脚本段,以上两个命令都可以进行跳转和延时执行脚本。
;=========================================================
[@MAIN]
<延时执行脚本/@DELAYCALL> <清除延迟/@CLEARDELAYGOTO> \
\
<返回/@main>
[@DELAYCALL]
#IF
#ACT
DELAYGOTO 3
@DELAYCALL1
#SAY
请稍候....
[@DELAYCALL1]
#ACT
GIVE 金币 100
[@CLEARDELAYGOTO]
#IF
#ACT
CLEARDELAYGOTO
#SAY
延迟跳转已清除\
<返回/@MAIN>
;=========================================================
扩展DELAYCALL命令,支持5个上下文参数传输,防止参数被覆盖
参数一S单位为毫秒.参数二Label为跳转的脚本段,以上两个命令都可以进行跳转和延时执行脚本。
;=========================================================
错误用例:
;=========================================================
[@重复执行]
#act
Mov
S_暂存变量 xxxxx
DelayCall 1000 @delayCall
[@delayCall]
#act
;
“S_暂存变量”此时很可能已被其他用到“S_暂存变量”的操作所覆盖(特别是对于重复执行的字段),造成错误结果
MapMove
<$STR(S_暂存变量)>
;=========================================================
扩展后的正确用例:
;=========================================================
;
随后<$STR(S_CONTEXT[0~4])>可以取得参数的内容,此组变量用于传输参数内容,此变量为固定变量,仅可修改[0-4]获取内容
DelayCall
1000 @delayCall <$STR(S_暂存参数0)> 参数1 参数2 参数3 参数4 //
参数0~4为可选项,可以是任意变量
[@delayCall]
#act
;
<$STR(S_CONTEXT[0])>此时等于“<$STR(S_暂存参数0)>”,<$STR(S_CONTEXT[1])>等于“参数1”...
MapMove
<$STR(S_CONTEXT[0])>