質問: RPGツクール2000でマザー2風な戦闘システムを作るには どうすればいいですか?
回答: マザー2風ということはドラムロール式の事について 聞いているとみてよろしいでしょうか。 それならば基本は以下のようになります。 [A] ◆条件分岐:変数[0001:被ダメージ合計]が[0002]と同値 ◆変数の操作:変数[0001:被ダメージ合計]代入,0 ◆変数の操作:変数[0002:被ダメージ予定合計]代入,0 :それ以外の場合 ◆変数の操作:変数[0001:被ダメージ合計]加算,1 ◆変数の操作:変数[0004:主人公HP]減算,1 ◆ウェイト:0.3秒 敵の攻撃時の処理例 [B] ◆変数の操作:[0003:ダメージ量]代入,20(敵の攻撃力) ◆変数の操作:[0003:ダメージ量]減算,主人公の防御力 ◆変数の操作:[0003:ダメージ量]乗算,乱数[80~120] ◆変数の操作:[0003:ダメージ量]除算,100 ◆文章の表示:敵の攻撃!主人公は\v[3]のダメージを受けた! ◆変数の操作:[0002:被ダメージ予定合計]加算,変数[0003]の値 解説A まず条件分岐にて[0001:被ダメージ合計]が[0002:被ダメージ予定合計]と 同じか調べています。これは、実際に減ったHPと減らす予定のダメージが 同じ(すなわち完全にダメージを受けきった)かを調べています。 同じならば両方をリセット(代入0)します。 違うなら[0001:被ダメージ合計]を加算1[0004:主人公のHP]を減算1します。 この処理を "定期的に並列処理" で行うことでループさせます。 並列処理ならば他のイベント処理中にも休まず処理が出来ます。 解説B 最初の4行はダメージ計算式です 敵の攻撃力20から主人公の防御力を引き0.8~1.2倍にしています。 次に敵から受けたダメージを表示し、最後に[0002:被ダメージ予定合計]に ダメージ量を加算しています。 たとえばダメージ量が13だとします。 その場合[0002]は13となります。 条件分岐にて[0001]は0 [0002]は13なので それ以外に進みます。 [0001]を加算1し値は1に、[0004]を1減らし値は99に(HPは100だったとして) ウェイトしてからループ 「0001]は1[0002]は13 違うのでそれ以外へ [0001]加算1 値は2 [0004]は98に これが[0001]が13になるまで続きます。(HPは87) もし途中でまた敵からダメージを受けた場合 [0002]の13に新たなダメージ(たとえば)12が加算され25となります。 そうするとループは[0001]が25 (HPは75)になるまで続くという訳です。 なお、当然ながら自作戦闘になりますので イベント設定地獄は覚悟しておいてください。