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

热血传奇CheckItemAddValue脚本详解格式+参数含义+范围

热度:
CheckItemAddValue是热血传奇脚本中核心的物品属性检测命令,主要用于判断玩家背包、穿戴装备中,指定物品的附加属性值是否符合设定条件,常用于触发任务、发放奖励、限制玩法等场景,下面详细说明该脚本的标准格式、每个参数的具体含义及取值范围,全部贴合实际脚本编写场景,无多余修饰,可直接套用。

一、CheckItemAddValue脚本核心格式(标准写法,必看)

CheckItemAddValue脚本仅支持在传奇脚本的#if判断语句中使用,无法单独执行,核心作用是作为判断条件,满足条件则执行#act下的指令,不满足则执行#elseact(可选)下的指令,标准格式分两种,分别对应“背包物品检测”和“穿戴装备检测”,具体如下:

1.基础格式(背包物品检测,最常用):

#if

CheckItemAddValue物品ID附加属性类型检测条件属性值

#act

//满足检测条件时,执行的指令(如发放奖励、传送地图等)

#elseact(可选)

//不满足检测条件时,执行的指令(如提示玩家、拒绝操作等)

2.扩展格式(穿戴装备检测,需加标识):

#if

CheckItemAddValue物品ID附加属性类型检测条件属性值1

#act

//满足检测条件时,执行的指令

#elseact(可选)

//不满足检测条件时,执行的指令

补充:两种格式的唯一区别的是末尾是否加“1”,不加“1”默认检测玩家背包(含仓库,部分版本需额外设置)中的物品;加“1”则仅检测玩家当前穿戴在身上的装备,不可混淆,否则会导致脚本失效。

二、CheckItemAddValue脚本参数详解(逐参数说明,易懂不绕)

该脚本共包含4个核心参数(扩展格式多1个标识参数),每个参数有明确的取值范围和作用,缺一不可,参数顺序不可颠倒,否则脚本无法正常执行,逐参数详细说明如下,结合实际示例辅助理解:

参数1:物品ID(必填,无默认值)

含义:指定需要检测附加属性的物品ID,即传奇游戏中对应物品的唯一标识,每个物品都有专属ID,无法用物品名称替代,必须填写纯数字。

取值范围:1-65535(传奇脚本物品ID的通用取值范围),实际常用范围为1-10000,超出10000的ID多为自定义物品,需根据自身服务器物品数据库确认。

示例:检测玩家背包中“裁决”(物品ID为113)的附加属性,参数1填写113;检测“麻痹戒指”(物品ID为122),参数1填写122。

注意:物品ID需与服务器物品数据库中的ID完全一致,若填写错误,脚本会判定为“无该物品”,导致检测失效,建议编写前核对物品数据库。

参数2:附加属性类型(必填,无默认值)

含义:指定需要检测的物品附加属性类别,仅支持传奇游戏内置的附加属性,不支持自定义属性,每个属性对应唯一的数字编码,填写时需用数字替代属性名称。

取值范围及对应属性(核心常用,全覆盖实操场景):

0-攻击属性(含物理攻击上限、下限,检测时默认包含上下限总和)

1-魔法属性(含魔法攻击上限、下限,检测时默认包含上下限总和)

2-道术属性(含道术攻击上限、下限,检测时默认包含上下限总和)

3-防御属性(含物理防御上限、下限,检测时默认包含上下限总和)

4-魔防属性(含魔法防御上限、下限,检测时默认包含上下限总和)

5-生命值上限(仅检测附加的生命值,不包含物品基础生命值)

6-魔法值上限(仅检测附加的魔法值,不包含物品基础魔法值)

7-准确属性(附加的准确值,影响攻击命中率)

8-敏捷属性(附加的敏捷值,影响躲避率和攻击速度)

示例:检测裁决的附加攻击属性,参数2填写0;检测麻痹戒指的附加敏捷属性,参数2填写8;检测道士头盔的附加防御属性,参数2填写3。

