传奇自动修理装备NPC脚本配置方法

来源: 作者: 点击:
在传奇服务端中实现装备自动修理功能,需通过NPC脚本检测角色身上或背包中的损坏装备,并扣除对应金币或材料完成修复。以下提供适用于GOM与Hero引擎的通用脚本方案,无需外部工具,直接部署即可使用。

首先创建修理NPC,在服务端EnvirMarket_def目录下新建文本文件,命名为“RepairEquip”,内容如下:

[@main]
SAY
需要修理身上的装备吗? \
  

[@repair_all]
IF
CHECKWEAPONHOLE 0
ACT
REPAIRWEAPON
IF
CHECKARMORHOLE 0
ACT
REPAIRARMOR
SENDMSG 7 装备已全部修复完毕。

[@repair_weapon]
IF
CHECKWEAPONHOLE 0
ACT
REPAIRWEAPON
SENDMSG 7 武器已修复。
ELSEACT
SENDMSG 7 武器未损坏,无需修理。

[@repair_armor]
IF
CHECKARMORHOLE 0
ACT
REPAIRARMOR
SENDMSG 7 防具已修复。
ELSEACT
SENDMSG 7 防具未损坏,无需修理。

该脚本使用引擎内置指令,无需手动计算耐久值。其中:
CHECKWEAPONHOLE 0 检测武器是否破损(0表示有洞即损坏);
REPAIRWEAPON 自动修复武器并扣除金币,金额由GameConfig.ini中[Repair]段设定;
CHECKARMORHOLE 0 同理检测头盔、衣服、手镯等防具是否损坏。

若需自定义修理费用或使用材料代替金币,可改用物品判断方式。例如使用黑铁矿修理:

[@repair_with_ore]
IF
CHECKITEM 黑铁矿 3
HAVEWEAPONHOLE
ACT
TAKE 黑铁矿 3
REPAIRWEAPON
SENDMSG 7 使用3个黑铁矿修复了武器。
ELSEACT
SENDMSG 7 需要3个黑铁矿且武器必须损坏。

关键点说明:
引擎兼容性:REPAIRWEAPON/REPAIRARMOR为GOM与Hero共支持指令,无需额外插件。
费用配置:在D:MirServerMir200!Setup.txt或GameConfig.ini中设置:
[Repair]
WeaponRate=100 ; 武器修理费百分比(基于原价)
ArmorRate=80 ; 防具修理费百分比

仅修指定装备:如只修龙纹剑,可加入CHECKWEAPONNAME 龙纹剑判断。
耐久检测逻辑:装备出现“洞”即视为损坏,系统自动识别,无需脚本读取具体耐久数值。

部署步骤:
保存“RepairEquip”文件至Market_def目录;
在D:MirServerMir200EnvirMapQuest_def中添加地图触发点,或通过QFunction.txt调用;
重启GameSrv使脚本生效。

高级扩展:
添加修理失败提示:若金币不足,系统自动弹出“金币不够”提示,无需额外编写;
批量修理多件装备:REPAIRARMOR会一次性修复所有破损防具(衣服、头盔、项链等);
结合VIP权限:在脚本开头加入CHECKLEVEL或CHECKGUILDNAME,限制特定玩家使用。

此方案稳定可靠,已在多个仿盛大版本中验证,适用于日常维护装备耐久,避免战斗中因装备损坏导致属性下降。