RPGツクール2000/自作戦闘
アクションRPGの戦闘システムを作る
■マップごとに敵HPを管理
(更新:2009/07/25)


敵の設定では、別のマップへ移動する度に、敵HPが初期状態(全回復状態)に戻り、
前に倒していた敵キャラが復活する設定になっていました。

このページでは、マップごとに異なる変数番号を用意して、
別のマップへ移動しても、敵HPが変わらないようにします。


このページは続きとなっているページです
このページは、アクションRPGの戦闘システムを作るから続いているページです。
制作内容もアクションRPGの戦闘システムを作るのページからご覧頂かないと、
分からないような作りになっています。
【アクションRPGの戦闘システムを作るのページを開く】
このページは、敵の設定のページの応用として用意されています。
敵の設定のページをご覧の上で、このページをご覧ください。
【敵の設定のページを開く】

この色のイベント設定は、
敵の設定のイベント設定と同じ設定である事を示しています。



☆敵HPの記憶方法
今回の設定では、変数[0027:敵HP変数番号開始]を使用します。

この変数0025番は、主人公の攻撃処理注釈:攻撃処理にあります、
◆変数の操作:[0023:敵HP変数番号]加算,100
の「100」の代わりに設定する変数です。

敵HPの変数番号は、イベントID変数0027番の値で決まります。

例えば、
マップ1では「変数0027番=100」、
マップ2では「変数0027番=200」とした場合、
イベントID5番の敵キャラがいる時には、
マップ1ではイベントID5番変数0027番(値が100)変数0105番のHPを記憶
マップ2ではイベントID5番変数0027番(値が200)変数0205番のHPを記憶
となります。



☆スイッチ・変数
使用するスイッチと変数の名前使用内容は以下の通りです。

スイッチ
番号 名前 使用内容 初使用ページ
0021 戦闘システム起動 定期的に並列処理するのイベントを起動します。 主人公の攻撃処理
0022 ゲーム開始時設定 ゲーム開始時に敵HPを設定したらON。 マップごとに敵HPを管理

変数
番号 名前 使用内容 初使用ページ
0001 キー入力 キー入力の処理で使います。 主人公の攻撃処理
0002 X位置 当たり判定のX座標を記憶します。 主人公の攻撃処理
0003 Y位置 当たり判定のY座標を記憶します。 主人公の攻撃処理
0004 イベントID 敵キャラの有無を調べる時に使います。 主人公の攻撃処理
0005 正面マスへ±X 当たり判定のX座標を変える時に使います。 主人公の攻撃処理
0006 正面マスへ±Y 当たり判定のY座標を変える時に使います。 主人公の攻撃処理
0007 左手マスへ±X 当たり判定のX座標を変える時に使います。 主人公の攻撃処理
0008 左手マスへ±Y 当たり判定のY座標を変える時に使います。 主人公の攻撃処理
0009 地形ID 障害物があるかどうかを調べる時に使います。 主人公の攻撃処理
 
0021 敵イベントID開始番 一番小さい敵イベントIDを設定します。 敵の設定
0022 1ページ目 敵キャラの1ページ目を呼び出す時に使います。 敵の設定
0023 敵HP変数番号 敵HPの変数番号を設定します。 敵の設定
0024 敵HP 敵HPを呼び出す時に使います。 敵の設定
0025 倒した敵移動X 倒した敵を壁のあるマスへ移動する時に使います。 敵の設定
0026 倒した敵移動Y 倒した敵を壁のあるマスへ移動する時に使います。 敵の設定
0027 敵HP変数番号開始 イベントIDと足して敵HPの変数番号にします。 マップごとに敵HPを管理
 
0102 敵HP02 イベントID2番の敵HPを記憶します。 敵の設定

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



☆ゲーム開始時のイベントを設定
今回の設定では、
作品内に登場する全ての敵キャラのHP先に設定しておく必要があります。

パーティーの初期位置があるマップに設定してください。

■マップイベント「ゲーム開始時」
▼1ページ目
イベント出現条件:なし
イベント開始条件:自動的に始まる
グラフィック:透明
◆注釈:------------------------------------------------------------
:  :マップ1の敵HP
:  :

◆変数の操作:[0102:敵HP02]代入,10
◆変数の操作:[0103:敵HP03]代入,10
◆注釈:------------------------------------------------------------
:  :マップ2の敵HP
:  :

◆変数の操作:[0122:敵HP02]代入,30
◆変数の操作:[0123:敵HP03]代入,30
◆変数の操作:[0124:敵HP04]代入,30
◆注釈:------------------------------------------------------------
◆スイッチの操作:[0022:ゲーム開始時設定]をONにする


