[KSP] 安裝了 Realfuels 后如何讓你的原版燃料箱可選擇多種類型
前言
在原版安裝了 Realfuels 和配置文件后,是否發(fā)現(xiàn)原版的燃料箱根本不能自己選擇類型(Tank type)?搜索了半天還需要安裝一個(gè) Procedural Parts?本篇將教會(huì)你如何通過寫一個(gè) MM patch 文件來讓所有的原版燃料箱甚至是其他 Mod 的燃料箱在 realfuels 里能夠像 Procedural Parts 一樣自定義類型,效果如下圖:

前置
首先游戲必須已安裝了 Module Manager,如果你是用CKAN安裝的話,那在安裝realfuels的時(shí)候會(huì)自動(dòng)安裝。如果是手動(dòng)安裝,請(qǐng)確保游戲 GameData 目錄下存在且只有一個(gè)ModuleManager.4.2.2.dll 文件。
此外還需要一個(gè)文本編輯器,同樣的,我推薦使用 VS Code,因?yàn)樗?KSP Config 的高亮插件。
MM Patch
首先在游戲的 GameData 目錄下新建一個(gè)文本文件,建議使用英文命名,然后將后綴 .txt 改成 .cfg,然后復(fù)制下方的 patch 內(nèi)容到文件里:
Patch 原理
其實(shí)很簡單,就是讓 Module Manager 找到所有 name 為 ModuleFuelTanks 的 MODULE 的 PART,然后在 FINAL (即最后再應(yīng)用,為了避免其他 mod 的干擾) 階段為這些 PART 里面的 MODULE 節(jié)點(diǎn)中添加我們的可選類型。
一些說明:
查詢所有的 PART 節(jié)點(diǎn)
:HAS 塊表示條件查詢,即存在有 MODULE 節(jié)點(diǎn)且 name = ModuleFuelTanks
當(dāng) GameData 目錄下滿足任一條件:
存在有 RealFuels 目錄
存在有一個(gè)程序集名稱為 RealFuels 的 dll 文件
其他 Patch 文件中存在有 :FOR[RealFuels] 代碼塊
該P(yáng)atch執(zhí)行。
在其他所有的非FINAL patch 都執(zhí)行完畢后才執(zhí)行此 patch
如果只想要特定的燃料箱有可選類型,可以找到那個(gè)燃料箱的 name 然后寫一個(gè)單獨(dú)的 patch,比如我現(xiàn)在只想要 FL-T400 這一個(gè)燃料箱能夠自定義類型,其他都保持原樣,那么你可以這樣寫
更多 MM 語法請(qǐng)參考 MM 的wiki: https://github.com/sarbian/ModuleManager/wiki
或是我翻譯了部分的 wiki:https://github.com/tinygrox/ModuleManager/wiki