文件格式检查
AutoRunRobot.txt 第一行不能有空格或空行。文件开头必须直接是#AutoRun,任何前置内容都会导致引擎无法识别。使用记事本打开检查文件开头。
时间格式验证
RunOnDay 时间格式必须正确。0:00 表示凌晨零点,24小时制。部分引擎要求格式为 00:00,两位小时数。尝试修改时间格式测试。
正确格式:
AutoRun NPC RunOnDay 00:00 1 @每日扣点
AutoRun NPC RunOnDay 0:00 1 @每日扣点
脚本调用路径
RobotManage.txt 文件位置必须正确。通常放置于 M2Server 引擎的 Robot 目录下。路径错误导致引擎找不到脚本文件。
标准路径:
M2ServerRobotRobotManage.txt
M2ServerRobotAutoRunRobot.txt
引擎功能开启
检查 M2 管理器是否启用机器人功能。部分引擎需要手动勾选机器人选项。未启用时脚本不会执行。
M2管理器 → 选项 → 功能设置 → 启用机器人脚本
脚本语法规范
脚本标签格式必须正确。[@标签名] 方括号不能缺少,标签名不能有空格。语法错误导致脚本无法加载。
正确格式:
[@每日扣点]
错误格式:
[ @每日扣点 ]
@每日扣点
条件判断简化
测试时先移除所有条件判断。直接执行发送消息命令,确认机器人基础功能正常。再逐步添加条件逻辑。
测试脚本:
[@每日扣点]
IF
ACT
SENDMSG 1 机器人脚本运行正常
变量类型确认
CHECKVAR 命令变量类型必须匹配。HUMAN 表示人物变量,GLOBAL 表示全局变量。类型错误导致条件判断失败。
人物变量:
CHECKVAR HUMAN 月卡天数 > 0
全局变量:
CHECKVAR GLOBAL 月卡天数 > 0
变量文件路径
SAVEVAR 保存路径必须存在。目录不存在时保存失败,可能导致脚本中断。手动创建对应目录结构。
目录结构:
M2ServerQuestDiary数据文件月卡\
服务器重启要求
修改机器人脚本后必须重启服务器。部分引擎支持热重载,但多数需要完全重启使更改生效。
重启步骤:
关闭游戏服务器
保存脚本文件
重新启动服务器
日志文件查看
查看引擎日志输出信息。日志中会记录脚本加载失败、语法错误等信息。根据日志定位具体问题。
日志位置:
M2ServerLogs脚本日志.txt
M2ServerLogs系统日志.txt
文件编码格式
脚本文件编码必须正确。使用 ANSI 编码保存,UTF-8 编码可能导致引擎无法识别。记事本另存为选择 ANSI。
保存设置:
记事本 → 另存为 → 编码 → ANSI
脚本权限设置
脚本文件不能有只读属性。只读文件引擎无法读取更新内容。右键文件属性取消只读勾选。
文件属性:
右键 → 属性 → 取消只读勾选
多任务冲突检查
同一时间不能运行多个相同任务。任务名称重复会导致冲突。检查 AutoRunRobot.txt 中是否有重复定义。
检查重复:
AutoRun NPC RunOnDay 0:00 1 @每日扣点
AutoRun NPC RunOnDay 0:00 1 @每日扣点 ;重复需删除
引擎版本兼容
不同引擎脚本命令存在差异。传奇引擎、GOM 引擎、GEE 引擎等语法略有不同。确认所用引擎类型。
引擎类型确认:
M2Server 启动界面显示引擎版本
查看引擎说明书确认命令格式
测试脚本简化
使用最简单脚本测试机器人功能。排除复杂逻辑干扰,确认基础功能正常后再添加业务逻辑。
测试脚本:
AutoRunRobot.txt
AutoRun NPC RunOnDay 00:00 1 @测试运行
RobotManage.txt
[@测试运行]
IF
ACT
SENDMSG 1 测试成功
定时频率设置
RunOnDay 第三个参数是执行次数。1 表示执行一次,0 表示无限循环。设置错误可能导致只执行一次。
参数说明:
AutoRun NPC RunOnDay 00:00 1 @标签 ;执行1次
AutoRun NPC RunOnDay 00:00 0 @标签 ;无限循环
变量读取测试
添加变量读取测试命令。确认变量能正确读取,排除变量问题导致脚本不执行。
[@每日扣点]
IF
ACT
SENDMSG 1 当前月卡天数:
CALCVAR HUMAN 月卡天数 - 1
SAVEVAR HUMAN 月卡天数 ..QuestDiary数据文件月卡月卡天数.txt
脚本加载顺序
部分引擎有脚本加载顺序要求。RobotManage.txt 需要在其他脚本之前加载。检查引擎配置中的脚本加载顺序。
加载顺序:
RobotManage.txt
其他功能脚本
地图脚本
特殊字符检查
脚本中不能有特殊字符或隐藏字符。复制粘贴可能带入不可见字符,导致引擎解析失败。手动输入脚本内容。
检查方法:
使用纯文本编辑器打开
删除所有空白行重新输入
管理员权限验证
部分命令需要管理员权限才能执行。SENDMSG 命令通常不需要权限,但某些引擎可能有限制。
权限测试:
使用普通玩家账号测试
确认消息能否正常显示
多区同步问题
多区服务器需要分别配置机器人脚本。每个区独立运行,脚本不会自动同步。各区分别检查配置。
多区配置:
每个服务器目录单独配置
确保各区脚本文件一致
时间同步检查
服务器系统时间必须准确。时间不同步导致定时任务执行时间错误。校准服务器系统时间。
时间校准:
Windows 时间设置 → 同步时间
确保与标准时间一致
脚本长度限制
部分引擎对脚本长度有限制。脚本过长可能被截断导致执行失败。拆分长脚本为多个文件。
脚本拆分:
按功能模块拆分多个脚本文件
使用#CALL 命令调用子脚本
常见错误汇总
错误1:文件路径错误
解决:确认脚本放在正确目录
错误2:时间格式错误
解决:使用 00:00 两位格式
错误3:引擎未启用机器人
解决:M2 管理器勾选启用选项
错误4:文件编码错误
解决:另存为 ANSI 编码
错误5:未重启服务器
解决:修改后完全重启服务器
错误6:变量目录不存在
解决:手动创建对应目录
错误7:脚本语法错误
解决:检查标签和命令格式
错误8:日志中有报错信息
解决:根据日志提示修复
完整排查流程
第一步:检查 AutoRunRobot.txt 文件格式
第二步:检查 RobotManage.txt 脚本语法
第三步:确认 M2 管理器启用机器人功能
第四步:查看引擎日志是否有报错
第五步:使用简化脚本测试基础功能
第六步:逐步添加业务逻辑验证
第七步:确认变量文件路径存在
第八步:重启服务器使配置生效
掌握以上排查方法后,可系统解决机器人脚本不运行问题。核心是确认引擎配置正确、文件格式规范、路径设置准确。从最简单脚本开始测试,逐步排查定位具体原因。根据日志提示修复错误,确保机器人功能正常运行。

