Fallout箱庭DIY

「箱庭DIY」Fallout分室

【Fallout4】ロードオーダーと競合についての基礎知識( 基礎その3)



スポンサーリンク

  • MODを使う限り避けて通れない難敵、「ロードオーダー」と「競合」です。公式DLCでは競合が起こることは無い(多分・・・)ですが、MODでは何かと問題になります。

競合が発生する理屈と、競合によってどんな不具合が起こるかを見ていきます。

ロードオーダーとは?

「MODの読み込み順序」のことです。 単純ですけど、適切に管理しないと様々なトラブルの原因になります。

 

ロードオーダーの基本

Pluginsタブを見てみると、「Load Order」の項目があります。

数字の若い順にプラグインが読み込まれるルールになってます。

NMMでロードオーダーの確認

本体であるFallout4.esmは00で、一番最初に読み込まれます。変更できません。

SSの例では、00である本体の次に01の「No Fusion Core Drain.esp」が、その次に02の「EferasShoulderBag.esp」が、Fallout4.esmに対するパッチとして読み込まれます。

 

ロードオーダーのルール

次に、ロードオーダーとプラグインの中身の関係を見てみます。

前回も例にしたSledgehammerのチート改造MODです。攻撃力と価格が大幅上昇、そのくせ重量0.5というインチキ仕様です。

CheatHammerの中身

この場合の読み込み順は、

  1. ロードオーダー00の「Fallout4.esm」が読み込まれる。
  2. ロードオーダー01の「CheatHammer.esp」が次に読み込まれる。

となってます。

プラグインには、後から読み込まれた方が有効になるという絶対のルールがあります。例外はありません。

したがってこの場合、Fallout4.esmのSledgehammerに対してCheaHammer.espが上書きパッチとなり、結果としてSledgehammerが超絶強化されることになります。

ゲーム内でのCheatHammer

 

Form ID:000E7AB9のSledgehammerを改造しています。SSを見ると0005DF2EにもSledgehammerがありますが、こちらは特定のNPCだけしか使えないバージョンなので除外してます。こうした「playable」でない装備というのも結構あります。

 

 

MODの競合とは?

上記のSledgehammerの改造の場合、Sledgehammerを変更するプラグインは1つだけだった為、何も問題ありませんでした。けれども、もし2つ以上で同じ項目を変更している状態だったらどうでしょう?想定外の結果になる可能性があります。プラグインに限らず、例えば同じ対象をリテクスチャするMODが複数有っても同様です。ゲームを起動したら、想定と違う結果になってるかもしれません。

このように、1つの項目を複数で変更しあうことで起こる問題が、「競合」です。

 

プラグインの競合

 

競合状態の確認

上記のSledgehammer改造MODを入れた状態で、武器のバランスを変更するWeapon Balance Overhaulを追加しました。

 

ロードオーダーは、

 

00 Fallout4.esm

01 Cheathammer.esp

02 Weaponry Overhaul.esp

 

となりました。

この状態でゲームを起動すると・・・

競合したCheatHammer

 

Sledgehammerが弱くなりました。バニラから見たら十分強いですが、チート改造した筈なのに反映されてません。重量や価格もチート仕様じゃなくなってます。

 

そんな時はFO4Editで確認です。

FO4Editで競合を確認

ロードオーダー01のCheathammer.espの変更内容を、ロードオーダー02のWeaponry Overhaulが潰しています

これはどちらのMODが悪いか?という話ではなく、Sledgehammerという武器を2つのMODが変更し合っている、つまり競合していることが原因です。

 

競合対策をするのであれば、FO4Editを使うことは必須になります。これを使わずに「競合だ、干渉だ」と大騒ぎしてみた所で、理にかなった対策のしようがありません。

 

競合の解決策

この場合は、

  • Cheahammer.espでSledgehammerをチート改造したい
  • Sledgehammer以外の武器はWeaponry Overhaulで強化したい

ということが目的になります。

したがって、ロードオーダーを入れ替えることで競合を解消できます

ロードオーダーの変更

 

00 Fallout4.esm

01 Weaponry Overhaul.esp

02 Cheathammer.esp

 

と入れ替えました。Cheathammer.espを後ろにしてます。

一度Weaponry Overhaul.espで変更されますが、Cheathammer.espで更に上書きする為、最終的なSledgehammerの性能はCheathammer.espが有効になります

競合解消したCheatHammer

 

 

Weaponnry Overhaul.espの立場から見れば、競合によりSledgehammerの値が潰されたということになります。ですがこちらの値が最終結果となる事を望んでない為、これは意図的に上書きされた競合です。ロードオーダーが一番最後の値が有効になるだけなので、このように上書き(何度でも)すること自体には、何も問題ありません。

 

この例はCheathammer.espで変更している武器が1つだけの為、ロードオーダーだけで解決できました。

けれども複数を変更するMOD同士の場合、ロードオーダーだけで解決不能な場合があります。その場合、espを1つ自作して「互換パッチ」を作成する必要が出てきます。

互換パッチについては、またそのうち。ひとことで言うと、競合するMOD同士、自分が欲しい項目の「いいとこ取り」をしたespを作るだけです。

 

アーカイブファイルの競合

 アーカイブファイルはプラグインのロードオーダー順に並ぶ為、プラグイン同様にロードオーダーの影響を受けます

例えば同じオブジェクトに対するテクスチャが複数のアーカイブファイルに入っていた場合、ロードオーダーが後の物が優先されることになります。

※2015年12月現在、まだba2形式のMODは無いと思いますが(ba2に固めるツールが無い筈、情弱なので有ったらすいません)、出てきた場合はこうした競合が予想されます。

 

ルーズファイルの競合

ルーズファイルの場合、プラグインのロードオーダーに左右されず常に最優先となります。 ルーズファイル同士が競合する場合は、HDD上に同一ファイルが存在できない以上、インストーラやOSから「上書き」するか否かのダイアログが出ることになります。

 

ルーズファイルの注意事項をひとつ。

アンインストールミス等でルーズファイルに「ゴミ」ファイルが残った場合、このゴミファイルが最優先になってしまいます。該当ファイルは絶対にアーカイブファイルから読み込まれることがありません。

 

まとめ

  • ロードオーダーとはプラグインの並び順。
  • ロードオーダーが後のプラグインほど優先度が高い。
  • ロードオーダー次第では競合が発生する。
  • アーカイブファイルもロードオーダーに依存する。
  • ルーズファイルは常に最優先。

 

関連記事

 

Skyrimブログの方で、もう少し概念的な話をしてます。

skmod.hatenablog.com

 

Copyright © 2015 Fallout Hakoniwa DIY All rights reserved .

S.kutsumiya@gmail.com