[KSP] 安装了 Mod 后发现某些部件动作菜单有 2 个进气道-全球热点评

哔哩哔哩   2023-05-09 02:12:59

前言

不知道是否有人跟我一样在玩坎巴拉前喜欢先打一堆 Mod 等我认为游戏的内容足够丰富后再开始游戏,结果这么做的时候,进游戏一看,凡是进气道部件,比如什么小号环形进气道、引擎吊舱等,鼠标右键弹出的部件动作菜单都会有多个【关闭进气道】的按钮,如下图:

寻根问底

为了知道啥情况,首先我对原版的进气道相关的部件文件进行了一次查阅,比如部件小号环形进气道(文件路径:Squad\Parts\Aero\miniIntake\SmallIntake.cfg)等,发现了凡是进气道文件都有一个 name 为 ModuleResourceIntake的 MODULE:

然后我就直接在这个文件直接注释掉这 2 个节点,思路是测试如果删掉一个进气道后,该部件还能不能正常使用,结果注释掉后,原本的 2 个进气道也都全都消失不见,且引擎全都不能使用。这下我就确定了肯定是某个 mod 写了一个 patch,会根据这个 MODULE 而创建一个新的进气道 MODULE,接下来的工作就是如何找到这个 patch。


(资料图)

全局搜索

使用 VS Code (或者其他的能够全局打开文件夹搜索文本的软件都行)右键打开游戏的GameData文件夹(如果没有注册右键菜单可以通过顶部的菜单【文件】 -【打开文件夹】打开),打开后如下图:

打开后再左侧找到放大镜图标,进入全局搜索模式,输入ModuleResourceIntake 搜索关键词,按照下图的样子设置搜索限制条件然后开始搜索:

VS Code 会对 GameData下的所有.cfg文件进行搜索,并排除掉 Localization 文件夹的内容,这里搜索的结果会根据你自己安装的 mod 而各异。

很快就找到了问题所在 —— 在我安装的 Near Future Aeronautics 这个 mod 里存在有一个 patch(如下图),该 patch 为所有的进气道部件复制了一个  ModuleResourceIntake,出于该 Mod 某些引擎的需要,运行时需要消耗一个新的进气资源(IntakeAtm),为了使原来的进气道部件能够兼容 Mod 的引擎,作者直接简单粗暴的写了这个 patch,这才导致了开头的这个多重进气道的问题。

虽然知道了问题的根源,但是并不能拿它怎么样,因为这个 Mod 的部分引擎(数量有 5 个)都需要使用这个进气资源。如果仍然要强行解决,也不是没有办法。

思路一:

卸载!一了百了。

思路二:

直接禁用掉这个patch,并在以后的游戏中避免使用该 mod 的 5 个相关部件。

禁用方法:只需将该文件名的后缀改成非 .cfg 的其他形式。

5个相关部件为:

J-N160 'Fireflash' Air-Breathing Nuclear Engine -  J-N160 '火光' 吸气式核能引擎

J-N500 'Project Eeloo' Multimode Nuclear Engine - J-N500 'Eeloo计划' 多模核能引擎

HVR-ONE Ultra-Heavy Lift Fan - HVR-1 超重型升力风扇

HVR-TWO Heavy Lift Fan - HVR-2 重型升力风扇

HVR-THREE Lift Fan - HVR-3 升力风扇

思路三:

根据 Mod 的相关引擎编写配套的 patch 文件,只为部分进气部件进行修改添加所需进气资源,像是小号环形进气道这个部件就不需要添加 IntakeAtm 了。

我看了一眼,工程量有点大了,就不做了。