▼2ページ目
イベント出現条件:スイッチ[0022:ゲーム開始時設定]がON
イベント開始条件:決定キーが押された時
グラフィック:透明
イベント実行内容には何も設定しません。


なお、パーティーの初期位置のマップにマップイベント「初期設定」がある場合は、
一緒に設定しても問題ありません。

■マップイベント「初期設定」パーティーの初期位置があるマップ)
イベント出現条件:なし
イベント開始条件:自動的に始まる
グラフィック:透明
◆条件分岐:スイッチ[0021:ゲーム開始時設定]がOFF
 ◆スイッチの操作:[0021:ゲーム開始時設定]をONにする
 ◆注釈:------------------------------------------------------------
 :  :マップ1の敵HP
 :  :

 ◆変数の操作:[0102:敵HP02]代入,10
 ◆変数の操作:[0103:敵HP03]代入,10
 ◆注釈:------------------------------------------------------------
 :  :マップ2の敵HP
 :  :

 ◆変数の操作:[0202:敵HP02]代入,30
 ◆変数の操作:[0203:敵HP03]代入,30
 ◆変数の操作:[0204:敵HP04]代入,30
 ◆
:分岐終了

◆変数の操作:[0021:敵イベントID開始番]代入,2
◆変数の操作:[0022:1ページ目]代入,1
◆変数の操作:[0025:倒した敵移動X]代入,0
◆変数の操作:[0026:倒した敵移動Y]代入,0
◆スイッチの操作:[0021:戦闘システム起動]をONにする
◆画面の表示:フェードイン
◆イベントの一時消去




☆初期設定と主人公の攻撃処理にイベントを追加する
初期設定のイベントに、敵HPに関する設定を追加します。

変数[0027:敵HP変数番号開始]の値は、マップごとに値を変えてください。
設定する値は、マップごとに100番ずつ変えていくと分かりやすいでしょう。
マップ 変数0027番の値 敵HPの変数番号
マップ1 100 0101〜0200番
マップ2 200 0201〜0300番
マップ3 300 0301〜0400番

各マップでマップイベントを100個も設定しない時には、
マップごとに変数0027番に設定する値を調整する設定もできます。
マップ イベントの数 変数0027番の値 敵HPの変数番号
マップ1 30個 100 0101〜0130番
マップ2 50個 130 0131〜0180番
マップ3 20個 180 0181〜0200番
あとでマップイベントを追加する可能性がある場合は、
少し余裕を持って変数0027番の値を設定してください。

なお、敵HPの設定は、ゲーム開始時のイベントで先に設定しているので、
各マップの初期設定のイベントでは、敵HPの設定は行いません。

★マップイベント「初期設定」
イベント出現条件:なし
イベント開始条件:自動的に始まる
グラフィック:透明
イベント実行内容は以下の通りです。
◆変数の操作:[0021:敵イベントID開始番]代入,2
◆変数の操作:[0022:1ページ目]代入,1
◆変数の操作:[0025:倒した敵移動X]代入,0
◆変数の操作:[0026:倒した敵移動Y]代入,0
◆変数の操作:[0027:敵HP変数番号開始]代入,100<追加
◆条件分岐:変数[0102:敵HP02]が0以下<この敵キャラを倒している時
 ◆イベントの位置を設定:敵キャラID:02,(V[0025],V[0026])<壁の位置へ移動
 ◆
:分岐終了

◆変数の操作:[0102:敵HP02]代入,10<削除
◆スイッチの操作:[0021:戦闘システム起動]をONにする
◆画面の表示:フェードイン
◆イベントの一時消去




主人公の攻撃処理のイベントに変数0027番を設定します。

■コモンイベント「主人公の攻撃処理」
イベント開始条件:定期的に並列処理する
出現条件スイッチ:[0021:戦闘システム起動]
◆キー入力の処理:[0001:キー入力](決定/オプション:ON)
◆キャラクターの動作指定:主人公,一時停止(動作を繰り返す:ON)
◆変数の操作:[0002:X座標]代入,主人公のX座標
◆変数の操作:[0003:Y座標]代入,主人公のY座標
◆変数の操作:[0005〜0008]代入,0
◆条件分岐:主人公が上を向いている
 ◆変数の操作:[0006:正面マスへ±Y]代入,-1
 ◆変数の操作:[0007:左手マスへ±X]代入,-1
 ◆戦闘アニメの表示:剣A 上向き,主人公
 ◆
