3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 8833|回复: 33
打印 上一主题 下一主题

[MOD] 【MOD适配】解决最新版本ModLib与Mod Configuration menu的Mod兼容性和老Mod的运行

[复制链接]

19

主题

304

帖子

1891

积分

游戏狂人

Rank: 6Rank: 6

贡献度
298
金元
6788
积分
1891
精华
2
注册时间
2013-12-5

勞菈·S·亞爾賽德

跳转到指定楼层
主题
发表于 2020-5-10 08:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cnedwin 于 2020-5-11 22:35 编辑

其实这是一个技术+八卦贴,如果你感兴趣的话,可以看下去。
大家都知道,从1.2版本开始我才有空学习如何制作Mod和汉化,比较幸运的是NexusMods和Github上面很热闹,而且很多大神都在Bilibili上有视频,还有 纸篓 大神耐心分享,这位一天到晚都在肝。
因为我是个初学者,很菜的那种,只有一些编程基础和对骑砍疯狂的热爱,就我上手这2周,整个游戏频繁的更新和Mod开发圈子的分分合合,造成了几次都因为Mod兼容性问题进不去游戏和读取不了存档。

我写过的一些帖子:
实测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,烤肉社频繁更新,修改数据结构和一些底层代码。
     例如角色相关的stringid的一些问题,很多对象都跟stringid挂钩,但是他们总是说改就改,所以Mod新做的Character对象,比如Wanderer、Player's children、Noble很大概率会冲突。
     还有就是物品库的数据结构,这两周改了2次,新做的装备和铁匠铺Mod,经常一个很小的问题要排查半天。

2,很多Mod作者不老实,喜欢拿来主义,功能模块重复互相覆盖
     有很多Mod是非常酷的,小巧灵活,但是他们做着做着,就会把别人的某一个功能“抄过来”。
     比如外交修复就在上个版本拿心灵感应作者的代码,加了个发消息,结果导致两个Mod有冲突,这个还是轻的,只是按钮不显示了,有的更夸张的直接导致闪退,经常要排查到底是哪里出了问题,一堆Mod查的脑仁疼。

3,Moblib和MCM神仙打架,玩家遭殃。
     这个是我今天重点想跟大家八卦的,因为现在所有的Mod只分成3种,1,纯绿色的小插件。2,基于ModLib开发的。3,基于MCM开发的。
     ModLib和MCM都是GUI和交互库,就是给开发Mod的人调用菜单、弹窗和保存设置的通用库。
     他们俩经常互相不兼容,甚至要干掉对方,然后再互相妥协,再更新,再不兼容,真是让人挠头。


关于ModLib,如果你感兴趣可以看看它的Wiki  https://github.com/mipen/ModLib/wiki
最早NexusMod上有一个日本的大神Mipen,先开发了Modlib,大家都在用的Bannerlord Tweaks也是他写的。后来成为主流的大型Mod的菜单库,很多Mod依赖ModLib开发。
不过这哥们不久后,4月18日发布1.0.1后就玩消失了,千呼万唤不搭理大家,5月1日临时更新了一个支持e1.2.1版本的1.0.2 源代码在 https://github.com/mipen/ModLib/releases
这期间无数的作者找到他,他都不回应,另一个大神wfswanepoe就做了一个第三方修复的版本来支持Beta 1.3 地址是 https://github.com/wfswanepoel/ModLib
中间还发生了整个Nexusmod开发者的分裂,一部分继续支持Modlib,另一部分因为作者不更新改支持MBOption,这两个互相不兼容,菜单会卡死,比如外交修复的那个Mod
很多还在用ModLib的开发者,就基于这个第三方的ModLib继续开发,例如鼎鼎大名的Tournament XPanded和Detailed Character Creation
纸篓大神,也基于这个库,修复了Bannerlord Tweaks做出1.2.1版本,支持结婚和生孩子等设置
5月7日凌晨,在烤肉社给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的新版本,这哥们实在太任性了!!!!
前天,我发现wfs大神的Github上删除了他的三方修复ModLib项目,仔细一看才发现,原来Mipen终于同意让他加入,成立了一个小组。
之前Mipen在Github上抱怨,说自己可能后面没空玩骑砍了,打算放弃ModLib,wfs说自己时间很多,愿意帮他一起维护,他也不搭理人家,这次终于改变主意。
由Mipen负责主干版本的升级,wfswanepoe负责Beta版本的更新,这对我们来说,也算是个好事吧!

