RPGツクール2000/システム【サイトトップへ戻る】
■自作エンカウント
(更新:2021/02/11)


自作エンカウントの設定方法を紹介します。


ショートカット
■エンカウントについて
■スイッチ・変数
■「次のマスへ移動し終えるまで待機」の処理について
■基本設定
■歩くと徐々に敵の出現率が上がる
■一時的に敵が出現しないアイテムを作る
■全滅時に特定の場所へ移動させる
■補足

動作見本用のサンプルデータ
サンプルのダウンロードは↓をクリックしてください。
サンプルのイベント設定状況を見る場合は、
ツクールの作品データが入っているフォルダを開いて、
その中にサンプルの作品データを入れてください。
【ツクールのフォルダの開き方を見る】
このサンプルデータのイベント設定をコピー&貼り付けして、
制作中の作品に使用する場合は、
イベントの処理構造を理解した上自己責任でご利用ください。

動作確認用のサンプル内では正常に動いていたイベントが、
制作中の作品にコピー&貼り付けしたら正常に動かなくなった場合は、
明らかにコピー&貼り付けの作業に問題があった事になります。


  
■エンカウントについて

エンカウントとは、主にRPGの中で主人公を移動させた時に、
一定の条件で敵が出現するシステムの事を言います。

RPGツクール2000では、初めからエンカウントが用意されていますので、
通常はそのエンカウントの設定を使用すれば良いでしょう。
【敵の出現設定の説明ページを見る】

しかし以下のような条件で敵を出現させたい時には、
通常のエンカウントでは対応できないので、自作エンカウントを設定する事になります。

条件 通常のエンカウントでは対応できない理由
自作戦闘用のマップへ場所移動する 通常のエンカウントでは、
別のマップへ場所移動する事ができません。
全滅時にゲームオーバーにせず
指定した条件で復活させる
通常のエンカウントでは、
全滅したら即ゲームオーバーになります。
一度しか登場しない敵を出現させる 通常のエンカウントでは、
特定の敵の出現回数を設定する事ができません。
マップイベントの上で敵を出現させる 通常のエンカウントでは、
イベント開始条件「主人公から触れたとき」
しているマップイベントに乗っている時には、
敵を出現させる事ができません。
敵の出現時に特殊なイベントがある 例えば、敵が出現する瞬間に、
指定されたキーを押す事で先制攻撃になるなど
の特殊な設定には対応する事ができません。



なお、ボスキャラなどの目に見える形で敵キャラを配置し、
その敵に話しかけたり触れたりした時に戦闘が始まるようにしたい時には、
シンボルエンカウントで設定してください。
【シンボルエンカウントのページを開く】


▲トップへ戻る▲


  
■スイッチ・変数

スイッチと変数の番号使用内容の一覧表です。

スイッチ
番号 名前 使用内容 初使用
0001 エンカウント一時停止 アイテムを使用した時にON 敵出現停止
0002 敵を出現させる 自動的に始まるで敵を出現させる時に使用 全滅後の復活

変数
番号 名前 使用内容 初使用
0001 マップID 現在のマップIDを取得 基本
0002 記憶したマップID 変数1番の値と比較し、
別のマップから来たかどうかをチェック
基本
0003 XY 現在位置を記憶 基本
0004 記憶したXY 変数3番の値と比較し移動したかどうかをチェック 基本
0005 X座標 主人公のX座標を代入 基本
0006 Y座標 主人公のY座標を代入 基本
0007 IDチェック 主人公の位置の地形やイベントのIDを取得 基本
0008 画面位置X 画面位置をチェックし移動中かどうかをチェック 基本
0009 画面位置Y 画面位置をチェックし移動中かどうかをチェック 基本
0010 乱数 ランダム設定で使用 基本
0011 次の敵の出現歩数 歩くごとに「減算1」となり、
0になった時に敵が出現する
基本
0012 出現しない% 敵が出現しない確率を設定 出現率上がる
0013 エンカウント停止歩数 敵が出現しない歩数を設定 敵出現停止
0014 全滅:マップID 全滅後に戻るマップのIDを記憶 全滅後の復活
0015 全滅:X座標 全滅後に戻るマップのX座標を記憶 全滅後の復活
0016 全滅:Y座標 全滅後に戻るマップのY座標を記憶 全滅後の復活
0017 全滅:所持金半分 全滅時に所持金を半分にする設定で使用 全滅後の復活

