传奇服务端脚本错误与元宝商人问题傻瓜式解决办法

来源: 作者: 点击:
一、脚本错误“找不到文件”解决步骤

错误提示中明确指出缺失文件路径:
D:MirServerMir200EnvirMapQuest_def..QuestDiary诚意网络军团功能神影名单.txt

傻瓜式操作流程如下:

打开服务端根目录
进入 D:MirServerMir200Envir 文件夹。

检查 QuestDiary 文件夹是否存在
若没有 QuestDiary 文件夹,手动新建一个(注意拼写,不能错)。

逐级创建缺失子目录
在 QuestDiary 内依次创建以下文件夹(按顺序):
先建 诚意网络
再进入 诚意网络,建 军团功能

创建缺失的空文件
进入 军团功能 文件夹,新建一个文本文档,命名为:
神影名单.txt
(注意:扩展名必须是 .txt,不能是 .txt.txt)

用记事本打开该文件,输入一行内容:
; 神影名单

保存并关闭。这行注释可防止脚本读取空文件时报错。

重启服务端
关闭所有 MirServer 相关进程(包括 Gate、LoginSvr、M2Server),重新启动。

⚠️ 注意:路径中的 .. 表示上一级目录,实际完整路径应为:
D:MirServerMir200EnvirQuestDiary诚意网络军团功能神影名单.txt
务必确保文件位置与脚本中引用的相对路径一致。

二、元宝商人收钱不给武器解决办法

此问题通常由两个原因导致:物品名称不匹配或背包空间不足。按以下步骤排查:

第一步:检查商人脚本中的物品名

找到元宝商人的 NPC 脚本文件(通常在 D:MirServerMir200EnvirMarket_def 下,文件名如 元宝商人.txt 或 YBShop.txt)。
打开文件,找到购买武器的选项,例如:
[@BuyWeapon]
#IF
CHECKGOLD 1000000
#ACT
TAKE GOLD 1000000
GIVE 屠龙 1

确认“屠龙”是否与 GameDefine.txt 中定义的物品名完全一致。
打开 D:MirServerMir200GuildBaseGameDefine.txt,搜索“屠龙”,看实际名称是否为“屠龙【特】”或“屠龙(男)”。若不一致,修改脚本中的物品名为完全匹配的名称。

第二步:强制指定物品属性(推荐)

为避免名称歧义,改用物品编号(DBIndex)方式发放。例如:

打开 D:MirServerMir200GuildBaseItemDB.txt。
搜索你要发放的武器(如“屠龙”),找到其对应的编号,例如 DBIndex=1001。
修改商人脚本中的 GIVE 命令为:
GIVEITEM 1001 1

这样系统直接通过编号发物品,不受名称影响。

第三步:检查玩家背包空间

在 GIVE 或 GIVEITEM 前加入背包检测:
IF
CHECKBAGGAGE 1
ACT
GIVEITEM 1001 1
ELSE
MESSAGE 背包空间不足,请清理后再购买!

CHECKBAGGAGE 1 表示至少需要1格空位。

第四步:验证元宝扣除逻辑

确保使用的是 TAKE GOLD 而非 TAKEGAMEGOLD(后者用于绑定元宝)。普通元宝必须用 GOLD。

完成以上操作后,重新加载NPC(在M2控制台输入 reload npc)或重启服务端。元宝购买功能即可恢复正常。