忍者ブログ

方向音痴のSkyrim

PCゲーム「Skyrim」の雑多なCKいじり日記

Hearthfire Multiple Adoption対応の家づくり

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Hearthfire Multiple Adoption対応の家づくり

作成中の自作PS4用Modで、「Hearthfire Multiple Adoption」対応の家Modを認識できるようにしました。その際テスト用として自前で小さな家Mod作ったので、「Hearthfire Multiple Adoption」対応に必要な各種設定を忘れないうちにまとめておきます。
必要な設定は「Hearthfire Multiple Adoption」の作者さんがメインファイルに同梱してくれている説明書にすべて書いてくださってます。元の説明書と合わせてご確認ください。

基本的にハースファイアのQuest「BYOHRelationshipAdoptionScheduler」が認識できる家を作成できればOKです。
よく分からなくなったら、バニラの各プレイヤー自宅がお手本になります。



今回作った家は、「Eldersblood Cottage」。ドレラスの小屋からモーサル側へ抜ける道なき道の途中、鋼玉の鉱床の所にあります。

ダウンロード(mediafire)
※旧Skyrim用のCKで作成して、SE用に保存しなおしてませんがSEでも動作します。一応全DLC必須。遊ぶために使ってもらってもたぶん大丈夫です。屋外の「Smelter Chest」は地下の溶鉱炉脇の宝箱と直結してます。

■Location設定
Object Windowの「WorldData > Location」から新規作成します。少なくとも家の屋内と屋外二つのLocation設定がいります。Locationは複数のセルに同じものを設定できます。屋外屋内ともに、自作家のテリトリーに入るセルは可能な限り全てLocation設定しておきます。(例:屋外なら、自宅敷地にしたい屋外セル全てに屋外ロケーション設定。屋内なら、別セルに分かれた地下などもメイン屋内セルと同じ屋内ロケーションを設定。各ロケーションは親子関係をつけて関連させることはできるが、階層を深くし過ぎない方がいいかもしれないです)

・屋内
  • Keyword「LocTypePlayerHouse」必須
  • Keyword「LocTypeDwelling」 (安全な居住地屋内Locationにはほぼ必ず設定されている)
  • Keyword「LocTypeHouse」 (家屋用のKeywordらしい)
LocTypePlayerHouse以外はなくても動作に影響はないかもしれないけど、入れておいた方がいいKeywordです。


※後で屋外Locationを作成したら、忘れずにParent Locationに屋外Locationを設定しておきます。

・屋外
  • Keyword「LocTypeHabitation」 (安全な居住地の屋外Locationにはほぼ必ず登録されている) なくても動作に影響しないかもしれないけど、入れておいた方がいいKeywordです。

以下のどちらかを必ず登録
  • Keyword「LocTypeCity」 (説明書に注記があるので目を通してください。既存の町のLocation内に家を作るのは、バニラの自宅かModの自宅か混同することもあるらしいので非推奨みたいです。どうしてもという場合は、テストプレイで動作確認してください)
  • Keyword「BYOH_LocTypeHomestead」 (LocTypeCityを使わない時はこちら)



※既存の町のLocation内に自宅を作る場合(例:WhiterunLocation)、屋外Locationは自分で作らなくてもいいこともあります。その際自作の家Modのために既存のLocationのKeywordを下手にいじってしまうと、バニラのクエストや他Modのクエスト動作で問題が出てくる恐れがあります。


■必要なオブジェクト
オブジェクトには必ず指定のLocationRefTypeを設定してください。オブジェクトをセルに置いたら、ダブルクリックでReference Windowを開いてLocationRefTypeのタブから設定可能。
オブジェクトは最低でも複数個必要なものもあります。それ以上の数を設置すると、引っ越し毎にランダムで必要個数分だけ選ばれます。

必ず、自宅の屋内外Locationを設定したセル内に置かないとだめです。Location設定されていない場所に置いた物は、認識されません。

屋内に置くもの
Object Windowの「Miscellaneous > IdleMarker」以下より

IdleChildPlayDollMarker (1個以上)
LocationRefType:BYOHAdoption_ChildPlayDoll