【スイッチ・変数の一覧表を開く】



変数[0003][0004]は、歩くと実行するイベントの処理を使っています。
【歩くと実行するイベントを紹介しているページを見る】


▲トップへ戻る▲


  
■「次のマスへ移動し終えるまで待機」の処理について

イベント設定の中に…
◆ラベルの設定:1番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆キャラクターの動作指定:主人公,一時停止
◆ウェイト:0.0秒
◆条件分岐:変数[0008:画面位置X]が0以外
 ◆指定ラベルへ飛ぶ:1番
 ◆
:分岐終了
◆条件分岐:変数[0009:画面位置Y]が0以外
 ◆指定ラベルへ飛ぶ:1番
 ◆
:分岐終了
の設定があります。

これは主人公が移動中であるかどうかを調べるために設定されています。



別のマスへ移動したかどうかの確認は…
◆変数の操作:[0003:XY]代入,主人公のX座標
◆変数の操作:[0003:XY]乗算,1000
◆変数の操作:[0003:XY]加算,主人公のY座標
◆条件分岐:変数[0003:XY]がV[0004]と同値
 ◆イベント処理の中断
 ◆
:分岐終了
の設定で行いますが、この設定だけでは、次のマスへ移動し始めた瞬間に敵が出現してしまいます。



そのため、次のマスの中央部分まで移動したかどうかを確認する処理が必要になります。



RPGツクール2000の1マスは16×16ピクセルで作られており、
主人公が1マス移動する場合は「16ピクセル移動する」となります。



1マスは16ピクセルなので、マスの中央にいるキャラ同士の距離は、
16ピクセルの倍数になります。

自作エンカウントを処理しているマップイベントは移動していないので、
常にマスの中央にいます。

そのため、このマップイベントとの距離がちょうど16ピクセルの倍数である時には、
マスの中央にいる」と判断する事ができます。



イベント処理では、
エンカウントのマップイベントと主人公との距離(画面位置)を減算したあとに、
剰余16」を実行しています。

この「剰余16」を実行する事で16の倍数の時には、変数の値が「0」になります。

つまり「剰余16」を実行すると…
変数の値が   → マスの中央にいる(移動完了)
変数の値が0以外 → 移動中
と判断する事ができます。
【剰余に関する説明を見る】


なお、主人公の移動速度が「1/4倍速」や「1/8倍速」の場合、
次のマスへ移動する行動が少し遅れる関係で、移動前のマスの中央にいる時間があります。
そのため、移動していないのに「移動し終えた」と判断してしまう事があります。

この問題を回避するために「移動し終えたかどうか」を判断する処理と共に、
「移動を開始したかどうか」を判断する処理も設定します。


▲トップへ戻る▲


  
■基本設定

20歩移動したら敵が出てくるイベントを作成します。

自作エンカウントを設定したいマップのどこかに、
以下のマップイベントを設定してください。

※なるべくマップの左上などの分かりやすい所が良いです。

■マップイベント「自作エンカウント」

イベント出現条件:なし
イベント開始条件:定期的に並列処理する

◆注釈:------------------------------------------------------------
:  :▼別のマップから移動して来た時(初期設定)
:  : 

◆現在の場所を記憶:[0001],[0005],[0006]
◆変数の操作:[0003:XY]代入,主人公のX座標
◆変数の操作:[0003:XY]乗算,1000
◆変数の操作:[0003:XY]加算,主人公のY座標
◆条件分岐:変数[0001:マップID]がV[0002]以外<別のマップから移動してきた時
 ◆変数の操作:[0002:記憶したマップID]代入,主人公のマップID
 ◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
 ◆変数の操作:[0011:次の敵の出現歩数]代入,20<最初の敵の出現歩数を設定
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼移動チェック
:  : 

