モニスクレシピ_ストーリーの進行管理
公開 2025/09/25 21:24
最終更新
2025/09/26 23:46

ストーリーの進行管理
ストーリー進行用の変数を用意しておく #
単発のイベント(アイテムを持ってると道が通れるとか)ではアイテム所持を判定してメッセージ等を変えれば済みますが、マップ全体で一つのストーリーを進めるような場合には進行段階を管理する変数を用意しておくと管理が楽そうです。ロード時のスクリプトで初期設定
[var:story_phase 0]
モブやアクションポイントのスクリプト(例)
[if var:story_phase = 0]
//初期状態のセリフ等
あの道、前は通れたんだけど今は岩で塞がってるんだよね
[elseif var:story_phase = 1]
//ストーリーが1段階進んだ時のセリフ等
岩どかしてくれたの!?ありがとう
[elseif var:story_phase = 2]
//ストーリーが2段階〜
道は通れるようになったけど魔物が入り込むようになっちゃった
[elseif var:story_phase = 3]
//〜3段階〜
おかげで平和になったよ!
[endif]
ストーリーが進むポイントで
[var:story_phase 1]
など設定していけば、所持品や他のフラグの状態を参照して進行を管理するより分かりやすいかなと
ストーリー内の連続イベント #
ストーリーの同段階のなかで連続性のあるイベントを入れたい時はそれを管理する変数も追加で設定しておくといいと思います。例[var:event_1_phase 0]
アクションポイントではこんな感じに
[if var:story_phase = 0]
//ストーリー初期状態
[if var:event_1_phase = 0]
//イベント1_初期段階
あの道、前は通れたんだけど今は岩で塞がってるんだよね
[elseif var:event_1_phase = 1]
//イベント1_1段階目
魔法使えるの?岩をどかす魔法とかないかな…
//以降必要なだけ条件追加
[endif]
//以下省略
[endif]
連続会話イベント #
複数のキャラやモブのメッセージが交互に更新されるような場合には、メッセージが更新されたキャラの上に吹き出しを表示すると続きがあることが分かりやすそうです移動するタイプのモブには今のところ使えませんが
//キャラ1のスクリプト
[if var:event_2_phase = 0]
//イベント初期時のセリフ
キャラ2が何か知ってるらしい
//イベントを進める
[var:event_2_phase 1]
//キャラ2の上のマスに吹き出しを表示
[var:app_map_layer_front_set 48,3,2]
//キャラ1の吹き出しを消す
[var:app_map_layer_front_clear 5,7]
[elseif var:event_2_phase = 2]
//以降必要なだけ繰り返す
[endif]
//キャラ2のスクリプト
[if var:event_2_phase = 0]
//イベント初期時のセリフ
...
[elseif var:event_2_phase = 1]
//イベント1段階目のセリフ
いやいや僕は何も知りませんよ
//イベントを進める
[var:event_2_phase 2]
//キャラ1の吹き出しを表示
[var:app_map_layer_front_set 48,5,7]
//キャラ2の吹き出しを消す
[var:app_map_layer_front_clear 3,2]
[elseif var:event_2_phase = 3]
//以降必要なだけ繰り返す
[endif]
吹き出しのインデックスと座標は自身のマップに合わせてください。上の書き方のままだと各セリフを1回づつしか話さないので必要に応じて条件を
[if var:event_2_phase < (次に自身が喋るフェーズ)]
などに調整してください。
この場合は相手の話を聞くまで現在のセリフを繰り返します(そのはず…)
