传奇 NPC 卖物品混乱?手把手教你修改售卖列表

来源: 作者: 点击:
自己开传奇私人服务器准备发布时,常遇到 NPC 售卖物品错乱问题:药店混杂布衣、回城卷,首饰店同时卖武器和终极装备,严重影响玩家体验。其实这类问题只需修改服务端的 NPC 脚本文件即可解决,核心是找到对应 NPC 的售卖配置,删除多余物品或补充合理商品,以下是分引擎的详细操作指南。
一、前期准备:2 件事避免操作失误
修改前先做好基础准备,防止文件改错导致 NPC 失效:
备份核心文件:找到服务端根目录下的Mir200\Envir文件夹,复制Merchant.txt和Market_Def文件夹到桌面(出错可直接替换恢复);
确认引擎类型:打开Mir200文件夹,查看核心程序名称(如M2Server_GOM.exe为 GOM 引擎,M2Server_HERO.exe为 HERO 引擎),不同引擎修改路径一致,但脚本格式略有差异。
二、核心步骤:分 3 步定位并修改 NPC 售卖列表
所有 NPC 的售卖规则都存放在 2 个文件中:Merchant.txt记录 NPC 基本信息(位置、名称),Market_Def文件夹下的脚本文件记录具体售卖物品。以 “修改药店只卖药水” 为例,操作如下:
1. 第一步:找到目标 NPC 的 “身份标识”
先在Merchant.txt中定位药店、首饰店等 NPC 的关键信息:
打开Mir200\Envir\Merchant.txt(用记事本或 Notepad++ 打开,推荐后者方便搜索);
按 “Ctrl+F” 搜索 NPC 名称,比如输入 “药店”,找到类似条目:
药店老板 3 320 330 药店老板 0 1 0 0 0 0
解读:依次为【脚本名称 地图编号 X 坐标 Y 坐标 NPC 显示名 标志 形象...】,核心记住 “脚本名称”(此处为 “药店老板”)和 “地图编号”(此处为 “3”,代表盟重土城)。
2. 第二步:找到对应 NPC 的售卖脚本文件
根据第一步的 “脚本名称 + 地图编号” 找具体售卖配置:
进入Mir200\Envir\Market_Def文件夹,找到以 “脚本名称 - 地图编号.txt” 命名的文件,比如 “药店老板 - 3.txt”(若没有地图编号,直接找 “药店老板.txt”);
双击打开文件,重点看(@buy)标签下的内容 —— 这部分就是 NPC 的售卖列表,混乱问题都出在这里。
错误示例(药店老板的混乱配置):
(@buy)
请选择需要购买的物品:
金疮药(小) 1001 100 10 @Main
布衣(男) 1002 500 1 @Main // 多余物品,需删除
回城卷 1015 200 1 @Main // 非药品,需删除
魔法药(小) 1003 100 10 @Main

3. 第三步:修改售卖列表(删除 / 添加 / 调整)
按 NPC 类型清理售卖物品,遵循 “各司其职” 原则(药店卖药水、回城卷;首饰店卖项链、戒指等):
(1)删除多余物品
直接删除不需要的物品行即可,以上面的药店为例,删除 “布衣” 和 “回城卷” 对应的两行,修改后:
(@buy)
请选择需要购买的物品:
金疮药(小) 1001 100 10 @Main
魔法药(小) 1003 100 10 @Main

(2)添加缺失物品
若药店缺少 “太阳水”,可按格式补充一行(需知道物品 ID,查询方法见下文):
太阳水 1020 500 1 @Main
格式解读:物品名称 物品ID 售价 单次最大购买量 @返回主菜单
(3)调整价格或数量
直接修改 “售价” 和 “单次最大购买量” 数字,比如将金疮药价格从 100 改为 80,单次购买量从 10 改为 20:
金疮药(小) 1001 80 20 @Main
(4)不同引擎的特殊注意
HERO 引擎:部分脚本会用#ACT标签控制售卖条件,删除物品时仅删(@buy)下的物品行即可,不要动#ACT相关代码;
GOM 引擎:支持批量添加同类物品,用//标注注释(如// 基础药水类),方便后续维护。
三、关键工具:3 种方法查物品 ID(必学)
修改时必须用 “物品 ID” 替代名称(引擎只识别 ID),以下是快速查询方法:
1. 服务端数据库查询(最准确)
打开服务端Mir200\DB文件夹,找到Item.DB文件;
用 “DB Commander” 或 “传奇物品数据库编辑器” 打开(网上可直接下载);
搜索物品名称(如 “金疮药”),对应的 “物品编号” 就是 ID(如 1001)。
2. 游戏内指令查询(最快捷)
启动游戏,用 GM 账号登录;
在聊天框输入指令/itemid 物品名称(部分引擎为@itemid 物品名称),系统会直接返回 ID,比如输入/itemid 太阳水,显示 “太阳水 ID:1020”。
3. 在线查询工具(应急用)
搜索 “传奇物品 ID 查询”,找到专用网站,输入物品名称即可获取 ID,注意选择与自己私人服务器版本匹配的数据库(如复古版、合击版)。
四、收尾操作:测试生效与问题排查
修改后需确认 NPC 售卖列表已更新,避免白做无用功:
1. 生效步骤
保存修改的脚本文件(编码选 ANSI,避免乱码);
重启私人服务器服务端(必须重启 M2Server 核心程序,否则修改不生效);
登录游戏,找到目标 NPC(如药店老板),点击 “购买”,查看物品列表是否已清理。
2. 常见问题解决
修改后 NPC 消失:检查Merchant.txt是否误删条目,用备份文件替换恢复;
物品不显示:确认物品 ID 正确,或该物品未在Item.DB中添加(需先在数据库添加物品);
脚本报错:检查(@buy)下的格式是否正确,每行末尾必须带@Main,物品 ID、价格不能留空。
五、进阶优化:让 NPC 售卖更合理(可选)
清理混乱物品后,可按 NPC 类型优化售卖列表,提升玩家体验:
药店:只放各类药水(小 / 中 / 大金疮药、魔法药)、回城卷、随机传送卷;
首饰店:分 “普通首饰”(铜戒指、铁项链)和 “进阶首饰”(珊瑚戒指、生命项链),按等级排序;
武器店:对应职业分类(武士武器:青铜剑、斩马刀;法师武器:木剑、魔杖),不混入首饰或装备;
特殊 NPC:如 “新手向导” 只卖布衣、木剑等新手物品,“高级商人” 才卖稀有装备(需在脚本加 GM 权限限制)。
六、补充注意:避免后期出问题
定期备份脚本:每次更新 NPC 后,将Market_Def文件夹压缩保存,防止误操作后无法恢复;
统一物品分类:用表格记录所有 NPC 的售卖清单(如 “药店:1001 金疮药、1003 魔法药”),方便后续批量修改;
版本匹配:更新私人服务器版本后,先检查Market_Def文件夹是否被覆盖,若覆盖需重新调整售卖列表。