站内搜索

搜索
热搜: 活动 交友 discuz

iFAction 世界需要你的想象力!

[小技巧] 常见的报错以及如何解决

10

主题

51

帖子

452

积分

iF村庄

Rank: 5Rank: 5

积分
452
发表于 2020-7-24 13:58:25 | 显示全部楼层 |阅读模式

在处理MOD报错的反馈中,我发现一半多的报错都是源于报错者自身的工程或IFA。所以我心想一定要写这个帖子,不能什么锅都往我头上套啊。


1.IFA的报错
错误信息:数组维度超过了支持的范围。

   在 IFAction.Root.ReadData.Read(Int32 length)
   在 IFAction.Root.ReadData.ReadString()
   在 IFAction.Data.DScript.DScriptItem..ctor(ReadData rd)
   在 IFAction.Data.DScript..ctor(ReadData rd)
   在 iFAction.mod.DModOut..ctor(String path)
   在 iFAction.shop.SWDetails.Button_Click_1(Object sender, RoutedEventArgs e)
   在 System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   在 System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   在 System.Windows.Controls.Primitives.ButtonBase.OnClick()
   在 System.Windows.Controls.Button.OnClick()
   在 System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   在 System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   在 System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   在 System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   在 System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   在 System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   在 System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   在 System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   在 System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   在 System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   在 System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   在 System.Windows.Input.InputManager.ProcessStagingArea()
   在 System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   在 System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   在 System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   在 System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   在 System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   在 MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   在 MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
在非运行游戏时,出现的报错一律不是我MOD的问题,也就是弹出一个弹窗报错而不是在控制台报错。最典型的就是上面那个报错。
解决方法为:重新运行IFA,开新工程,重装IFA等
最近很多人说无法载入我的MOD(把MOD添加到工程),基本都是这个问题,以后出现此问题来找我一律不做任何解释,望理解

2.控制台的报错
在控制台打出的报错可能是MOD的问题,但有些不是

类型1: 用了无效的触发器
报错含有 IVal.Mods.findMod
MOD更新时key值改变,原有的触发器无效
解决方法:删除无效的触发器,用新的替换


类型2:修改了默认脚本之后又BUG
请自己调试,小白可恢复默认脚本。

类型3:主动报错
MOD有时会甩出,一些error,告诉你有些地方设置得不对。这种报错一般会含有明确的信息和操作,比如我的MOD在这种报错后会加上 自己的名字,——Liang或——微梁
解决方法:按error的提示做,修改工程

类型4:工程问题
工程的废弃项会造成一些BUG,这些BUG的形式多样,调试复杂,最好的解决方法是确保工程没有废弃项

类型五:默认脚本的BUG
不要给怪物或敌人超出MP上限的MP,除非您加载了微梁框架

类型6:MOD的BUG
如果你很确信不是以上问题,可以联系MOD的作者,反馈BUG了。请记住,一定要附上控制台的截图,否则就是浪费时间。

28

主题

316

帖子

4583

积分

iF世界

次元文明-Original Sin

Rank: 8Rank: 8

积分
4583

摩点支持者内测用户

QQ
发表于 2020-7-24 16:10:37 | 显示全部楼层

鼓掌!!鼓掌!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
QQ群:977585123
iFAction下载
Windows客户端
反馈
意见建议
iFAction

iFAction

京ICP备15053274号-1

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.