SweepIdleMarkerかSweepPatrolMarker (2個以上)
LocationRefType:BYOHAdoption_ChildPatrolChores
Patrolタブからマーカの待機時間を15~20秒程度に設定。Patrolデータを設定した他のマーカー(LocationRefTypeを設定する必要はない)とリンクさせて使ってもよし。
※子供が家の手伝いをするときに使用。ホウキで掃く以外のマーカーでもいいかも。


Object Windowの「World Objects」以下の各種オブジェクト

コンテナ (1個以上)
LocationRefType:BYOHAdoption_ChildChest
子供用のアイテム入れ。プレイヤーへのプレゼント用のアイテムが入ったりする。複数設置してもいいようですが、実際に使用されるのは1個だけです。養子の数だけ用意する必要はありません。

PracticeDummyなど (1個以上)
LocationRefType:BYOHAdoption_ChildDummy
子供がダガーの練習につかうもの。斬りつけてよさそうなものなら、他のオブジェクトでもいいかも。XMarkerに設定して、マーカーを人形の頭部に重ねるような使い方でもいい。子供は頭を狙う。

テーブル (1個)
LocationRefType:BYOHAdoption_ChildDiningTable
食事用のテーブル。適度な大きさが無難。複数置いても使われるのは1個だけです。
このRef Typeを設定されたオブジェクトの周りで食事しようとするので、テーブルの代わりにマーカーを設定しても多分大丈夫。

養子用ベッド (2個以上)
LocationRefType:BYOHAdoption_ChildBed
子供も使えるタイプのベッドを設置してください。「Hearthfire Multiple Adoption」は最大6人の養子まで対応なので、最大6個あれば十分。各ベッドは他のNPCに使用されないようにOwnershipタブで「BYOHRelationshipAdoptionChildOwnedFaction」を所有者に設定します。養子は自分に割り当てられたRef Typeの近くでベッドを探すので、ベッドのかわりにRef Typeを設定したマーカーをベッド近くに置いても構いません。ただし隣の子のベッドを間違って取ってしまわないよう、各ベッドは隣接させず最低でも大人の背丈分程度の間隔を置いて設置します(縦に二つ重ねて2段ベッド風にするのはたぶん大丈夫)。
なお子供用ベッドはScaleを0.8~0.85程度に縮小すると、子供が枕に顔半分埋まらずに眠れます。

以下はマーカー類。XMarkerや、XMarkerHeadingを使います。

子供たちが屋内ですごすためのマーカー (1個以上)
LocationRefType:BYOHAdoption_ChildSandboxHome
養子が家の中で過ごす際の行動中心となります。実際に使用されるのは最大4個までです。

子供部屋用マーカー (1個)
LocationRefType:BYOHAdoption_ChildSandboxRoom
夕食後の時間やペットをプレイヤーに殺されて傷ついた時にこの場所の近くで過ごします。プレイルームを別に設ける場合でも、このマーカーは養子用ベッドが近くにあることを想定しているようです。

喧嘩用マーカー (2個だけ)
LocationRefType:BYOHAdoption_ChildSceneMarker
プレイヤーが自宅に帰った時、子供が口喧嘩をしているシーンで使われます。XMarkerHeadingを使用し、お互いに向かい合うよう設置します。家に入ったプレイヤーがすぐに気がつく場所がいいようです。


屋外に置くもの
マーカーはXMarkerや、XMarkerHeadingを使います。
既存のプレイヤー自宅が存在するLocation(例えばWhiterunLocation)に新たに自宅Modを作った場合、「屋外に置くもの」のうち、玄関用ドアとペット用ドアマーカーは既存のプレイヤー自宅のものと混同が起きます。

玄関用ドア (1個だけ)
LocationRefType:BYOHHouseFrontDoor
自宅屋外側のドアに設定。そのドアが家の玄関と認識されます。

ペット用ドアマーカー (1個だけ)
LocationRefType:BYOHAdoption_PetDoorMarker
玄関ドアの前にマーカーを置いて設定。養子について歩く会話不可能なペット(キツネ、ウサギ、蟹、ネズミなど)は、このマーカーから家の中へ入ろうとするようです。


以下のマーカーは既存の屋外Locationがすでに持っていた場合、新たに付け加える必要はありません。

屋外の遊び場マーカー (1個以上)
LocationRefType:BYOHAdoption_ChildSandboxOutside
養子が屋外で遊ぶとき、このマーカーが行動中心になります。

