在传奇服务端脚本中,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
SENDMSG6开始任务:寻找龙之牙!
防止重复触发
[@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)
部分引擎支持checkS1230写法,效果与check[123]0相同,但方括号格式兼容性更广。
调试方法:
在关键节点加入SENDMSG7当前[123]值:,通过游戏内消息实时查看变量变化,确保流程按预期执行。
具体含义:
check[123]0等价于“如果变量[123]的当前值等于0,则条件成立”。若变量值不为0,条件不成立,后续#ACT或#SAY指令将被跳过。
变量编号说明:
[0]到[999]为通用临时变量,重启服务端后清零;
不同脚本上下文中的[123]指向同一存储位置,具有全局性;
变量可通过SET、INC、DEC、CALC等命令赋值或修改。
典型使用场景:
任务状态控制
[@TaskStart]
IF
check[123]0
ACT
SET[123]1
SENDMSG6开始任务:寻找龙之牙!
防止重复触发
[@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)
部分引擎支持checkS1230写法,效果与check[123]0相同,但方括号格式兼容性更广。
调试方法:
在关键节点加入SENDMSG7当前[123]值:,通过游戏内消息实时查看变量变化,确保流程按预期执行。

