Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

(初心者におすすめ11)Skyrimのアドレスとロードオーダーの関連性



スポンサーリンク

前の記事からの続きです。アドレスが最小単位であることの具体例と、ロードオーダーの秘密に迫ります。アドレスとロードオーダーの話は、分ってしまえば非常に簡単なことなのですが、反面、これが分らないと何も出来ないとも言える、大事なところです。

また、文字が潰れないように、TES5Editのちょっと大きめの画像貼り付けてあります。150kくらいです1枚。SSの文字潰さずに綺麗に縮小できないですかね。

 前回の記事はこちら

アドレス上位2桁の「xx」の秘密

Steel2.espによるSteelArmorの改造

先ほどまではSkyrim.esmだけで見てきましたが、今度はSteel2.espというMODも一緒に開いてみます。上のSSのように、アドレス(Form ID)00013952にあるSteelArmorを変更しています。 

ちなみにTES5Editはバックカラーと文字カラーの変わり方に意味があって、これでよくない競合とかをすぐに見つけることが出来ます。バックが黄色、文字が濃い緑の場合は、単独の上書き競合です(カーソル合わさってるんで緑っぽくなってますが、黄色です)。ほとんどの場合、意図的に書き換えているだろうことを意味しています。(間違えて書き換えていた場合は、まずいです。発見次第消します。)

 

右側の窓を見ると、ロードオーダー[01]のSteel2.espが、[00]のSkyrim.esmのSteelArmorを書き換えていることが判ります。右側の窓で、バックが黄色になっている箇所が、変更されているエントリーです。次の4点が変更されていることが読み取れます。

  • ArmorTypeがHevyからLight
  • 価格が275から1000
  • 重量が35から10
  • 防御力が31から50

見た目はSteelArmorだけど、軽装で値段高くなって軽くなって防御力上がった、というチートです。ただし、Skyrim.esmに元々あるSteelArmorを書き換えているので、自分のキャラだけでなく、全世界に存在するSteelArmorが、全て等しく強くなります

 

左の窓を見てください。Steel2.espにある変更箇所、00013952の下にもう1つありますよね?今度はこれを見てみます。

tes5edit-original-SteelArmor

上のSSでカーソル合わさって薄い青になっている所です。本来はバック白で文字黒です。これは上書きの無い単独のページであることを意味しています。つまり、付箋紙上書きではなくて、新規追加です。右側の窓を見るとわかりますが、これもSteelArmorです。中身は、いまさっき書き換えたSteelArmorの4点の変更と同じです。

同じもの2つあってどうするの?といいますと。防具の性能としては全く同じ物なのですが、こちらは新規追加なので、全世界に元々あるSteelArmorとは無関係な、全く新しいSteelArmorです。つまり、元々の00013952のSteelArmorは元に戻して、こっちの追加したSteelArmorを自分で使えば、自分”だけ”が強いSteelArmorを使えるということになります

 

※この方法を応用すると、例えばリプレイスMODをスタンドアロン化する、といったことが自分でできるようになりますよね。

 

 この新しいSteelArmorのアドレスは、

01000800

になっています。元々のSteelArmorは、

00013952

です。

ここで上位2桁に注目です。お気づきでしょうか。

アドレスの上位2桁はロードオーダーになっています。

元々あるSteelArmorも書き換えていますが、これは元々のSkyrim.esmにてアドレスが00013952に確定していますので、データを書き換えてもアドレスは変わりません。

一方、新しく追加したSteelArmorは、元々のSkyrim.esmには存在しないものなので、新規にアドレスが割り振られます。アカウントを新しく取得するようなものですね。このときアドレスとして確定するのは、

xx000800

ということになります。xxの部分はロードオーダーなので、今の例では01になります。もしこれが99個目に読み込まれたとしたら、

98000800

62000800

になります。(1個目は0番で始まる16進)

(訂正)

decimalで書いてました・・・アホすぎます(汗)

 

 

バニラから防御力”だけ”書き換えたespを追加したらどうなる?

最後に、さらにもう1つespを追加してみます。バニラのSteelArmorから防御力だけを書き換えたespです。

ロードオーダー

00Skyrim.esm

01Steel2.esp

02Steel3.esp

 

steel2.esp導入時に、SteelArmorの変更項目は、

  • ArmorTypeがHevyからLight
  • 価格が275から1000
  • 重量が35から10
  • 防御力が31から50

でした。ここにSteel3.espを追加します。Steel3.espの変更項目は、

  • 防御力を31から100

のみです。さて、どうなるでしょうか。

  • ArmorTypeがHevyからLight
  • 価格が275から1000
  • 重量が35から10
  • 防御力が31から100

になると思います?ちょっと考えて見てください。

 

答えは、

tes5edit-steel3.espn

  • 防御力が31から100

になるだけで、残りはすべてSkyrim.esmの値に戻ります。アドレスが最小単位ということは、こういう意味なんです。同一アドレス内の内容を、複数のespで上書きしあうことはできない訳です。

 

 項目別の最小エントリを把握しておくことで、競合しそうなMODの予測を立てられたり、実際に競合していたら自分で修正することが可能になります。

 

まとめ

  • 既存の武器や防具を「変更」したら、存在する全てに結果が反映される。
  • 新規Form IDで武器や防具を「追加」したら、見た目や性能全て同じでも、それは別物。
  • Form ID(アドレス)の上位2桁はロードオーダーである。
  • 1つのアドレス中のパラメータ群は、複数のesm、espで個々に変更できない。

 

 

 シリーズの続きはこちらからどうぞ