しばらく前に書いたスクリプトイベントの、NPCとの対話で、PCがする発言の選択肢を表示する部分。(選択の結果については別のコールバックで処理)

現状は上の画像のような力技で書いていて、さすがにこれはダメなので、
- 条件付きの選択肢テキストを定義しておけば、対話ウィンドウの表示時に、システムが勝手に選んで表示
- 選んだ選択肢ごとの結果の処理も、選択肢テキストとカップリングで定義
できるようにしたいという感じ。
それで、自分の能力では、下の画像のようになら出来るかなあというイメージ。
このコードを、少なくとも対話ウィンドウが表示される前の、どこかのタイミングで走らせる。(タイミングはスクリプト書く側の自由。=これを走らせるコードをスクリプトに書く必要アリ)
- ID: TESで言うEditorID
- AnswerTextID: 対話の相手が、選択肢への返答として発する、テキストのEditorID
- Condition: booleanを返すLuaコード
Answer: 選択肢を選択したら走らせるLuaコード*1
- Result: 選択肢を選択したら走らせるLuaコード*2
全部string型になっちゃうので、ちょっと見難いけど。。
クエストspecificな噂テキスト(TESではConversationと言ってるぽい)も、こんな感じで定義できそう。(データ的には、ConditionとAnswerTextIDだけで良い)
AnswerTextについては、別の記事として書きます。
*1 AnswerじゃなくてResultですね。*2が正解です。