**&color(green){if~else文の構文} if (条件式) { 関数 } else { 関数 } if (条件式) { 関数 } else if (条件式) { 関数 } else { 関数 } **&color(green){while文の構文} while (条件式) { 関数 } 条件式が真の間、ループされます。 **&color(green){条件式の構文} &bold(){数値変数の扱いについて} 条件式の中では&color(magenta){数値変数}を記述すると、そのまま数値として見なされます。 &bold(){文字変数の扱いについて} 二項演算子&color(blue){==}、&color(blue){!=}の比較式において どちらかの先頭に&color(magenta){@}を記述すると文字変数と見なされ その二項演算子は文字列の比較となります。 >if (@textvar == goto) 文字変数 textvar の要素が「goto」と等しいか調べる >if (@textvar != goto) &bold(){単項式について} >if (isPlayer(evt1)) >if (var1) 数値変数 var1 が0以外なら真 上記の様な単項式では、結果が0以外なら真となり、0なら偽となります。 &bold(){条件式内の演算子の優先順位} 1、+ - * / % 2、== != <= >= < > 3、&&(論理積) 4、||(論理和) &color(blue){%}演算子は百分率計算です。&color(blue){var % 75}とすると変数varの数値の75%の数値が返ります。 **&color(green){条件式の中で使われる関数} 赤色の引数には&color(red){文字変数}が使えます(先頭に @ を付けると文字変数と見なされます) :yet(イベント)| 返値:&color(blue){1 = イベント未発生、0 = イベント発生済み} 引数にはevent構造体のタグ名を指定する。 event()関数でイベントを発生させた時に自動的にセットされる内部フラグを調べる。 :rand()| 返値:&color(blue){0~99の乱数} :conVar(文字変数, &color(red){文字列})| 返値:&color(blue){文字変数に含まれてる文字列の数} :inVar(文字変数, &color(red){文字列}, &color(red){文字列}, ‥)| 返値:&color(blue){1 = 全部含んでいる、 0 = そうじゃない} :eqVar(文字変数, &color(red){文字列})| 返値:&color(blue){1 = 二つの引数が等しい、 0 = そうじゃない} :countVar(文字変数)| 返値:&color(blue){文字変数が持つ要素の数} :ptest(領地, ユニット)| 返値:&color(blue){領地に存在するユニットの数} 内政モード用のチェック関数です。 引数の領地には内政領地の識別子を、ユニットには内政ユニットの識別子を記述して 内政ユニットの数量によるイベントトリガとしてください。 :getMode()| 返値:&color(blue){0 = easy、1 = normal、2 = hard、3 = luna} 現在の難易度を調べる。 :isGameClear()| 返値:&color(blue){1 = ゲームクリア状態、0 = 未クリア} 現在ゲームクリア状態か調べる。 :isNPM()| 返値:&color(blue){1 = 観戦モード、0 = 観戦モードじゃない} :isWorld()| 返値:&color(blue){1 = 世界地図シーン(簡易戦闘中)、0 = 戦場マップシーン} :isMap()| 返値:&color(blue){1 = 戦場マップシーン、0 = 世界地図シーン(簡易戦闘中)} :isNewTurn()| 返値:&color(blue){1 = 新ターン開始時、0 = そうじゃない} 新ターン開始時か調べる。 独自ルールによるEDチェックなど、新ターン開始時のみ実行させるイベントがある時に使ってください。 :isPlayerTurn()| 返値:&color(blue){1 = プレイヤー勢力ターン開始時、0 = そうじゃない} プレイヤー勢力のターン開始時か調べる。 :isPlayerEnd()| 返値:&color(blue){1 = プレイヤー勢力ターン終了時、0 = そうじゃない} プレイヤー勢力のターン終了時か調べる。 :isWorldMusicStop()| 返値:&color(blue){1 = ワールドBGMフラグがOFF、0 = ワールドBGMフラグがON} :isPeace()| 返値:&color(blue){1 = 標準クリア状態、0 = 未クリア状態} 残存する全勢力が敵国と隣接してないか調べる。 全勢力が敵国と隣接してなかったらゲームクリア状態と判定されます。 :isPlayer(&color(red){勢力/ユニット})| 返値:&color(blue){1 = プレイヤー勢力、0 = CPU} 勢力/ユニットがプレイヤー担当か調べる。 :isNpc(&color(red){勢力/ユニット}, &color(red){勢力/ユニット}, ‥)| 返値:&color(blue){1 = 全てCPU勢力、0 = そうじゃない} 列挙された勢力/ユニットが全てCPU担当か調べる。 :isAlive(&color(red){勢力/ユニット}, &color(red){勢力/ユニット}, ‥)| 返値:&color(blue){1 = 全て生存、0 = そうじゃない} 列挙された勢力/ユニットが全て生存してるか調べる。 :isTalent(&color(red){ユニット})| 返値:&color(blue){1 = 人材、0 = そうじゃない} ユニットが人材か調べる :isMaster(&color(red){ユニット})| 返値:&color(blue){1 = マスター、0 = そうじゃない} ユニットがマスターか調べる :isLeader(&color(red){ユニット})| 返値:&color(blue){1 = 部隊長、0 = そうじゃない} ユニットが勢力所属の部隊長か調べる :isRoamer(&color(red){ユニット})| 返値:&color(blue){1 = 放浪中、0 = そうじゃない} ユニットが放浪中か調べる :isRoamLeader(&color(red){ユニット})| 返値:&color(blue){1 = 放浪中のリーダー、0 = そうじゃない} ユニットが放浪中のリーダーか調べる :isEnemy(&color(red){ユニットA}, &color(red){ユニットB})| 返値:&color(blue){1 = 敵同士、0 = 敵でなく同じ陣営にいる} 両ユニットが敵同士か調べます。 :isJoin(&color(red){勢力}, &color(red){勢力})| 返値:&color(blue){1 = 隣接、0 = 非隣接} 勢力の領地が隣接してるか調べる :isWar(&color(red){勢力}, &color(red){勢力})| 返値:&color(blue){1 = 交戦した、0 = まだ交戦してない} 勢力の間で1度でも戦争したか調べる :isInvade(&color(red){勢力A}, &color(red){勢力B})| 返値:&color(blue){1 = 勢力Aが攻撃した、0 = 勢力Bが攻撃した} isWar()の後で使ってください。直前の戦闘での攻撃側を調べます。 :isLeague(&color(red){勢力}, &color(red){勢力})| 返値:&color(blue){1 = 同盟中、0 = 非同盟} :getTurn()| 返値:&color(blue){ターン数} :countPower()| 返値:&color(blue){現在生存してる勢力の数} :countSpot(&color(red){勢力})| 返値:&color(blue){勢力が所持してる領地数} :countForce(&color(red){勢力})| 返値:&color(blue){勢力の総戦力} :countGain(&color(red){勢力})| 返値:&color(blue){勢力の総経済値} :countMoney(&color(red){勢力})| 返値:&color(blue){勢力の軍資金} :inPower(&color(red){勢力}, &color(red){領地/ユニット}, &color(red){領地/ユニット}, ‥)| 返値:&color(blue){1 = 全て所持、0 = 所持してない} 勢力が、列挙された領地/ユニットを全て所持してるか調べる。 :inSpot(&color(red){領地}, &color(red){ユニット}, &color(red){ユニット}, ‥)| 返値:&color(blue){1 = 全ている、0 = いない} 領地に、列挙されたユニットが全ているか調べる(放浪中だといないと見なされます) :inRoamSpot(&color(red){領地}, &color(red){ユニット}, &color(red){ユニット}, ‥)| 返値:&color(blue){1 = 全ている、0 = いない} 領地に、列挙されたユニットが放浪状態で全ているか調べる :inBattle(&color(red){ユニット}, &color(red){ユニット}, ‥)| 返値:&color(blue){1 = 全ている、0 = いない} 現在進行中の戦闘シーンに列挙されたユニットが全部いるか調べる .