一、核心适配说明(1.76版本专属)
万州传奇外传1.76版本主流适配HERO引擎,部分衍生版本适配Blue引擎,装备更名NPC脚本需按对应引擎调整指令格式。脚本核心功能为通过NPC交互,实现玩家背包内装备自定义更名,支持限制更名次数、消耗指定道具/货币,规避重复更名及异常字符问题。
脚本默认支持所有可交易装备更名,绑定角色装备需额外添加权限判断指令;名称长度限制为1-8个中文字符(或1-16个英文字符),超出长度将自动截断,特殊符号需提前在脚本内添加白名单才可显示。
二、HERO引擎装备更名NPC完整脚本
1. NPC基础配置(脚本头部)
;创建装备更名NPC(坐标可自定义,示例为土城安全区)
[NPC脚本]
ID=10086
Name=装备更名使者
Map=3
X=330
Y=320
Dir=4
Script=装备更名脚本.txt
Desc=专为勇士提供装备个性化更名服务,需消耗指定材料方可办理。
2. 核心交互脚本(装备更名脚本.txt)
;对话触发
#ACT
MOV S$OldName ""
MOV S$NewName ""
SENDMSG 6 欢迎使用装备更名服务,每次更名需消耗元宝500+更名符1个!
;主菜单
#SAY
请选择操作:\
<@提交需更名装备> \
<@取消操作>
;提交装备分支
[@提交需更名装备]
#ACT
CHECKITEM 更名符 1
CHECKGOLD 500
IF NOT SYSMSG 6 所需材料不足(元宝500+更名符1个),无法办理!
ELSE
OPENBACKPACK 1 0 0 0 0 0 0 0 ;打开背包让玩家选择装备
SETSELECTITEM 1 ;开启装备选择模式
SENDMSG 6 请在背包中选择需更名的装备(绑定装备不可选)
#SELECTITEM
MOV S$OldName <ITEMNAME> ;获取选中装备名称
MOV U8$EquipID <ITEMID> ;记录装备ID
MOV U8$EquipPos <ITEMPOS> ;记录装备位置
SENDMSG 6 已选中:<ITEMNAME>,请输入新名称(1-8字)
INPUTSTR S$NewName 8 ;获取玩家输入名称(限制8字)
GOTO @确认更名
;确认更名分支
[@确认更名]
#ACT
IF S$NewName = ""
SYSMSG 6 名称不可为空,请重新输入!
GOTO @提交需更名装备
ELSE
;过滤异常字符(保留中英文、数字)
FILTERSTR S$NewName "<>/?;:[]{}|\\@#$%^&*()"
;修改装备名称
CHANGEITEMNAME <ITEMID> <ITEMPOS> %S$NewName%
;扣除消耗材料
DELITEM 更名符 1
DELGold 500
SENDMSG 6 装备更名成功!新名称:%S$NewName%
CLOSEBACKPACK
#SAY
装备更名已完成,快去展示你的专属装备吧!\
<@返回主菜单>
;取消操作分支
[@取消操作]
#ACT
SENDMSG 6 已取消装备更名操作,欢迎下次再来!
CLOSEBACKPACK
BREAK
;返回主菜单分支
[@返回主菜单]
#SAY
请选择操作:\
<@提交需更名装备> \
<@取消操作>
三、Blue引擎脚本适配修改(1.76衍生版)
万州传奇外传1.76部分衍生版本用Blue引擎,需替换以下核心指令,其余逻辑与HERO引擎一致,避免指令错误导致NPC无响应。
;Blue引擎专属指令替换
;1. 装备选择指令替换
原指令:OPENBACKPACK 1 0 0 0 0 0 0 0
替换为:OpenBag 1 ;开启背包选择界面
;2. 装备名称修改指令替换
原指令:CHANGEITEMNAME <ITEMID> <ITEMPOS> %S$NewName%
替换为:ItemRename <ITEMPOS> %S$NewName% ;按装备位置修改名称
;3. 字符过滤指令替换
原指令:FILTERSTR S$NewName "<>/?;:[]{}|\\@#$%^&*()"
替换为:FilterString S$NewName 1 ;开启基础字符过滤(1为默认过滤等级)
四、脚本安装及配置步骤
1. 脚本部署
1. 将NPC基础配置代码复制到版本目录下的“NPC.txt”文件末尾,确保ID(10086)不与现有NPC重复,可自行修改ID及坐标适配需求。
2. 在“Script”文件夹内新建“装备更名脚本.txt”,粘贴对应引擎的核心交互脚本,保存后关闭文件。
3. 若版本无“更名符”道具,需在“物品数据库”中添加:ID=2000,Name=更名符,Type=特殊道具,可通过怪物掉落、商城兑换设置获取途径。
2. 参数自定义调整
消耗调整:修改脚本内“CHECKGOLD 500”“DELGold 500”中的数值,可调整元宝消耗;替换“更名符”为其他道具名称(如声望令牌),同步修改物品ID即可更换消耗道具。
名称长度:将“INPUTSTR S$NewName 8”中的“8”改为对应数值,调整名称字数限制,建议不超过10字,避免显示异常。
五、常见问题及修正方案
1. NPC无响应/对话异常
检查NPC ID是否重复,打开“NPC.txt”排查重复ID并修改;脚本内指令是否遗漏符号(如分号、引号),HERO引擎对符号格式要求严格,缺失将导致脚本瘫痪,需逐行核对修复。
2. 装备更名后名称不显示/乱码
未添加字符过滤指令或特殊符号未加入白名单,补充FILTERSTR(HERO)/FilterString(Blue)指令;名称长度超出限制,缩短输入字符至规定范围,重新更名即可恢复正常。
3. 绑定装备无法更名
在[@提交需更名装备]分支添加绑定判断指令:HERO引擎添加“CHECKITEMBIND <ITEMID> <ITEMPOS>”,Blue引擎添加“ItemIsBind<ITEMPOS>”,提示玩家绑定装备不可更名,避免脚本报错。
六、补充使用说明
脚本支持重复更名,每次更名均需消耗对应材料,可在脚本内添加“CHECKVAR HUMAN RenameCount > 3”限制单角色每日更名次数(需提前定义变量)。更名后的装备不影响属性及交易功能,仅变更显示名称。
若版本更新后脚本失效,核对引擎类型是否变更,重新替换对应指令即可;建议备份原始脚本文件,修改后测试无异常再正式部署,避免影响游戏内正常交互。

