F4 xSE 插件預加載器
這個模組允許在遊戲初始化前預載F4SE插件。
模組介紹 作者原文
這個模組允許在遊戲初始化前預載F4SE插件。
原址:
前置:
Visual C++ 2015, 2017, 2019, 2022 Redistributable Package:
它有什麼作用?
允許在遊戲初始化前預載F4SE插件。
我需要這樣做嗎?這樣做有什麼好處嗎?
不!除非有模組特別說明你必須這樣做,否則你不需要這個。無緣無故擁有這些信息沒有任何好處。撰寫本文時,只有在使用 PrivateProfileRedirector F4 或 Buffout 4 時才需要。否則沒有其他理由使用預裝載器。它允許模組在遊戲運行代碼之前對遊戲代碼進行編輯。
注意:從《輻射4 NG》更新開始,F4SE插件可以選擇使用新F4SE版本內置的預加載方法(F4SEPlugin_Preload導出功能)。請參考你安裝的F4SE改裝說明,確認你真的需要這個預加載器。
它是如何運作的?
遊戲會自動加載庫WinHTTP.dll,預加載插件,然後將所有函數調用重定向到系統目錄中的原始 WinHTTP.dll 文件。
安裝
把WinHTTP.dll和xSE PluginPreloader.xml放在你的根目錄(Fallout4.exe所在的位置),而不是在Data文件夾裏。如果你用的是F4SE,確保用 -forcesteamloader 命令行選項運行。
卸載
刪除遊戲文件夾中的已安裝文件。任何依賴這個的模組都會無法正常工作。
配置
預加載器作爲WinHTTP.dll的代理實現,因此與任何更改該DLL的模組不兼容(我沒找到任何模組)。這種情況下你需要把另一個模組的WinHTTP.dll重命名爲別的名字,並在xSE PluginPreloader.xml文件中指定新的真實DLL。更詳細的說明請參見XML文件。
注意!
進入 xSE PluginPreloader.xml 文件,如果默認加載方法不行,就把加載方法改成 OnThreadAttach,或者 OnProcessAttach。
- 如果你用Vortex安裝模組,使用Engine Injector安裝方法(舊版Vortex用DINPUT)來安裝這個模組。
要更改加載方法,請編輯XML文件中“Name”屬性的值。
例如,如果你需要設置爲“OnThreadAttach”或“ImportAddressHook”,可以這樣編輯這個部分。
用戶問答
問:這會不會影響性能或任何缺點?
答:目前沒有注意到任何問題。
問:它和ENB兼容嗎?
答:是的。
問:ENB是必修的嗎?
答:沒有。真的有人問過這個問題嗎?
問:如果在不同時間加載F4SE插件,不會出問題嗎?
答:只有包含特殊文件、表明希望提前加載的F4SE插件纔會被預加載。你不應該手動創建這個文件。插件作者會決定,並把文件和他們的mod i一起包含進去它一定是那樣裝彈的。
問:我遇到插件沒有預加載的問題,按理說應該預載!
答:在你的遊戲目錄中找到文件 xSE PluginPreloader.log,並上傳到你的問題報告中。我會試着找出問題所在。
模組作者問答
問:我怎樣才能在遊戲初始化前加載插件?
答:假設你的插件名是MyPlugin.dll,並且在Data/F4SE/Plugins裏,然後你在Data/F4SE/Plugins裏創建一個名爲MyPlugin_preload.txt的文本文件,文件內容無關緊要。
問:插件是如何加載的?
答:WinHTTP.dll加載器會在遊戲初始化前調用你的插件的 LoadLibrary。它不會調用F4SEPlugin_Query或F4SEPlugin_Load,這些是由F4SE自己之後調用的。這意味着你必須在遊戲初始化前完成你在 DllMain 方法中需要做的事情。你也可以導出一個名爲 Initialize 的函數(簽名爲 void(__cdecl*)(void),即無參數、無返回值、C 調用約定)以便之後調用。
問:F4SE後來又調用LoadLibrary,這會有問題嗎?
答:不,LoadLibrary 可以多次調用,而且 DLL 只能加載一次,除非它作爲不同文件分佈在多個位置。
問:我可以通過Mod Organizer/Wrye Bash安裝我的插件文件(包括_preload.txt)嗎?
答:原始SKSE插件預加載頁面說可以。考慮到插件封裝是一樣的,我覺得這應該適用。Wrye Bash也是一樣:
一定要告訴用戶在安裝程序中選擇“覆蓋跳過”,這樣.txt安裝時會連同你的F4SE插件
插件源碼一起在GitHub上。
鳴謝:
Nukem - Detours library
meh321 - 描述模板
啊 - 測試。......
...
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。