ユーザ用ツール

サイト用ツール


変数操作

変数操作

if (条件分岐)

属性必須説明
expyes条件式 
;サンプル
@if exp="f.flagA == ‘true’ && f.flagB == ‘true’"
@waitclick
@endif

AND条件 &&
OR条件 ||

注意
@if~@endif内にラベルを入れないでください
文字列比較の場合は'(シングルクオーテーション)を使用してください

@if exp="'%flag' == 'love_ryou'"
@if exp="tf.hoge == '%flag'"

else (ifの条件を満たさなかったときの処理)

elsif (ifの条件を満たさなかったとき条件付きで実行)

属性必須説明
expyes-条件式

endif (ifの終了)

※ifタグと一対一になっている必要があります。

emb (式評価結果の埋め込み)

属性必須説明
expyes-引数をゲーム画面上に表示します

@embではなく[emb]表記を利用してください

OK:あああいいいううう[emb exp="tf.moji"]です。
NG:あああいいいううう@emb exp="tf.moji"です。

固定値を入れる場合は ”’’” シングルクォーテーションをダブルクォーテーションで囲む

[macro name=test]
@emb exp="mp.name"
@emb exp="'yyy'"
[endmacro]

eval (式の評価)

属性必須説明限定機能
expyes実行する式を記述します 
flushnotrue(初期値)
/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"]などしてシステム変数がサーバーに反映されるよう留意ください)

while (ループ開始)

属性必須説明
expyes-式を記述します、trueのとき実行されます

while,endwhie,breakwhileでループ制御できます。

[while exp="f.abc < 2"]
[eval exp=" f.abc = f.abc +1"]
[endwhile]

※while小規模なループ処理で使用してください。
 シナリオ全体が関わるような大きなループは動きがモッサリするので、jumpおよびcallで処理してください

※ループ中にはラベルを入れないでください
※ループ中にはストリームブロックにおいてファイル分割されないので、while中に容量の大きい素材を使うとシナリオがダウンロードが遅くなる場合があるので注意してください。

endwhile (ループ終了)

breakwhile (ループ中断)

clearvar (ゲーム変数の全消去)

clearsfvar (システム変数の全消去)

システムが必要としている情報も消してしまうので、非推奨となります。

prompt (文字列入力機能)

属性必須説明
maxlengthyes整数入力出来る最大文字数
全角・半角共通
不正な入力をすると変数の値は0になる
minlengthyes整数入力出来る最小文字数
全角・半角共通
不正な入力をすると変数の値は0になる
caption--ダイアログボックスに表示される文章を指定する
set--ユーザーの入力を代入する変数を指定する

サンプル

[prompt caption="名前を入力してね(3文字以内)" set=f.name maxlength=3 minlength=1]
変数操作.txt · 最終更新: 2021/09/08 18:28 by yam