【DLCでのセリフ追加】
DLCハースファイア、ドラゴンボーンでもフォロワーのセリフが「DialogueFollower」に新規追加されおり、Modを作る上で参考になります。人によってDLCの導入状況は異なるため、競合が起きにくいように配慮されているようです。
テルドリン・セロの雇用中のセリフを一手に引き受けるQuest「DLC2HirelingQuest」も参考になります。
これらをみると、フォロワー関連のセリフを追加する方法は以下の2つがあるようです。
- 既存のTopicに自作Infoを追加
- 新規に専用Topicを作成
・「DialogueFollower」へのセリフ追加
上図はドラゴンボーンで追加される、フォロワーと別れる時のセリフ。ハースファイアでも、3名の私兵の固有セリフが、既存の私兵用セリフの下に挿入されています。
タルヴァスはともかくとして、フリア、リークリング、カグルメスのオートマトン、ラリス・セダリスのセリフが新規追加されています。CKで確認するとInfoの並び順が分かりますが、タルヴァスを除いた新規Infoはリストの一番下に配置されています。変更はDialogueやTopicのみで、「DialogueFollower」のQuestには変更履歴を残していません。
・タルヴァスのセリフ追加問題
タルヴァスのフォロワー用セリフは、彼のボイスタイプ「MaleYoungEager」がスヴェン、オンマンドなどと同じ(
エリクは傭兵なので関係なし)なため、既存のTopicに固有セリフを追加するのが難しくなっています。しかし彼は魔法書を売る商人であり、雇用時「JobMerchantFaction」から外す特別処理をなされているので、解雇時に再びこのFactionに加入させる特別処理が欠かせません。解雇時のセリフは彼専用のものが必要になるため、スヴェンなどと一緒くたには扱えないのです。
ご覧のようにタルヴァスに専用のセリフを言わせたい場合、リストの一番下にセリフを付け加えても、途中の「MaleYoungEager」用のセリフのConditionに該当するため、そちらのセリフが再生されてしまいます。「MaleYoungEager」用のセリフにタルヴァスを除外するConditionを加えて編集すればいいのですが、その方法はとられていません。代わりにオンマンドのセリフをつぶしてタルヴァス専用に書きかえています。一番上にあるInfoは、変更しても影響を最小におさえられるからと思われます。オンマンドには「MaleYoungEager」用のセリフで十分対応できますし。
同じ理由から、Quest「DialogueFavorGeneric」にある雇用時TopicのInfoには、タルヴァスを除外するConditionを追加して編集してあります。該当Infoがリストの最上位にあったので編集しやすかったのでしょう。しかしその時ミスがあったのか、「MaleYoungEager」の雇用時の応答がタルヴァス雇用時の音声になってます。ベースゲームの音声ファイルをBSAファイルから取り出して置けば修正できます。タルヴァスを雇用するときの選択肢はQuest「DLC2DialogueTelMithryn」にあります。
・テルドリン・セロのセリフ追加
こちらはテルドリン・セロの雇用&フォロー時専用セリフQuest「DLC2HirelingQuest」です。
雇用時、雇用中の各種指示、前雇用主を話題にした雑談まで、すべての選択肢がここに収められています。
彼のボイスタイプは「DLC2MaleDarkElfCynical」でラリス・セダリスと同じです。「DialogueFollower」はこのボイスタイプには対応していない(対応したセリフがない)ため、本来なら雇用はともかく雇用中の指示用選択肢は出てきません。そのため、ラリスには「DialogueFollower」に彼専用のセリフが新たに追加されています(
Conditionにてボイスタイプ指定ではなくラリスを直接指定)。
これだけだとセロには絶対選択肢が出てきませんが、このように別Questにて専用選択肢を作成することで対応が可能です。
Topicは稼働中の全Questから有効なものが全て表示されるため、雇用時の会話はどこのQuestに置いてあっても問題ないわけです。
「DialogueFollower」にセリフを統合してしまっても大丈夫そうな気はしますが、専用のセリフ用Questは、バニラのフォロワー管理QuestにカスタムボイスのNPCを適応させるのにはとても安全な方法です。少なくとも競合はありません。
【データ構造の把握】
Quest、Dialogue Branch、Topic、Infoなどのデータがどのように扱われているか確認します。
TES5Editで自作セリフModを開いたところです。
CK上では、Dialogue BranchやTopicはQuestを通じてしか確認できません。
しかしこちらの階層構造を確認すると、Topic、Dialogue Branch、Dialogue View、ついでにSceneは独立したデータとして存在しています。Infoは、Topicの下位に位置しています。
つまり、Dialogue Branchに自作のTopicを追加したり、Topicに自作Infoを追加しても、Questに変更履歴を残さずにすみます。
またInfoは「自分の上(もしくは前)にあるInfo」をデータとして持っています(
Skyrim.esmのInfoは不思議と持っていません)。恐らくこれを元にして、Infoが順序良く並べられているのでしょう。
そのため複数のModが既存のTopicの色々な場所にInfoを追加しまくっている状況では、Infoの並び順に競合が出て、あぶれるInfoが出てくる恐れがあります。システムはこういったInfoをとりあえずTopicのInfoリストの一番下に置くようです。
Modで追加するセリフはInfoリストの一番下に置くのが最善、どうしようもなければリストの一番上がよさそうです。
以上を踏まえ、まずは既存のTopicにInfoを追加する方法でやってみます。この方法は、「バニラのフォロワーシステムが対応していないボイスタイプ持ちフォロワー」と「対応しているボイスタイプだが固有セリフを用意したいフォロワー」両方の場合に使えます。
前へ |
次へ