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

传奇脚本添加后变量报错三步搞定MOV/INC命令错误

热度:

根据报错日志:
MOVA551法师错误

原因:字符串参数法师未加引号,引擎无法识别非数字内容。

修正:需改为MOVA551"法师"(字符串必须用英文双引号包裹)。
INCG5072错误

原因:变量G507未预先声明或类型冲突(G开头为全局数字变量,不可直接操作字符串)。

修正:需检查变量是否定义,并确保为整数类型。

📂添加脚本的正确步骤

✅1.定位NPC脚本文件
文件路径:D:\MirServer\Mir200\Envir\market_def\竞价地图-3.txt

(根据报错中的NPC名称竞价地图+地图编号3确定)。
操作:用记事本打开此文件,搜索报错坐标(330:321)找到问题脚本段。

✅2.修正脚本命令格式

在对应位置修改命令:
错误原命令:

MOVA551法师→修正为→MOVA551"法师"#字符串加引号
INCG5072→保留但需检查G507是否定义#若未定义需初始化

关键检查:
声明变量(若G507为全局变量):

在服务端Mir200\GlobalVal.ini中添加G507=0初始化。
字符串处理:所有非数字参数(如职业名称、物品名)必须加引号。

✅3.解决引擎兼容性问题

若修正后仍报错:
更新引擎:老引擎(如0328版)不支持新命令,需升级到1108引擎。

添加插件支持:

打开Mir200\PlugList.txt,添加945Engine.dll并重启服务端。

⚠️避坑指南
变量命名规范

G0-G499:全局数字变量(需在GlobalVal.ini初始化)。

A0-A499:全局字符变量(保存字符串)。

禁止使用P/D/M/N/S开头的变量名(易引发冲突)。
新脚本添加流程

graphLR
A[新脚本放入market_def文件夹]-->B[检查变量声明]
-->C[字符串参数加引号]

-->D[用引擎工具测试语法]

-->E[重启服务端验证]


高频错误预防

字符串引号缺失→用文本工具批量搜索MOVA检查未加引号的参数。

变量未初始化→在GlobalVal.ini预定义所有G变量。

❓常见问题解答
Q:A551和G507应该定义在哪里?

-A551是全局字符变量,在脚本中直接使用(无需预定义);

-G507是全局数字变量,需在Mir200\GlobalVal.ini中设置初始值(如G507=0)。

Q:添加脚本后M2报“脚本死循环”怎么办?

-修改!setup.txt中的ScriptGotoCountLimit=1000(默认10太低)并重启。

Q:更新脚本后登录器黑屏?

-补丁未生效:将NewopUI.Pak复制到客户端Data文件夹,并检查登录器配置器的PAK密码。

最终建议:修正后重启服务端,在游戏中触发NPC对话测试。若仍报错,需检查M2Server控制台输出的详细错误行号(如QFunction-0.txt第2078行)。

[顶部]