错误mod识别与提醒

This commit is contained in:
ZouJin 2023-08-19 16:27:00 +10:00
parent 477213a110
commit d17dc2c86c
6 changed files with 193 additions and 181 deletions

View File

@ -23,7 +23,7 @@ namespace VPet_Simulator.Windows
var expt = e.Exception.ToString(); var expt = e.Exception.ToString();
if (expt.Contains("value") && expt.Contains("Panuon.WPF.UI.Internal.Utils") && expt.Contains("NaN")) if (expt.Contains("value") && expt.Contains("Panuon.WPF.UI.Internal.Utils") && expt.Contains("NaN"))
{ {
MessageBox.Show(expt, "由于修改游戏数据导致数据溢出,存档可能会出错\n开发者提醒您请不要使用过于超模的MOD".Translate()); MessageBox.Show("由于修改游戏数据导致数据溢出,存档可能会出错\n开发者提醒您请不要使用过于超模的MOD".Translate());
} }
string errstr = "游戏发生错误,可能是".Translate() + (string.IsNullOrWhiteSpace(CoreMOD.NowLoading) ? string errstr = "游戏发生错误,可能是".Translate() + (string.IsNullOrWhiteSpace(CoreMOD.NowLoading) ?

View File

@ -66,6 +66,8 @@ namespace VPet_Simulator.Windows
} }
} }
public CoreMOD(DirectoryInfo directory, MainWindow mw) public CoreMOD(DirectoryInfo directory, MainWindow mw)
{
try
{ {
Path = directory; Path = directory;
LpsDocument modlps = new LpsDocument(File.ReadAllText(directory.FullName + @"\info.lps")); LpsDocument modlps = new LpsDocument(File.ReadAllText(directory.FullName + @"\info.lps"));
@ -238,11 +240,9 @@ namespace VPet_Simulator.Windows
} }
} }
} }
catch (Exception Exception) catch
{ {
SuccessLoad = false; SuccessLoad = false;
string errstr = "MOD加载错误,是MOD({0})导致的\n如有可能请发送 错误信息截图和引发错误之前的操作 给开发者:service@exlb.net\n感谢您对游戏开发的支持\n".Translate() + Exception.ToString();
new winReport(mw, errstr).Show();
} }
} }
if (authtype != "FAIL") if (authtype != "FAIL")
@ -251,6 +251,12 @@ namespace VPet_Simulator.Windows
} }
} }
} }
catch
{
Tag.Add("该模组已损坏");
SuccessLoad = false;
}
}
public bool IsOnMOD(MainWindow mw) => mw.Set.IsOnMod(Name); public bool IsOnMOD(MainWindow mw) => mw.Set.IsOnMod(Name);
public bool IsPassMOD(MainWindow mw) => mw.Set.IsPassMOD(Name); public bool IsPassMOD(MainWindow mw) => mw.Set.IsPassMOD(Name);

View File

@ -28,6 +28,7 @@ using Line = LinePutScript.Line;
using static VPet_Simulator.Core.GraphInfo; using static VPet_Simulator.Core.GraphInfo;
using System.Globalization; using System.Globalization;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip; using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
using System.Diagnostics.Eventing.Reader;
namespace VPet_Simulator.Windows namespace VPet_Simulator.Windows
{ {
@ -608,7 +609,9 @@ namespace VPet_Simulator.Windows
//MOD报错 //MOD报错
foreach (CoreMOD cm in CoreMODs) foreach (CoreMOD cm in CoreMODs)
if (!cm.SuccessLoad) if (!cm.SuccessLoad)
if (Set.IsPassMOD(cm.Name)) if (cm.Tag.Contains("该模组已损坏"))
MessageBoxX.Show("模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name));
else if (Set.IsPassMOD(cm.Name))
MessageBoxX.Show("模组 {0} 的代码插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name)); MessageBoxX.Show("模组 {0} 的代码插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name));
else if (Set.IsMSGMOD(cm.Name)) else if (Set.IsMSGMOD(cm.Name))
MessageBoxX.Show("由于 {0} 包含代码插件\n虚拟桌宠模拟器已自动停止加载该插件\n请手动前往设置允许启用该mod 代码插件".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name)); MessageBoxX.Show("由于 {0} 包含代码插件\n虚拟桌宠模拟器已自动停止加载该插件\n请手动前往设置允许启用该mod 代码插件".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name));

View File

@ -6,3 +6,4 @@
保存游戏#Save game:| 保存游戏#Save game:|
手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存#Manually save the desktop pet archive, even if you do not manually save, the desktop pet will automatically save when you exit.:| 手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存#Manually save the desktop pet archive, even if you do not manually save, the desktop pet will automatically save when you exit.:|
保存成功#Save successfully:| 保存成功#Save successfully:|
模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题#Module {0} plug-in damage\nVirtual desktop pet simulator failed to load the plug-in\nPlease contact the author to fix the problem.:|

View File

@ -6,3 +6,4 @@
保存游戏#保存游戏:| 保存游戏#保存游戏:|
手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存#手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存:| 手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存#手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存:|
保存成功#保存成功:| 保存成功#保存成功:|
模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题#模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题:|

View File

@ -6,3 +6,4 @@
保存游戏#保存遊戲:| 保存游戏#保存遊戲:|
手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存#手動保存桌寵存檔,就算不手動保存,桌寵也會在退出的時候自動保存:| 手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存#手動保存桌寵存檔,就算不手動保存,桌寵也會在退出的時候自動保存:|
保存成功#保存成功:| 保存成功#保存成功:|
模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题#模組 {0} 插件損壞\n虛擬桌寵模擬器未能成功加載該插件\n請聯繫作者修復該問題:|