传奇服务端CheckItemList加载报错与装备回收失效排查指南

来源: 作者: 点击:
服务端提示 [Exception] CheckItemList.txt 加载错误!!! 以及装备回收系统失效,通常是由文件路径、编码格式或脚本配置异常引起的。以下是具体的排查与修复步骤:

排查 CheckItemList.txt 加载错误

确认文件是否存在及路径正确
首先检查服务端目录下的 MirServerMir200Envir 路径中是否存在 CheckItemList.txt 文件。如果该文件不存在,服务端在启动加载时就会直接报错。如果确认缺失,可以手动在该目录下新建一个空白的 CheckItemList.txt 文本文件,或者从其他正常运行的版本中复制一份过来。

检查文件编码格式
传奇服务端对文本文件的编码要求非常严格。如果该文件是用Windows自带的记事本默认保存的,可能会被存为UTF-8或Unicode编码,而服务端通常只识别ANSI编码。
修复方法:右键点击 CheckItemList.txt,选择“打开方式”,使用“记事本”打开。点击左上角的“文件” -> “另存为”,在弹出的窗口右下角找到“编码”选项,将其修改为“ANSI”,然后保存并覆盖原文件。

检查文件内容与语法
如果文件存在且编码正确,可能是文件内部的内容格式有误。打开该文件,检查里面是否有乱码、多余的空格、中文字符的标点符号,或者不符合引擎规范的物品名称。建议清空文件内容,仅保留纯英文或正确的物品代码,保存为ANSI编码后再重启服务端测试。

排查装备回收系统失效

装备回收功能通常是通过NPC脚本实现的,脚本文件一般存放在 MirServerMir200EnvirMarket_Def 目录下。回收失效可以从以下几个方面排查:

检查回收NPC脚本文件
找到负责装备回收的NPC脚本文件(文件名可能包含“回收”、“Recycle”等字眼,或者在 MerChant.txt 中查看该NPC对应的脚本路径)。打开该脚本,检查代码逻辑是否完整。
常见问题:脚本中引用的物品变量名拼写错误、回收指令(如 GAMEGOLD、CREDITPOINT 等给予货币的指令)格式不对,或者判断条件(如 CHECKITEM)写错。

检查物品名称与脚本匹配
如果近期修改过物品数据库(如 StdItems.txt 或 item.db),导致物品名称或编号发生变化,而回收脚本中仍然使用旧的物品名称,就会导致无法识别物品,从而无法回收。确保脚本中调用的物品名称与数据库中完全一致。

检查脚本中的路径引用
回收脚本中可能会引用其他子脚本或配置文件,如果这些被引用的文件路径写错或文件丢失,也会导致整个回收功能卡死或失效。仔细核对脚本中的 #IF 和 #ACT 逻辑块,确保没有语法断层。

服务端日志排查
在尝试回收装备时,观察服务端控制台(M2)是否有新的报错信息。如果有类似“找不到脚本”、“变量错误”等提示,根据提示的具体行号去对应的脚本文件中修改。