当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务端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)是否有新的报错信息。如果有类似“找不到脚本”、“变量错误”等提示,根据提示的具体行号去对应的脚本文件中修改。
[顶部]