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

チャートウィンドウを表示して、
「計算追加」を選択してください。

このようなノードが作成されます。
まず、分りやすいように
「名前」を「バナナを食べた=TRUE」にします。

次にノードをダブルクリックして編集ウィンドウを開き、右クリックメニューから
「追加」→「計算式かんたん入力」を選択します。そして以下のような式にします。

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

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

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

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

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