◆条件分岐:変数[0003:XY]がV[0004]と同値<移動していない時
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
◆注釈:------------------------------------------------------------
:  :▼移動した場合(敵の出現をチェック)
:  : 

◆変数の操作:[0011:次の敵の出現歩数]減算,1
◆条件分岐:変数[0011:次の敵の出現歩数]が1以上<まだ敵が出現する歩数では無い時
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼敵が出現する場合
:  : 

◆注釈:------------------------------
:  :▼次のマスにイベントがある場合(敵出現を中断)
:  : 

◆指定位置のイベントID取得:(V[0005],V[0006]),[0007:IDチェック]
◆条件分岐:変数[0007:IDチェック]が1以上<主人公がいるマスにマップイベントがある時
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次のマスへ移動し終えるまで待機
:  : 

◆メニュー画面禁止の変更:禁止する
◆ラベルの設定:1番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆条件分岐:変数[0008:画面位置X]が0
 ◆条件分岐:変数[0009:画面位置Y]が0<まだ主人公が移動を開始していない時
  ◆ウェイト:0.0秒
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆ラベルの設定:2番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆キャラクターの動作指定:主人公,一時停止<移動し過ぎないようにするために一時停止を設定
◆ウェイト:0.0秒
◆条件分岐:変数[0008:画面位置X]が0以外<主人公が移動中の時
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆条件分岐:変数[0009:画面位置Y]が0以外<主人公が移動中の時
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次の敵の出現歩数の設定&敵出現 
:  : 

◆メニュー画面禁止の変更:許可する
◆変数の操作:[0011:次の敵の出現歩数]代入,20<次の敵の出現歩数を設定
◆戦闘の処理:スライムx2


これ以降に書かれた設定例は、全て上記の■基本設定を元に改良を加えています。



★補足「敵の出現歩数をランダムにする」

敵の出現歩数を20〜30歩としたい時には…
◆変数の操作:[0011:次の敵の出現歩数]代入,20
の設定を…
◆変数の操作:[0011:次の敵の出現歩数]代入,乱数[20〜30]
と変えてください。



★補足「複数の敵グループから1つを出現させる」

3つの敵グループから1つの敵グループを出現させたい時には…
◆戦闘の処理:スライムx2
の設定を…
◆変数の操作:[0010:乱数]代入,乱数[1〜3]
◆条件分岐:変数[0010:乱数]が1
 ◆戦闘の処理:スライムx2
 ◆
:分岐終了
◆条件分岐:変数[0010:乱数]が2
 ◆戦闘の処理:スライムx3
 ◆
:分岐終了
◆条件分岐:変数[0010:乱数]が3
 ◆戦闘の処理:こうもりx2
 ◆
:分岐終了
と変えてください。

なお、出現する確率を…
スライムx2=60%
スライムx3=30%
こうもりx2=
10%
にする場合は、以下のように設定してください。

◆変数の操作:[0010:乱数]代入,乱数[1〜100]
◆条件分岐:変数[0010:乱数]が60以下(オプション:ON)<60%以下の時
 ◆戦闘の処理:スライムx2
 ◆
:それ以外の場合<61%以上の時
 ◆条件分岐:変数[0010:乱数]が90以下(オプション:ON)<61〜90%の時
  ◆戦闘の処理:スライムx3
  ◆
 :それ以外の場合<91%以上の時
  ◆戦闘の処理:こうもりx2
  ◆
 :分岐終了
 ◆
:分岐終了



★補足「座標によって出現する敵グループを変える」



赤い枠(X座標11以下)青い枠(X座標12以上)に分けて出現させる敵グループを変える場合は…
◆戦闘の処理:スライムx2
の設定を…
◆条件分岐:変数[0005:X座標]が11以下(オプション:ON)
 ◆戦闘の処理:スライムx2
 ◆
