万州传奇外传1.76装备更名NPC脚本完整写法

来源: 作者: 点击:
在传奇1.76版本中,装备更名功能需通过自定义NPC脚本实现。核心逻辑为:检测玩家是否手持可更名装备、收取费用、执行重命名操作。以下为适用于“万州传奇外传”服务端的完整脚本,基于HEROM2引擎标准语法编写。

在EnvirMarket_def目录下新建文件,命名为RenameEquip.txt,内容如下:

[@main]
SAY
我可以为你手中的装备赋予新名字。\
费用:50000金币。\


[@RenameNow]
IF
CHECKITEMHAND
ACT
MOV S0
GOTO @InputNewName
ELSEACT
SENDMSG 7 请先拿起一件装备再找我。
BREAK

[@InputNewName]
ASK
请输入新的装备名称(最多8个字符):
IF
EQUAL A0 ""
ACT
SENDMSG 7 名称不能为空。
CLOSE
IF
LEN A0 > 8
ACT
SENDMSG 7 名称不能超过8个字符。
CLOSE

IF
CHECKGOLD > 50000
ACT
TAKEITEMHAND
GIVEITEMHAND A0
TAKE GOLD 50000
SENDMSG 7 装备已更名为[A0]。
CLOSE
ELSEACT
SENDMSG 7 金币不足,无法更名。
CLOSE

脚本关键点解析:
CHECKITEMHAND:检测玩家鼠标是否拾起物品(即“手持”状态)。
:获取当前手持装备原名,存入变量S0备用(可选)。
A0:玩家输入的字符串,通过#ASK指令获取。
LEN A0 > 8:限制名称长度,避免超限导致客户端异常。
TAKEITEMHAND:移除当前手持物品。
GIVEITEMHAND:重新生成同属性装备,最后一项参数为新名称(A0)。

物品属性说明(GIVEITEMHAND参数顺序):
:物品类型编号(如裁决之杖=38)
:当前耐久
:最大耐久(部分版本需此参数)
//:攻击、魔法、道术上下限
:强化等级
:幸运值
:是否带技能(1=带,0=不带)

注意:不同服务端对GIVEITEMHAND参数顺序可能略有差异。若执行后装备属性丢失,请对照StdItems.txt确认参数数量与顺序。

费用与限制设置:
默认收费50000金币,可修改“CHECKGOLD > 50000”和“TAKE GOLD 50000”数值。
可增加职业或等级限制,例如添加“LEVEL > 30”条件。
若需禁止特殊装备更名(如带唯一属性的神器),可加入ITEMNAME判断,例如:
#IF
EQUAL "屠龙"
#ACT
SENDMSG 7 此装备不可更名。
CLOSE

部署步骤:
将RenameEquip.txt放入EnvirMarket_def。
在Npc_def或MapQuest_def中放置NPC,调用[@main]。
确保QFunction.txt未拦截GIVEITEMHAND指令。

此脚本已在多款1.76复古版本中验证可用,支持武器、衣服、首饰等所有可手持装备类型,名称修改后永久生效,重启不还原。