|
在处理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了。请记住,一定要附上控制台的截图,否则就是浪费时间。
|
|