2019年3月23日

ベレソアさんが何も売ってくれないので、TES5Edit でパッチを作ります

イソルダさんも売ってくれない!

ベレソアさんが何も売ってくれなくなりました。姉妹を買おうかと思ったのに…。

ベレソアさんに関して競合している箇所を探しても見つけられず、お店として復活させるのに苦労したので、ここに記録を残しておきたいと思います。

ついでに TES5Edit の使い方も図解してみたので、同じ症状の方はこれでパッチを作成できると思います。


目次

  1. はじめに
  2. パッチファイルを作成する
  3. Faction 設定を書き換える
  4. イソルダさんを Faction に入れる
  5. パッチファイルを保存する
  6. 競合を確認する
  7. 美化MODと併用できるようにする
  8. おわりに

1. はじめに

NPCがお店で売ってくれるアイテムは、「Faction」という設定項目によって決められています。
ベレソアさんにもいくつかの Faction が設定されていますが、今回のお話で関係があるのは以下の2つです。

  1. ServicesWhiterunBelethorsGoods [0009CAF5]
  2. WhiterunBelethorsGoodsFaction [00093B17]

このうち、バニラで店売りアイテムを決めているのが「ServicesWhiterunBelethorsGoods」の方です。
この Faction の中で「Vendor」という店売りの設定がされていて、開店/閉店時間やアイテムを保管してある宝箱などが指定されています。

この Faction にはベレソアさんとイソルダさんが入っていて、ベレソアさんが亡くなったときはイソルダさんが代わりにお店をやれるようになっています。
実際にはイソルダさんが雑貨店内に入るAIがないので代われないのですが、AIを変更したり、コンソールで強制的に店内に連れてきたりすれば代わってくれます。

そしてこの Faction の設定が何らかの要因で書き換わったとき、店売りアイテムが何も表示されない状態になるようです。
しかし、その「要因」が何であるのかは、いくら探ってもわかりませんでした。

商人を追加する他のMODを調べても、この Faction を書き換えているようなMODはありませんし、TES5Edit で全てのMODを読み込んでも、ベレソアさんや Faction が競合している様子はありません。
店売り設定そのものを書き換えてみたりもしたのですが、全然うまくいきませんでした。

異なるセーブデータで試してみると、同じMOD構成でも店売りアイテムが出るものと出ないものとがあって、その違いがどこからくるのか解明できませんでした。

そこで、もう1つの「WhiterunBelethorsGoodsFaction」に店売り設定を追加することにしました。

この Faction にはベレソアさんと薪割りのお兄さんが入っています。店売りの設定を加えると薪割りのお兄さんもお店ができてしまいそうに見えますが、会話ダイアログにお店の選択肢を出すのはまた別の設定なので、店売りができるのはベレソアさんだけです。

店売り設定を加えた上でイソルダさんもこの Faction に入れてあげれば、お店として復活させられそうです。

会話から「どんな物を売ってるんだ?」の選択肢は出るんですけどね…。

目次に戻る


2. パッチファイルを作成する

2-1. TES5Edit の起動

今回は TES5Edit でパッチを作成していきます。
起動したら、とりあえず「Skyrim.esm」にチェックを入れてOKボタンを押します。

画面が開いて右画面にメッセージが流れていきますので、一番下に「finished」の行が出るまで待ちます。

2-2. 新規espファイルの作成

左上の「FormID」に「00093B17」と入力してEnterし、「WhiterunBelethorsGoodsFaction」を検索します。

左画面のツリー内でこの行を右クリックして「Copy as override into....」を選択します。

警告画面が出ます。数秒間待つと「Yes」ボタンが押せるようになるので押します。

新規にespを作るため、「new file」にチェックを入れてOKします。

espの名前を決めます。MOD名(パッチ名)を入れるのが無難でしょう。

名前間違えてる! 「Belothor」って誰だ。

するとマスター指定の確認が出ます。

今回は「Skyrim.esm」を元にするので、それがマスター指定されますよ、という確認です。
MODを使うときは、マスター指定されたファイルがないとエラーになって起動できません。

左画面のツリーに、作成したespファイルが表示されました。

目次に戻る


3. Faction 設定を書き換える

3-1. Flag の書き換え

「WhiterunBelethorsGoodsFaction」に店売り設定を追加します。
「ServicesWhiterunBelethorsGoods」の設定を参考にして、2か所変更していきます。

まず右画面で「DATA - Flags」の「Flags」行を探し、作成したパッチ側(右の列)で右クリックし、「Edit」を選択します。

「Vendor」に新しくチェックを入れて、OKします。

下図のようになれば成功です。「Vendor」のフラグが追加されました。

3-2. Vendor Value の書き換え

同様の方法で、もう1つの設定も行います。
「VENV - Vendor Values」の「Not/Sell Buy」行を右クリックし、「Edit」を選択します。

値を「False」から「True」に書き換えます。手入力なので気を付けてください。

下図のようになれば成功です。

これで、「WhiterunBelethorsGoodsFaction」に入っているNPCが店売りできるようになりました。

目次に戻る


4. イソルダさんを Faction に入れる

4-1. パッチファイルへの追加

作成したespファイルに、イソルダさんを追加します。
「FormID」に「00013BAB」と入力してEnterし、「Ysolda」を検索します。

「Ysolda」の行を右クリックして「Copy as override into....」を選択します。

先ほど作成したespに追記するので、そちらにチェックを入れてOKします。

