Mugen主程序报错汇总

加载初始场景报错

blob.png

报错关键字:dojo.def 或 stage0.def

原因:程序以debug模式运行且调用了debug场景

解决方法:1、在mugen.cfg文件内找到[Debug]下的StartStage =,将场景改为一个存在的场景def文件名。2、或者将一个场景的def文件名改为报错时提示的场景名


人物版本过老

blob.png

报错关键字:Character mugenversion is older than this version of M.U.G.E.N.

原因:1、人物代码中使用了win版的代码,但使用了1.0或1.1以上的主程序运行。2、代码格式错误

解决方法:1、换个高版本的主程序。2、根据图中报错的详细信息,将人物代码修正,但前提是你懂代码。


SFF文件过大

blob.png

报错关键字:Can't load xxxxx.sff

某个角色对应的sff文件无法载入

原因:角色sff文件过大。程序读取过多大容量人物会导致内存过大,从而无法运行。详细见https://qxmugen.com/article/13138.html

解决方法:1、使用该人物之前重新启动主程序。2、将sff文件中的图片替换为小尺寸的图。3、下载并运行人物占用内存过大崩溃补丁,下载地址https://qxmugen.com/tools/10027


场景载入错误

image.png

报错关键字:BG error reading

原因:该战斗场景的def文件中,指定sff的路径用的是“/”,这会导致一些电脑载入该场景时报错。

解决方法:去场景文件夹里打开该场景的def文件,将指定sff的路径中所有的“/”改为“\”


凶恶代码版本不兼容

image.png

报错关键字:Invalid format specifier in "%n"

原因:人物代码中含%n、%f的都是作者利用win版主程序的漏洞而写的凶恶向代码,使人物拥有非常规的能力,1.0和1.1主程序修复了这个漏洞,因此这类人物不能在win版以上的主程序运行。

解决方法:使用win版程序运行该人物


非法控制器

blob.png

关键语句:not a valid elem type

表示所使用的控制器名称不对——"playsn"应改为"playsnd"


招式指令过多

blob.png

关键语句:Player has too many commands. Only 128 unique commands labels allowed.

表示角色在cmd中的招式指令超过了128个,128为一个角色的上限数量


数据类型错误

blob.png

关键语句:Type mismatch detected

表示使用了该字段不支持的类型,例如给整型变量赋予浮点值


系统文件读取错误

blob.png

报错关键字:Error loading system data

图中为读取data/mugen1下的system.def文件出错,出错原因是上一行的system.sff无法读取

原因:1、system.def中指向的system.sff文件不存在。2、system.sff文件的版本太高,但当前运行的主程序是老版(通常是win版)


特殊的错误信息

WinMugen代码中1行最多256个字符,超过这个上限的字符会被忽视或导致主程序报错

RCMugen(mugen1.0和mugen1.1)中这个限制被解除。


一个StateDef读取超过了2500次

blob.png

报错关键字:State machine stuck in loop (stopped after [StateNo] for [name])
Check your states for infinite ChangeState loops.

例图:statedef 200在循环读取2500次后停住了,请检查是否有ChangeState无限循环


某个StateDef的控制器超过了512个

blob.png

报错关键字:state [StateNo] can only have max of 512 controllers

Statedef 200最多只能拥有512个控制器,即最多只能写512个 type = ×××


异常表达式

blob.png

报错关键字:Player [name] ([PlayerID]) in state [StateNo]: malformed expression

与数据类型错误类似,不同点在于是出现在:=赋值中,亦或是计算中的数据类型错误

例1——var(20):=1.2——给整型变量赋予浮点数报错

例2——gamewidth%320——gamewidth默认为浮点数,直接参与取余运算报错


Assert failure簡易一覧

エラーメッセージ原因
Assert failure in array line 100animelemtime(0) >= 0 使用
Assert failure in array line 110指定了不存在的动画号码
Assert failure in spr-lib.c line 437詳細不明
Assert failure in array.c line 437[lunaの倉庫]
Assert failure in array.c line 437[虹格な海底宝物庫]
Assert failure in array.c line 437続き[lunaの倉庫]
Assert failure in spr-lib.c line 516詳細不明
Assert failure in spr-lib.c line 560

assert failure in spr-lib.c line 560の正体[lunaの倉庫]

win版特有bug,貌似和跟暂停和helper啥的有关系

Assert failure in spr-lib.c line 601詳細不明
Assert failure in charsel.c line 3162

在mugen.cfg设置了AI.RandomColor = 1

但角色的def中没有写上Pal.Defaults

这个错误一般出现在街机模式(arcades)和生存模式(survival)


主程序死机


同时取得多个target后的重定向使用死机(TargetFacing、TargetDrop除外)

方案1:target重定向值使用特定的变量存储

方案2:trigger中写上NumTarget = 1的条件,当同时取得多个target时不运行

方案3:当同时取得多个target时使用TargetDrop丢弃其余目标,保存特定目标


helper自毁后,helper或Explod导致的死机。

原因:DestroySelf实行后,写在它之后的代码也继续实行。

方案1:尽量将DestroySelf写在一个状态组StateDef的最下面。

方案2:DestroySelf以后的代码使用PlayerIDExist(ID)或其他重定向的条件来区分运行的对象。


使用HitDef的snap参数时,Shift + F4重新载入对战时死机。

方案:不推荐使用该参数,建议使用TargetBind


[StateDef 52] [StateDef 140]等样式的2500循环的死机。

