WOLF RPGエディター(ウディタ)[3.323]/基本システム【サイトトップへ戻る】
■コモンイベント[037:◇ランダムエンカウント処理]の解説
(更新:2024/04/16)


コモンイベント[037:◇ランダムエンカウント処理]について解説します。


ショートカット
■コモンイベント[037:◇ランダムエンカウント処理]って何?
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

基本システムに関する説明は別ページに記載しています。
【基本システムに関する説明ページを見る】

コモンイベントの一覧と補足説明のページも用意しています。
【コモンイベントの一覧と補足説明のページを開く】


  
■コモンイベント[037:◇ランダムエンカウント処理]って何?

主人公が歩くごとに【イベントの挿入】を使って
コモンイベント[037:◇ランダムエンカウント処理]を呼び出す事で、
エンカウントの処理(移動すると敵が出現する処理)を実行する事ができます。

▼イベントコマンドの設定画面


話しかけたら戦闘が始まるなど、エンカウントではない状態で戦闘を始めたい時には、
コモンイベント[028:◆バトルの発生]を利用してください。



敵グループは3グループまで設定する事ができ、ランダムで出現する敵グループが決定します。



エンカウントはマップイベントで設定します。

▼サンプルゲームの「サンプルマップB」にあるエンカウントイベント


【エンカウントの設定方法を見る】



敵の出現処理は一歩歩くごとに、
可変DB[18:基本システム用変数]データ[65:[エンカウント]エンカウント値]に「100000÷出現歩数」の値が加算されます。
そしてデータ[65]の値が「100000以上」になった時に敵が出現します。

例えば「出現歩数=50」の場合は「100000÷50=2000」と言う事で、
一歩歩くごとに「2000」がデータ[65]に加算されます。
そして一歩歩くごとに「2000→4000→6000→8000…」と加算されていき、
「50歩目」で「100000以上」となり、敵が出現します。

一度敵が出現するとデータ[65]の値は初期化されますが、
この初期化では「乱数[-20000〜20000]」が設定されるため、以降の出現歩数にはランダム性が生まれます。
例えば「50歩」の場合は、次は「40〜60歩」の間で敵が出現します。

なお、出現歩数の設定が変わってもデータ[65]の値はそのままになります。
例えば「出現歩数=2」のマスを1歩だけ移動するとデータ[65]に「50000」が加算されますが、
次に「出現歩数=50」のマスを移動した場合は、データ[65]に保存された「50000」に「2000」が加算される形になるため、
出現歩数=50」のマスを25歩歩くと「100000以上」となり、敵が出現します。



接触範囲が重なっている場合は、イベントIDが小さい方が優先的に実行され、
イベントIDが大きい方のエンカウントは実行されません。




▲トップへ戻る▲


  
■こうゆう時にこのコモンイベントを改造する

以下のような改造を行いたい時にこのコモンイベントを改造します。

◆敵が出現する処理(確率処理の仕様)を変えたい。
◆特定の装備品を装備するなど、特定の条件下で敵の出現率を変えたい。
◆マップごと、チップIDごと、タグIDごとに戦闘中のBGMを変えたい。


▲トップへ戻る▲


  
■[入力の数/結果を返す]について

▼数値1/コモンセルフ0「出現歩数」

敵グループの出現歩数を設定。
この出現歩数は正確な歩数では無く、若干のランダム要素が加わります。
▼数値2/コモンセルフ1「敵グループ 1」
▼数値3/コモンセルフ2「敵グループ 2」
▼数値4/コモンセルフ3「敵グループ 3」


出現させる敵グループを設定します。
1100000」などの「変数呼び出し値」で設定する場合は、
呼び出す変数の値にはユーザーDB[13:敵グループ]データIDを設定してください。
▼結果を返す「敵出現した?」(セルフ変数[90:敵出現した?])

戦闘を行ったかどうかを返します。
結果 内容
0 敵が出現していない
1 敵が出現した


▲トップへ戻る▲


  
■コモンイベント呼び出しの一覧

