CombatOverrideでもうちょっと遊べないかと考え、その下準備として複数のNPCを連れ歩けるフォロワーシステムを自分でも作ってみることにしました。自作だとフォロワーの挙動を100%把握&操作できるので、なにかと扱いやすいです。
最終的には他にも機能をつけるつもりでいますが、まずは骨格となるフォロワー用クエストを作り、複数人数連れ歩くことを目指します。
Skyrim.esmとUpdate.esmを読み込んでセーブし、一旦espファイルを作成。
まずは参考元になるデフォルトのフォロワークエスト「DialogueFollower」を確認。
「Dialog View」内を見ると、おなじみのダイアログが並んでいます。
個人ごと、ボイスタイプごとにそれぞれセリフがあって、かなり膨大な量。
「Misc」タブ内には、町ごとのコメントなどフォロワー達のおしゃべりが登録されています。
セリフを確認すると、「CurrentFollowerFaction」か「CurrentHiring」のファクションに入っている、特定のボイスタイプの人、もしくは特定の誰かがConditionsで判定されています。
自作のフォロワークエストを作る際、使えそうなダイアログやアイドル時のセリフは、このクエストに寄生する形で作っていこうと思います。
一通り確認したら、クエストの自作に入ります。
ObjectWindowのCharacter > Questを選び、Questを新規作成。
基本的に、「DialogueFollower」クエストをそっくり真似して作っていきます。
IDを入力して、下の"Start Game"と"Run Once"のチェックを外します。IDは短いものにしました。コンソールから呼び出しやすいので。
Priorityは50。もしセラーナをこのクエストで雇用したい場合は、Priorityを80以上にしないといけません。彼女の行動全てが、優先度80のセラーナ専用クエストで制御されているからです。シセロや闇の一党の新人も専用クエスト(DarkBrotherhood)で雇用が制御されているので、69以上が必要です。優先度はあまり高くしすぎると、他クエストの競合がでるので悩ましいところではあるのですが。
「Quest Stages」では、「0」のStageを作成。これでいったんOKボタンを押して、Questを確定します。
再度自作Questを開くと、いろいろな項目が設定可能な状態になっています。
「QuestAlias」画面にて、フォロワー用の
Aliasを新規作成します。
細かい設定は後回しにするので、まずは大まかに。
「Protected」「Allow Reserved」「Optional」にチェックを入れます。
「Allow Reserved」は、他のQuestで「Reserved」にチェックが入っている予約済みのNPCをAliasにぶち込むのに必要です。予約済みとなっているNPCは別QuestのAliasに入れられるのを拒否するので、できる限り色々なNPCをフォロワーに誘いたい場合、このチェックは必須です。Questの開始が「Start Game」となっていると、この項目は暗転して設定ができません。
「Optional」は、このAliasが空でもQuestが開始できる設定です。一般にQuestは、設定されているAlias全てが満たされないと(必要な役者や小道具が揃わないと)開始されません。この項目にチェックを入れてると、Quest開始に必須のAliasでなくなります。フォロワークエストでは、雇用して初めてAliasにNPCが入るので、全てのAliasにこのチェックが必要になります。
「Protected」は瀕死状態になると敵の攻撃対象から外れる設定。Aliasが適用されているときだけ有効になります。ちなみにActorデータで「Essential」属性がついているNPCがこのAliasに入っても、Essentialの方が優先されます。
他のチェック項目は必要が出てきたら随時追加するつもり。
最後に「Fill Type」で、Specific Referenceのラジオボタンを選んで「OK」します。これでAliasの大枠だけできました。
同じ設定で、動物フォロワーのAliasを作りました。
まずはこれだけ。Aliasを増やすのはもう少し後にします。
「Dialog Views」画面にて、ダイアログを作成します。
EditorID欄のところで右クリックしてDialogueViewを新規作成。
出来たてのDialog Viewを選択して、真っ白な右枠でBranchの新規作成。
何段階か踏まないと、なかなかダイアログ文の登録画面が出てきません……。
Branchの名前を決めます。まずは「一緒に来てくれ」のダイアログを作ることにしました。
Branchを作成したら直後にTopicの新規作成画面も出てきます。
OK。
ダイアログのBranchが一つできました。
Topicのオレンジ色の部分にカーソルを当てると十字にかわるので、ドラッグして画面の好きな場所に持っていけます。
ダブルクリックすると、実際の会話文の作成を行うことができます。
「Topic Text」にダイアログの文章を入力します。英語だと、自動校正機能つきです。
「Priority」はダイアログの並び順に関係します。上の方に並べたいものほど高い値にします。
他の項目はあんまりいじったことがないので触りません。
下の白い部分で右クリックすると、ダイアログを選んだ後のNPCのセリフを作成できます。
「Response Text」にセリフを書きこみます。
あらかじめマイクをPCにつないでいたら、下のほうにある「Record」ボタンで音声を録音できます。
特に音声無しでもゲームに支障ありませんが、音声無しのセリフは字幕が一瞬で消えてしまいます。
今回は既存の音声付きセリフを使いたいので、この画面はCancelして閉じます。
Topic Infoの窓が開きます(「Response Text」空欄をダブルクリックしたら、先ほどのセリフ登録画面を開くことができます)。
ここの「Share Response Data From Info」 から、他のQuestでShared Infoとして登録された使い回しのきくセリフを選ぶことができます。多くは特定のクエスト絡みでボイスタイプも限定されていますが、中には汎用ボイス全てで使えるセリフあります。音声ファイルをせっせと用意しなくて済むので、作業負担が軽くなります。
右側にある「...」のボタンを押すと、そのShared InfoのTopic Info画面が開いて、セリフや音声などを確認したりできます。
「Understand(分かった)」は使いやすいセリフのひとつ。
「Goodbye」にチェックを入れます。会話が終了したらダイアログを閉じる設定です。
Conditionsには何も設定せず、これでいったんOKします。
ようやく仲間に誘うダイアログができました。同様にして他のダイアログも作ります。
一通り作ったところ。
Conditionsを何も設定していないので、スカイリム全土の会話可能な全てのNPCにこのダイアログが追加されるはずです。
ゲームを起動して、コンソールにて「StartQuest <作ったクエストのID>」を打ち込み、適当な人に話しかけて確認。
バニラのフォロワー用ダイアログと同じ文にしたので、違いが分かるよう先頭に { をつけています。
作ったダイアログが全部出てきてくれたので、成功。よかったよかった。犬にすら話しかけることができました。
フォロワークエストはこれで骨格ができました。次は小道具の準備です。
次へ