FO4Editの使い方、今回はマスター指定のお話です。
作業自体は大したことないのですけど、「何故マスター指定が必要なのか?」という点にウェイトを置いた内容になってます。前回作ったチートアーマーを引き続き使いますが、今回から読んでも問題ないです(前回を参照するシーンが無いので)。
※前回のもそうですが、あくまで個人的な使い方からまとめていますので、頭悪いやり方してる場合もあるかもしれません!
基本的な使い方はこちらの記事にて。
マスター指定の必要性
「基礎的な使い方」記事で作ったチートアーマーMOD、CombatCheatArmor.espを例にします。
防御力が軒並み1000でWeightが1の逸品です。
今回はここにクラフトレシピを追加しました。Constructible Objectに、必要な材料とワークベンチを指定したオブジェクトを作るだけです。
マスター指定が不要な場合
まずはバニラのワークベンチ(ケミカルステーションか調理設備)で作れるようにします。
バニラ環境でのクラフト対応
レシピのレコードは以下の通り。
- 材料と員数
- 完成品
- 使用するベンチ(直接ベンチを指定せずにKeywordで中継)
- ベンチ内のカテゴリ(これもKeyword)
この4つです。Conditionsを使えば、必要Perk等の条件設定も可能です。
赤枠内のFormIDの、上位2桁に注目です。
「完成品」であるチートアーマーが01000800
である以外、他は00からのFormIDです。つまり[00]Fallout4.esmと、[01]CombatCheatArmor.espのオブジェクトしか使ってないということです。まあこの2つしか読んでないので当たり前なのですが!
ゲーム内でのクラフトを確認
このレシピの詳細は、コンバットアーマーとスイートロールとヌカコーラを、
鍋のスープカテゴリで煮込むとチートアーマーが完成する
ということになってます。
イメージ画像
実際のクラフト
よく煮込んだら完成です。特に何の問題もなくレシピ追加が終わりました。
※撮影後に気づきましたが、スイートロールにタグ付いてなかったですね。Yummier Sweetrollsを入れてるのですが、タグ修正を忘れてました。よく見たらNoodleも・・・まだローカルパッチに漏れがありそうです。
マスター指定が必要な場合
鍋でアーマーを煮て作るのはあまりにネタっぽいので、普通にベンチで作ることを考えます。
AWKCRによるクラフト対応
Armor and Weapon Keywords Community Resource (AWKCR)を使って、専用ベンチでクラフトできるようにします。FO4Edit起動時に、AWKCR(ArmorKeywords.esm)を一緒にチェックしておきます。
今回のCombatCheatArmor.espのロードオーダーは[05]になりました。
AWKCRには、アーマー、武器、弾薬をクラフトできる専用ベンチが入ってます。料理鍋の代わりにArmorsmth Workbenchを使うことにします。
このベンチのレコードにはバニラには無い新規Keywordがあり、これを持つレシピをクラフトできるようになります。
なら話は簡単で、クラフトレシピのWorkbench Keywordに、このKeywordを設定するだけじゃないですかね?
そう思って書き込んだら怒られました。設定不能でデカルチャー。
AWKCRのKeywordが使えなかった理由
何故設定できなかったんでしょう?
"[05]CombatCheatArmor.esp"は、esp作成時に"[00]Fallout4.esm"をマスター指定しています。よってマスターファイルである"Fallout4.esm"のオブジェクトを好きに上書きできますし、Keyword等も参照し放題です(マスターの方がのび太君みたいですね・・・)。勿論"CombatCheatArmor.esp"自身で作ったオブジェクトも使えます。
一方で、今回新たに使いたいオブジェクトは、KYWD:04000851
です。00でも05でもなく、04のKeywordです。これは"[04]ArmorKeywords.esm"による新規オブジェクトであることを意味します。けれども現段階では、"CombatCheatArmor.esp"にとってこのesmは「未知の存在」である為、上書きや参照利用することができません。だからエラーになってしまった訳です。
"CombatCheatArmor.esp"に対して、"ArmorKeyword.esm"を「マスター指定」することで、リソースの利用が可能になります。
マスター指定の追加
意味がわかれば、作業自体は簡単です。追加したいプラグインを選んで、”Add Masters"します。
必要なマスターファイルを選択すれば準備完了。
今度はエラー無く設定できました。[04]からのKeyword2つが追加されました。
ワークベンチのコンバットアーマーのカテゴリに出現。ヘルメットはArmorsmith Extendedで追加される、髪の毛(Hair Long)のスロットを潰さないバージョンです。
問題なくベンチでクラフト可能になりました!材料はスイートロールとヌカコーラのままですが・・・
マスター指定の確認
File Headerのレコードから確認可能で、Master Filesに設定されています。
esmだけでなくespが指定されている場合もあり(同じ作業で指定可能)、これがいわゆる「前提MOD」になります。
マスター指定の注意点
便利なマスター指定ですが、いくつか注意点もあります。
指定されたマスターファイルの不足
マスター指定を追加すると、追加したesm(esp)が必須になります。つまり、CombatCheatArmor.espはArmorKeywords.esmが無いと使えない、ということです。FO4Editでは必要に応じてマスターファイルを自動的にロードしてくれますが、存在しない(ロードできない)場合はエラーになります。 ゲーム起動時に無かったなら、タイトル画面で確定CTDします。
ArmorKeywords.esmを削除してCombatCheatArmor.espを読込むと、エラーで止まります。
マスターファイルは、マスター指定した時点で必須となります。例えマスターファイルを何も変更していない、何も参照していないとしても、です。
マスターファイルにおけるFormIDの削除
マスターファイルにリンクを張った状態なので、マスターファイルのFormIDが削除されると動作に問題が起こります(CTDするとは限らないです)。
例えばCrafting Workbenchesです。旧版は独自のKeywordとワークベンチを持ってましたが、現在はAWKCR対応化によりバニラ装備のレシピのみのespとなってます(弾薬等の追加クラフトのespを除く)。
旧版にあったKeyword群は削除されました。よって、このespをマスター指定してKeywordを使っていたMODの場合、AWKCR対応版を使うとエラーになります(Deleted Reference)。
AWKCRをマスター指定し、何かベンチとカテゴリを設定すれば回復します。
勿論Crafting Workbenchsが悪い訳ではなく、特に過渡期での大規模な仕様変更は仕方のないことだと思います。
マスター指定の解除
不要なマスターファイルを整理したり、使ってるマスターファイルを外したり等。
未使用のマスターファイルを削除
未使用状態のマスターファイルを削除するには、"Clean Masters"を使います。
使用中のマスターファイルはそのまま残るので安心です。
使用中のマスターファイルを削除
Clean Mastersでは未使用状態のマスターファイルしか消してくれないので(使用中のまで消えたら困りますけど)、参照や変更のレコードをあらかじめ全て削除し、未使用状態にする必要があります。
CombatCheatArmor.espから、AWKCRのKeyword2個を削除しました。これでAWKCRのオブジェクトは完全未使用です。
削除してから"Clean Masters"を実行。File HeaderからAWKCRが消え、Fallout4.esmのみになりました。
強引なマスターファイルの削除
File Headerからマスターファイルを直接削除してしまえば、形式上はマスター指定が解除されます。
レコードが残っている状態で無理やり剥がしてますので、レコードにはエラーが残ります。
エラーの数が多くて目で追いきれない時は、"Check for Errors"で確認できます。
エラーの箇所が出てきます。
あまり安全な消し方とは思えないです。基本はツリーで色が変わっている所(白以外)を目視で確認しながら、"Clean Masters"でマスターファイルが消えるまでレコードを削除していくのが安全かと。
ちなみにこのエラーチェックは、セーブ済のレコードにしか適用されないです。マスターファイルを削除した直後にチェックかけても検出されません。
マスターファイルのソート
マスターファイルは追加した順に並ぶので、気になる場合は現在のロードオーダーに合わせたソートが可能です。
"Sort Masters"を選択するだけです。
まあCombatCheatArmor.espには2個しか無いので、意味無いですが!
僕の環境の雑多なパッチの1つです。DLCやAWKCRが上にきてサッパリしました。
とりあえずこんなところでマスター指定のお話終了です。
当初は1項目だけのネタの予定だったんですが、えらく長くなってしまいました(汗)
一応続きます。