かくれんぼ用マーカー (5個以上)
LocationRefType:WIGamesHideAndSeekMarker
最大5個利用されます。隠れ場所に隠れてほしい向きでXMarkerHeadingを置きます。自宅の屋外Locationを設定したセル内に置いてください。

屋外の中心用マーカー (1個だけ)
LocationRefType:LocationCenterMarker
屋外の中心的な場所に置きます。鬼ごっこはこれの周辺で行われます。その他、様々なクエストが参照することがあります。バニラではLocationが設定された場所には必ずと言っていいほど、このCenterMarkerが設置されています。


配偶者に必要なもの
以下は配偶者用の家具やマーカー。屋内に設置してください。「Hearthfire Multiple Adoption」が配偶者用に必要としている設定です。

配偶者用ベッド (1個)
LocationRefTypeは設定しません。
「PlayerBedFaction」をオーナーとして設定します。ほとんどの場合、配偶者用ベッド=プレイヤー用ダブルベッドだと思います。
またベッドにはKeyword「SpouseBedKeyword」を設定しておきます。恐らくベッドのベースデータにそのKeywordを登録しておくのだと思います。バニラと同じモデルのベッドを使うにしても、データ複製で新規オブジェクトを生成し、それを編集するようにします。
ちなみにこの設定はなくても、ベッドの認識にはあまり問題ないようです。

屋内の中心用マーカー (1個だけ)
LocationRefType:LocationCenterMarker
バニラではLocationが設定された場所には必ずと言っていいほど、このCenterMarkerが設置されています。屋内の中心的な場所に置きます。「Hearthfire Multiple Adoption」では特に、配偶者が自宅内で過ごす場合の行動中心にもなるようです。マーカ周辺に使用できる家具やアイドルマーカーなども配置してあげましょう。
またこのマーカーの「LinkedRef」タブから、配偶者用のベッドへKeyword「SpouseBedKeyword」のリンクを設定しておきます。「Hearthfire Multiple Adoption」が配偶者の使うベッドを見つけるのに必要です。むしろこちらの設定がちゃんとしていれば、ベッドそのものに「SpouseBedKeyword」がなくてもいけるようです。


■確認方法

全て設定し終わったら、再度自宅のLocation設定を屋内、屋外と開いてみます。
「Location Ref Type」タブに、これまで自分が設定したものが一覧で出てきます。ここで必要な物がすべてそろっているか簡単にチェックできます。

おおむね大丈夫そうなら、テストプレイ。自作家で「Bless Home」を使い、「Hearthfire Multiple Adoption」が認識してくれていたら成功。
ゲーム内で具体的にどう認識されたか知りたい場合は、実際に家族(配偶者と少なくとも一人の養子)を自作家に引っ越しさせたのち、コンソール画面で「sqv PHX_CustomHomeManager」とします。「Hearthfire Multiple Adoption」のカスタムホーム用Questの状況が確認できます。日本語キーボードではアンダーバーが入力できないかもしれないので、コンソール実行にはbatファイルを作成しないとだめかもしれませんが(作り方はこちらの記事の下の方を参考にしてください)
ちゃんとRunningになっていて、配偶者用ベッドのエイリアスも埋まっていれば完璧です。

ゲームを終了し、Papyrus Logを開いて確認します。

「PHX」という文字列でログを検索し、「Hearthfire Multiple Adoption」が「Bless Home」で出力してくれた自作家の診断結果を確認。見つからなかったものが列挙され、それが問題か問題でないかを見ることができます。自作家「Eldersblood Cottage」では養子用ベッドは4つしか置かなかったので、ログでは子供用ベッドの5と6が見つからなかったと言っています。でもこれはオプションなので、問題なしとありました。LocTypeCityも屋外Locationに設定してないのでないですね。山奥の一軒家ですし。これも問題なしです。
PR

コメント

※スパム対策のため、コメント内やその他の項目に「http://」や「https://」があると投稿できません。全角で入れていただくか、URLであることを明記して以降のアドレスのみ入れていただくかでお願いします。 For stopping spam comments, this form doesn't accept the following words, "http://" and "https://".

Author

UNI
Skyrimで遊ぶのも、CKで改造するのも好きなファンタジー好きです。
戦闘苦手で難易度は基本EASY、慣れてもNORMAL程度。 アンデッド恐怖症なので、ノルド遺跡探索が辛い……。

ブログ内検索