:それ以外の場合<X座標が12以上の時
 ◆戦闘の処理:こうもりx2
 ◆
:分岐終了
に変えてください。



★補足「地形によって出現する敵グループを変える」

主人公位置の地形IDを読み取り、地形IDごとに出現させる敵グループを変えます。
【地形IDの説明を見る】

◆戦闘の処理:スライムx2
の設定を…
◆指定位置の地形ID取得:(V[0005],V[0006]),[0007:IDチェック]
◆条件分岐:変数[0007:IDチェック]が1
 ◆戦闘の処理:スライムx2
 ◆
:分岐終了
◆条件分岐:変数[0007:IDチェック]が2
 ◆戦闘の処理:こうもりx2
 ◆
:分岐終了
などと変えてください。



★補足「自作エンカウントがあるマップへ移動する場合」

自作エンカウントが無いマップから、
自作エンカウントがあるマップへ移動する場合は…
◆変数の操作:[0002:記憶したマップID]代入,0
◆場所移動
などと設定してください。

このように設定しないと、自作エンカウントの初期設定が機能せず、
場所移動した瞬間に戦闘が始まってしまう可能性があります。

自作エンカウントがあるマップから自作アンカウントがあるマップへ移動する場合は、
普通に場所移動だけの設定で問題ありません。


▲トップへ戻る▲


  
■歩くと徐々に敵の出現率が上がる

歩けば歩くほど敵の出現率が高くなるイベントを設定します。

今回は10歩以上歩くと1歩歩くごとに5%ずつ敵の出現率が上がるイベントを作成します。

■マップイベント「自作エンカウント」

イベント出現条件:なし
イベント開始条件:定期的に並列処理する

◆注釈:------------------------------------------------------------
:  :▼別のマップから移動して来た時(初期設定)
:  : 

◆現在の場所を記憶:[0001],[0005],[0006]
◆変数の操作:[0003:XY]代入,主人公のX座標
◆変数の操作:[0003:XY]乗算,1000
◆変数の操作:[0003:XY]加算,主人公のY座標
◆条件分岐:変数[0001:マップID]がV[0002]以外
 ◆変数の操作:[0002:記憶したマップID]代入,主人公のマップID
 ◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
 ◆変数の操作:[0011:次の敵の出現歩数]代入,10<10歩以上で敵を出現
 ◆変数の操作:[0012:出現しない%]代入,100<100%の値(出現しない)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼移動チェック
:  : 

◆条件分岐:変数[0003:XY]がV[0004]と同値
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
◆注釈:------------------------------------------------------------
:  :▼移動した場合(敵の出現をチェック)
:  : 

◆変数の操作:[0011:次の敵の出現歩数]減算,1
◆条件分岐:変数[0011:次の敵の出現歩数]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0012:出現しない%]減算,5<出現しない率を5%減らす
◆変数の操作:[0010:乱数]代入,乱数[0〜99]
◆条件分岐:変数[0010:乱数]がV[0012]以下<敵が出現しない時
 ◆イベント処理の中断
 ◆
:分岐終了

◆注釈:------------------------------------------------------------
:  :▼敵が出現する場合
:  : 

◆注釈:------------------------------
:  :▼次のマスにイベントがある場合(敵出現を中断)
:  : 

◆指定位置のイベントID取得:(V[0005],V[0006]),[0007:IDチェック]
◆条件分岐:変数[0007:IDチェック]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次のマスへ移動し終えるまで待機
:  : 

◆メニュー画面禁止の変更:禁止する
◆ラベルの設定:1番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆条件分岐:変数[0008:画面位置X]が0
 ◆条件分岐:変数[0009:画面位置Y]が0
  ◆ウェイト:0.0秒
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆ラベルの設定:2番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆キャラクターの動作指定:主人公,一時停止
◆ウェイト:0.0秒
◆条件分岐:変数[0008:画面位置X]が0以外
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆条件分岐:変数[0009:画面位置Y]が0以外
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次の敵の出現歩数の設定&敵出現 
:  : 

