原贴作者:骑砍中文站骑友@cnedwin123
大家都知道,从1.2版本开始我才有空学习如何制作Mod和汉化,比较幸运的是NexusMods和Github上面很热闹,而且很多大神都在Bilibili上有视频,还有 纸篓 大神耐心分享,这位一天到晚都在肝。
因为我是个初学者,很菜的那种,只有一些编程基础和对骑砍疯狂的热爱,就我上手这2周,整个游戏频繁的更新和Mod开发圈子的分分合合,造成了几次都因为Mod兼容性问题进不去游戏和读取不了存档。
我写过的一些帖子(请到原贴查看):
【整理】e1.4.0 Beta 稳定可用Mod+汉化+排序+网盘下载(最后更新0509 17:00)
实测e1.4.0 Beta 更新内容,旧存档复活,大部分Mod恢复正常了(0508 22:30更新带附件)
实机验证更新10M后,ModLib/Bannerlord Tweaks/DCC等MOD的兼容性问题的解决进度
【警告】5月7日凌晨官方1.3.0Beta更新和ModLib/BannerlordTweaks/DCC兼容性崩溃
1.3.0Beta版 教你怎么安排稳定不崩溃不卡死的MOD排序列表【0506 21:50】
到底是什么原因导致我们玩自己喜欢的Mod会报错、崩溃、卡死呢???
其实主要原因就三个:
1、T社频繁更新,修改数据结构和一些底层代码。
例如角色相关的stringid的一些问题,很多对象都跟stringid挂钩,但是他们总是说改就改,所以Mod新做的Character对象,比如Wanderer、Player's children、Noble很大概率会冲突。
还有就是物品库的数据结构,这两周改了2次,新做的装备和铁匠铺Mod,经常一个很小的问题要排查半天。
2、很多Mod作者不老实,喜欢拿来主义,功能模块重复。
有很多Mod是非常酷的,小巧灵活,但是他们做着做着,就会把别人的某一个功能“抄过来”。
比如外交修复就在上个版本拿心灵感应作者的代码,加了个发消息,结果导致两个Mod有冲突,这个还是轻的,只是按钮不显示了,有的更夸张的直接导致闪退,经常要排查到底是哪里出了问题,一堆Mod查的脑仁疼。
3、ModLib和MCM神仙打架,玩家遭殃。
这个是我今天重点想跟大家八卦的,因为现在所有的Mod只分成3种,(1)纯绿色的小插件。(2)基于ModLib开发的。(3)基于MCM开发的。
ModLib和MCM都是GUI和交互库,就是给开发Mod的人调用菜单、弹窗和保存设置的通用库。
他们俩经常互相不兼容,甚至要干掉对方,然后再互相妥协,再更新,再不兼容,真是让人挠头。
关于ModLib,如果你感兴趣可以看看它的Wiki :
不过这哥们不久后,4月18日发布1.0.1后就玩消失了,千呼万唤不搭理大家,5月1日临时更新了一个支持e1.2.1版本的1.0.2 源代码:
这期间无数的作者找到他,他都不回应,另一个大神wfswanepoe就做了一个第三方修复的版本来支持Beta 1.3,地址是:
中间还发生了整个Nexusmod开发者的分裂,一部分继续支持Modlib,另一部分因为作者不更新改支持MBOption,这两个互相不兼容,菜单会卡死,比如外交修复的那个Mod。
很多还在用ModLib的开发者,就基于这个第三方的ModLib继续开发,例如鼎鼎大名的Tournament XPanded和Detailed Character Creation
纸篓大神,也基于这个库,修复了Bannerlord Tweaks做出1.2.1版本,支持结婚和生孩子等设置。
5月7日凌晨,在T社给Beta1.3.0热更新了10M内容后,消失的Mipen大神又冷不丁的出来更新了最新支持Beta1.3的ModLib 1.3.1和Bannerlord Tweaks 1.3.2。
他发的这个ModLib 1.3.1不向下兼容那些基于第三方修复的Mod和汉化版,而且更新的BT 1.3.2功能还没有第三方做的1.2.1功能多。
大家只能等第三方修复的wfswanepoe,更新他的Modlib,或者所有的作者都更新Mod来支持Mipen的新版本,这哥们实在太任性了!
之前Mipen在Github上抱怨,说自己可能后面没空玩骑砍了,打算放弃ModLib,wfs说自己时间很多,愿意帮他一起维护,他也不搭理人家,这次终于改变主意。
由Mipen负责主干版本的升级,wfswanepoe负责Beta版本的更新,这对我们来说,也算是个好事吧!
它的Wiki地址:
骑砍2的版本是 Aragas大神发起,另外还有三个成员共同维护。
它一开始叫MBO,全称MBOption Screen,跟ModLib井水不犯河水。
但是自从4月中旬Mipen大神消失,没人维护ModLib之后,他就出了一个兼容性的版本2.0。
这个2.0,既可以独立存在,也允许你通过打开 OverrideModLib 来覆盖ModLib,让一些旧的Mod能够继续适配骑砍的新版本。
说白了,他的野心就是既要兼顾自己的新老版本,还想把ModLib也兼容了。
以此来实现,新的基于ModLib Beta的Mod和老的基于ModLib早期版本的Mod都可以用,而完全基于MCM开发的也可以用。
这期间,大家都会有两个Mod Optione菜单,一个是新的ModLib的,一个是MCM的,很多人都觉得奇怪,现在你明白了吧?
最新版本的ModLib Beta 1.4里面,修改了一些类的命名空间,这不仅造成了又一次不向下兼容,也让MCM没法跟他共存。
Aragas大神,昨天半夜,发布了MCM 3.0 Beta,并且连续更新了7次(把我吓尿了),努力的想拥抱ModLib的旧版本Mod。
只是基于版权问题,Modlib Beta的基础库还要留着,否则只装MCM就可以了。
感兴趣可以去看看凶案现场:
1、安装ModLib Beta 1.4
如果找不到你熟悉的Mod Option菜单了,别慌,现在在游戏的系统设置里,勾掉 Use Standard Option Screen选项也可以恢复以前的习惯。
你只要把Mod加载顺序改成这样:
Sandbox Core (沙盒地图的底层库)
Sanbox (沙盒地图和战场)
CustomerBattle (自定义战斗相关的)
StoryMode (战役相关的)
Mod Configuration Menu(MCM) Beta
MCM Beta MBO Compatibility
MCM Beta ModLib Compatibility
ModLib
其他Mod...
你也可以参考的我的Mod加载顺序:
2、基于新的ModLib Beta开发的Mod
3、基于MBO和MCM开发的所有Mod
而且只有一个Mod Option菜单。