入力内容の設定
番号 | 00 | 01 | 02 | 03 |
変数名 | 出現歩数 | 敵グループ 1 | 敵グループ 2 | 敵グループ 3 |
初期値 | 100 | 0 | 0 | 0 |
特殊指定 | なし | ユーザDB13敵グループ参照 項目-1<なし> -2<なし> -3<なし> | ユーザDB13敵グループ参照 項目-1<なし> -2<なし> -3<なし> | ユーザDB13敵グループ参照 項目-1<なし> -2<なし> -3<なし> |
コモンセルフ使用状況
番号 | 変数名 | ||||||||
00 | 出現歩数 | 01 | 敵グループ 1 | 02 | 敵グループ 2 | 03 | 敵グループ 3 | 10 | 一時変数A |
11 | 一時変数B | 12 | 一時変数C | 20 | 現在座標X | 21 | 現在座標Y | 23 | 一時エンカウント値 |
50 | 旧座標X | 51 | 旧座標Y | 90 | 敵出現した? |
メモ
1回呼ぶごとにカウンタを加算し、一定値以上になると3種の敵グループのうちどれかをランダムで出現させます。 |
挿入イベント
188X◆戦闘処理? |
▼ 入力0:エンカウント歩数 入力1~3:出現エネミーグループ(1ならナシ)
▼ Ver2.24 敵出現フラグを初期化していなかったバグを修正
■変数操作: CSelf90[敵出現した?] = 0 + 0
▼ 直前の主人公座標と異なる場合だけエンカウント値を加算 座標が同じなら即終了
■変数操作+: CSelf20[現在座標X] = 主人公 の X座標(精密)
■変数操作+: CSelf21[現在座標Y] = 主人公 の Y座標(精密)
◇分岐: 【1】 [ CSelf20[現在座標X] が CSelf50[旧座標X] と同じ ]の場合↓
◇分岐: 【1】 [ CSelf21[現在座標Y] が CSelf51[旧座標Y] と同じ ]の場合↓
■イベント処理中断
■
◇分岐終了◇
■
◇分岐終了◇
▼ セルフ50、51に直前の座標を格納しておく
■変数操作: CSelf50[旧座標X] = CSelf20[現在座標X] + 0
■変数操作: CSelf51[旧座標Y] = CSelf21[現在座標Y] + 0
▼ ここからエンカウント計算
▼ 内部的には「エンカウント値」が10万を超えると出現。少しだけランダム要素有り
■変数操作: CSelf10[一時変数A] = 100000 / CSelf0[出現歩数]
■変数操作: CSelf10[一時変数A] 下限= 1 + 0
■可変DB書込:DB[ 基本システム用変数 : 65 : 0 ] (18 : [エンカウント]エンカウント値 : 数値) += CSelf10[一時変数A]
■DB読込(可変): CSelf23[一時エンカウント値] = 可変DB[ 基本システム用変数 : 65 : 0 ] (18 : [エンカウント]エンカウント値 : 数値)
◇分岐: 【1】 [ CSelf23[一時エンカウント値] が 100000 以上 ]の場合↓
▼ エンカウントすると、次の初期値を±2万の範囲で格納する
■変数操作: CSelf23[一時エンカウント値] = 20000 ~ 20000
■可変DB書込:DB[ 基本システム用変数 : 65 : 0 ] (18 : [エンカウント]エンカウント値 : 数値) = CSelf23[一時エンカウント値]
◇分岐: 【1】 [ CSelf1[敵グループ 1] が 1 以下 ]の場合↓
◇分岐: 【1】 [ CSelf2[敵グループ 2] が 1 以下 ]の場合↓
◇分岐: 【1】 [ CSelf3[敵グループ 3] が 1 以下 ]の場合↓
▼ 敵グループが設定されていなければ終了する
■イベント処理中断
■
◇分岐終了◇
■
◇分岐終了◇
■
◇分岐終了◇
▼ ランダムで敵グループ選択
■ループ開始
■変数操作: CSelf11[一時変数B] = 1 ~ 3
■変数操作: CSelf11[一時変数B] += 1600000 + 0
■変数操作: CSelf12[一時変数C] = V[CSelf11[一時変数B]] + 0
◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以上 ]の場合↓
■ループ中断
■
◇分岐終了◇
■
◇ループここまで◇◇
■イベントの挿入[名]: ["X◆戦闘処理"] <コモンEv 188> / CSelf12[一時変数C] / 0:逃走可能 / 0:ゲームオーバー / 2:<デフォルトBGM>
▼ Ver2.22 出現時に返り値を返していなかったバグを修正
■変数操作: CSelf90[敵出現した?] = 1 + 0
■
◇分岐終了◇
■