传奇弹出“脚本错误”或装备穿戴/拾取/合成时报装备脚本错误,根源集中在五处:M2日志定位错文件行号、StdItems.DB字段越界或缺失、QFunction/ItemScript触发命令写错、脚本编码与符号格式不对、引擎版本命令不兼容。按下面顺序修,别从头翻全部脚本。
一、先抓报错源头(M2日志)
启动 GameSrv/M2Server.exe,看底部“日志/控制台/运行日志”,红字格式通常是:
[Error] Script file 'QFunction-0.txt' line 56 : Unknown command @Equip_1001
或 加载物品(Idx:418 Name:七彩项链)数据失败 Code=-100
记录三要素:文件名、行号、错误命令。对应路径:
• NPC/老兵/商人文:Mir200\Envir\Market_Def\
- 任务/登录/地图事件:Mir200\Envir\QuestDiary\、MapQuest_def\
• 装备穿戴/使用触发:Mir200\Envir\QFunction.txt、QFunction-0.txt、ItemScript.txt
- 物品库:DBC2000 打开 MirServer\Mud2\DB\StdItems.DB,或文本版 Mir200\Envir\StdItems.txt
• 日志存档:Mir200\Log\ScriptError.log、ErrorLog.txt
二、装备数据库(StdItems.DB / StdItems.txt)字段修正
用 DBC2000 或记事本打开,逐行核对报错装备:
• Name:无前后空格、无不可见字符、与脚本调用完全一致(区分大小写、全半角)
- Idx/物品ID:唯一不重复,GOM/GEE 自定义装备 ID 放 10000+ 区间,别和原版撞车
• StdMode(标准模式):武器=5,衣服=10,项链=2,手镯=3,戒指=4,鞋子/腰带=6/7,药品/材料=0/1,填错直接加载失败
- Shape/Looks:外观编号对应客户端 Items.wil / StateItem.wil 存在图片,指向空资源会黑屏或报错
• AC/AC2/MAC/MAC2/DC/DC2/MC/MC2/SC/SC2:纯整数,空值填0,不可填字母/负号/超 65535
- NeedLevel/NeedJob:等级整数;职业限制 1战士 2法师 4道士 7通用,写错穿不上
• DuraMax:持久不可为0,建议 99000 之类合理值
• 自定义列(切割/倍攻/元素):引擎不支持该列或列顺序错乱 → 删列或换对应引擎版本
改完点“编译结构/Compact & Repair(压缩修复数据库)”,重启 M2。
三、装备触发脚本(QFunction / ItemScript)修正
穿戴触发标签示例:
[@Equip_1001]
#IF
CheckItem 屠龙
#ACT
SENDMSG 0 装备屠龙,攻击提升!
BREAK
常见错法:
• 标签名拼错(@Equip_10001、多下划线、@StdMode_0 应为 @StdMode0)
- #IF/#ACT/#ELSEACT/#ENDIF 未成对,缺 BREAK 导致死循环
• 命令拼错:GIVE 写 GiveItem、MOV D0 100 写 MOVD0100、CALL[QFunction.txt]@XX 路径错
- 触发 buff/技能 ID 超出 Magics.txt 范围,或 buff 名和引擎配置不一致
• 引用外部文件(名单.txt、功能\奖励.txt)路径多写少写 ..\,文件实际不存在
改完文件编码必须 ANSI/GBK,UTF-8 带 BOM 必乱码报错;Notepad++ 另存为 ANSI 覆盖。
四、合成/强化/穿戴限制脚本
路径:Mir200\Envir\* 下合成脚本、NPC脚本
- #IF 后 CheckItem 材料 数量 名称必须与 StdItems.DB 完全一致
• 成品 GIVE 的物品 ID/名称必须存在,概率参数 0—100
• 穿戴限制段:CheckJob / CheckLevel 参数写反,导致“等级够仍提示不足”
- 末尾补 BREAK,避免继续执行下方段落
五、引擎版本不兼容
BLUE/HERO 不支持 GOM 专属命令(如 AllowThrough vs ThroughHum、SetItemAttr 参数差异),跨引擎搬脚本必报“未知命令”。解法:对照所用引擎命令手册逐条替换,或用工具批量转换,重启 M2。
六、重载与验证流程
1. 备份 StdItems.DB、QFunction.txt、涉及 NPC 脚本
2. 关 M2 → 删 Mir200\Log\ScriptCache.dat(有则删)→ 改文件 → 启 M2
3. 控制台无红字 → 建测试角色 → GIVE 问题装备 → 穿戴/使用/攻击触发 → 观察是否再弹脚本错误
4. 仍报错按行号回到对应 txt 继续缩行注释定位
七、典型现象速查
• 启动即刷 Code=-100 物品数据库加载失败 → StdItems.DB 某行字段 NULL/非数字/Idx冲突 → DBC2000 修行
- 穿戴弹脚本错误 → QFunction-0.txt 的 [@Equip_ID] 标签/命令错 → 按日志行号改
• 装备名显示 ?? → Name 字段编码或客户端 Wil 索引不一致 → ANSI 重存+核对补丁
- NPC买装备崩 → Market_Def 里 GIVE/SELL 物品名库里没有 → 补 StdItems 或改脚本名
• 合服/换引擎后全屏脚本错 → 命令集不兼容 → 逐文件替换对应引擎语法
热血传奇脚本错误修正实操:装备DB字段异常与QFunction触发报错排查手册
来源:
作者:
点击:

