フラグで分岐
アイテムを持っているか、誰々と会ったか、などの状態によって話を分岐させることがあります。LiveNovelでこういったことを実現するには「変数」を使います。
例えば、先ほどの続きを次のようにしたいとします。
(1)床にバナナが落ちている。どうしようか・・・

思い切って食べてみよう 腹を壊すぞ。やめておこう
(2)よーし、食べてみよう
もぐもぐ・・・。う、うまい
(3)腹を壊すぞ。やめておこう
ぐるるぅー。は、腹が減ってきた・・・

(4)授業が始まった・・・
・・・
昼になった

バナナを食べた場合 バナナを食べなかった場合
(5)あたた・・・腹が痛い・・・ (6)やっと飯の時間だー
見てのとおり、最初の選択で(2)を選んでも(3)を選んでも(4)につながります。そしてしばらく話が続いた後、バナナを食べたかどうかで(5)(6)に話が分岐します。
では、まず変数を用意するところから始めます。
「変数リスト」ウィンドウを表示してください。そして、右クリックメニューから「追加」を選択します。ダイアログが出ますので、項目を順に設定していきます。
「名前」は変数に付ける名前です。ここでは「バナナを食べた」とします。
「変数タイプ」はどういった値を扱うかといった設定です。以下のような種類があります。
整数小数の扱えない数値
実数小数も扱える数値
フラグ扱える値はFALSETRUEだけ
文字列文字列
ここでは食べたか食べてないかの状態を保持するだけなので「フラグ」変数を使います。ちなみにFALSEはOFF、TRUEはONという意味です。
「初期値」はゲーム起動時またはリセット時に変数に入れる値です。ここでは「FALSE」にします。
「動作タイプ」には以下の種類があります。
通常ゲーム起動時またはリセット時に初期化されます
リセット時とは以下のような時です
・プレイヤーがシステムメニューを使ってタイトル画面に戻った時
・「シーン回想」モードで話を始めた時
・ゲームが終了してタイトル画面に戻った時
起動時のみ初期化ゲーム起動時にだけ初期化されます
ステータスインストール後、最初にゲームを起動した時にだけ初期化されます。また、ソフト起動時に値を復帰し、ソフト終了時に値を保存します(その間にプレイヤーが行うゲームセーブ・ロードの影響は受けません)
ここでは、ゲームが始まるたびに初期化されてほしいので「通常」タイプにします。
OKをクリックしてダイアログを閉じます。
シナリオ内で変数を操作する時は「計算」ノードを使います。
チャートウィンドウを表示して、「計算追加」を選択してください。

このようなノードが作成されます。
まず、分りやすいように「名前」を「バナナを食べた=TRUE」にします。
次にノードをダブルクリックして編集ウィンドウを開き、右クリックメニューから「追加」→「計算式かんたん入力」を選択します。そして以下のような式にします。

これは「バナナを食べた」変数にTRUEを入れる、という意味です。では、OKをクリックしてください。
食べた場合にだけこの計算を実行させたいので、(2)のノードからだけこのノードにジャンプさせます。

(4)のノードを作り、合流するようにそれぞれジャンプさせます。

ここから「バナナを食べた」変数の内容によって(5)(6)に分岐させます。では(5)(6)のノードを作ってください。

そして(4)から(5)(6)にジャンプさせます。(5)へのジャンプには条件を設定します。

最終的にチャートは以下のようになります。

では、ゲームを実行して、正しく分岐するか確かめてください。