注意:属性类型仅支持上述0-8的数字,填写其他数字会导致脚本报错,无法执行检测;若物品无该类附加属性,脚本会判定为“属性值为0”。

参数3:检测条件(必填,无默认值)

含义:指定属性值的检测逻辑,即“物品的附加属性值”与“参数4的属性值”之间的关系,仅支持4种固定逻辑,用数字编码表示,不可自定义。

取值范围及对应逻辑(唯一固定,无其他可选):

1-等于(检测物品附加属性值=参数4的属性值)

2-大于(检测物品附加属性值>参数4的属性值)

3-小于(检测物品附加属性值<参数4的属性值)

4-大于等于(检测物品附加属性值≥参数4的属性值)

示例:检测裁决的附加攻击值大于5,参数3填写2;检测麻痹戒指的附加敏捷值等于2,参数3填写1;检测道士头盔的附加防御值大于等于3,参数3填写4。

注意:检测条件仅支持1-4的数字,填写错误会导致检测逻辑混乱,比如填写5会直接判定为检测失败,脚本无法正常执行。

参数4:属性值(必填,无默认值)

含义:指定检测的属性阈值,即与“物品附加属性值”进行对比的基准值,需根据检测需求填写纯数字,取值范围根据属性类型有所差异,不可超出对应属性的合理范围。

取值范围(按属性类型分类,贴合实际游戏设定):

1.对应属性类型0-4(攻击、魔法、道术、防御、魔防):0-999,常规取值为0-100,超出100的属性值多为高阶自定义物品,需根据服务器设定调整;

2.对应属性类型5-6(生命值、魔法值上限):0-9999,常规取值为0-1000,高阶物品可达到1000以上;

3.对应属性类型7-8(准确、敏捷):0-99,常规取值为0-20,超出20的属性值较为罕见,需结合服务器物品设定填写。

示例:检测裁决附加攻击大于5,参数4填写5;检测生命项链附加魔法值等于8,参数4填写8;检测靴子附加敏捷大于等于3,参数4填写3。

注意:属性值需填写非负整数,不可填写负数、小数,否则脚本会报错;若填写的属性值超出对应属性的合理范围(如敏捷填写100),脚本会正常检测,但实际游戏中无此类物品,会判定为检测失败。

参数5:穿戴标识(可选,仅扩展格式可用)

含义:用于区分检测“背包物品”还是“穿戴装备”,仅支持1个固定取值,不填写则默认检测背包物品。

取值范围:仅为1(无其他取值),填写1表示检测玩家当前穿戴在身上的装备,不填写或填写其他数字,均默认检测背包(含仓库)中的物品。

示例:检测玩家穿戴的裁决附加攻击大于5,参数5填写1;检测玩家背包中的裁决附加攻击大于5,不填写参数5。

三、CheckItemAddValue脚本实操示例(3个常用场景,直接套用)

结合上述格式和参数,整理3个实操中最常用的脚本示例,覆盖任务触发、奖励发放、玩法限制,可直接复制修改参数使用,贴合实际脚本编写需求:

示例1:背包物品检测(触发任务)

需求:玩家背包中有附加攻击≥7的裁决(ID113),即可触发“高阶武器任务”,传送至任务地图。

#if

CheckItemAddValue113047

#act

mapmove10123456//传送至任务地图(地图ID10,坐标123456)

SENDMSG5检测到符合条件的裁决,已传送至高阶武器任务地图!

#elseact

SENDMSG5你的裁决附加攻击不足7,无法触发任务!

示例2:穿戴装备检测(发放奖励)

需求:玩家穿戴的麻痹戒指(ID122)附加敏捷=2,即可领取专属奖励(元宝100)。

#if

CheckItemAddValue1228121

#act

GAMEGOLD+100//发放100元宝

SENDMSG5穿戴符合条件的麻痹戒指,已领取专属元宝奖励!

#elseact

SENDMSG5你穿戴的麻痹戒指附加敏捷不符合要求,无法领取奖励!

示例3:多条件组合检测(限制玩法)

