传奇 M2 引擎运行中,FQ 脚本错误是高频问题,多表现为脚本执行中断、M2 控制台报错或游戏功能失效。以下结合实际场景,拆解错误根源与可落地的修复方法。
一、FQ 脚本常见错误类型及成因
1. 语法格式错误(占比最高)
错误表现
M2 控制台提示 “Script Error: FQ Command Syntax Error”,或脚本执行到某行后卡死,常见于@FQ开头的命令语句。
典型成因与修复
括号 / 符号不闭合:FQ 脚本中{} ()需成对使用,例如错误写法:
@FQ CheckItem 1001 1 # 缺少闭合括号
正确写法:
@FQ(CheckItem 1001 1) # 补充括号,确保命令完整性
关键词拼写错误:将 “CheckLevel” 误写为 “CheckLeval”,或 “TakeItem” 误写为 “TakeItme”,需对照 M2 引擎脚本手册核对命令词,建议直接复制手册中的标准关键词。
参数分隔错误:参数间需用空格分隔,不能用逗号或中文空格,错误写法:
@FQ(CheckMap,30) # 用逗号分隔参数
正确写法:
@FQ(CheckMap 30) # 空格分隔参数
2. 路径引用错误(易被忽略)
错误表现
提示 “Script Error: FQ File Path Not Found”,多发生在调用外部配置文件的 FQ 脚本中。
典型成因与修复
文件路径不完整:脚本中引用ItemFilter.txt时,仅写文件名未带目录,错误写法:
@FQ(LoadFile ItemFilter.txt) # 缺少完整路径
正确写法(需匹配服务端实际路径):
@FQ(LoadFile Mir200\Envir\ItemFilter.txt) # 补充从服务端根目录开始的完整路径
路径含中文 / 特殊字符:将 “传奇配置” 作为文件夹名,导致引擎无法识别,需修改为英文或数字命名,例如将 “传奇配置” 改为 “LegendConfig”,同步更新脚本中的路径。
3. 参数类型 / 范围不匹配
错误表现
提示 “Script Error: FQ Param Type Mismatch”,或参数超出引擎限制值。
典型成因与修复
参数类型错误:需传入数字的地方用了文本,例如错误写法(地图 ID 应为数字,却写了地图名):
@FQ(CheckMap 猪洞七层) # 用地图名代替地图ID
正确写法(先在MapInfo.txt查地图 ID,如 30):
@FQ(CheckMap 30) # 传入数字ID
参数超出范围:M2 引擎中 “CheckGold” 命令单次最大检测值为 1000000,超出则报错,错误写法:
@FQ(CheckGold 2000000) # 超出最大限制
正确写法(分两次检测):
@FQ(CheckGold 1000000)
@FQ(CheckGold 1000000) # 拆分参数,符合引擎限制
4. 引擎权限与版本限制
错误表现
脚本无报错但功能不生效,或提示 “Script Error: FQ Command Not Supported”。
典型成因与修复
未开启 FQ 脚本功能:进入 M2 引擎 “选项→脚本设置→FQ 脚本”,勾选 “启用 FQ 命令支持”,部分版本需重启 M2 生效。
引擎版本不兼容:低版本 M2(如 HERO 1.08)不支持@FQ(SetSkillPower)等高级命令,需升级引擎至对应版本,或替换为旧版本支持的替代命令(例如用SetSkill代替SetSkillPower)。
二、FQ 脚本错误排查分步流程
1. 定位错误位置(关键第一步)
打开 M2 引擎 “日志” 功能:点击 “查看→日志→脚本错误日志”,找到ScriptError.log文件(路径:Mir200\Log\ScriptError.log)。
日志中会标注错误脚本的文件名(如QFunction-0.txt)、错误行号(如 “Line 56”)及错误描述,例如:
20:15:00 ScriptError: QFunction-0.txt Line 56: FQ Command Syntax Error (Missing ')')
据此直接定位到第 56 行修改。
2. 手动校验脚本规则
用 “记事本 ++” 打开错误脚本文件,开启 “显示所有字符” 功能(视图→显示符号→显示所有字符),检查是否存在不可见特殊字符(如换行符、空格符异常)。
对照 M2 引擎 “脚本命令手册”(通常在服务端Help文件夹中),逐行核对错误命令的格式、参数数量及类型,重点检查括号、空格、关键词。
3. 分段测试验证
将错误脚本段落单独复制到新的测试脚本文件(如TestFQ.txt),简化其他无关代码,仅保留核心 FQ 命令,例如:
[@TestFQ]
#ACT
@FQ(CheckItem 1001 1)
SendMsg 6 测试FQ命令是否正常
在游戏中通过 GM 命令调用@TestFQ,观察 M2 是否报错,逐步缩小错误范围,排除其他代码干扰。
三、预防 FQ 脚本错误的注意事项
脚本备份习惯:修改脚本前,复制原文件并重命名(如QFunction-0_bak.txt),避免修改失误后无法恢复。
统一参数标准:建立脚本参数对照表,记录常用地图 ID(如 30 = 猪洞七层)、物品 ID(如 1001 = 小型治疗药水),避免每次手动输入出错。
版本适配检查:新添加 FQ 命令前,先在 M2 “脚本助手”(部分版本有此功能)中测试命令兼容性,或查阅对应引擎版本的 “新增命令列表”。
批量排查工具:使用 “传奇脚本校验工具”(如 HeroScriptChecker),批量扫描脚本文件中的语法错误、路径错误,提高排查效率。
若按上述方法仍无法解决,可将错误日志截图、对应脚本片段(错误行前后 5 行内容)及 M2 引擎版本信息,发送至传奇技术交流社群,获取针对性协助。
传奇 M2 引擎 FQ 脚本错误分析 常见原因与修复实操指南
来源:
作者:
点击:

