在传奇服务端中,修理装备需通过NPC对话触发脚本逻辑。鞋子作为标准装备位(位置代码为4),可通过CheckItemWear、TakeWear和GiveWear等指令实现检测、卸下、修复和重新穿戴。以下为完整可运行的修理鞋子脚本,适用于HEROM2或同类引擎。
首先,在EnvirMarket_def目录下创建NPC脚本文件,例如命名为FixShoes.txt。内容如下:
[@main]
IF
CHECKITEMWEAR 4
ACT
MOV S0 1
GOTO @ConfirmRepair
ELSEACT
SENDMSG 7 你没有穿鞋子,无法修理。
BREAK
[@ConfirmRepair]
SAY
你的鞋子已磨损,修理需要10000金币。\
是否继续?
IF
EQUAL S0 1
ACT
MOV S1
MOV S2
INC S2 -
MUL S2 -1
MOV N0 S2
MUL N0 500
; 此处可自定义修理费用计算方式,示例按耐久差×500
IF
CHECKGOLD > N0
ACT
TAKEWEAR 4
GIVEWEAR 4
TAKE GOLD N0
SENDMSG 7 鞋子修理完成,花费金币。
CLOSE
ELSEACT
SENDMSG 7 金币不足,无法修理。
CLOSE
脚本逻辑说明:
CHECKITEMWEAR 4 检测角色是否穿戴鞋子(装备位4)。
若已穿戴,记录当前名称与耐久,计算缺失耐久值,并据此生成修理费用(示例为每点耐久500金币)。
检查玩家金币是否足够,足够则执行TAKEWEAR卸下,再用GIVEWEAR以满耐久重新给予。
未穿鞋或金币不足时返回提示并关闭对话。
关键指令解析:
:获取当前穿戴鞋子的物品名。
:获取当前耐久值。
:获取该物品最大耐久。
TAKEWEAR / GIVEWEAR:专用于装备位的取还操作,保留强化、属性等附加信息。
若需固定费用(如统一10000金币),可简化计算部分,直接写:
IF
CHECKGOLD > 10000
ACT
TAKEWEAR 4
GIVEWEAR 4
TAKE GOLD 10000
注意事项:
脚本必须绑定到NPC的QFunction或直接在Npc_def中调用。
装备位编号:0武器、1头盔、2项链、3铠甲、4鞋子、5手镯、6戒指等,勿混淆。
GIVEWEAR必须提供完整物品名和耐久,否则可能生成空白装备。
此脚本可直接放入服务端使用,无需额外配置,适用于所有基于Mir200架构的版本。

