CheckItemAddValue是装备附加属性检测指令,多用于装备升级、属性限制脚本内,用来读取装备身上已经叠加的附加属性数值,以此做条件判断,不能用来修改装备属性,修改属性需要搭配SETITEMADDVALUE指令。这条指令只识别装备额外增加的属性,物品DB原始基础属性不会被读取,编写脚本时需要区分基础属性和附加属性。
指令标准书写格式分为两种写法,条件判断写法和变量读取写法。条件判断写法直接放在#if区块内,格式:CheckItemAddValue 装备位置 属性类型 比较符 数值。变量读取写法,把读取到的附加属性存入自定义变量,格式:GetItemAddValue 装备位置 属性类型 变量名。很多使用者会混淆CheckItemAddValue与GetItemAddValue,CheckItemAddValue只用于#if条件判断,GetItemAddValue负责将属性值取出存入变量用于后续调用。
第一个参数为装备位置,代表要检测人物身上哪一个装备槽位,参数只支持数字,取值范围固定。0代表武器,1项链,2头盔,3左手镯,4右手镯,5左戒指,6右戒指,7衣服,8腰带,9靴子。填写参数时必须确认目标装备所在位置,想要检测武器附加属性,第一个参数填0,如果填错位置,指令会读取错误装备数据,造成判断失效。
第二个参数为属性类型,用来指定需要检测的属性项目,同样使用数字作为参数,对应属性列表如下。1攻击,2魔法,3道术,4防御,5魔御,6准确,7敏捷。部分程序版本会扩展更多属性编号,默认原生只支持1到7,超出范围的属性编号,指令无法识别,直接判定数值为0。例如第二个参数填1,代表检测这件装备的附加攻击数值。
第三个参数为比较运算符,支持>、<、=、>=、<=这几种符号,用于对比读取出来的附加属性和设定数值。第四个参数是对比数值,填写非负整数,代表属性阈值。
完整示例脚本:
[@main]
#IF
CheckItemAddValue 0 1 < 5
#ACT
SENDMSG 6 当前武器附加攻击小于5,可以继续升级
#ELSEACT
SENDMSG 6 武器附加攻击已满,无法继续升级
这段脚本含义,检测人物武器位置装备的附加攻击,如果数值小于5,提示可以升级,达到5及以上就提示上限。
参数取值范围说明,装备位置参数取值只能是0至9,填写其他数字会判定该槽位无装备,返回属性值0。属性类型原生支持1到7,扩展属性需要对应程序模块支持。对比数值最低为0,没有硬性上限,但实际会受引擎变量存储限制,一般建议不超过999。
指令执行判定规则,如果对应装备槽位为空,没有穿戴装备,CheckItemAddValue直接判定条件不成立。槽位有装备,但是装备不存在任何附加属性,读取到的数值为0。指令只读取SETITEMADDVALUE增加的附加属性,物品数据库写好的基础攻击、魔法不会计入检测数值。装备经过RESTOREITEM重置附加属性之后,该指令读取数值归零。
常见错误写法,将CheckItemAddValue写在#act执行区块,这条指令属于条件检测命令,只能放在#if里面,放到#act区块会报无效命令。参数之间使用中文空格,参数编号多打空格或者换行,都会造成脚本解析失败。属性编号填写错误,比如填写8,原生指令不支持,读取数值一直为0,导致条件判断逻辑错乱。装备位置参数混淆武器和衣服,把衣服位置7写成0,持续读取武器属性,造成逻辑和预期不符。
搭配其他指令的组合用法,在装备升级脚本中,先用CheckItemAddValue判断附加属性是否达到上限,满足条件才执行扣除道具、金币,再用SETITEMADDVALUE增加属性。升级失败分支使用RESTOREITEM清空附加属性,重置之后CheckItemAddValue读取结果变回0。如果需要在消息提示中展示当前附加属性数值,就使用GetItemAddValue,把数值存入变量,再用SENDMSG输出变量内容。示例:
[@查看属性]
#ACT
GetItemAddValue 0 1 N1
SENDMSG 6 武器当前附加攻击:<$N1>
调试方法,编写脚本保存之后重启引擎,在游戏内穿戴对应装备触发脚本。查看引擎日志,日志会打印指令读取到的属性数值,方便核对读取结果。如果判断逻辑一直异常,优先确认槽位编号、属性编号,再确认装备是否存在附加属性,不要把装备基础属性当成附加属性参与判断。
部分旧程序版本不支持CheckItemAddValue指令,调用后提示命令未定义,遇到这种情况,无法直接使用该指令,需要改用变量记录升级次数,每次升级成功给人物变量加1,用人物变量替代装备附加属性检测。使用变量替代方案时,需要注意人物变量和装备不绑定,玩家更换装备之后变量不会自动清零,需要额外编写脚本,在装备卸下时重置变量。
热血传奇CheckItemAddValue脚本指令完整解析,书写格式参数含义与取值范围
来源:
作者:
点击:

