| 属性 | 必須 | 値 | 説明 |
|---|---|---|---|
| exp | yes | 条件式 |
| ;サンプル @if exp="f.flagA == ‘true’ && f.flagB == ‘true’" @waitclick @endif |
AND条件 &&
OR条件 ||
注意
@if~@endif内にラベルを入れないでください
文字列比較の場合は'(シングルクオーテーション)を使用してください
| @if exp="'%flag' == 'love_ryou'" |
| @if exp="tf.hoge == '%flag'" |
| 属性 | 必須 | 値 | 説明 |
|---|---|---|---|
| exp | yes | - | 条件式 |
※ifタグと一対一になっている必要があります。
| 属性 | 必須 | 値 | 説明 |
|---|---|---|---|
| exp | yes | - | 引数をゲーム画面上に表示します |
@embではなく[emb]表記を利用してください
| OK:あああいいいううう[emb exp="tf.moji"]です。 NG:あああいいいううう@emb exp="tf.moji"です。 |
固定値を入れる場合は ”’’” シングルクォーテーションをダブルクォーテーションで囲む
| [macro name=test] @emb exp="mp.name" @emb exp="'yyy'" [endmacro] |
| 属性 | 必須 | 値 | 説明 | 限定機能 |
|---|---|---|---|---|
| exp | yes | 式 | 実行する式を記述します | |
| flush | no | true(初期値) /false | サーバーに情報をアップロードする/しない | Browser版 |
※システム変数更新の都度、サーバー通信が発生するため、コロン区切りで複数式の1行化推奨 Browser版
※値に変化のないシステム変数の更新はサーバー通信は発生しません。(例:sf.hogeが1の状態で「@eval exp="sf.hoge=1"」)
| セミコロンで区切ると複数の式を1つのeval内に記述できます。 例:[eval exp="f.aaa = 1; f.bbb = 2"] |
◆flush
システム変数(sf)は値が更新されるたびにサーバに保管されるため都度サーバアクセスが発生します。
頻繁なアクセスが発生する場合はゲーム進行に支障が出るため必要に応じてflush=falseを使用してください。
・想定使用例
-システム変数を連続的に更新するがゲーム進行上それほど重要な更新ではない場合。
(例:セリフ表示毎にセリフ表示回数をシステム変数に保管する)
-システム変数を更新するlinkタグを連続して実行する際、処理を高速化したい。
(連続した選択肢処理の終了後、[eval exp="sf.hoge += 1"]などしてシステム変数がサーバーに反映されるよう留意ください)
| 属性 | 必須 | 値 | 説明 |
|---|---|---|---|
| exp | yes | - | 式を記述します、trueのとき実行されます |
while,endwhie,breakwhileでループ制御できます。
| [while exp="f.abc < 2"] [eval exp=" f.abc = f.abc +1"] [endwhile] |
※while小規模なループ処理で使用してください。
シナリオ全体が関わるような大きなループは動きがモッサリするので、jumpおよびcallで処理してください
※ループ中にはラベルを入れないでください
※ループ中にはストリームブロックにおいてファイル分割されないので、while中に容量の大きい素材を使うとシナリオがダウンロードが遅くなる場合があるので注意してください。
システムが必要としている情報も消してしまうので、非推奨となります。
| 属性 | 必須 | 値 | 説明 |
|---|---|---|---|
| maxlength | yes | 整数 | 入力出来る最大文字数 全角・半角共通 不正な入力をすると変数の値は0になる |
| minlength | yes | 整数 | 入力出来る最小文字数 全角・半角共通 不正な入力をすると変数の値は0になる |
| caption | - | - | ダイアログボックスに表示される文章を指定する |
| set | - | - | ユーザーの入力を代入する変数を指定する |
サンプル
| [prompt caption="名前を入力してね(3文字以内)" set=f.name maxlength=3 minlength=1] |