所有發布的項目,包括但不限於:二進製文件、原始文件、文檔,均在 AGPL 許可證下提供,附加條款是發布的項目不得用於創建分叉或其他競爭產品。競爭產品可以在執行時間編譯和執行.NET(例如C#)程式碼以創建修改後的遊戲資產。
一旦儲存庫被存檔(即開發|維護停止),附加條款可能會被刪除。
對於 5.00.1.0 以上的版本,需要安裝 .NET 桌面執行時間 8.x x64。
對於 3.82.1 以上的版本,需要安裝 .NET Desktop Runtime 6.x x64。
對於 3.82.1 及以下版本,需要安裝 .NET Desktop Runtime 5.x x64。
下載最新版本,或選擇一個版本並下載對應的 NMSModBuilder.7z 資源。
沒有安裝程序,只需將 NMSModBuilder.7z 的內容解壓縮到(新)資料夾中即可。
GitHub 可能有未上傳到 Nexus 的預發布版本。當新增或變更大量程式碼時,版本通常會被標記為預發布。一旦預發布標籤使用一段時間且未偵測到任何問題,則可以將其刪除。
更新時,請記住備份您可能已修改的任何捆綁的 Util、Query 或 Mod 腳本,然後再用較新版本中的腳本覆蓋它們。
NMSMB 應該能夠運行,而無需用戶進行任何配置更改。
您可能需要將包含的 libmbin.dll 替換為您要載入的遊戲版本所需的 libmbin.dll。
當 NMSMB 啟動時,它會載入 NMSMB 資料夾中的 libMBIN.dll。它在大多數研究選項卡中使用它,以顯示各種 mbin 的例如語言的內容。腳本在提取或建立 mbin 時也會使用它。因此,NMSMB 資料夾中的 libMBIN.dll 版本必須與您要修改的遊戲版本所需的版本相符。 cmkNMSReleases.txt 檔案列出了每個遊戲版本所需的 libMBIN.dll 版本。
如果您想要修改多個遊戲實例,每個實例都需要不同的libMBIN.dll 版本,最簡單的選擇是為每個遊戲實例建立一個NMSMB 安裝資料夾,每個實例都有適當的libMBIN.dll 版本;否則,在修改給定的遊戲實例之前,您必須手動確保 NMSMB 資料夾中存在正確的 libMBIN.dll 版本。
該應用程式可能會下載其他版本的 libmbin,例如 libmbin_3.9.0.1.dll。它們僅在反編譯 mbin 時使用。啟動應用程式、載入研究標籤或編譯|運行腳本時不使用它們。
給定的 NMSMB 版本只能向前捲動 libmbin.dll 版本。例如,NMSMB 版本 4.0.0.0 附帶 libmbin 4.0.0.2,您只能嘗試將隨附的 libmbin 替換為較新版本(如 4.0.0.3),不能使用舊版本(如 4.0.0.1)。如果您的遊戲版本需要較舊的 libmin,那麼您需要使用支援它的較舊的 NMSMB 版本。查看 NMSMB change.log 以查看每個 NMSMB 版本中包含的 libmbin 版本,或僅檢查下載檔案中的 libmbin。
no_github
阻止 NMSMB 連線到 GitHub。
預設情況下,NMSMB 將連接到 GitHub 以取得:
no_registry
防止 NMSMB 在關閉時將視窗狀態儲存在註冊表中並在啟動時從註冊表中恢復它。
NMSMB 將視窗狀態儲存在HKCUSOFTWAREcmkushnirNMSMBWindows中。
如果刪除NMSMB,則使用者負責刪除註冊表訊息,沒有卸載程式。請注意,如果您使用多個 NMSMB 副本,它們都共用相同的登錄項目。
p"path"
將單一遊戲位置新增至工具列。 GoG、Steam、選擇按鈕的左側將會新增一個按鈕。
r#.#.#
強制發布p
遊戲實例的遊戲。僅當p
也指定時才使用。如果指定了v
則被忽略。
v#.#.#.#
強制p
遊戲實例使用 MBINC 版本。僅當p
也指定時才使用。覆蓋r
。
lg
、 ls
、 lx
或lp
嘗試在啟動時自動載入遊戲實例(GoG、Steam、Xbox Game Pass 或p
位置)。
如果指定了
p
但未指定r
或v
,則會在 cmkNMSReleases.txt 中尋找 NMS.exe 的建置日期以確定版本。
NMSMB 資料夾中的 .editorconfig 檔案由腳本「格式」工具列按鈕使用來控制縮排和間距等內容。
NMSMB 資料夾中的 cmkNMSReleases.txt 檔案將遊戲版本綁定到 MBINCompiler | libMBIN 版本。它通常會在新遊戲發布或 MBINCompiler 時更新。 libMBIN 版本發布 |安裝。
啟動時,NMSMB 會自動將本機檔案中的項目與 GitHub 檔案中的最新條目合併,除非指定了no_github命令列選項。這意味著只要 GitHub 檔案保持最新,用戶通常不需要編輯此文件。
對於每個平台(包括 GoG 與 Steam),給定遊戲版本的 NMS.exe 建置日期可能有所不同。 NMS.exe 的建置日期可能比正式發布日期早幾天。 cmkNMSReleases.txt 建置日期應與 Steam NMS.exe 建置日期相對應。
您只能為 NMSMB 資料夾中的 libMBIN.dll 版本支援的遊戲版本建立模組(如 cmkNMSReleases.txt 中指定)。
外掛程式 dll 是一個 .NET core dll,它只引用 cmkNMSCommon.dll 和 cmkNMSModBuilder.exe,並且具有衍生自 cmk.NMS.ModBuilder.Plugin 的類別。當 NMSMB 啟動時,它將載入所有 ./Plugins/*.dll 檔案。對於每個 dll,它將建立它找到的第一個 cmk.NMS.ModBuilder.Plugin 衍生類別的實例,並呼叫其 Load() 方法。當 NMSMB 關閉時,它將呼叫所有插件實例的 Unload() 方法。
插件可用於以下用途:
請參閱:儲存庫中的插件/範例/。
使用任何所需的命令列選項執行 cmkNMSModBuilder.exe,例如:
X:GamesNMSToolsNMSModBuilder>cmkNMSModBuilder.exe p"G:GamesNo Man's Sky" lp
當 NMSMB 啟動時,可能需要 1-3 秒才能顯示該視窗。在此期間,NMSMB 正在載入和連結NMSMB 資料夾中libMBIN.dll 中的所有枚舉、類別和字段,搜尋已安裝的GoG、Steam 和Xbox Game Pass 遊戲實例,載入任何./Plugins/*.dll 文件, ....
預設日誌視窗和 NMSMB 狀態切換按鈕。
來自連結的 libMBIN.dll 的所有枚舉、結構、欄位。
頂級結構具有指向使用它們的 mbin 的連結。
可以使用通配符或正規表示式模式來篩選顯示的項目。
所選語言的所有 ID - 文字對的合併和排序清單。
所選語言用於在使用語言 ID 的所有標籤中顯示文字。
可以使用通配符或正規表示式模式來篩選顯示的項目。
列出對應METADATA/REALITY/TABLES/*.MBIN
中的項目。
對於每個項目顯示圖示、ID、文字、說明、要求。
可以使用通配符或正規表示式模式來篩選顯示的項目。
列出METADATA/REALITY/TABLES/NMS_REALITY_GCRECIPETABLE.MBIN
中的項目。
對於每個項目,顯示圖示、ID、文字、說明、要求。
可以使用通配符或正規表示式模式來篩選顯示的項目。
使用通配符或正規表示式模式搜尋遊戲或 mod pak 檔案中的所有項目路徑。
使用通配符或正規表示式模式搜尋遊戲或 mod pak 檔案中的所有 *.dds 路徑。
每個結果都會顯示一個縮圖。
使用通配符或正規表示式模式搜尋遊戲或 mod pak 檔案中可以表示為文字的項目。
可以選擇快取 mbin 文字以顯著加快後續搜尋速度。
僅在偵測到衝突時顯示。
NMSMB 觀看所選遊戲GAMEDATA/PCBANKS/MODS/
資料夾中的 *.pak 新增 |刪除|變化。每當偵測到變更時,它都會重新檢查是否有衝突,如果發現任何衝突,則顯示該選項卡,否則隱藏該選項卡。
查看遊戲或 mod pak 檔案中的項目。可以將項目儲存到磁碟。
適用於常見項目類型的專用檢視器和 diff 檢視器,例如 mbin、dds、spv、txt...。
建立、編輯、編譯可由 Query 和 Mod 腳本使用的 C# 腳本。
建立、編輯、編譯、執行可以從遊戲和 mod pak 檔案中查詢資料的 C# 腳本。
建立、編輯、編譯 C# 腳本,用於建立遊戲的修改副本和已安裝的 mod pak 檔案。
執行 Mod 腳本對象,使用產生的修改項來建立新的 mod pak 檔案。
僅當指定了有效的p
命令列路徑時才顯示。
檢查登錄中的HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeGOG.comGames1446213994
。
註冊表項包含安裝路徑和遊戲版本。
搜尋所有 Steam 遊戲安裝位置appmanifest_275850.acf
。
清單包含安裝路徑、基於 NMS.exe 建置日期的 cmkNMSReleases.txt 的遊戲版本。
使用 Windows 套件管理器尋找套件 ID HelloGames.NoMansSky
。
軟體包包含安裝路徑和遊戲版本。
選擇有效的遊戲路徑將顯示 NMS.exe 建置日期以及 cmkNMSReleases.txt 中的符合遊戲版本。用戶可以覆蓋遊戲發布。
https://github.com/cmkushnir/NMSModBuilder
注意:使用者貢獻的腳本和文件可以在以下位置找到:
https://github.com/cmkushnir/NMSModBuilderContrib
顯示初始畫面和依賴項的連結。
NMSMB 資料夾中載入的 libMBIN.dll 連結的版本決定了可以修改哪些遊戲版本。它不控制可以查看哪些 mbin 版本,NMSMB 將提示下載所需的相應 libMBIN.dll 以根據需要查看給定的 mbin。
建置日期儲存在 NMS.exe 中,因此該檔案需要可讀。
預設無法讀取 Xbox Game Pass NMS.exe,日期來自基於遊戲版本的 cmkNMSReleases.txt。
最小化 NMSMB 視窗並在新進程中啟動選定的 NMS.exe。
點擊此按鈕將查詢 GitHub 以獲得最新版本。如果有新版本可用,系統將提示使用者下載 NMSModBuilder.7z。
與 libMBIN.dll 一樣,NMSMB 不會嘗試向後相容,因此只有與給定 NMSMB 版本大約同時發布的 libMBIN.dll 版本才可能支援修改,即早期和更高的 libMBIN.dll 版本可能會更改直接由NMSMB使用(NMSString*、序列化方法名稱空間與簽名、語言、物質、產品、技術、配方mbin)。
NMSMB 可能會兩次提示您下載檔案:
https://github.com/cmkushnir/NMSModBuilderContrib
使用者貢獻,例如腳本、外掛程式、文件…
https://github.com/monkeyman192/MBINCompiler
反編譯並重新編譯 *.mbin 項至 |來自記憶體中的 dom 和文字。
https://github.com/dotnet/roslyn
Microsoft .NET編譯器,用於編譯C#腳本。
https://github.com/icsharpcode/AvalonEdit
檢視和編輯可轉換為文字的項目。
https://github.com/nickbabcock/Pfim
將 *.dds 轉換為點陣圖以供查看。
https://github.com/KhronosGroup/SPIRV-Cross
將 *.spv 轉換為 |來自 glsl 文字。
https://github.com/mellinoe/veldrid-spirv
將 *.spv 轉換為 |來自 glsl 文字。
https://github.com/mmanela/diffplex
確定文本項之間的差異。
https://github.com/octokit/octokit.net
查詢GitHub取得發布資訊。
https://github.com/MiloszKrajewski/K4os.Compression.LZ4
解壓縮|壓縮 HGPAK pak 檔案 (MacOS)。
https://github.com/ClosedXML/ClosedXML
匯出到 Excel .xlsx 檔案。