再说说MCM,全称是Mod Configuration Menu,字面意思很清楚,跟ModLib一样是第三方Mod可以调用的设置保存和菜单基础库。
它的Wiki地址  https://github.com/Aragas/Bannerlord.MBOptionScreen/wiki/Comparing-to-ModLib

MCM非常有名,很多年前就是一些游戏的Mod开发的基础菜单库,比较知名的比如辐射4,所以有很多忠实拥戴者。
骑砍2的版本是 Aragas大神发起,另外还有三个成员共同维护。
它一开始叫MBO,全称MBOption Screen,跟ModLib井水不犯河水。
但是自从4月中旬Mipen大神消失,没人维护ModLib之后,他就出了一个兼容性的版本2.0
这个2.0,既可以独立存在,也允许你通过打开 OverrideModLib 来覆盖ModLib,让一些旧的Mod能够继续适配骑砍的新版本。
说白了,他的野心就是既要兼顾自己的新老版本,还想把ModLib也兼容了。
所以这段日子里大家都是先加载ModLib Beta 1.3,再加载MCM2.0.10,并且关掉OverrideModLib,其实相当于把MCM当成旧的ModLib。
以此来实现,新的基于ModLib Beta的Mod和老的基于ModLib早期版本的Mod都可以用,而完全基于MCM开发的也可以用。
这期间,大家都会有两个Mod Optione菜单,一个是新的ModLib的,一个是MCM的,很多人都觉得奇怪,现在你明白了吧?
但是5月10日,ModLib和MCM的新的战争发起了,所以我到现在还没开始更新帖子,有这个时间写八卦,我只能等等他们了。
最新版本的ModLib Beta 1.4里面,修改了一些类的命名空间,这不仅造成了又一次不向下兼容,也让MCM没法跟他共存。
Aragas大神,昨天半夜,发布了MCM 3.0 Beta,并且连续更新了7次(把我吓尿了),努力的想拥抱ModLib的旧版本Mod。
一句话,你可以理解最新的3.0.8的MCM,他是全兼容 ModLib旧版本+MBO旧版本+Modlib Beta+最新的MCM 所有的MOD。
只是基于版权问题,Modlib Beta的基础库还要留着,否则只装MCM就可以了。
5月11日,MCM发起了更加猛烈的攻击,直接推出一个3.0.11版本,兼容全版本的Mod,而且一下在Mod列表里占用三个位置。。。
感兴趣可以去看看凶案现场 https://www.nexusmods.com/mountandblade2bannerlord/mods/612?tab=posts




目前,最新的用法:
1,安装ModLib Beta 1.4  N网官方正版地址  https://www.nexusmods.com/mountandblade2bannerlord/mods/592?tab=files Modlib Beta 1.4-592-1-4-1588919933.zip (328.25 KB, 下载次数: 275)
2,安装Mod Configuration Menu Beta 3.0.11  N网官方正版地址 https://www.nexusmods.com/mountandblade2bannerlord/mods/612?tab=files   下载地址

跟之前不一样的是,这次要把MCM放在ModLib上面加载,就是先加载MCM再加载ModLib,并且勾上Override Modlib Optione Screen菜单覆盖。
如果找不到你熟悉的Mod Option菜单了,别慌,现在在游戏的系统设置里,勾掉 Use Standard Option Screen选项也可以恢复以前的习惯。

你只要把Mod加载顺序改成这样Native 核心模块(除了游戏引擎之外的最核心的内容)
Sandbox Core (沙盒地图的底层库)
Sanbox (沙盒地图和战场)
CustomerBattle (自定义战斗相关的)
StoryMode (战役相关的)
Mod Configuration Menu(MCM) Beta
MCM Beta MBO Compatibility
MCM Beta ModLib Compatibility
ModLib

其他Mod...

你也可以参考我的列表顺序

这样你就能同时运行:
1,基于老的ModLib开发的Mod
2,基于新的ModLib Beta开发的Mod
3,基于MBO和MCM开发的所有Mod

而且只有一个Mod Option菜单。









评分

4

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-12 20:33 , Processed in 0.037011 second(s), 18 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表