**&color(green){概要} >senario s1 { > fight = fight_event >} scenario構造体でfightに戦闘開始前イベントを設定し >event fight_event { > if (inBattle(goto, mukugaiya)) { > battleEvent(btl_evt) > } >} 戦闘開始前イベントの中で任意の状態の時にbattleEvent関数を用いると >event btl_evt { > if (条件式) { > 関数 > } > rif (条件式) { > 関数 > } >} その戦闘シーンで戦闘中イベントを発生出来ます。 if文は一度「真」が返り実行されたら消滅します。rif文は消滅せず繰り返し判定され実行されます。 戦闘中イベントを表すevent構造体の中ではif文ないしrif文のみを列挙してください。 ここではelseは無視されます。処理の高速化の為にあえて制限してます。 なお、if文とrif文の実行ブロックの中では通常通り全ての構文が仕えます。 **&color(green){戦闘中イベントの主な関数} 青色の引数には 文字変数 が使えます(先頭に @ を付けると文字変数と見なされます) :addTroop(&color(blue){ユニット}、x座標, y座標, 向き(0~7), 防衛側(on/off))| 指定ユニット部隊を戦場マップに登場させます。 xy座標はMapMakerの座標を用いてください。システム内でクォータービュー座標に変換されます。 向きは、0=北、1=北西、2=西、3=南西、4=南、5=南東、6=東、7=北東、です。 onだと防衛側に、offだと攻撃側に追加されます。 :eraseTroop(&color(blue){ユニット})| 指定ユニットが所属する部隊を戦場マップから消去します。 :resetTime()| システム内部の戦闘カウントをゼロにします。 戦闘カウントとは戦闘開始からの経過時間を示すシステム内の数値です。 画面左上ウィンドウの制限時間が1減ると戦闘カウントは10増えてます。 **&color(green){戦闘中イベントの主な条件式関数} 赤色の引数には&color(red){文字変数}が使えます(先頭に @ を付けると文字変数と見なされます) :inBattle(&color(red){ユニット}, &color(red){ユニット}, ‥)| 返値:&color(blue){1 = 全ている、0 = いない} 今の戦闘シーンに列挙されたユニットが全部いるか調べる :isEnemy(&color(red){ユニットA}, &color(red){ユニットB})| 返値:&color(blue){1 = 敵同士、0 = 敵でなく同じ陣営にいる} 両ユニットが敵同士か調べます。 :isDead(&color(red){ユニット}, &color(red){ユニット}, ‥)| 返値:&color(blue){1 = 全部やられた、0 = そうじゃない} 今の戦闘シーンで列挙されたユニットが全部やられてるか調べる :isAllDead(&color(red){ユニット})| 返値:&color(blue){1 = 全滅した、0 = そうじゃない} 今の戦闘シーンで指定ユニットの所属陣営が全滅したか調べる :getTime()| 返値:&color(blue){システム内の戦闘カウント} 戦闘カウントとは戦闘開始からの経過時間を示すシステム内の数値です。 画面左上ウィンドウの制限時間が1減ると戦闘カウントは10増えてます。 これは&color(blue){resetTime()}関数でゼロにできます。 :getLimit()| 返値:&color(blue){残り制限時間} 戦闘シーンの画面左上の制限時間ウィンドウの数値が返ります。 :isInterval(数値)| 返値:&color(blue){1 = 指定数値の間隔、0 = そうじゃない} 一定間隔毎に1が返る関数です。戦闘カウントが数値で割り切れたら1が返ります。 &color(blue){rif}の条件文で用いる必要があります。 :getDistance(&color(red){ユニット}, &color(red){ユニット})| 返値:&color(blue){ユニットとユニットの距離ドット} 今の戦闘シーンで指定ユニット同士の距離ドットを返します。 :getDistance(&color(red){ユニット}, x座標, y座標)| 返値:&color(blue){ユニットと指定座標の距離ドット} 今の戦闘シーンで指定ユニットと指定座標の距離ドットを返します。 引数のxy座標はMapMakerの座標を用いてください。システム内でクォータービュー座標に変換されます。 :isDungeon()| 返値:&color(blue){1 = ダンジョンにいる、0 = そうじゃない} :isDungeon(dungeon構造体の識別子)| 返値:&color(blue){1 = 指定ダンジョンにいる、0 = そうじゃない} :isDungeon(dungeon構造体の識別子, 数値)| 返値:&color(blue){1 = 指定ダンジョンの(数値)階にいる、0 = そうじゃない} .