需求:玩家背包中有附加防御≥5的道士头盔(ID116),且穿戴的靴子(ID132)附加敏捷≥3,才可进入高阶副本。

#if

CheckItemAddValue116345

CheckItemAddValue1328431

#act

mapmove20789123//传送至高阶副本(地图ID20,坐标789123)

SENDMSG5装备检测通过,已进入高阶副本!

#elseact

SENDMSG5道士头盔附加防御不足5或靴子附加敏捷不足3,无法进入高阶副本!

四、脚本编写注意事项(避坑要点,少走弯路)

1.参数顺序不可颠倒:必须严格按照“物品ID→附加属性类型→检测条件→属性值→穿戴标识(可选)”的顺序填写,颠倒顺序会导致脚本完全失效,无法执行检测。

2.物品ID需精准核对:编写前务必对照服务器物品数据库,确认物品ID的准确性,比如将裁决ID113误写为131,脚本会判定为无该物品,检测失败。

3.属性类型与属性值匹配:不可出现“属性类型为0(攻击),属性值填写1000”的情况,超出合理范围会导致检测无意义,同时需注意属性类型对应的编码,不可混淆(如将魔法属性1误写为攻击属性0)。

4.穿戴标识不可滥用:仅需要检测穿戴装备时,才填写参数5(值为1),检测背包物品时,无需填写该参数,填写其他数字会导致检测范围错误。

5.支持多条件组合:可在同一个#if判断中,添加多个CheckItemAddValue脚本,实现多物品、多属性的组合检测,多个检测条件需同时满足,才可执行#act下的指令(如示例3)。

6.无附加属性的物品检测:若检测的物品无对应附加属性(如普通裁决无附加攻击),脚本会判定该物品的附加属性值为0,此时检测条件若为“大于0”,会判定为失败。

五、常见疑问解答(针对性解决,避免混淆)

1.CheckItemAddValue脚本,能检测物品的基础属性吗?

答:不能,该脚本仅能检测物品的“附加属性”,无法检测物品本身的基础属性(如裁决基础攻击0-30),仅能检测额外附加的属性(如附加攻击5)。

2.参数4的属性值,能填写小数吗?

答:不能,属性值仅支持非负整数,填写小数(如5.5)会导致脚本报错,无法执行检测,需填写整数(如5或6)。

3.检测多个物品的附加属性,需要分开写多个脚本吗?

答:不需要,可在同一个#if判断中,连续编写多个CheckItemAddValue脚本,多个条件会同时生效,只有全部满足,才会执行#act下的指令。

4.为什么脚本编写正确,却检测失败?

答:大概率是3个原因:一是物品ID填写错误,与数据库不一致;二是附加属性类型编码混淆(如魔法属性误写为攻击属性);三是检测范围错误(需检测穿戴装备,却未填写参数5=1),核对这三点即可解决。

5.穿戴标识除了1,还有其他取值吗?

答:没有,穿戴标识仅支持取值1,填写其他数字或不填写,均默认检测背包(含仓库)中的物品,无其他可选取值。

6.附加属性值的上限,能超过取值范围吗?

答:脚本本身支持填写超出常规范围的属性值(如攻击属性值填写999),但实际游戏中,物品附加属性受服务器设定限制,若物品无该高阶属性,脚本会判定为检测失败,无实际意义。

六、总结(直奔核心,快速回顾)

CheckItemAddValue脚本核心用于检测物品附加属性,仅在#if判断中使用,分背包检测(无参数5)和穿戴检测(参数5=1)两种格式,共4个核心参数、1个可选参数。

核心要点:物品ID(1-65535,需精准)、附加属性类型(0-8,对应固定属性)、检测条件(1-4,对应等于/大于/小于/大于等于)、属性值(按属性类型惹负整数),参数顺序不可颠倒,填写时需核对精准。

实操中,可根据需求选择对应格式,结合示例修改参数即可直接使用,重点注意物品ID、属性类型的准确性,避免因参数错误导致脚本失效,满足任务触发、奖励发放、玩法限制等各类场景需求。
[顶部]