基本編:演出 パラメータの設定:条件式
概要
条件判断を記述する最小単位は、比較関数、または「左辺値」「比較演算子」「右辺値」の構造を持っています。
左辺値とは、比較演算子の左側に位置することの出来る値で、右辺値とは、比較演算子の右側に位置することの出来る値です。
平たく言えば、A≦Bという式があった場合、が左辺値で、が右辺値、そしてが比較演算子です。
比較関数は、@で始まる文字列で、@関数名(パラメータ数'p0'p1....) という形をしていますが、 現時点でらのべえでは利用できません。
右辺値に単項以外の式を記述することは出来ません。 また、計算式では優先順位を表す()を利用することが出来ましたが、条件式には利用できません。 その代わり、いくつかの条件式を AND や OR で組み合わせることが出来ます。 半角の記述はCやC++に準じます。
比較演算子
比較演算子に利用できる記号は次の通りです。
意味 記号(半角) 記号(全角)   意味 記号(半角) 記号(全角)
等しい ==   AND記号 &&
異なる !=   OR記号 || ;
以上 <=        
以下 >=        
未満 >        
より大きい <        
全角表記のOR記号だけは特殊で、半角のセミコロン1個になります。
本来内部では(全角)側の記号が利用されていて、半角側の記号はらのべえがコマンドを出力する際に置換しています。
複数の条件判断式を、ANDまたはOR式で接続する際の評価順序は次の通りです。
0.評価レベルが同じなら、評価は左から行われる。
1.各式を評価する
2.AND接続を評価する
3.OR接続を評価する
評価の打ちきり等を無視して具体的に説明すると――
A<3 || B>=2 && C<B
なら、まず全体をOR演算で分解し、「A<3」と「B>=2 && C<B」の2つのブロックに分けます。
次に、「A<3」が評価され真ならこのブロックの評価が真になります。
次に「B>=2 && C<B」が評価され、全ての||で結合されたブロックの評価を行います。
最後に、 個々のブロックの結果をOR演算して評価を決定します。
右辺値や左辺値に利用されるレジスタ等の表記
この色の文字はらのべえでは無視して下さい。
表記 左辺値 右辺値 説明
R* R1234, R35 通常レジスタの値です。
S* S1234, S35 システムレジスタの値です。
L* L18, L3 ローカルシステムレジスタの値です。
F* F0〜F31 拡張フラグ領域の値で0か1になります。 主にゲームの設定等で利用されます。
        ユーザーが自由に設定できるインデックス範囲は8〜15で、CMD_DEFCONFIGのユーザー拡張部分で値の受け渡しに利用できるため、コンフィグ画面(SystemSettings)の拡張に使われます。各フラグの意味は次の通り。
       
F0 1:履歴一覧表示にアンチエリアシングを使用します
F1 非公開
F2 1:簡易履歴表示を使用します
F3 1:拡大縮小の途中部分にも高画質(で重い)アルゴリズムを適用します
F4 1:abort/save/load/configのコントロールへの左右クリックを入れ替えます
F5 1:スキップ時の画面更新を最小にしてスキップ速度を優先します
F6 システム予約
F7 1:行単位セーブが有効です
F8-F15 ユーザーが任意に使用できます。
F16-F23 ユーザー領域として予約されています
F23-F31 システム領域として予約されています
Q* Q0〜Q1 Q0〜で、特殊な調査用表記。
       
Q0 セーブデータがあれば1、なければ0。
Q1 セーブデータがあれば1、なければ0。ただしクイックセーブを調査対象にしない。
Mm* Mm24 音楽用既聴フラグの参照です。0か1になります。
Ms* Ms12 シーン用既遊フラグの参照です。0か1になります。
Mg* Mg300 イベントCG用既見フラグの参照です。0か1になります。
Mv* Mv12532 メッセージ既読フラグの参照です。0か1になります。
         
表記 左辺値 右辺値 説明
直値 800, -3,
0x24F8
× 直接的な数値です。32bit整数の範囲です。0xで始めると16進数を、0bで始めると2進数を記述できます。xおよびbは小文字でなければなりません。
@* @isValidItem - - 条件判断で利用される場合は単独(右辺値のない左辺値扱い)で利用しなければなりません。戻り値が0ならfalse、それ以外はtrue扱いされます。つまり常に、@func(params) != 0 と指定されているものとみなされます。関数の一覧は、式の項目をご覧下さい。
         
らのべえリソースのマップ位置
らのべえのリソース マップ先 注釈
パラメータ0〜31 R1400〜R1431  
選択結果0〜999 R1500〜R2499 未使用は0。選択された場合AID(1〜)。キャンセルは-1。タイムアウトは-2。
     
記述例
結果は、真だと1に、偽だと0になります。
記述 解説
R1401==5 通常レジスタの1401番が5だったら(パラメータ5番が5だったら)真
R1500!=1 通常レジスタの1500番が1以外なら(質問0の回答が1以外なら)真
R8==S25 通常レジスタ8番とシステムレジスタ25番が等しかったら真
R50==R42+1 こんなことはできません!
R50==3 && (R24==1 || R15==1) ()で評価順を変更することは出来ません。()は利用できません
Mv12005==1 メッセージID 12005 番を読んでいたら真
Mg321==0 CGID:0321を見ていなかったら真
R3==200&R20>=1; R3==201&R20==1 通常レジスタの3番が200かつ20番が1以上か、通常レジスタの3番が201かつ20番が1の時、真
R3==200 && R20>=1 || R3==201 && R20==1 上記のC準拠表記
R20<=3&Mg300==1 通常レジスタ20番が3以下で、0300.gyuを見ていたら、真
Q0==0 一度もセーブされていなければ真
@isStrEmpty(1'20) 文字列レジスタの20番の内容が空なら真