バイナリ、ソース ファイル、ドキュメントを含むがこれらに限定されない、リリースされたすべてのアイテムは、AGPL ライセンスに基づいて利用可能になります。ただし、リリースされたアイテムは、フォークされた製品や競合する製品の作成に使用できないという追加条項が付いています。競合する製品は、実行時に .NET (C# など) コードをコンパイルして実行して、変更されたゲーム アセットを作成できる製品です。
リポジトリがアーカイブされると (つまり、開発やメンテナンスが停止されると)、追加の規定は削除される可能性があります。
5.00.1.0 以降のバージョンでは、.NET Desktop Runtime 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 を、ロードするゲーム リリースに必要なものに置き換える必要がある場合があります。
NMSMB が起動すると、NMSMB フォルダーに libMBIN.dll がロードされます。これは、言語などのさまざまな mbin の内容を表示するために、ほとんどのリサーチ タブに使用されます。これは、スクリプトが mbin を抽出または作成するときにも使用されます。そのため、NMSMB フォルダー内の libMBIN.dll のバージョンは、MOD を適用するゲーム リリースで必要なバージョンと一致する必要があります。 cmkNMSReleases.txt ファイルには、各ゲーム リリースに必要な libMBIN.dll のバージョンがリストされています。
Mod したいゲーム インスタンスが複数あり、それぞれに異なる libMBIN.dll バージョンが必要な場合、最も簡単なオプションは、ゲーム インスタンスごとに、適切な libMBIN.dll バージョンを含む NMSMB インストール フォルダーを作成することです。それ以外の場合は、特定のゲーム インスタンスを変更する前に、正しいバージョンの libMBIN.dll が NMSMB フォルダーにあることを手動で確認する必要があります。
アプリは、libmbin_3.9.0.1.dll などの他のバージョンの libmbin をダウンロードする場合があります。これらは、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、Selectボタンの左側にボタンが追加されます。
r#.#.#
p
ゲーム インスタンスのゲーム リリースを強制します。 p
も指定されている場合にのみ使用されます。 v
が指定された場合は無視されます。
v#.#.#.#
p
ゲーム インスタンスの MBINC バージョンを強制します。 p
も指定されている場合にのみ使用されます。 r
をオーバーライドします。
lg
、 ls
、 lx
、またはlp
起動時にゲーム インスタンス (GoG、Steam、Xbox Game Pass、またはp
location) を自動ロードしてみます。
p
指定されているが、r
もv
指定されていない場合は、cmkNMSReleases.txt 内の NMS.exe のビルド日を検索してリリースを特定します。
NMSMB フォルダー内の .editorconfig ファイルは、スクリプトの [書式設定] ツールバー ボタンによってインデントや間隔などを制御するために使用されます。
NMSMB フォルダー内の cmkNMSReleases.txt ファイルは、ゲーム リリースを MBINCompiler にバインドします。 libMBIN のバージョン。通常、新しいゲームのリリースや MBINCompiler のときに更新されます。 libMBIN バージョンがリリースされました |インストールされています。
no_githubコマンドライン オプションが指定されていない限り、NMSMB は起動時にローカル ファイルのエントリを GitHub ファイルの最新のエントリに自動的にマージします。つまり、GitHub ファイルが最新に保たれている限り、通常、ユーザーはこのファイルを編集する必要はありません。
特定のゲーム リリースの NMS.exe ビルド日は、GoG と Steam を含むプラットフォームごとに異なる場合があります。 NMS.exe のビルド日は、正式リリース日の数日前になる場合があります。 cmkNMSReleases.txt のビルド日は、Steam NMS.exe のビルド日と一致する必要があります。
cmkNMSReleases.txt で指定されているように、NMSMB フォルダー内の libMBIN.dll バージョンでサポートされているゲーム リリースの MOD のみを作成できます。
プラグイン DLL は、cmkNMSCommon.dll および cmkNMSModBuilder.exe を単に参照する .NET Core DLL であり、cmk.NMS.ModBuilder.Plugin から派生したクラスを持ちます。 NMSMB が起動すると、すべての ./Plugins/*.dll ファイルがロードされます。 DLL ごとに、最初に見つけた cmk.NMS.ModBuilder.Plugin 派生クラスのインスタンスを作成し、その Load() メソッドを呼び出します。 NMSMB が閉じると、すべてのプラグイン インスタンスに対して Unload() メソッドが呼び出されます。
プラグインは次のような目的で使用できます。
「リポジトリの Plugins/Sample/」を参照してください。
必要なコマンドライン オプションを指定して 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 パック ファイル内のすべてのアイテム パスを検索します。
ワイルドカードまたは正規表現パターンを使用して、ゲームまたは MOD PAK ファイル内のすべての *.dds パスを検索します。
結果ごとにサムネイル画像が表示されます。
ワイルドカードまたは正規表現パターンを使用して、テキストとして表現できるゲームまたは MOD パック ファイル内のアイテムを検索します。
オプションで、mbin テキストをキャッシュして、後続の検索を大幅に高速化します。
競合が検出された場合にのみ表示されます。
NMSMB は、選択されたゲームのGAMEDATA/PCBANKS/MODS/
フォルダーに *.pak が追加されるのを監視します。削除 |変化します。変更が検出されると必ず競合がないか再チェックし、競合が見つかった場合はタブを表示し、競合が見つからない場合はタブを非表示にします。
ゲームまたは MOD パック ファイル内のアイテムを表示します。アイテムをディスクに保存できます。
mbin、dds、spv、txt などの一般的なアイテム タイプに特化したビューアと差分ビューア。
Query スクリプトと Mod スクリプトで使用できる C# スクリプトを作成、編集、コンパイルします。
ゲームおよび MOD pak ファイルからデータをクエリできる C# スクリプトを作成、編集、コンパイル、実行します。
ゲームおよびインストールされた MOD pak ファイルの変更されたコピーを作成する C# スクリプトを作成、編集、コンパイルします。
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 のバージョンによって、どのゲーム リリースを MOD できるかが決まります。どの mbin バージョンを表示できるかは制御されません。NMSMB は、必要に応じて、特定の mbin を表示するために必要な適切な libMBIN.dll をダウンロードするように求めます。
ビルド日は 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*、メソッドの名前空間とシグネチャ、言語、物質、製品、テクノロジー、レシピ MBI をシリアル化) によって使用されます。
NMSMB がファイルのダウンロードを求めるメッセージが 2 回表示されます。
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 ファイルにエクスポートします。