変数

ゲームの進行状態などを確認するためのデータ保管場所として変数というものがあります。
文字や数字を代入しておくことができるので、変数を使用すれば、イベントで条件分岐などが容易になります。
変数とは、何か情報を格納しておくための箱です。変"数"という名前ですが、
数字以外も格納することができます。俗にゲームでいうところの「フラグ」に相当するものです。

変数

変数は、[変数 Id]と[値]で成り立っています。
変数の操作コマンドなどで、操作をすることができます。

変数の操作は、「変数の操作」コマンドで行えます。 "test"という変数 ID の変数に"1"という値を代入すると、それ以降"test"の中身に"1"が保持されます。 代入以外にも、加算、減算など既存の変数の値を修整することもできます。

配列変数

一つの ID に対して一つの値しか持てない変数の他に、
一つの ID に対して、複数の値を持てる「配列変数」というものもあります。
また、配列変数を使うことにより平均、最小値などを求めやすくなります。
「インデックス」という、何番目を操作するかを指定できます。
また、このインデックスは 0 から始まるので、先頭(一つ目)のインデックスは 0 になります。

配列変数の操作は、「配列変数の操作」コマンドで行えます。
"tests"という配列変数 ID の 3 番目(インデックスは 2)の変数に"3"を代入しています。



また、配列変数の要素数は自動的に増えていきます。

上の図では、"tests"という配列変数 ID に、新しい要素"QN"を追加しています。
これによって、要素数が 3 つから、4 つに増えました。



変数の種類

変数は、保持期間や参照できる条件からいくつかの種類があります。
マスターメニューから「変数ウィンドウ」で指定の変数IDの種類を宣言しておくことができます。

  • キャラクター変数 - キャラクターごとに保持する変数です。自動で保存されます。
  • パーティー変数 - パーティーで共有できる変数です。自動で保存され、パーティーメンバー間で同期されます。
  • グローバル変数 - シナリオが持つ変数です。シナリオに参加している全てのボードにいるキャラクターから参照可能です。グローバル変数は同期しません。
    また、グローバル変数には URL が割り振られます。 https://www.questnotes.net/variable/シナリオ ID/グローバル変数 ID にリクエストすることによって、値を取得することができます。
  • 特殊変数 - 新規に作製、代入することはできない読み取り専用でゲーム内の情報を取得できる変数です。特集変数で取得できる内容はリファレンスに一覧があります。
ここで宣言していない変数を使う場合は、ローカル変数になります。
  • ローカル変数 - 実行中のイベント内からのみ参照できます。イベント実行ごとに同じ変数 ID を指定しても、それぞれが独立します。イベント終了時に消えてしまいます。(保存処理を行わないためローカル変数を利用した処理は比較的軽くなります。)

変数参照

変数は条件分岐の使い以外にも、コマンドでの値を設定する際に、変数から代入することができる項目が多くあります。
(例・「特殊変数の代入」コマンドで、イベントの実行者のキャラクターID を取得して、そのキャラクターに対して「エフェ クト」コマンドでダメージを与える)

特殊文字には以下のものがあります。

  • %変数 ID - 変数の値を代入します。
  • \v[変数 ID] - 変数の値を代入します。 文章の中の一部のみを変数参照したい場合に使用したいときはこちらを使用してください。
  • %配列変数 ID[インデックス] - 配列変数の指定インデックスの値を代入します。
  • \v[変数 ID] [インデックス] - 配列変数の指定インデックスの値を代入します。 文章の中の一部のみを変数参照したい場合に使用したいときはこちらを使用してください。