自動ステート移動(読み込み)の条件読み込み先StateDefESC
F12
ループ中の
PrevStateNo
timeが
リセット
Physics = A && Pos y >= 0 && Vel y >= 052無効52
StateNo = 140 && StateType = S,C,A &&
経過Time >= 「その時点でのAnimの総表示時間」以上
StateTypeに応じて0,11,51有効140される
StateNo = 140 && StateType=L &&
経過Time >= 「その時点でのAnimの総表示時間」以上
140無効140に来る前の
StateNo
されない

方案1:角色物理状态为空中(Physics = A)且竖直位置在地面及以下(pos y >= 0)且下落速度大于等于零(vel y >= 0)满足的时候,转入[statedef 52]

方案2:先从读取140移动时的StateType决定的,为站立S转入[statedef 0],为下蹲C转入[statedef 11],为空中A转入[statedef 51],条件中还要写上time>=当时显示的anim时间及以上

方案3:与方案2比较相似,不同点在于上一个状态号不为140


评论区部分报错解答


Library error message: Died parsing ifelse(Stagevar(Info.name)!="Boss",1,7) 

Error detected. 

Trigger not valid for mugenversion of character: Stagevar 
Error parsing PlaySnd 
Error parsing [State 5000, PlaySnd] 
Error in [Statedef 5105] 

Error in data/common1.cns:1538 

方案:将【官方】主程序data中的common1.cns文件复制粘贴进人物包中


OxO...failed. 

方案:打开mugen.cfg,改变渲染模式RenderMode,不使用OpenGL


Error detected.

Can't access [Info]
Error loading chars/ff3_0/ff3_0.def

Error loading p1

方案:勿使用FF3启动主程序

无知者 评论于

下的主程序包中mugen1.1出现了Lua fatal error:Vector not a valid table的报错
而mugen1.0却可以正常运行

菜鸡 评论于
斯凯

@菜鸡 这是哪里的参数,没印象啊

@斯凯 哦,那算了

斯凯 评论于
菜鸡

@斯凯 怎么修改UnloadSystem为1,UnloadSystem是什么值?回答我的话,我任意打赏你(得看我的资金够不够…)

@菜鸡 这是哪里的参数,没印象啊

菜鸡 评论于

@斯凯 怎么修改UnloadSystem为1,UnloadSystem是什么值?回答我的话,我任意打赏你(得看我的资金够不够…)

菜鸡 评论于
落叶归根

千寻的主人啊,你那个“系统文件读取错误”那个怎么没有解决方法呢,只有原因,我是萌新。。。。。。不懂啊。我现在1.1的主程序个个都是黑屏,有的一直黑下去(有游戏里面的声音,也有的没有声音),有的来个未响应,等响应好后是黑屏,在等段时间就跳出来你上面那个系统文件错误的那张图片的内容。好气人。

@落叶归根 敢问你的电脑是什么电脑(下那么多都玩不了,我服了你的电脑了)?! 

菜鸡 评论于
斯凯

@落叶归根 300元远程一条龙服务,你干么

@斯凯 300元,你这是要打劫啊

斯凯 评论于
落叶归根

哎,我找了N多个画面包和主程序等,目前1.0能玩的倒是有几个了,但是凡是涉及到1.1的主程序个个都是黑屏,压根玩不了啊。能教教我怎么解决或者错误出在哪里的人可以回复我,或者加我QQ细聊。QQ:3112748808     

@落叶归根 300元远程一条龙服务,你干么

落叶归根 评论于

千寻的主人啊,你那个“系统文件读取错误”那个怎么没有解决方法呢,只有原因,我是萌新。。。。。。不懂啊。我现在1.1的主程序个个都是黑屏,有的一直黑下去(有游戏里面的声音,也有的没有声音),有的来个未响应,等响应好后是黑屏,在等段时间就跳出来你上面那个系统文件错误的那张图片的内容。好气人。

落叶归根 评论于

哎,我找了N多个画面包和主程序等,目前1.0能玩的倒是有几个了,但是凡是涉及到1.1的主程序个个都是黑屏,压根玩不了啊。能教教我怎么解决或者错误出在哪里的人可以回复我,或者加我QQ细聊。QQ:3112748808     

斯凯 评论于
2537270530

求解 Error message: Can't open stage: music=1
这是什么意思  在主菜单什么都不按 自动进入的对战演出的时候就报错的

@2537270530 或者是select.def里场景部分填的有问题

斯凯 评论于
2537270530

求解 Error message: Can't open stage: music=1
这是什么意思  在主菜单什么都不按 自动进入的对战演出的时候就报错的

@2537270530 说明有个场景的配置文件内容有问题

2537270530 评论于

求解 Error message: Can't open stage: music=1
这是什么意思  在主菜单什么都不按 自动进入的对战演出的时候就报错的

斯凯 评论于
落叶归根

mugen主程序黑屏又是怎么回事呢,难道这类问题只有我有吗?只要是1.0及1.1的主程序大多数都是黑屏!

@落叶归根 原因很多……没法一一描述

落叶归根 评论于

mugen主程序黑屏又是怎么回事呢,难道这类问题只有我有吗?只要是1.0及1.1的主程序大多数都是黑屏!

斯凯 评论于
菜鸡

将sff文件中的图片替换为小尺寸的图的具体教程,求???!!!

把sff里的大图删了,然后重新导入小图@菜鸡 

菜鸡 评论于

将sff文件中的图片替换为小尺寸的图的具体教程,求???!!!

根据相关规定,发布评论前必须绑定手机前往绑定
你,确定要这么做吗?
正在处理中...