コンテンツにスキップ

変数

変数は、文字列を入れておく名前付きの入れ物です。数値も文字列として扱われます。

代入

文の中の、行頭が $ の行で代入します。

$名前【タブ】値
$名前=式
書き方 動作
$名前【タブ】値 値の () を展開して、そのまま代入する
$名前=式 式の () を展開して計算し、結果を代入する。結果が整数のときは全角の数字になる
  • 名前 の中の () も展開されます。
  • 値が空なら、その変数を削除します(システム変数は設定が解除されます)。
  • 数字だけの名前は使えません(ログに出て削除されます)。
  • $ の直後が = などで名前が空のときは、$ という文字を表示します。
  • タブも = もない行はエラーになり、トークをそこで打ち切ります。
$好感度=(好感度)+1
$名前【タブ】さくら
$挨拶=おはよう

$X=1+1 は 2(全角)になります。式が計算できない場合はエラーログが出て、その行で処理を打ち切ります。計算の対象は式を参照してください。

システム変数に = で代入したときは、計算結果が整数ならその値がシステム変数に渡ります($喋り間隔=3*20 は 60 秒)。結果が整数でないときや計算できないときは、計算前の値が渡ります(Mc201-11以降。それより前は、いつも計算前の値が渡っていたため、$名前タイマ=3*60 が 3 秒のタイマになっていました)。

参照

(変数名) で値を取り出します。変数が存在しないときは、(変数名) のまま残ります(式の中では 0)。存在するかどうかは (変数「名前」の存在) で調べられます。

保存

変数は、アンロードするときにセーブデータへ保存され、次回の起動時に復元されます(セーブデータ)。

次の変数は保存されません。

  • S0 など SAORI の戻り値
  • 今回は… で始まる一時的なシステム変数
  • 名前が SN(S に数字)の変数

システム変数の多くは、値を設定すると変数としても保存されます。

自動で用意される変数

変数 内容
起動回数 起動のたびに 1 増える
選択ID 選択ラベル 選択番号 最後に選ばれた選択肢の情報(選択肢)
ゴースト起動時間累計秒 累計の起動秒数(保存時に更新される)

別の記法との衝突

同じ名前の変数と、文や単語群があると、(名前) は先に単語群、次に文、最後に変数として展開されます(名前の解決順序)。避けてください。