ツリーを開きなおすと、「Ysolda」が追記されたのがわかります。

4-2. Faction 設定の追加

ツリーで「Ysolda」行を選択したら、右画面で「Factions」行を右クリックし、「Add」を選択します。

すると、空の Faction が追加されます。

空の Faction に「WhiterunBelethorsGoodsFaction」を指定していきます。
まずツリーで「WhiterunBelethorsGoodsFaction」を選択し、右画面の「FormID」を探します。

その行をダブルクリックするとダイアログが開かれますので、内容をドラッグ選択してコピーします。

「Ysolda」に追加した空の Faction へ戻り、右クリックして「Edit」を選択します。

この編集ダイアログも手入力なので注意しつつ、元の「Null ~」を消して、先ほどコピーした FormID の文字列を貼り付けます。

下図のように書き換われば成功です。

目次に戻る


5. パッチファイルを保存する

5-1. TES5Edit の終了

作成したespを保存するため、TES5Edit を終了させます。
右上の「×」ボタンを押します。

新規作成、または書き換えたespファイルがある場合のみ、保存ダイアログが出ます。

パッチのespにチェックが入っていることを確認して、OKします。
もし何か間違えてしまった場合は、チェックを外せば保存されません。

5-2. 作成したファイルの場所

作成したファイルは、スカイリムの「Data」フォルダ内にあります。LE版なら次の場所です。

C:\Program Files (x86)\Steam\steamapps\common\Skyrim\Data

目次に戻る


6. 競合を確認する

6-1. TES5Edit での競合確認

作成したパッチが意図しない競合を引き起こしていないか確認します。
TES5Edit を、対応させたい全ファイルにチェックを入れて起動します。今回は、DLCを含むバニラの全ファイルとパッチファイルとで確認してみます。

見事に競合していました。
赤い背景になっているところがそうで、どうやら「Update.esm」と競合したようです。
これはイソルダさんに不死属性を設定するフラグです。パッチファイルを修正したいと思います。

6-2. 競合の修正

「Flags」行のパッチ列(一番右の列)で右クリックして「Edit」を選択します。

警告画面でOKしたら、下図のダイアログで「Essential」にチェックを入れます。

修正できると、行の背景は黄色になります。

これでパッチファイルのベースが完成したので、TES5Edit を終了してespを保存しましょう。

目次に戻る


7. 美化MODと併用できるようにする

7-1. 美化MODのご紹介

うちのイソルダさんには、下記のMODを使わせていただいています。究極の美人になるのでオススメです。

美化MODでは容姿が変更されますが、実はパッチで Faction を追加した部分と変更箇所が被ります。
そのため、使用する美化MODとの競合部分も修正しないと、どちらかが正常に動作しません。ロードオーダーで優先された方のみが有効になってしまいます。

7-2. 競合の確認と修正

それでは、パッチを美化MOD仕様に修正しましょう。
事前にNMM等でパッチのロードオーダーが一番下であることを確認してから、TES5Edit で美化MODとパッチを読み込みます。

右画面は、右クリックから「Hide no conflict rows」を選択すると、変更箇所のみが表示されます。「Ysolda」の項目で盛大に赤い行が出現しているのがわかりますね。

パッチの方は2か所変更しているだけですが、よく見るとその部分は美化MODでもまったく同じ変更をしています。
これを利用して、一気に美化MODをパッチファイルに反映させようと思います。方法としては、イソルダさんのパッチ変更箇所を一旦削除し、美化MODからパッチにコピーします。

まずツリーからパッチの「Non-Player Character (Actor)」行を右クリックして「Remove」を選択します。

削除の確認ダイアログが出ますので、「Yes」を押します。

次に美化MODの「Ysolda」行を右クリックして「Copy as override into....」を選択し、パッチファイルに追記します。

このとき、美化MODをマスター指定する確認ダイアログが出ますので、「Yes」を押します。

この作業を行ったパッチファイルは、美化MODがないと使えませんのでご注意ください。

下図のように、パッチファイルに美化MODの設定がコピーされたら完成です。

これ以外にも、個々のMOD環境に応じてパッチと他のMODが競合していないか確認してください。うちでは美化MOD以外に競合するものはありませんでした。

競合箇所を1行ずつ個別に修正する場合、フラグ類は「Edit」から行いますが、通常の入力値はドラッグ&ドロップで行うことができます。

目次に戻る


8. おわりに

パッチを作成したら、それをロードオーダーに加えてください。私はこれを忘れて「あれ…?」ってなることが多いです。いまだに。
NMMなら「Plugins」タブでチェックを入れるだけでOKです。

これで復活作業終了です。ベレソアさん、またはイソルダさんがお店をやってくれるようになりました。

今回行った設定ではバニラのお店とわずかに異なる部分があったりしますが、不要品を売るには特に問題ないでしょう。
もしかしたら「削除不可」という名前の商品が店売りされているかもしれませんけれど、お察しの通り触れない方が無難です。

店売りの設定は、何となくCKでも介入できない部分がある感じがしますので、あまり複雑にいじらない方が安定すると思います。
実際、作成したパッチをCKで読み込むと TES5Edit で表示される値と異なる部分がありますし、CKでの値変更が無効な箇所もいくつか存在します。

今回のパッチは TES5Edit で作れそうだったので、久しぶりに使い方の説明も兼ねて記事にしてみました。何かのご参考になれば幸いです。

目次に戻る

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。