◆メニュー画面禁止の変更:許可する
◆変数の操作:[0011:次の敵の出現歩数]代入,20
◆変数の操作:[0012:出現しない%]代入,100
◆戦闘の処理:スライムx2


▲トップへ戻る▲


  
■一時的に敵が出現しないアイテムを作る

アイテムを使用すると20歩の間は敵が出てこないように設定します。



データベース「アイテム」にて、使用するとスイッチがONになるアイテムを準備してください。

設定名 設定内容
種別 スイッチ
ONにするスイッチ [0001:エンカウント一時停止]
使用可能な場面 フィールドのみ

※他の設定項目は自由に設定してください。





コモンイベントにアイテムを使用した時に実行するイベントを設定します。

なお、自作エンカウントが設定されていないマップでは使用できない設定も行います。

■コモンイベント「エンカウント停止」

イベント開始条件:自動的に始まる
開始条件スイッチ:[0001:エンカウント一時停止]

◆スイッチの操作:[0001:エンカウント一時停止]をOFFにする
◆注釈:------------------------------------------------------------
:  :▼自作エンカウントがあるかどうかをチェック
:  : 

◆変数の操作:[0001::マップID]代入,主人公のマップID
◆条件分岐:変数[0001:マップID]がV[0002]以外
 ◆文章:ここでは使用できない。
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼エンカウントの停止歩数を設定
:  : 

◆文章:周囲から敵の気配が消えた。
◆変数の操作:[0013:エンカウント停止歩数]代入,20<敵が出現しない歩数を設定

■マップイベント「自作エンカウント」

イベント出現条件:なし
イベント開始条件:定期的に並列処理する

◆注釈:------------------------------------------------------------
:  :▼別のマップから移動して来た時(初期設定)
:  : 

◆現在の場所を記憶:[0001],[0005],[0006]
◆変数の操作:[0003:XY]代入,主人公のX座標
◆変数の操作:[0003:XY]乗算,1000
◆変数の操作:[0003:XY]加算,主人公のY座標
◆条件分岐:変数[0001:マップID]がV[0002]以外
 ◆変数の操作:[0002:記憶したマップID]代入,主人公のマップID
 ◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
 ◆変数の操作:[0011:次の敵の出現歩数]代入,20
 ◆変数の操作:[0013:エンカウント停止歩数]代入,0<エンカウント停止をやめる
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼移動チェック
:  : 

◆条件分岐:変数[0003:XY]がV[0004]と同値
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
◆注釈:------------------------------------------------------------
:  :▼移動した場合(敵の出現をチェック)
:  : 

◆変数の操作:[0013:エンカウント停止歩数]減算,1
◆条件分岐:変数[0013:エンカウント停止歩数]が1以上<まだ停止させておく時
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0013:エンカウント停止歩数]が0
 ◆ラベルの設定:3番
 ◆変数の操作:[0008:画面位置X]代入,主人公の画面X
 ◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
 ◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
 ◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
 ◆変数の操作:[0008〜0009]剰余,16
 ◆ウェイト:0.0秒
 ◆条件分岐:変数[0008:画面位置X]が0以外
  ◆指定ラベルへ飛ぶ:3番
  ◆
 :分岐終了
 ◆条件分岐:変数[0009:画面位置Y]が0以外
  ◆指定ラベルへ飛ぶ:3番
  ◆
 :分岐終了
 ◆文章:「魔除けの水」の効果が切れたようだ。
 ◆
:分岐終了

◆変数の操作:[0011:次の敵の出現歩数]減算,1
◆条件分岐:変数[0011:次の敵の出現歩数]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了

◆注釈:------------------------------------------------------------
:  :▼敵が出現する場合
:  : 

◆注釈:------------------------------
:  :▼次のマスにイベントがある場合(敵出現を中断)
:  : 

◆指定位置のイベントID取得:(V[0005],V[0006]),[0007:IDチェック]
◆条件分岐:変数[0007:IDチェック]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次のマスへ移動し終えるまで待機
:  : 

