読者です 読者をやめる 読者になる 読者になる

Skyrim箱庭DIY

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

【Skyrim】MODのアンインストールで服が脱げる原因

不具合対策 TES5EDIT 装備関連


スポンサーリンク

一度入れてみたものの、色々な理由で使うことをやめる場合があります。トラブルが起きたので泣く泣く外すこともあれば、趣味がイマイチ合わなかったので外すという場合もあります。MODの出し入れによるトラブルは目に付かないことも多いので、気づかないうちに累積することがあります。今回はビジュアル的に分かりやすい例で、MODを外すことによって起こるトラブルを説明します。

 

Skyrim Peasant Fashionを例にします。農民や酒場のお姉さんの服のバリエーションを追加して、Leveled Listに追加するMODです。別にこのMODが悪いと言っている訳ではないので誤解の無いようお願いします。外した時の影響がわかり易い、というだけです。

 MODを外すと服が脱げる例

入れたMODを外せばバニラに戻るだけの筈、と思うのは思い込みです。変更した物がバニラに戻るとは限らない例です。

f:id:Kutsumiya:20150320103939j:plain

微妙に楽しくないSSかもしれませんが。RedguardのSaadiaさんです。

左はSkyrim Peasant Fashionを導入した時。右は一度導入してから外した時です。見ての通り、バニラの服に戻るどころか、完全に脱げてます。NeverNudeの体型メッシュ使ってなかったら、はてなにもアドセンスにも怒られるところです。何故MODを入れてから抜いただけでこうなってしまったのか?を追いかけてみます。

こういう時にも大活躍のTES5Editです。MOD作らなくても使えるようになっとくと便利です。

 

 TES5Editよくわからない方はこちらもどうぞ。

 

TES5Editを使って原因究明をする

PIVariety.espを開いてみます。まずは左の窓の各項目を見ていきます。

f:id:Kutsumiya:20150319234210j:plain

項目としてあるのは、

ArmorAddon

Armor

Leveled Item

Outfit

Texture Set

の5項目です。スクリプトは使われていません。NPCも項目には有りますが、見ての通りテスト用?の新規NPCが1人いるだけなので、既存NPCには関係ありません。

 どこから手をつけるかですが、とりあえずは異常の起きたSaadiaさんを見てみます。

f:id:Kutsumiya:20150322184008j:plain

見ての通り競合もなく真っ白です。NPCの項目はtestキャラしか居なかったので当たり前です。しかしながらSaadiaさんに装備関連の異常が起きたことは事実です。ということで、Default outfitを疑ってみます。SSの赤線引いた箇所です。

ここでNPCの初期装備が定義されています。装備が脱げた以上、疑わしい項目です。

 

TES5EditでDefault outfitを調べる

SaadiaさんのDefault outfitです。OTFT:0005FB81を見てみます。靴はそのままですが、胴装備が変更されています。固定装備ではなくLeveled Listです。SSの赤線の箇所です。この時点で「Leveled Listが悪さしてる」と決めるのは早計ですので注意してください。

f:id:Kutsumiya:20150322185738j:plain

 

Default outfitの構造について

ここで一旦、Default outfitの構造について話をしておきます。「初期装備でしょ?さっ聞いた」と思うかもですが。ここに重大な落とし穴があります

Default outfitに定義されている装備を読み込むタイミングはいつか?ということです。

今でしょ!(※すいません言ってみたかっただけです)

と言ってロード毎に読んでいたら、フォロワーに様々な装備持たせても、ロード毎にデフォルトに戻ってしまいます。非常に困ります。

Default outfitを読み込むタイミングは、NPC生成時です

Saadiaさんの場合なら、初めてBannered Mareに入った時かと思います。この時にDefault outfitを読込んで、NPCの装備が決まります。ニューゲームじゃないと反映されない系のMODは、こういった理由から来ていることが多いです。

これは逆に言いますと、

生成時にMODのDefault outfitを読み込んだNPCは、バニラのDefault outfitの装備を持っていない

ということを意味します。

リスポーンするNPCであれば、一度倒せば次のリスポーンで装備変わりますが、ユニークNPCに関してはそうはいきません。再度Default outfitを読込むタイミングが有りません。(リスポーンさせずにリセットだけする方法とかあったらすいません)

 

スクリプトで装備を配るMODの場合は、既にスポーンされているNPCにも適用されます。悪者扱いされるスクリプトですが、こういう時は便利です。

 

 Default outfitのLeveled Listを見る

という訳で、Saadiaさんの胴装備に指定されているLeveled Listを見てみます。

LVLI:02001DEFです。

f:id:Kutsumiya:20150322193654j:plain

装備総数は7種類。このうちのどれか1つがSaadiaさんに割り振られることになります。ランダムですね。7つの装備のアドレスを見てください。赤線が引いてある5個の装備はアドレスの先頭が「02」で始まっています。MODで新設された装備です。したがって、この5個の装備のうちの何れかがDefault outfitに選択された場合、

MODを外すことで胴装備が消滅します

 一番最初のSSを見ると分かりますが、Leveled Listになっているのは胴装備だけの為、靴はそのまま残っています

 こんがらがってきたかもなので、まとめます。

MOD外して装備が脱げる流れのまとめ

  1. Saadiaさん生成時、Skyrim Peasant FashionのDefault outfitの初期装備を読込む。
  2. SaadiaさんのDefault outfitが胴装備だけLeveled Listに変更されている。候補装備は7つ。バニラ装備2種新規装備5種
  3. MODを外すと、追加されていた装備が消えるしかしDefault outfitは既に確定している為、再度読み込まれることは無い
  4. 結果、MODが外されてもNPCの装備は更新されない。したがって、新規装備5種を引いていた場合は胴装備が消えたままになる為、服が脱げることになる。靴は固定装備なのでそのまま残る。

 

この場合の対策は、数が少なければNPCをターゲットして

additem xxxxxxxx 1

equipitem xxxxxxxx 1

コンソールで好きなアイテム渡して装備させれば良いかもです。

これは目に見える明白な不具合ですが、MODの出し入れによって気づかぬ不具合が怒る可能性もあるので、ご注意ください。