在传奇服务端脚本中,check [123] 0 是一条用于检测自定义变量值的条件判断指令。其中 [123] 表示编号为123的临时变量(也称S变量或N变量),0 是要比较的目标数值。该命令通常出现在 QFunction.txt、NPC 脚本或任务文件的 #IF 判断区块内。
具体含义:
check [123] 0 等价于“如果变量 [123] 的当前值等于 0,则条件成立”。若变量值不为 0,条件不成立,后续 #ACT 或 #SAY 指令将被跳过。
变量编号说明:
[0] 到 [999] 为通用临时变量,重启服务端后清零;
不同脚本上下文中的 [123] 指向同一存储位置,具有全局性;
变量可通过 SET、INC、DEC、CALC 等命令赋值或修改。
典型使用场景:
任务状态控制
[@TaskStart]
IF
check [123] 0
ACT
SET [123] 1
SENDMSG 6 开始任务:寻找龙之牙!
防止重复触发
[@KillMonster]
IF
check [123] 1
EQUAL 火龙
ACT
GIVE 龙之牙 1
SET [123] 2
多阶段流程判断
[@SubmitItem]
IF
check [123] 2
CHECKITEM 龙之牙
ACT
TAKE 龙之牙 1
SET [123] 3
GIVE 任务奖励 1
注意事项:
变量初始值默认为 0,未显式赋值前 check [123] 0 恒成立;
若需判断“不等于”,应使用 SMALL 或 LARGE 组合,例如:
#IF
SMALL [123] 0
LARGE [123] 0
(表示 [123] ≠ 0)
部分引擎支持 check S123 0 写法,效果与 check [123] 0 相同,但方括号格式兼容性更广。
调试方法:
在关键节点加入 SENDMSG 7 当前[123]值:,通过游戏内消息实时查看变量变化,确保流程按预期执行。
传奇脚本命令 check [123] 0 的作用与用法解析
来源:
作者:
点击:

