概要
特殊変数とは、新規作成や代入はできない、読み取り専用の変数のこと。
PCの情報や現在時刻等、様々な情報をゲーム内で取得できる。
特殊変数を参照する手順は以下二つの方法がある。
必要に応じて使い分けよう。
- 左上メニューのウィンドウ→コマンド→変数→特殊変数の代入
- 「変数ID」に、選んだ内容を取得する。
- 左上メニューのウィンドウ→変数→特殊タブ
- 「適用」を押すと、その特殊変数を参照するための表記が確認できる。
特殊変数一覧
公式サイトの「リファレンス」ページにも一覧がある。
変数
宣言済みの変数やローカル変数(コマンド時)を確認できる。
環境変数
- ラウンド
- 現在のラウンド数。
非アクティブシーンでは0。
- アプリ種別
- 使用しているクライアント種別。
通常版だとNormalとなる。
時間
現在(コマンド実行時)の日時や時刻を取得する。
- 曜日
- 曜日。
日曜日=0、土曜日=6。
- ログインからの秒数
- プレイヤーがログインしてからの秒数。
リログで初期化される。
ボード
現在参加しているボードの情報を取得する。
- 縦/横
- ボードチップのサイズ。
敷かれたチップの有無とは関係なく、ボードデータで設定した各サイズと同じ数値となる。
コントロール
現在参加しているボードのコントロールの情報を取得する。
- リスト
- ボードに存在するコントロール全てのIDを配列変数で取得する。
トリガー等で今は見えないコントロールも含まれる。
- 横幅/縦幅
- 指定したコントロールのそれぞれのサイズ。
- X座標/Y座標
- 指定したコントロールのそれぞれの座標。
- 深度
- 指定したコントロールの深度を取得する。
深度が大きければより手前に、小さければより奥側(100以下でボードより下)にあるということになる。
- クリックイベントID/エンダーイベントID
- 指定したコントロールに設定されたイベントのIDを取得する。
ターゲット
指定した条件に当てはまるキャラクターのIDを配列変数に取得する。
アイテム
- ベースID/ID
- 指定したアイテムの各IDを取得する。
- シリーズID
- ローカル
- 指定したアイテムがローカルアイテムか否かを取得する。
クエスト内で新規作成されたアイテムはTrue、それ以外はFalseとなる。
キャラクター
- サイド
- 指定キャラクターのサイドを取得する。
味方は0、敵は1、その他は2。
- 性別
- キャラクターの性別。
男性はTrue、女性はFalse、その他は空欄となる。
- NPCパーティ
- キャラクターが加入NPCである場合Trueとなる。
- プレイヤーキャラクター
- プレイヤーによって作成されたキャラクターの場合Trueとなる。
- ローカル
- ローカルなキャラクターか否かを判定する。
クエストで作成されたNPCやオブジェクトはTrue、それ以外(プレイヤー)はFalseとなる。
- 性格~行動
- キャラクターの特性値で判定する。
特性を変更しなかった場合のデフォルトは50。
例えば「性格」の場合最小0(冷静)~最大で100(快闊)。
スキル
指定したスキルの各情報を取得する。
乱数ダイス
6面ダイスを指定した回数分振った値を取得する。
参照表記(\randomDice[数])に結果の値が保存されるわけではない(実行する度に数値が変わる)。
乱数
指定した数を最大値として、ランダムな値を生成する。
最小値は0で、最大値指定が100だと0~99の結果が出る。
シナリオ
指定したシナリオに関係する値を取得する。
- クリア済み
- シナリオをクリアしている場合True、そうでない場合Falseを取得する。
- 変数
- シナリオ内の変数の値を取得する。
キャラクター変数とグローバル変数のみ取得可能で、変数ID入力時は\v[]は不要。
指定に誤りがある場合や取得した結果が空欄だった場合、同内容のエラーログが表示される。ただ後者は取得自体は問題なく行われている。
Webからの読み込み
URLでリクエストした値を取得する。
引数
引数やその参照表記を取得する。
コマンドのオプション
参照代入
変数で取得できる「値そのもの」ではなく「その値を参照するための表記」を用いることを表す。
一例として、現在時刻の変数を扱う場合。
- 参照代入でない場合
- 通常の動作。
「特殊変数コマンドを実行時した時間」を保存する。
- 参照代入である場合
- その表記のみが保存される。
代入した変数を利用するタイミングで値が参照され、「その変数を利用するタイミングの時刻」が利用できる。
イベント変数
引数
表記は \e.Argument または @argument 。
イベント呼び出し時に指定された値を参照する。
イベントの中でイベントを呼び出した場合、呼び出し先の引数が優先されるが、呼び出し元の引数に影響は与えない。
繰り返し処理
繰り返し処理の中で扱う場合について。
- 繰り返し処理のタイプ「配列」
- 現在の配列の要素を返す。
つまり、0巡目では \v[配列変数名][0] を、1巡目では \v[配列変数名][1] を返す。
- 繰り返し処理のタイプ「回数」
- 現在の回数を返す。
つまり、0巡目では 0 、1巡目では 1 を返す。
イベントの呼び出し
イベントの呼び出しのオプションで引数を指定すると、その内容を呼び出し先のイベントで使用できる。
これによりローカル変数もイベントをまたぐことが可能。
引数に配列変数(\v[配列変数名])を指定すればきちんと配列変数として扱われる。
クリックイベント
オブジェクト/コントロールのクリックイベントやエンターイベントで引数を使用すると、イベントを設定したオブジェクト/コントロールのIDを返す。
これを使えば、各オブジェクトごとに別のイベントを用意せずとも、オブジェクトの削除やコントロールの操作が可能となる。
戻り値
表記は @return 。
あるイベントが他のイベントから呼び出された後、イベントの終了時に特定の値を呼び出し元イベントに返す機能。
利用方法
- 呼び出し側のイベントAで「イベントの呼び出し」コマンドを挿入、オプションで「戻り値」の項目に戻り値を取得したい変数名を設定する。
- 呼び出される側のイベントB内で「変数の操作」コマンドを入れる。
変数ID:@return 、値を入力。 - 以上のイベントを実行すると、イベントAで指定した変数に、イベントBでの処理内容を取得することができる。