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

传奇机器人脚本不运行排查与修复指南

热度:
一、文件路径与命名规则差异

不同引擎版本对机器人脚本的存放目录和文件名要求不同,这是导致“换版本后不运行”的首要原因。

1.目录结构差异

•Hero/Blue/老GEE引擎:核心文件通常位于Mir200\Envir\Robot.txt(配置文件)和Mir200\Envir\Robot_def\目录下(如AutoRunRobot.txtRobotManage.txt)。

-新GEE/GOM/翎风引擎:可能使用Mir200\Envir\Robot_def\AutoRunRobot.txt作为主配置,且要求Robot.txt中的AutoRunRobot指向必须准确。
-996引擎:部分版本将脚本直接放在Mir200\Envir\Robot_def\下,需检查#AutoRunNPC命令格式。

解决方法:对比两个版本的Envir目录结构。将脚本文件放入新版本对应的正确路径,并检查Robot.txt内是否包含AutoRunRobot这一行。

2.文件名严格匹配

机器人脚本的执行依赖严格的文件名关联。例如,Robot.txt中若配置为系统控制AutoRunRobot,则对应的定时任务文件必须命名为AutoRunRobot.txt(注意大小写和空格)。若你直接复制了旧版本的MyRobot.txt但未在Robot.txt中声明,引擎将完全忽略。

解决方法:打开新版本的Robot.txt,查看其引用的具体文件名,确保你的脚本文件名与之完全一致。

二、引擎命令语法与格式兼容性

即使脚本逻辑正确,不同引擎对命令的解析规则也存在细微差别。

1.时间触发格式错误

#AutoRunNPC命令对时间格式极其敏感。例如,RunOnDay0:00在某些引擎中必须写为RunOnDay00:00:00(补全秒数),MIN1(每分钟)在某些版本中可能被废弃,需改用SEC60。

解决方法:查阅新版本引擎的帮助文档(.chm文件),核对#AutoRunNPC支持的时间单位(SEC/MIN/HOUR/RUNONWEEK)及分隔符格式。

2.标签调用与变量作用域

•标签未定义:AutoRunRobot.txt中调用了@每日奖励,但RobotManage.txt中缺少[@每日奖励]标签,或标签名存在全角字符差异。

-变量未初始化:旧脚本使用了HUMAN或GLOBAL变量,但新版本中这些变量未在QManage.txt的[@Login]段进行初始化(VAR命令),导致脚本静默失败。

解决方法:在M2的“脚本日志”中查看是否有“找不到标签”或“变量未定义”的报错,并逐一修正。

三、M2引擎配置与加载状态

服务端的环境配置直接影响脚本的加载能力。

1.消息过滤拦截

部分服务端在M2(查看→列表信息二→消息过滤)中设置了关键词过滤。如果你的机器人脚本包含SENDMSG广播,且广播内容(如“元宝”“奖励”)被误设为过滤词,会导致脚本执行被阻断,表面看就是“不运行”。

解决方法:清空M2的消息过滤列表,或检查广播内容是否触发了敏感词拦截。

2.脚本未重载

修改Robot.txt或AutoRunRobot.txt后,单纯的重读NPC脚本可能无法生效。机器人配置的变更有时需要重启M2引擎才能被重新加载。

解决方法:修改完机器人相关文件后,直接关闭并重启M2Server,观察启动日志中是否显示“LoadingRobot.txt...”等信息。

四、编码问题与权限拦截

1.文件编码必须为ANSI

传奇引擎(尤其是Windows服务器环境)通常要求脚本文件编码为ANSI。如果你在本地用记事本或Notepad++编辑后保存为UTF-8或UTF-8withBOM格式,引擎会因无法解析中文字符而跳过整个文件。

解决方法:用文本编辑器打开脚本,选择“文件→另存为”,将编码明确设置为“ANSI”后保存覆盖。

2.系统权限与杀毒软件

在WindowsServer2008/2012或高版本Win10/11系统上,服务端可能因权限不足无法读取Envir目录下的脚本文件。此外,杀毒软件可能将RobotManage.txt中的系统命令误判为簿并隔离。

解决方法:以管理员身份运行GameCenter.exe,并将服务端目录添加到杀毒软件的白名单中。

五、快速诊断流程

1.对路径:确认Robot.txt和Robot_def目录位置与旧版本一致。
2.看日志:打开M2→查看→脚本日志,寻找红色的“Loadfail”或“ScriptError”提示。
3.改编码:将机器人脚本另存为ANSI编码。
4.重启M2:修改后重启M2引擎,而非仅重读NPC。

总结:脚本在A版本能跑,在B版本哑火,90%是路径不对、文件名未关联、编码错误这三个基础环境问题。先别急着改逻辑,按上述流程逐项对比即可解决。
[顶部]