:分岐終了
◆条件分岐:主人公が下を向いている
 ◆変数の操作:[0006:正面マスへ±Y]代入,1
 ◆変数の操作:[0007:左手マスへ±X]代入,1
 ◆戦闘アニメの表示:剣A 下向き,主人公
 ◆
:分岐終了
◆条件分岐:主人公が左を向いている
 ◆変数の操作:[0005:正面マスへ±X]代入,-1
 ◆変数の操作:[0008:左手マスへ±Y]代入,1
 ◆戦闘アニメの表示:剣A 左向き,主人公
 ◆
:分岐終了
◆条件分岐:主人公が右を向いている
 ◆変数の操作:[0005:正面マスへ±X]代入,1
 ◆変数の操作:[0008:左手マスへ±Y]代入,-1
 ◆戦闘アニメの表示:剣A 右向き,主人公
 ◆
:分岐終了
◆変数の操作:[0002:X座標]加算,変数[0005]の値
◆変数の操作:[0003:Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0009:地形ID]
◆条件分岐:変数[0009:地形ID]が2
 ◆指定ラベルへ飛ぶ:1番
 ◆
:分岐終了
◆指定位置のイベントID取得:(V[0002],V[0003]),[0004:イベントID]
◆条件分岐:変数[0004:イベントID]がV[0021]以上
 ◆注釈:------------------------------
 :  :攻撃処理
 :  : 

 ◆変数の操作:[0023:敵HP変数番号]代入,変数[0004]の値
 ◆変数の操作:[0023:敵HP変数番号]加算,変数[0027]の値<変更
 ◆変数の操作:[0024:敵HP]代入,変数[V[0023]]の値
 ◆条件分岐:変数[0024:敵HP]が1以上
  ◆変数の操作:[0024:敵HP]減算,1
  ◆変数の操作:[V[0023]]代入,変数[0024]の値
  ◆イベントの呼び出し:V[4][V[22]]
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0002:X座標]加算,変数[0005]の値
◆変数の操作:[0003:Y座標]加算,変数[0006]の値
◆指定位置のイベントID取得:(V[0002],V[0003]),[0004:イベントID]
◆条件分岐:変数[0004:イベントID]がV[0011]以上
 ◆注釈:------------------------------
 :  :攻撃処理
 :  : 

 ◆変数の操作:[0023:敵HP変数番号]代入,変数[0004]の値
 ◆変数の操作:[0023:敵HP変数番号]加算,変数[0027]の値<変更
 ◆変数の操作:[0024:敵HP]代入,変数[V[0023]]の値
 ◆条件分岐:変数[0024:敵HP]が1以上
  ◆変数の操作:[0024:敵HP]減算,1
  ◆変数の操作:[V[0023]]代入,変数[0024]の値
  ◆イベントの呼び出し:V[4][V[22]]
  ◆
 :分岐終了
 ◆
:分岐終了
◆ラベルの設定:1番
◆ウェイト:0.2秒
◆キャラクターの動作指定:主人公




ページタイトル 内容
備考
基礎ページ 制作を始める前に必ず見ておく基礎ページです。
必見!
制作に必要な情報を見る事ができます。
イベントIDの管理 イベントIDの管理に関するページです。
制作テクニックです。
主人公の攻撃処理 決定キーを押すと攻撃を行う処理。
必要な処理。
様々な攻撃範囲の設定 様々な攻撃範囲の設定方法を紹介。
「主人公の攻撃処理」の後に見てください。
武器とキー処理 武器装備時、または溜め攻撃時の攻撃範囲の変更を紹介。
「主人公の攻撃処理」の後に見てください。
敵の設定 基本的な敵キャラの設定方法を紹介。
必要な処理。「主人公の攻撃処理」の後に見てください。
ダメージ&命中率の計算 攻撃力や防御力を使ったダメージ&命中率の計算を設定。
「敵の設定」の後に見てください。
マップごとに敵HPを管理 別のマップへ移動しても敵HPが初期化しないように設定。
「敵の設定」の後に見てください。
敵の位置を記憶 別のマップへ移動する前に敵の位置を記憶します。
「敵の設定」の後に見てください。
戦闘アニメの表示制限 宝箱などを調べても戦闘アニメが表示されないように設定。
「敵の設定」の後に見てください。
主人公のHPを表示 主人公のHP表示を設定します。
敵の設定までが終わりましたらご覧ください。
敵のHPを表示 敵のHP表示を設定します。
敵の設定までが終わりましたらご覧ください。


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