当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本命令check[123]0的作用与用法解析

热度:
在传奇服务端脚本中,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]值:,通过游戏内消息实时查看变量变化,确保流程按预期执行。
[顶部]