一、脚本核心逻辑与前置准备
核心逻辑:通过检测装备附加属性(攻击、魔法、道术)及数值,拆分出对应属性强化石,保留装备基础属性(如魔法+3的紫碧螺分解后保留原装备,额外产出强化石)。适配176版本主流HERO/3K引擎,无需修改客户端,仅配置服务器端脚本即可。
前置准备:1. 新增强化石道具,在物品数据库(Item.txt)添加攻击强化石、魔法强化石、道术强化石,对应物品ID设为1001、1002、1003(可自定义,需与脚本一致);2. 确认装备基础属性ID,176版本紫碧螺基础魔法1-2,附加魔法属性需单独检测;3. 准备分解NPC脚本文件,存放于服务器Envir\NPCs\目录。
二、HERO/3K引擎完整脚本(推荐,176版本适配)
1. 分解NPC脚本(核心文件)
脚本路径:D:\Mirserver\Mir200\Envir\NPCs\小极品分解师.txt,实现属性检测、拆分产出、提示反馈全流程,代码如下:
[@Main]
#say
欢迎使用小极品分解功能,仅分解带附加属性的装备!\
可分解属性:攻击、魔法、道术 附加属性≥+1即可拆分\
每次分解仅产出1枚对应强化石,保留原装备基础属性。\
<Img=1> <SendMsg=1>点击分解手中小极品装备</SendMsg>
#act
SetDialog 0
#call [@DecomposeCheck]
[/@DecomposeCheck]
#IF
CheckItemAddAttack 1 //检测装备附加攻击≥1
#ACT
TakeOnItem //取下当前佩戴的装备(仅分解佩戴装备,避免误分解)
GiveItem 1001 1 //发放攻击强化石(ID1001)
GiveItem <$ItemID> 1 //归还原装备(保留基础属性,清除附加攻击)
SendMsg 5 分解成功!获得1枚攻击强化石,装备已归还。
#ELSEIF
CheckItemAddMagic 1 //检测装备附加魔法≥1
#ACT
TakeOnItem
GiveItem 1002 1 //发放魔法强化石(ID1002)
GiveItem <$ItemID> 1 //归还原装备,清除附加魔法
SendMsg 5 分解成功!获得1枚魔法强化石,装备已归还。
#ELSEIF
CheckItemAddDao 1 //检测装备附加道术≥1
#ACT
TakeOnItem
GiveItem 1003 1 //发放道术强化石(ID1003)
GiveItem <$ItemID> 1 //归还原装备,清除附加道术
SendMsg 5 分解成功!获得1枚道术强化石,装备已归还。
#ELSESAY
你佩戴的装备无附加属性,或附加属性不足+1,无法分解!
2. 多属性装备分解适配(可选)
若装备同时附加多种属性(如攻击+1、魔法+2),可添加多属性检测逻辑,依次分解产出对应强化石,补充代码如下(添加至[/@DecomposeCheck]段):
#ELSEIF
CheckItemAddAttack 1
CheckItemAddMagic 1
#ACT
TakeOnItem
GiveItem 1001 1
GiveItem 1002 1
GiveItem <$ItemID> 1 //归还装备,清除所有附加属性
SendMsg 5 分解成功!获得攻击、魔法强化石各1枚。
三、脚本优化与细节调整(贴合176版本特性)
1. 装备限制设置(避免分解关键道具)
176版本部分装备需禁止分解(如屠龙、裁决、赤月套装),在#IF段添加装备ID排除,示例:
#IF
CheckItemID 3017 //裁决之杖ID,禁止分解
#SAY
该装备为核心道具,禁止分解!
#ELSEIF
CheckItemAddAttack 1 //后续检测逻辑不变
可添加多个CheckItemID语句,排除所有无需分解的核心装备。
2. 分解消耗设置(可选,增加合理性)
添加金币消耗,避免无成本分解,在#ACT段补充代码:
TakeGold 10000 //分解一次消耗10000金币
同时在#IF段添加金币检测:
#IF
CheckGold 10000
CheckItemAddAttack 1
//后续逻辑不变,金币不足则提示无法分解
四、脚本部署与测试步骤
1. 配置NPC:打开Envir\NPCs\Config.txt,添加NPC配置(格式:小极品分解师 3 320 330),3为比奇城地图编号,坐标可自定义,确保玩家可到达。
2. 数据库配置:在Item.txt中添加强化石道具