◆メニュー画面禁止の変更:禁止する
◆ラベルの設定:1番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆条件分岐:変数[0008:画面位置X]が0
 ◆条件分岐:変数[0009:画面位置Y]が0
  ◆ウェイト:0.0秒
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆ラベルの設定:2番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆キャラクターの動作指定:主人公,一時停止
◆ウェイト:0.0秒
◆条件分岐:変数[0008:画面位置X]が0以外
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆条件分岐:変数[0009:画面位置Y]が0以外
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次の敵の出現歩数の設定&敵出現 
:  : 

◆メニュー画面禁止の変更:許可する
◆変数の操作:[0011:次の敵の出現歩数]代入,20
◆戦闘の処理:スライムx2



★補足「別のマップへ移動しても効果が継続する」

自作エンカウントが設定されているマップ同士で場所移動する場合、
変数[0013:エンカウント停止歩数]の効力を継続させる場合は、
注釈「別のマップから移動して来た時(初期設定)」の…
◆変数の操作:[0013:エンカウント停止歩数]代入,0
の設定を削除してください。

そして自作エンカウントが設定されていないマップへ場所移動させる時には…
◆変数の操作:[0013:エンカウント停止歩数]代入,0
◆場所移動
などと設定してください。


▲トップへ戻る▲


  
■全滅時に特定の場所へ移動させる

戦闘中で全滅した場合、戦闘不能を回復させ、
特定の位置に場所移動させる時の設定方法を紹介します。

★「定期的に並列処理する」の仕様について

定期的に並列処理するを実行中に戦闘を行って、パーティーが全滅すると、
すぐに戦闘不能から回復する設定があってもゲームオーバーになる事があります。
これを防ぐために今回の設定では、2ページ目に自動的に始まるを設定し、
その2ページ目で戦闘の処理を実行します。

なお、自作エンカウント以外に何らかの定期的に並列処理するが動いている場合は、
戦闘を開始する前に一旦全ての定期的に並列処理するを止めてください。

マップイベント「自作エンカウント」に2ページ目を作成し、以下のように設定してください。

■マップイベント「自作エンカウント」

▼1ページ目

イベント出現条件:なし
イベント開始条件:定期的に並列処理する

◆注釈:------------------------------------------------------------
:  :▼別のマップから移動して来た時(初期設定)
:  : 

◆現在の場所を記憶:[0001],[0005],[0006]
◆変数の操作:[0003:XY]代入,主人公のX座標
◆変数の操作:[0003:XY]乗算,1000
◆変数の操作:[0003:XY]加算,主人公のY座標
◆条件分岐:変数[0001:マップID]がV[0002]以外
 ◆変数の操作:[0002:記憶したマップID]代入,主人公のマップID
 ◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
 ◆変数の操作:[0011:次の敵の出現歩数]代入,20
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼移動チェック
:  : 

◆条件分岐:変数[0003:XY]がV[0004]と同値
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0004:記憶したXY]代入,変数[0003]の値
◆注釈:------------------------------------------------------------
:  :▼移動した場合(敵の出現をチェック)
:  : 

◆変数の操作:[0011:次の敵の出現歩数]減算,1
◆条件分岐:変数[0011:次の敵の出現歩数]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :▼敵が出現する場合
:  : 

◆注釈:------------------------------
:  :▼次のマスにイベントがある場合(敵出現を中断)
:  : 

◆指定位置のイベントID取得:(V[0005],V[0006]),[0007:IDチェック]
◆条件分岐:変数[0007:IDチェック]が1以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------
:  :▼次のマスへ移動し終えるまで待機
:  : 

◆メニュー画面禁止の変更:禁止する
◆ラベルの設定:1番
◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆条件分岐:変数[0008:画面位置X]が0
 ◆条件分岐:変数[0009:画面位置Y]が0
  ◆ウェイト:0.0秒
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆ラベルの設定:2番

