NMSSaveEditorの使い方

概要
--

このツールはPC版でしか利用できない。

セーブデータの直接編集ができるため、何でもできてしまう。安易に利用するとゲーム的な目標を喪失してしまう。自制心が必要なツール。

しかし動作検証や内部データの解析、通常の方法で対処できない問題の解決など、有用であることも否定できない。あくまでも目的の機能だけ使うのにとどめよう。

このページは機能の確認がてら作成した。大半は実際には未確認。

「NMSSaveEditor 1.6.8(BEYOND)」(本作v2.24時点)について書いたもの。

更新は積極的にはしない予定。

* ダウンロード → https://github.com/goatfungus/NMSSaveEditor/raw/master/NMSSaveEditor.exe
* いうまでもなく最新バージョンに対応したものが必要です。リリース直後は追いつかないことも多いので注意してください。

### インストール手順

動作にはJava8ランタイムが必要 → https://java.com/en/download/manual.jsp
* 「Windows Online」または「Windows Offline (64-bit)」からダウンロードして実行

NMSSaveEditor.exeを実行し、実行ファイル群をどこかの空のフォルダーにインストール
### 注意

このツールはセーブファイルに書き込む前にセーブスロット単位にバックアップは作ってくれるが、データをいじる前のデータはバックアップをしておこう。
### 起動

NMSSaveEditor.batを実行して起動
* 動作が不安定な場合は使用メモリを多く確保するNMSSaveEditor-4G.batを使用
* アップデートがある場合は素直に指示に従って更新すること
* 本作バージョンアップ直後など仕様変更に追い付かない場合もあり得る。各自判断すること。

### 終了

画面を閉じるとき、未保存の編集があればダイアログの「はい」ボタンで「上書き保存」となる。
## よくあるやりたいこと

銀河を移動したい。スタックしてしまい抜け出したい。
Editメニューから、Coordinate Viewerを使えば銀河を自由に移動できる。次回ロード時は宇宙空間に宇宙船に乗った状態、つまりワープアウト直後の星系突入状態で始まる。
* ただしユークリッド銀河に移動するなら、通常のゲームでもスペースアノマリーでほかの人の基地を回れば戻るのは簡単。アイゼンタムの基地もきっと見つかるので、改造に手を出す前にぜひやってみてほしい。

基地だけを別に保存したい
Bases & Storagesタブで保存とリストアが可能。
バージョンが変わると保存データは正常に読み込めなくなる可能性がある。
基地を削除せずに基地コンピュータを移動したい
Bases & Storagesタブで移動できる。この機能は先に信号ブースターを設置しておいて位置を入れ替える機能。
別のセーブスロットにセーブデータをコピーしたい
Mainタブでロードしたセーブ情報を別のスロットにセーブするだけでよい
ポータルの向こう側に基地を作りたい
Editメニューで、Edit Raw JSONを使ってプレイヤーのポータル利用状態を変更しよう。CTRL+Fキーで「OnOtherSideOfPortal」キーワードを検索する。値が「true」になっているはずなので「false」に変更する。週末ミッション中はゲームを中断できないのでミッション完了後ポータルアドレスを使って戻ってこよう。
基地や資源、宇宙船のマーカーが特定条件で表示されなくなったので対処したい
Editメニューで、Edit Raw JSONを開き、Ctrl+Fで検索画面を開いて「MarkerStack」と入力し、出てきた項目にある「｛　」のある番号をメモしよう。
その後、もう一度「Find」ボタンを押して「NewMPMarkerStack」という項目が出てくるので、その上にある「　｝」から、先にメモした番号までの範囲を削除する。
元となったセーブデータに書き込み終えたらゲームを起動して、表示されているか確認しよう。
表示されていれば問題なく処理できたはずだ。もし何かおかしい場合は余計な部分を消したか、範囲を間違えてるのでバックアップで上書きしてやり直そう。

## 詳細な使い方

### Mainタブ

File詳細
* Game Slot - モードと最終セーブ日時で判断。選択が必要。
* Save File - 通常はそのまま。自動保存されている編集前のセーブに戻したいときは変更
* Reloadボタン - セーブの再読み込み
* Save Changesボタン - セーブスロット上書き保存
* Save Asボタン - 別のスロットに保存する

### Exosuitタブ

エクソスーツ

Mainステータス
* Health - 主体力残量 ?
* Shield - シールド残量 ?
* Energy - 不明(パーセント)
* Units - 所持ユニット
* Nanites - 所持ナノマシンクラスター
* Quickshilver - 水銀

アイテムケース

* General - 一般ケース
* Technology - テクノロジーケース
* Cargo - 積み荷ケース
* Resize Inventoryボタン - 枠幅を変更する。これとは別にスロット単位に有効/無効がある
* 右クリックメニュー
	+ Enabledチェック - スロットの有効／無効
	+ Enabled All Slots - 全スロット有効化
	+ Repair Slot - スロットが故障スロットの場合修理
	+ Add Item - Add Itemダイアログが開く
* Add Itemダイアログ
	+ Search - 検索 ※英語名が分かるなら検索したほうが早い
	+ Type - Technology(テクノロジー) / Substance(資源) / Product(製品)から選択
	+ Category - Typeによって選択内容が変わる
		- Technology：Suit(エクソスーツテクノロジー) / Procedural(アップグレードモジュール)
		- Substance：Fuel(炭素) / Metal(フェライト) / Catalyst(ソジウム) / Stellar(恒星金属) / Flora(植物系) / Earth(鉱脈系) / Exotic(貴金属) / Special(いろいろ)
		- Product：Component(一般作成物) / Consumable(料理と既製品) / Tradeable(交易品) / Curiosity(キーアイテム) / Building Parts(建設パーツ) / Procedural(トレジャー)
	+ item：多岐にわたるので割愛

1. ↑ アップグレードモジュールの名称や性能はプロシージャル生成のため
2. ↑ 変な物も混じっているが選択したらどうなるかは試していない
3. ↑ トレジャーハントで得られるアイテムの名称や性能はプロシージャル生成のため

### Multitoolタブ

マルチツール

* Multitool - 所有しているマルチツールを選択
* Name - 空欄のとき初期名
* Class - 表示されるクラス※性能は関係ない
* Seed - 外観を決定するシード番号 / Generateボタンでランダム設定可能
* Damage - 弾丸効率ボーナス(パーセント)
* Mining - 掘削量ボーナス(パーセント)
* Scan - スキャン範囲ボーナス(パーセント)
* Delete Multitoolボタン - マルチツールを削除する

アイテムケース

* エクソスーツを参考に。

1. ↑ 本来ボーナス値はシード番号とクラスから決定されるがそれを設定する機能はない。

### Shipsタブ

宇宙船

* Ship - 所有している宇宙船を選択(Type表示)
* Name - 空欄のとき初期名
* Type - Hauler / Explorer / Shuttle / Fighter / Exotic
* Class - 表示されるクラス※性能は関係ない
* Seed - 外観を決定するシード番号(Type別) / Generateボタンでランダム設定可能
* Use Old Coloursチェックボックス - v1.3までのカラーリング?
* Health - 宇宙船主体力残量 ?
* Shield - 宇宙船シールド残量 ?
* Damage - 弾丸効力ボーナス(パーセント)
* Shields - シールドボーナス(パーセント)
* Hyperdrive - ハイパードライブボーナス(パーセント)

アイテムケース

* エクソスーツを参考に。

1. ↑ 本来ボーナス値はシード番号とクラスから決定されるがそれを設定する機能はない。Aクラスで設定してこれをSクラスにアップグレードすれば適正な値になるかもしれない

### Freighterタブ

貨物船

* Name - 空欄のとき初期名
* Type - Tiny(コンテナ船等) / Small(小型) / Normal(通常) / Capital(大型)
* Class - 表示されるクラス※性能は関係ない
* Home Seed - カラーパレットを決定するシード番号
* Model Seed - 外観を決定するシード番号(Type別) / Generateボタンでランダム設定可能
* Base Stats - ハイパードライブボーナス(パーセント)
* 貨物船基地についての機能は無効化されている模様

アイテムケース

* エクソスーツを参考に。

1. ↑ プレイヤーの利用は想定されていない
2. ↑ プレイヤーの利用は想定されていない

### Frigatsタブ

フリゲート

