传奇脚本检测装备命令及极品判定脚本(SKYM2/BULEM2通用)

来源: 作者: 点击:
核心装备检测命令(SKYM2/BULEM2通用)

传奇脚本检测装备需依托引擎原生命令,核心围绕装备位置、属性、品质三大维度,以下命令适用于SKYM2与BULEM2引擎,可直接嵌入物品使用、任务触发、挂机等脚本逻辑。

基础装备位置检测命令

1. CHECKITEM 物品名称 数量:检测背包内是否存在指定装备及对应数量,示例:CHECKITEM 手镯 1,用于判定是否持有目标装备。

2. CHECKWEAR 物品名称:检测角色是否穿戴指定装备,示例:CHECKWEAR 金手镯,适用于需穿戴后触发效果的脚本。

3. CHECKPOSITEM 位置 物品名称:检测指定穿戴位置是否为目标装备,位置编码:1-头盔、2-项链、3-武器、4-手镯(左)、5-手镯(右)、6-戒指(左)、7-戒指(右)、8-衣服、9-鞋子、10-腰带,示例:CHECKPOSITEM 4 金手镯,精准判定左手镯位置装备。

装备属性检测命令

1. CHECKITEMATTR 物品名称 属性类型 数值:检测装备指定属性是否达标,属性类型编码:1-攻击、2-魔法、3-道术、4-防御、5-魔防、6-血量、7-魔法值,示例:CHECKITEMATTR 金手镯 4 2,检测金手镯防御是否≥2。

2. CHECKWEARATTR 属性类型 数值:检测当前穿戴装备对应属性总和,示例:CHECKWEARATTR 4 3,检测全身穿戴装备总防御是否≥3。

3. GETITEMATTR 物品名称 属性类型 变量名:提取装备指定属性值存入变量,用于后续逻辑判定,示例:GETITEMATTR 金手镯 4 HANDDEF,将金手镯防御值存入变量HANDDEF。

极品装备判定核心命令

1. CHECKITEMEX 物品名称:SKYM2专属命令,直接检测装备是否为极品(属性超出基础上限即为极品),无需额外属性判定,示例:CHECKITEMEX 金手镯,判定背包内金手镯是否为极品。

2. CHECKWEAREX 物品名称:SKYM2专属,检测穿戴的指定装备是否为极品,示例:CHECKWEAREX 金手镯,判定已穿戴的金手镯是否为极品。

3. BULEM2极品判定方案:因BULEM2无直接极品检测命令,需通过基础属性对比实现,先提取装备基础属性上限,再检测实际属性是否超出,超出则判定为极品。

手镯防御神水脚本(SKYM2版,含极品判定)

脚本核心逻辑

手镯防御神水使用规则:使用后左/右手镯防御+1,若手镯为极品则无效,且每个手镯仅可使用一次,通过自定义变量记录使用状态,避免反复使用。脚本触发指令为@使用 手镯防御神水,嵌入QManage.txt文件。

完整脚本代码

#手镯防御神水使用脚本(SKYM2专用)
(@使用 手镯防御神水)
#IF
CHECKITEM 手镯防御神水 1#检测背包是否有道具
CHECKPOSITEM 4 手镯#检测左手镯位置为手镯类装备
CHECKITEMEX 金手镯 0#左手镯非极品(0为否定判定)
CHECKVAR HANDLEFT_USE 0#检测左手镯未使用过神水
#ACT
TAKE 手镯防御神水 1#扣除道具
CHANGEITEMATTR 4 4 +1#左手镯防御+1(4为防御属性编码)
SETVAR HANDLEFT_USE 1#标记左手镯已使用
SENDMSG 5 左手镯防御+1,效果生效!
#ELSEIF
CHECKITEM 手镯防御神水 1
CHECKPOSITEM 5 手镯#检测右手镯位置为手镯类装备
CHECKITEMEX 金手镯 0#右手镯非极品
CHECKVAR HANDRIGHT_USE 0#检测右手镯未使用过神水
#ACT
TAKE 手镯防御神水 1
CHANGEITEMATTR 5 4 +1#右手镯防御+1
SETVAR HANDRIGHT_USE 1#标记右手镯已使用
SENDMSG 5 右手镯防御+1,效果生效!
#ELSEIF
CHECKITEMEX 金手镯 1#检测穿戴手镯为极品
#ACT
SENDMSG 5 极品手镯无法使用防御神水,效果无效!
#ELSEIF
CHECKVAR HANDLEFT_USE 1
CHECKVAR HANDRIGHT_USE 1#双手镯均已使用
#ACT
SENDMSG 5 所有手镯均已使用过防御神水,无法重复使用!
#ELSE
SENDMSG 5 请先穿戴非极品手镯,再使用防御神水!

手镯防御神水脚本(BULEM2版,含极品判定)