◆変数の操作:[0008:画面位置X]代入,主人公の画面X
◆変数の操作:[0009:画面位置Y]代入,主人公の画面Y
◆変数の操作:[0008:画面位置X]減算,このイベントの画面X
◆変数の操作:[0009:画面位置Y]減算,このイベントの画面Y
◆変数の操作:[0008〜0009]剰余,16
◆キャラクターの動作指定:主人公,一時停止
◆ウェイト:0.0秒
◆条件分岐:変数[0008:画面位置X]が0以外
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆条件分岐:変数[0009:画面位置Y]が0以外
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆スイッチの操作:[0002:敵を出現させる]をONにする<追加する
◆注釈:------------------------------<切り取って2ページ目に貼り付ける
:  :▼次の敵の出現歩数の設定&敵出現 
:  : 
◆メニュー画面禁止の変更:許可する
◆変数の操作:[0011:次の敵の出現歩数]代入,20
◆戦闘の処理:スライムx2





▼2ページ目

イベント出現条件:スイッチ[0002:敵を出現させる]がON
イベント開始条件:自動的に始まる

◆注釈:------------------------------
:  :▼次の敵の出現歩数の設定&敵出現 
:  : 

◆スイッチの操作:[0002:敵を出現させる]をOFFにする
◆メニュー画面禁止の変更:許可する
◆変数の操作:[0011:次の敵の出現歩数]代入,20
◆戦闘の処理:スライムx2
:勝った場合
 ◆
:負けた場合
 ◆全回復:メンバー全員を全回復する
 ◆場所移動
 ◆
:分岐終了



★補足「主人公1番だけHP1で戦闘不能を回復させる」

全員復活ではなく、主人公1番だけをHP1で復活させる場合は…
◆戦闘の処理:スライムx2
:勝った場合
 ◆
:負けた場合
 ◆状態の変更:主人公01の戦闘不能を解除する
 ◆記憶した場所へ移動:V[0014] (V[0015],V[0016])
 ◆
:分岐終了
と設定してください。



★補足「最後に訪れた教会に戻る」

最後に訪れた教会の神父の前に戻る場合は…
◆戦闘の処理:スライムx2
:勝った場合
 ◆
:負けた場合
 ◆全回復:メンバー全員を全回復する
 ◆記憶した場所へ移動:V[0014] (V[0015],V[0016])
 ◆キャラクターの動作指定:主人公,上を向く
 ◆
:分岐終了
などと設定してください。

そして教会の神父イベントの中に…
◆現在の場所を記憶:[0014],[0015],[0016]
を設定してください。



★補足「所持金を半分にする」

全滅時に所持金を半分にする場合は、以下のようにイベントを追加してください。

◆戦闘の処理:スライムx2
:勝った場合
 ◆
:負けた場合
 ◆全回復:メンバー全員を全回復する
 ◆変数の操作:[0017:全滅:所持金半分]代入,所持金
 ◆変数の操作:[0017:全滅:所持金半分]除算,2
 ◆所持金の増減:所持金をV[0017]減らす

 ◆場所移動
 ◆
:分岐終了



なお、上記の設定は、奇数の場合の余り値加算になります。

例えば、全滅前の所持金が「21」の場合、
「21÷2=10+余り1」となり、所持金は「11」になります。

もしも余りは切り捨てにする場合は、以下のように設定してください。

◆変数の操作:[0017:全滅:所持金半分]代入,所持金
◆変数の操作:[0017:全滅:所持金半分]除算,2
◆所持金の増減:所持金を999999減らす
◆所持金の増減:所持金をV[0017]増やす


▲トップへ戻る▲


  
■補足

キャラクターの動作指定で主人公を移動させたり、
同じマップ内で場所移動を実行したりしても 自作エンカウントは実行されます。

そのため、強制的に主人公を移動させる場面では、
自作エンカウントにイベント出現条件を設定するなどして、
自作エンカウントを停止させる必要があります。


▲トップへ戻る▲



◎関連ページ

●敵の出現設定
●シンボルエンカウント
●歩くと実行するイベント
●自作フロントビューを作る
●イベントコマンド:戦闘の処理

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール