附录

立即跳转标签

立即进入指定标签处理逻辑,适合条件分流、变量修正和主流程拆段。

命令用途

GOTO 用于立即进入指定标签处理逻辑。

它适合把一段脚本拆成多个连续标签,按条件分流、修正变量或继续执行后续流程。

命令名

GOTO

调用格式

GOTO <@标签名> [模式] [""] [类型] [参数1] [参数2] [参数3] [参数4] [参数5]

参数说明

参数必填说明
@标签名是基础写法中表示当前脚本文件里的目标标签名。
模式否仅见于现有补全资料的扩展写法,可写 1 到 4,分别表示小组成员触发、行会成员触发、当前地图人物触发、以自己坐标为中心的范围人物触发。
""否仅见于现有补全资料的固定占位,当前仓库没有更完整的引擎说明;如果你使用的是这类扩展写法,通常保持为空字符串。
类型否仅见于现有补全资料的扩展写法,可写 1 到 5,分别对应 QM、QF、RM、QMap、QChat。
参数1..参数5否扩展写法可继续带 5 个参数,目标标签中可通过 <$PARAM(5)> 到 <$PARAM(9)> 读取。

返回或影响

  • 这是执行型命令,会立即进入目标标签处理逻辑。
  • GOTO 不是 #CALL,不会像跨脚本调用那样形成单独的调用层。
  • 如果目标标签只是用来抽离一段条件判断或变量修正,常见写法是先在目标标签里完成处理,再继续当前脚本后面的统一动作。
  • 如果你不希望后续逻辑继续执行,应显式写 BREAK,或显式 GOTO 到结果标签、主菜单标签。

示例

基础用法

[@Main]
#IF
CheckLevelEx ? 50
#ACT
GOTO @AllowEnter
#ELSESAY
等级不足,暂时不能进入。

[@AllowEnter]
#ACT
MapMove 3 330 330

这段写法会在等级满足时立即切到 [@AllowEnter],继续执行传送逻辑。

条件分流

[@TryOpen]
#IF
CheckItem 黄金钥匙 1
#ACT
GOTO @OpenChest

#ACT
MessageBox 你还没有黄金钥匙。
BREAK

[@OpenChest]
#ACT
Take 黄金钥匙 1
Give 宝箱奖励 1

这类写法适合在当前标签里先做判断,满足条件时切到结果段,不满足时继续当前标签里的失败处理。

抽离处理段

[@CalcReward]
#ACT
MOV S领取物品 金创药
#IF
CheckLevelEx ? 100
#ACT
GOTO @处理标识
Give <$STR(S领取物品)>
#ELSEACT
MessageBox 对不起,100级才能使用此功能!
BREAK

[@处理标识]
#IF
CheckGameGold ? 10000
#ACT
MOV S领取物品 超级金创药
#IF
CheckGameGold ? 20000
#ACT
MOV S领取物品 打包金创药

这类写法适合先在主流程里保留默认值、准入判断和最终动作,再把中间的变量修正逻辑拆到独立标签中处理,避免把不同层级的条件直接堆在同一段 #ACT 中。

注意事项

  • GOTO 适合做当前脚本内的流程切换和处理段拆分,不适合表达“执行完再返回”的跨脚本调用语义;这类场景优先考虑 #CALL。
  • 如果某个功能执行完成后需要重新显示主菜单,应显式写 GOTO @MAIN,不要依赖脚本自动回到主入口。

相关命令