传奇脚本MOV/INC变量报错修复与文件定位指南

来源: 作者: 点击:
一、 报错根源:变量未声明与格式错误

报错信息显示 MOV A551 法师 和 INC G507 2 执行失败,核心原因是变量未预先声明或字符串未加引号。引擎无法识别 A551 和 G507 这两个变量,导致脚本加载中断。

二、 第一步:定位脚本文件(加到哪个文件?)

根据报错NPC名称“竞价地图”和地图编号“3”,文件路径如下:
1. 打开目录:进入服务端 D:\MirServer\Mir200\Envir\Market_Def\。
2. 找到文件:寻找名为 竞价地图-3.txt 的文件(格式:NPC名-地图号.txt)。如果找不到,可能是 MapQuest_def 目录下的地图触发脚本。
3. 编辑工具:使用 Notepad++ 或系统记事本打开,切勿使用Word或WPS(会破坏格式)。

三、 第二步:修复脚本语法(怎么加?)

在脚本文件的 最开头([@MAIN] 标签之前)添加变量声明,并修正错误行。

1. 声明变量(必须步骤)

在脚本开头插入以下两行代码,定义变量类型:
VAR String HUMAN A551
VAR Integer GLOBAL G507

• String 表示字符型(存文本),Integer 表示整数型(存数字)。

• HUMAN 表示个人变量(跟随角色),GLOBAL 表示全局变量(全服通用)。

2. 修正报错命令

找到报错的那两行代码,修改为正确格式:
• MOV 命令:MOV A551 "法师"

(必须加英文双引号,否则引擎会将“法师”识别为变量名而非文字)。
• INC 命令:INC G507 2

(此命令格式正确,通常是因为上面未声明变量才报错)。

四、 第三步:重载脚本与验证

1. 保存文件:修改完成后保存,确保文件编码为 ANSI(在Notepad++中点击“编码”菜单可转换)。
2. 重载NPC:在M2Server(引擎控制器)界面点击“查看 → 重载NPC”。
3. 测试:进入游戏,再次点击NPC,M2窗口不应再出现红色报错提示。

五、 高频错误与排查

• 文件放错位置:NPC对话脚本必须在 Market_Def 文件夹,地图触发脚本在 MapQuest_def 文件夹,不要混淆。

• 变量冲突:如果 A551 或 G507 在其他脚本中已定义过但类型不同(如一个定义为数字一个定义为文本),也会报错,需统一类型。

• 引号问题:所有非数字的赋值(如职业、物品名)必须用英文双引号包裹,否则必报脚本错误。