
Shokuho 除以零修复
Shokuho Division by Zero Fix 是针对 Shokuho 模组的补丁。它解决了在计算 AI 派系时薪时,常见的“除以零”错误导致的游戏瞬间崩溃(CTD)问题。
查看大图楚昊除零修复
Shokuho Division by Zero Fix 是针对 Shokuho 模组的一个修复补丁。它消除了在计算AI派系的每小时工资时常出现的“除零”错误,这个错误曾导致游戏立即崩溃(CTD)。
我在冬日6号那天遇到了这个错误,决定把它修复好。如果其他人遇到同样的问题,觉得有用的话尽管拿去用。这是我第一次做这种事,而且不是独自完成的,请不要太苛刻地评判。
发生了什么错误?
游戏用于计算工资的方法出现了错误。
问题:原版Shokuho代码使用了除法,其中分母(除数)是队伍中常规(非英雄)单位的总数。当某个AI队伍(例如,一个空据点)不包含常规单位,但可能只包含英雄单位时,TotalRegulars值会变为0。
结果:尝试除以零导致了致命异常(DivideByZeroException),导致游戏崩溃。
这个补丁是如何修复它的?
Shokuho修复补丁使用Harmony库和Prefix方法,在原始Shokuho代码执行前拦截GetTotalWage调用。该补丁执行精确判断:如果(mobileParty.MemberRoster.TotalRegulars 小于等于 0)。若除数为零或更小,补丁立即停止执行原始方法(通过返回false)。它强制将薪资结果设为0(ExplainedNumber(0f, false))。
要求(我仅在以下环境测试过)
- Mount & Blade II: Bannerlord 1.2.12..54620
- Shokuho 1.0.0.8
- Harmony 2.3.6.220
安装
- 下载并解压ShokuhoFix.zip压缩包。
- 将ShokuhoFix文件夹放入你的Bannerlord模组目录中(.../Mount and Blade II Bannerlord/Modules/)。
- 在启动器中:确保 Shokuho Fix 已激活,并且位于 Shokuho 模组下方(它会在之后加载)。
- 启动游戏。补丁成功应用将通过左下角的消息确认。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。