ゲ製報告 -20260607

会話文のデータもJSONファイル化して取り込めるようにしました。

今まではこうやってGM内のスクリプトファイルにハードコーディングしていたんですが、スキルやステータスのデータ等と同様に、Excelで管理できると非常に楽ですよね。

ということで、こんな感じの…互換性のある表を作ってみる。

この表を、別シートにIFS関数でムリヤリ成型して飛ばす。
で、このシート全体をコピーし、空のJSONファイルに手動で貼り付け。

JSONファイルができた。な、なんてアナログなんだ…。

Excelの書き出しファイル形式がJSONに対応してないのが悪い。(パワークエリを使えば~、Pythonを通せば~…といろいろやり方はあるようだが、めんどくさかったのでロクに調べていません)


GMにて、JSONファイルの読み込み既存のダイアログ用ユーティリティ関数への値渡しを行う。

①できたJSONファイルを文字列として読み込む関数。

②受け取った文字列を、ダイアログの処理(会話文を表示、ポートレイトを表示、選択肢を表示、別の会話文に飛ぶ…)を司る諸関数の読み込める形に成型する関数。

③扇の要となるユーティリティ関数。これが①②の関数を呼び出して、いよいよJSONファイルのデータを解体・出荷する。まな板の上のお魚のように…。
まず①を呼び出し、指定のJSONファイルの中身を文字列として読み込む。
文字列は構造体として解釈されるので、構造体内の変数名を取得。これがkeyとなる。
key名をアクセサとして、構造体の持つ値を全て読み込む。
これを配列の形で格納し、global.topics(=今読み込んでる会話はどれなのん?)に代入する。

サンプルテキスト:夏目漱石『坊っちゃん』

という感じで、実装完了です。できてしまえばシンプルなんですが…
これを作るだけで一週間もかかっちゃったぜ。なけるぜ