【ウディタ解説】ランダムエンカウントを抑制するコモンを作る②【改造】

↓前回

レビニアよ。今回は「敵とのエンカウントを抑制するコモンイベント作成」を解説するのよ。一定歩数だけザコ敵とのランダムエンカウントを封じるということね。 わかりやすく言えばドラク...

続きなのよ。作成したエンカウント抑制コモンに主人公のレベルによる判定を追加するわ。つまり主人公のレベルが一定以上でないとエンカ除けが効かないようにするのね。

ちなみに今回は「先頭の主人公のレベル」を判定基準に使うけど、他にもパーティ全体の平均レベルにしたり、レベル以外のパラメータを使ったりもできるから、そこは好みで改造して頂戴。

主人公レベル取得用の予備変数を作成&コモンを修正する


まずは先頭主人公のレベルを取得するための通常(予備)変数を用意しましょう。これもイベントの起動条件に使うから、前回と同じく可変DBではなく通常(予備)変数を使う必要があるわ。
→予備変数1のデータ1に「先頭キャラLv」と名前をつける


次はコモンイベントだけど、改造するのは前回作成した「┗エンカ期限管理」よ。エンカ抑制の残り歩数を管理する並列実行のコモンだったわね。


コモンセルフ変数を1つ追加で使うから名前を付けましょう。
→セルフ変数14番に「先頭キャラID」と名前を付ける

キャラIDを格納するセルフ変数を用意する理由はわかるかしら? それは、


先頭キャラのレベルを取得するためには主人公IDが必要になるからよ。まず可変DB「パーティ情報」のメンバー1に格納されている主人公IDを取得して、


「主人公ステータス」の該当する主人公IDに格納されている「レベル」の値を取得する、という手順になるの。だから主人公IDを格納する変数を用意したのね。

※多分、主人公ID用のセルフ変数を用意しなくてもレベルを取得する方法もあるんじゃないかしら。知っていたら教えて頂戴。


というわけで、コモンの先頭に「先頭キャラの主人公IDを取得」と「該当する主人公IDのレベルを取得」のイベントを入力するわ。
→DB読込:可変DB「パーティ情報-メイン設定-メンバー1」の値をセルフ変数14番に代入する
→DB読込:可変DB「主人公ステータス-(セルフ変数14番)-レベル」の値を予備変数V1-1に代入する

これで予備変数に先頭キャラのレベルが格納される。それにこのコモンは並列実行でループし続けるから、エンカ抑制が実行中にレベルが上がってもちゃんと更新されるのよ。


最後に、エンカ除け残り歩数が0になったら先頭キャラレベル格納用の予備変数も0に初期化するようにしておきましょう。
→変数操作:「V1-0が0と同じ」の分岐の中に「V1-1に0を格納」を入力する

※これは特に必要のないコマンドかもしれないけど念のためよ。初期化しておかないと何かバグを起こすかもしれないしね。

といった感じでコモンの修正はこれでOKよ。

エンカウントの起動条件を2ページ作り、エンカ抑制のレベル制限を適用させる

次はランダムエンカウントを呼び出すマップイベントの起動条件を変更しましょう。どのようにするのかというと、


マップイベントを開いたらまずは1ページ目と同じ内容の2ページ目を作成して頂戴。上部のボタンを使えばコピペで作成できるわ。
→「コピー」→「ペースト」で1ページ目と同じ内容の2ページ目を作成する


そして2ページ目の起動条件を「先頭主人公レベルが〇〇より小さい」に変更するの。今回は「10より小さい」にするわ(レベル10以上になるとエンカ抑制が可能になるということね)。
→2ページ目の起動条件を「予備変数V1-1が10より小さい」に設定する

マップイベントの仕様として、2ページ目は1ページ目の起動条件が満たされない場合に実行されるわ。だから1ページ目がエンカ抑制で実行できないなら2ページ目が起動条件に従って実行されるの。つまり

  • エンカ除け未実行
    →1ページ目が実行される(敵が出る)
  • エンカ除け実行中&先頭キャラレベルが10より小さい
    →2ページ目が実行される(敵が出る)
  • エンカ除け実行中&先頭キャラレベルが10以上
    →1ページ目も2ページ目も実行されない(敵が出ない)

ということになるわけ。わかったかしら?

エンカ抑制のレベル制限を試してみる


それじゃ今回も試してみましょう。今の先頭キャラレベルは5だから、


エンカウント抑制を実行しても、


敵が出現してしまう。エンカ抑制により1ページ目は実行されないけど、レベルが10より小さいから2ページ目は実行されてしまうということね。


そのまま戦闘し敵を倒してレベルが5アップ。


これでレベルが10以上になったから


敵は出現しない。2ページ目の起動条件(レベルが10より小さい)も満たさなくなったからね。


そのまま歩き続けてエンカ抑制が切れたら


また敵が出現するようになる。成功したかしら?

こうやって2ページ目を作って起動条件に先頭キャラのレベル判定を入力してあげれば、エンカ抑制のレベル制限を設定することができるわ。ゲームの進行状況に応じて制限レベルを好きに調整して頂戴。

※逆に「エンカウント抑制が効いているときだけ出現する敵」なんていう隠し要素を作ることもできたりするかもね。

以上、エンカウント抑制イベント(+主人公レベルによるエンカ抑制の制限)の解説でした。