* Deleteボタン - フリゲートの削除
* Copyボタン - フリゲートのコピー
* Name - 空欄のとき初期名
* Type - Combat / Exploration / Industrial / Trade / Support
* NPC Race - Traders(ゲック) / Warrior(ヴァイキーン) / Explorer(コーバックス)
* Home Seed - カラーパレットを決定するシード番号
* Model Seed - 機能しているのか不明 / Generateボタンでランダム設定可能
* 他省略

### Vehiclesタブ

エクソクラフト

Vehicle - 所有するエクソクラフトを選択※一度も呼び出していないものは選択不可
アイテムケース

* エクソスーツを参考に。スロット枠やスロットの有効/無効は固定になっており変更不可。これはプログラムに固定でコーディングされているかららしい

### Bases & Storagesタブ

惑星基地

* Base NPC - スペシャリストの選択
* Race - 種族。スペシャリストによって固定されている
* Seed - NPCの名称・外観を決定するシード番号 / Generateボタンでランダム設定可能
* Base Info - 所有する基地の選択
* Name - 基地の名称
* Items - 基地のパーツ数。変更不可
* Backupボタン - 基地の建設内容を別ファイルに保存する
* Restoreボタン - 保存したファイルでリストアする
* Move Base Computerボタン - 基地コンピュータの移動。信号ブースターなどと入れ替える

貯蔵コンテナ＆材料保管庫

* エクソスーツのアイテムケースを参考に。

### Discoveryタブ

Known Technology - 習得したテクノロジー

* Add Technologyボタン - テクノロジーのレシピを習得する
* Remove Selectedボタン - テクノロジーのレシピを忘れる

Known Words - 習得した単語 - チェックボックスで単語単位で設定可能

* Learn Allボタン - すべての単語を習得する
* Unlearn All - すべての単語を忘れる

Known Product - 習得したアイテムレシピ

* Add Productボタン - アイテムのレシピを習得する
* Remove Selectedボタン - アイテムのレシピを忘れる

Known Glyphs - 習得したポータルグリフ - チェックボックスで設定

### Milestones / Reputationタブ

Milestone - マイルストーン

* 省略

Reputation - 種族やギルドの達成状態や評判レベルなど

* 省略

### Editメニュー

* Edit Raw JSON - セーブデータを直接参照・編集する
	+ ミッションの進捗など奥深いところに手を出す真の上級者向け機能。参照するだけならともかく、下手に編集するとその場では問題なくても後々問題が発覚する可能性も高い。
	+ Ctrl+Fでキーワード検索できる。以下興味深いキーワード。
	+ RealityIndex - 現在の銀河(0:ユークリッド)
	+ GalacticAddress - 現在の星系を特定する銀河座標。星系を移動するのに使えるが、ポータルアドレスの内訳の理解が必要。
	+ PlayerPositionInSystem - 現在の星系内座標を管理する。もし地表にいる状態で銀河座標を変更すると宇宙に放り出されてしまう可能性が高い。
	+ OnOtherSideOfPortal - ポータル利用状態。利用中trueになる。それをfalseに変えると…
	+ HomeRealityIteration - 本来所属の銀河(0:ユークリッド)。※v2.21より前はこれと異なる銀河に移動するとき以前のテレポートリストは削除されていたが変更されたため意味がないエントリになったかもしれない。
* Coordinate Viewer - 現在位置の確認、別の銀河へワープができる。ワープ扱いのためEdit Raw JSONで直接座標をいじった後に使うと安全に移動できるだろう。
* Test Mode - 使用はお勧めしない
* Recharge All Technology - 全テクノロジーのエネルギーをMAXにする
* Refill All Stack - 全アイテムのスタック数を最大に満たす
* Recharge All Planters - 水栽培トレイのリチャージ…今は意味がないと思われる
* Expand All Inventries - 全アイテムケースのスロット数を最大にする
* Enable All Slots - グレイアウトした利用不可スロットをすべて利用可能にする
* Repair All Slots / Technology - すべて修理する

1. ↑ JSONとはメモリ状態をテキストに保存するときの形式の一つ。

## 関連リンク

* FAQ - よくある質問(英語)、ちょっと古くなっている
* NMSeeds - 宇宙船の外見などはシード番号をもとに生成される。そのカタログサイト