コモンイベント[037:◇ランダムエンカウント処理]から呼び出しているコモンイベントの一覧です。

コモンイベント[037:◇ランダムエンカウント処理]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
188:X◆戦闘処理 戦闘処理のメインイベント。
このコモンから必要なコモンを呼び出して、戦闘処理全体を動かします。

【コモンイベント呼び出しの一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[037:◇ランダムエンカウント処理]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 出現歩数 出現させたい歩数を設定。
1 敵グループ 1 出現させる敵グループをユーザーDB[13:敵グループ]データIDで設定。
2 敵グループ 2 出現させる敵グループをユーザーDB[13:敵グループ]データIDで設定。
3 敵グループ 3 出現させる敵グループをユーザーDB[13:敵グループ]データIDで設定。
8 キャラ名 行動実行者の名前を設定。
10 一時変数A 100000÷出現歩数」で1歩当たりの加算値を設定。(合計100000以上で敵出現)
11 一時変数B セルフ[1〜3]のいずれかの値を呼び出す時に使用。
12 一時変数C 戦闘を行うユーザーDB[13:敵グループ]データIDを設定。
20 現在座標X 今回このコモンイベントを呼び出した時の主人公のX座標を設定。
21 現在座標Y 今回このコモンイベントを呼び出した時の主人公のY座標を設定。
23 一時エンカウント値 現在のエンカウント値を出入力する時に使用。
50 旧座標X 前にこのコモンイベントを実行した時の主人公のX座標を設定し、
セルフ[20]と比較して異なる座標である場合は「移動した」と判断します。
51 旧座標Y 前にこのコモンイベントを実行した時の主人公のY座標を設定し、
セルフ[21]と比較して異なる座標である場合は「移動した」と判断します。
90 敵出現した? [結果を返す]で使用。
敵が出現したかどうかを設定。
0 敵が出現していない
1 敵が出現した

【変数の一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■イベントコマンドの解説

イベントコマンドの解説を行います。

なお、見た目で設定内容が分かるような簡単なイベントコマンドの解説は省略しています。

処理内容
3-14 ▼ 直前の主人公座標と異なる場合だけエンカウント値を加算 座標が同じなら即終了
同じ座標で2回以上実行した場合は、ここで処理を終了させる。
この設定により、同じマスに複数のランダムエンカウントの設定があっても、
イベントIDが最も小さいマップイベントのランダムエンカウントのみが処理される。
18-23 ▼ ここからエンカウント計算
▼ 内部的には「エンカウント値」が10万を超えると出現。少しだけランダム要素有り
100000÷出現歩数」をセルフ[10]に設定し、
可変DB[18:基本システム用変数]データ[65:[エンカウント]エンカウント値]セルフ[10]を加算し、
可変DB[18:基本システム用変数]データ[65:[エンカウント]エンカウント値]セルフ[23]に取得。
24-59 ■条件分岐(変数): 【1】 CSelf23[一時エンカウント値] が 100000 以上
敵を出現させる場合は分岐。
  26-28 ▼ エンカウントすると、次の初期値を±2万の範囲で格納する
次回のエンカウント値は「-20000〜20000」のランダムで開始。
  29-42 ■条件分岐(変数): 【1】 CSelf1[敵グループ 1] が -1 以下
 ■条件分岐(変数): 【1】 CSelf2[敵グループ 2] が -1 以下
  ■条件分岐(変数): 【1】 CSelf3[敵グループ 3] が -1 以下
敵グループが何も設定されていない場合は分岐。
    35-36 ▼ 敵グループが設定されていなければ終了する
【イベント処理中断】を実行。
  43-54 ▼ ランダムで敵グループ選択
設定された敵グループの中からランダムで1つの敵グループを選択。
  55 コモンイベント[188:X◆戦闘処理]を呼び出し、
指定した敵グループとの戦闘を開始する。


▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

◆ボスキャラを作る
◆エンカウントで敵を出現

◆基本戦闘のBGMを変更
◆[戦闘改造]全ての敵キャラを強くする

YADOT-WOLFトップ  気紛れな空間へ戻る  メール