极品判定逻辑补充

以金手镯为例,基础防御上限为2,通过GETITEMATTR命令提取手镯实际防御值,若>2则判定为极品。脚本同样嵌入QManage.txt,触发指令一致,适配BULEM2引擎属性判定规则。

完整脚本代码

#手镯防御神水使用脚本(BULEM2专用)
(@使用 手镯防御神水)
#IF
CHECKITEM 手镯防御神水 1
CHECKPOSITEM 4 金手镯#左手镯为金手镯
GETITEMATTR 金手镯 4 HANDDEF#提取左手镯防御值存入变量
CHECKVAR HANDDEF <= 2#防御≤2(非极品,基础上限2)
CHECKVAR HANDLEFT_USE 0
#ACT
TAKE 手镯防御神水 1
CHANGEITEMATTR 4 4 +1#左手镯防御+1
SETVAR HANDLEFT_USE 1
SENDMSG 5 左手镯防御+1,效果生效!
#ELSEIF
CHECKITEM 手镯防御神水 1
CHECKPOSITEM 5 金手镯#右手镯为金手镯
GETITEMATTR 金手镯 4 HANDDEF
CHECKVAR HANDDEF <= 2#非极品判定
CHECKVAR HANDRIGHT_USE 0
#ACT
TAKE 手镯防御神水 1
CHANGEITEMATTR 5 4 +1#右手镯防御+1
SETVAR HANDRIGHT_USE 1
SENDMSG 5 右手镯防御+1,效果生效!
#ELSEIF
CHECKPOSITEM 4 金手镯
GETITEMATTR 金手镯 4 HANDDEF
CHECKVAR HANDDEF > 2#左手镯为极品(防御超上限)
#ACT
SENDMSG 5 极品手镯无法使用防御神水,效果无效!
#ELSEIF
CHECKPOSITEM 5 金手镯
GETITEMATTR 金手镯 4 HANDDEF
CHECKVAR HANDDEF > 2#右手镯为极品
#ACT
SENDMSG 5 极品手镯无法使用防御神水,效果无效!
#ELSEIF
CHECKVAR HANDLEFT_USE 1
CHECKVAR HANDRIGHT_USE 1
#ACT
SENDMSG 5 所有手镯均已使用过防御神水,无法重复使用!
#ELSE
SENDMSG 5 请先穿戴非极品金手镯,再使用防御神水!

脚本配置与生效要点

1. 脚本存放路径:均需放入MirServer/Mir200/Envir/MapQuest_def/QManage.txt,保存后重启引擎生效,SKYM2与BULEM2引擎无需额外插件支持。

2. 变量初始化:首次使用前需在引擎变量管理中添加HANDLEFT_USE、HANDRIGHT_USE两个自定义变量,默认值设为0,避免变量未定义导致脚本失效。

3. 装备名称适配:脚本中“金手镯”需替换为版本实际手镯名称,若支持多种手镯(如银手镯、铁手镯),可添加多个CHECKPOSITEM判断语句,扩展适配范围。

4. 属性编码确认:防御属性编码(4)为通用编码,若版本属性编码不同,需在引擎M2主程序-参数设置-属性编码中核查,替换对应数值。

常见问题与排查方法

1. 脚本无响应:核查触发指令是否正确(@使用 手镯防御神水),QManage.txt文件是否放置正确目录,引擎是否重启。可添加SENDMSG测试指令,判断脚本是否触发。

2. 极品判定失效:SKYM2需确认CHECKITEMEX命令是否支持,部分旧版SKYM2需升级引擎;BULEM2需核查基础属性上限是否正确,不同手镯基础上限不同,需对应调整判定数值。

3. 可反复使用神水:多为自定义变量未生效,需确认变量已添加至引擎,且脚本中SETVAR指令拼写正确,无语法错误。可在使用后通过变量查询功能,确认变量是否变为1。

4. 属性未增加:检查CHANGEITEMATTR命令的位置编码与属性编码是否正确,左手镯(4)、右手镯(5)位置编码不可混淆,属性编码需与防御属性对应。

拓展设置:多类型手镯适配与效果叠加限制

1. 多手镯适配:添加多个ELSEIF分支,适配不同类型手镯,示例:#ELSEIF CHECKPOSITEM 4 银手镯,同时调整基础属性上限(银手镯基础防御上限1),实现多手镯兼容。

2. 效果叠加限制:若需限制每个手镯仅可+1防御(不可多次叠加),脚本中已通过变量标记实现,无需额外修改;若需提升防御上限,可调整CHANGEITEMATTR命令的加成数值(如+2),同时修改极品判定阈值。

3. 背包手镯检测:可添加背包手镯使用逻辑,通过CHECKITEM+MOVETO装备命令,先将背包手镯穿戴至对应位置,再执行防御加成,提升脚本便捷性。