RPGツクール2000/スイッチ・変数
■敏捷性順に処理する(自作戦闘用)
(更新:2010/08/27)


自作フロントビューなどの自作戦闘で使用する
敏捷性の高い者から順に行動を開始する処理を紹介します。



☆仕様の確認
敏捷性(素早さ)が多い者から先に行動を開始させます。

敏捷性の多さを調べる方法は、まず各キャラクターの敏捷性を変数に記憶して、
その記憶した変数の値を「加算1」にしてどんどん値を増やしていき、
値が1000になったキャラクターから順に戦闘行動を実行させます。

ターン制なのかリアルタイム制なのかによって設定方法が異なります。
このページでは、
☆ターン制
☆リアルタイム制(行動選択中は処理が停止する)
☆リアルタイム制(行動選択中も処理が続く)

の3種類の処理方法を紹介しています。

ターン制でもリアルタイム制でも主人公と敵キャラが同じ敏捷性である場合は、
主人公の方が先に行動します。
また主人公同士で同じ敏捷性である場合は、
データベース「主人公」主人公番号の小さい方から先に行動します。



★注意★
自作戦闘は制作者によってイベントの設定方法が異なりますので、
このページの設定が適応できるかどうかは分かりません。
あくまで設定の一例として記載しています。



☆ターン制
1回のターンで全てのキャラクターが1回ずつ行動する時の設定例です。

主人公4人と敵キャラ4体の敏捷性を加算していき、
1000になったキャラ数が8になったら「ターン終了」と判断します。

〜主人公01の行動〜」の部分は、イベントコマンド:イベントの呼び出しを使って、
各キャラクターの行動実行イベントを呼び出してください。



■行動内容の決定方法に関して
デフォルト戦闘と同様にターン開始時に4人分をまとめて行う場合は、
下記のイベントを実行する前に先に行動を決めるイベントを実行してください。

行動順が来たらその主人公のみの行動を選択し実行する場合は、
イベントの呼び出しでの呼び出し先のイベントに行動を決定するイベント及び、
行動を実行するイベントを設定してください。



■変数・ラベルの一覧
使用する変数とラベルの一覧表です。

変数
番号 名前 使用内容
0001 主人公01の敏捷性 主人公01の敏捷性を記憶。1000になったら行動開始。
0002 主人公02の敏捷性 主人公02の敏捷性を記憶。1000になったら行動開始。
0003 主人公03の敏捷性 主人公03の敏捷性を記憶。1000になったら行動開始。
0004 主人公04の敏捷性 主人公04の敏捷性を記憶。1000になったら行動開始。
0005 敵01の敏捷性 敵キャラ01の敏捷性を記憶。1000になったら行動開始。
0006 敵02の敏捷性 敵キャラ02の敏捷性を記憶。1000になったら行動開始。
0007 敵03の敏捷性 敵キャラ03の敏捷性を記憶。1000になったら行動開始。
0008 敵04の敏捷性 敵キャラ04の敏捷性を記憶。1000になったら行動開始。
0009 行動実行済み人数 敏捷性が1000になったら「加算1」とする。
 
0101 敵01のHP 敵01のHPを記憶。
0102 敵02のHP 敵02のHPを記憶。
0103 敵03のHP 敵03のHPを記憶。
0104 敵04のHP 敵04のHPを記憶。
0105 敵01の敏捷性 敵01の敏捷性を記憶。
0106 敵02の敏捷性 敵02の敏捷性を記憶。
0107 敵03の敏捷性 敵03の敏捷性を記憶。
0108 敵04の敏捷性 敵04の敏捷性を記憶。

敵キャラが逃走した場合は、逃走した敵キャラのHPは0にしてください。


ラベル
番号 使用内容
01 ラベルに戻る度に「加算1」が実行される。
02 全ての敵を倒したかどうかを確認するためにラベルへ移動する。



■戦闘開始時の設定
戦闘開始時に敵キャラのHPと敏捷性を設定してください。

■戦闘開始時のイベント
◆変数の操作:[0101:敵01のHP]代入,50
◆変数の操作:[0102:敵02のHP]代入,45
◆変数の操作:[0103:敵03のHP]代入,48
◆変数の操作:[0104:敵04のHP]代入,60
◆変数の操作:[0101:敵01の敏捷性]代入,30
◆変数の操作:[0102:敵02の敏捷性]代入,35
◆変数の操作:[0103:敵03の敏捷性]代入,36
◆変数の操作:[0104:敵04の敏捷性]代入,32



敵キャラが2体しか居ない場合は、
登場しない敵キャラのHPは「0」、敏捷性は「999」にしてください。
■戦闘開始時のイベント(敵キャラ2体の場合)
◆変数の操作:[0101:敵01のHP]代入,50
◆変数の操作:[0102:敵02のHP]代入,45
◆変数の操作:[0103:敵03のHP]代入,0
◆変数の操作:[0104:敵04のHP]代入,0
◆変数の操作:[0101:敵01の敏捷性]代入,30
◆変数の操作:[0102:敵02の敏捷性]代入,35
◆変数の操作:[0103:敵03の敏捷性]代入,999
◆変数の操作:[0104:敵04の敏捷性]代入,999




■行動順処理イベント
行動順を決めるイベントを設定します。

◆変数の操作:[0001:主人公01の敏捷性]代入,主人公01の敏捷性
◆変数の操作:[0002:主人公02の敏捷性]代入,主人公02の敏捷性
◆変数の操作:[0003:主人公03の敏捷性]代入,主人公03の敏捷性
◆変数の操作:[0004:主人公04の敏捷性]代入,主人公04の敏捷性
◆変数の操作:[0005:敵01の敏捷性]代入,変数[0105]の値<敵01の敏捷性を代入
◆変数の操作:[0006:敵02の敏捷性]代入,変数[0106]の値<敵02の敏捷性を代入
◆変数の操作:[0007:敵03の敏捷性]代入,変数[0107]の値<敵03の敏捷性を代入
◆変数の操作:[0008:敵04の敏捷性]代入,変数[0108]の値<敵04の敏捷性を代入
◆変数の操作:[0009:行動実行済み人数]代入,0<初期化
◆ラベルの設定:1番
◆変数の操作:[0001〜0008]加算,1
◆注釈:------------------------------------------------------------
:  :戦闘終了&ターン終了の確認
:  :

◆ラベルの設定:2番
◆条件分岐:[0011:敵01のHP]が0以下
 ◆条件分岐:[0012:敵02のHP]が0以下
  ◆条件分岐:[0013:敵03のHP]が0以下
   ◆条件分岐:[0014:敵04のHP]が0以下
    ◆〜敵が全滅した時(戦闘勝利時)の処理〜
    ◆イベント処理の中断
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:[0009:行動実行済み人数]がV[0010]より小さい
 ◆イベント処理の中断
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :変数の値が1000になったら行動実行
:  :

◆条件分岐:変数[0001:主人公01の敏捷性]が1000
 ◆変数の操作:[0001:主人公01の敏捷性]代入,9999<二重実行を防止するために設定
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:主人公01が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合<戦闘不能ではない時
  ◆イベントの呼び出し:〜主人公01の行動実行〜
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0002:主人公02の敏捷性]が1000
 ◆変数の操作:[0002:主人公02の敏捷性]代入,9999
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:主人公02が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆イベントの呼び出し:〜主人公02の行動実行〜
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:主人公03の敏捷性]が1000
 ◆変数の操作:[0003:主人公03の敏捷性]代入,9999
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:主人公03が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆イベントの呼び出し:〜主人公03の行動実行〜
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0004:主人公04の敏捷性]が1000
 ◆変数の操作:[0004:主人公04の敏捷性]代入,9999
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:主人公04が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆イベントの呼び出し:〜主人公04の行動実行〜
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0005:敵01の敏捷性]が1000
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:変数[0011:敵01のHP]が1以上
  ◆イベントの呼び出し:〜敵01の行動実行〜
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0006:敵02の敏捷性]が1000
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:変数[0012:敵02のHP]が1以上
  ◆イベントの呼び出し:〜敵02の行動実行〜
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0007:敵03の敏捷性]が1000
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:変数[0013:敵03のHP]が1以上
  ◆イベントの呼び出し:〜敵03の行動実行〜
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0008:敵04の敏捷性]が1000
 ◆変数の操作:[0009:行動実行済み人数]加算,1
 ◆条件分岐:変数[0014:敵04のHP]が1以上
  ◆イベントの呼び出し:〜敵04の行動実行〜
 :分岐終了
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:1番




☆リアルタイム制(行動選択中は処理が停止する)
各キャラクターの敏捷性の値を加算していき、
一定の数値(1000以上)に達したら、行動を開始する処理方法です。

☆ターン制とは異なり、敏捷性が2倍違うキャラクターがいる場合は、
敏捷性1倍のキャラクターが1回行動する間に、
敏捷性2倍のキャラクターが2回行動するようになります。

誰かが行動を行っている間(行動選択中)は、他のキャラクターの行動は停止します。

〜主人公01の行動〜」の部分は、イベントコマンド:イベントの呼び出しを使って、
各キャラクターの行動実行イベントを呼び出してください。



■変数・ラベルの一覧
使用する変数とラベルの一覧表です。

変数
番号 名前 使用内容
0001 主人公01の敏捷性 主人公01の敏捷性を記憶。1000になったら行動開始。
0002 主人公02の敏捷性 主人公02の敏捷性を記憶。1000になったら行動開始。
0003 主人公03の敏捷性 主人公03の敏捷性を記憶。1000になったら行動開始。
0004 主人公04の敏捷性 主人公04の敏捷性を記憶。1000になったら行動開始。
0005 敵01の敏捷性 敵キャラ01の敏捷性を記憶。1000になったら行動開始。
0006 敵02の敏捷性 敵キャラ02の敏捷性を記憶。1000になったら行動開始。
0007 敵03の敏捷性 敵キャラ03の敏捷性を記憶。1000になったら行動開始。
0008 敵04の敏捷性 敵キャラ04の敏捷性を記憶。1000になったら行動開始。
 
0101 敵01のHP 敵01のHPを記憶。
0102 敵02のHP 敵02のHPを記憶。
0103 敵03のHP 敵03のHPを記憶。
0104 敵04のHP 敵04のHPを記憶。
0105 敵01の敏捷性 敵01の敏捷性を記憶。
0106 敵02の敏捷性 敵02の敏捷性を記憶。
0107 敵03の敏捷性 敵03の敏捷性を記憶。
0108 敵04の敏捷性 敵04の敏捷性を記憶。

敵キャラが逃走した場合は、逃走した敵キャラのHPは0にしてください。


ラベル
番号 使用内容
01 ラベルに戻る度に敏捷性の加算が実行される。
02 全ての敵を倒したかどうかを確認するためにラベルへ移動する。



■戦闘開始時の設定
戦闘開始時に変数の値の初期設定と、
敵キャラのHPと敏捷性の設定を行ってください。

■戦闘開始時のイベント
◆変数の操作:[0001〜0008]代入,0
◆変数の操作:[0101:敵01のHP]代入,50
◆変数の操作:[0102:敵02のHP]代入,45
◆変数の操作:[0103:敵03のHP]代入,48
◆変数の操作:[0104:敵04のHP]代入,60
◆変数の操作:[0101:敵01の敏捷性]代入,30
◆変数の操作:[0102:敵02の敏捷性]代入,35
◆変数の操作:[0103:敵03の敏捷性]代入,36
◆変数の操作:[0104:敵04の敏捷性]代入,32



敵キャラが2体しか居ない場合は、
登場しない敵キャラのHPと敏捷性は「0」にしてください。
■戦闘開始時のイベント(敵キャラ2体)
◆変数の操作:[0001〜0008]代入,0
◆変数の操作:[0101:敵01のHP]代入,50
◆変数の操作:[0102:敵02のHP]代入,45
◆変数の操作:[0103:敵03のHP]代入,0
◆変数の操作:[0104:敵04のHP]代入,0
◆変数の操作:[0101:敵01の敏捷性]代入,30
◆変数の操作:[0102:敵02の敏捷性]代入,35
◆変数の操作:[0103:敵03の敏捷性]代入,0
◆変数の操作:[0104:敵04の敏捷性]代入,0




■行動順処理イベント
行動順を決めるイベントを設定します。

◆ラベルの設定:1番
◆変数の操作:[0001:主人公01の敏捷性]加算,主人公01の敏捷性
◆変数の操作:[0002:主人公02の敏捷性]加算,主人公02の敏捷性
◆変数の操作:[0003:主人公03の敏捷性]加算,主人公03の敏捷性
◆変数の操作:[0004:主人公04の敏捷性]加算,主人公04の敏捷性
◆変数の操作:[0005:敵01の敏捷性]加算,変数[0105]の値<敵01の敏捷性を代入
◆変数の操作:[0006:敵02の敏捷性]加算,変数[0106]の値<敵02の敏捷性を代入
◆変数の操作:[0007:敵03の敏捷性]加算,変数[0107]の値<敵03の敏捷性を代入
◆変数の操作:[0008:敵04の敏捷性]加算,変数[0108]の値<敵04の敏捷性を代入
◆注釈:------------------------------------------------------------
:  :戦闘終了の確認
:  :

◆ラベルの設定:2番
◆条件分岐:[0011:敵01のHP]が0以下
 ◆条件分岐:[0012:敵02のHP]が0以下
  ◆条件分岐:[0013:敵03のHP]が0以下
   ◆条件分岐:[0014:敵04のHP]が0以下
    ◆〜敵が全滅した時(戦闘勝利時)の処理〜
    ◆イベント処理の中断
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :変数の値が1000以上になったら行動実行
:  :

◆条件分岐:変数[0001:主人公01の敏捷性]が1000以上
 ◆条件分岐:主人公01が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合<戦闘不能ではない時
  ◆イベントの呼び出し:〜主人公01の行動実行〜
  ◆変数の操作:[0001:主人公01の敏捷性]代入,0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0002:主人公02の敏捷性]が1000以上
 ◆条件分岐:主人公02が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆イベントの呼び出し:〜主人公02の行動実行〜
  ◆変数の操作:[0002:主人公02の敏捷性]代入,0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:主人公03の敏捷性]が1000以上
 ◆条件分岐:主人公03が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆イベントの呼び出し:〜主人公03の行動実行〜
  ◆変数の操作:[0003:主人公03の敏捷性]代入,0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0004:主人公04の敏捷性]が1000以上
 ◆条件分岐:主人公04が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆イベントの呼び出し:〜主人公04の行動実行〜
  ◆変数の操作:[0004:主人公04の敏捷性]代入,0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0005:敵01の敏捷性]が1000以上
 ◆条件分岐:変数[0011:敵01のHP]が1以上
  ◆イベントの呼び出し:〜敵01の行動実行〜
  ◆変数の操作:[0005:敵01の敏捷性]代入,0
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0006:敵02の敏捷性]が1000以上
 ◆条件分岐:変数[0012:敵02のHP]が1以上
  ◆イベントの呼び出し:〜敵02の行動実行〜
  ◆変数の操作:[0006:敵02の敏捷性]代入,0
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0007:敵03の敏捷性]が1000以上
 ◆条件分岐:変数[0013:敵03のHP]が1以上
  ◆イベントの呼び出し:〜敵03の行動実行〜
  ◆変数の操作:[0007:敵03の敏捷性]代入,0
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0008:敵04の敏捷性]が1000以上
 ◆条件分岐:変数[0014:敵04のHP]が1以上
  ◆イベントの呼び出し:〜敵04の行動実行〜
  ◆変数の操作:[0008:敵04の敏捷性]代入,0
  ◆
 :分岐終了
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:1番




☆リアルタイム制(行動選択中も処理が続く)
各キャラクターの敏捷性の値を加算していき、
一定の数値(1000以上)に達したら、行動を開始する処理方法です。

☆ターン制とは異なり、敏捷性が2倍違うキャラクターがいる場合は、
敏捷性1倍のキャラクターが1回行動する間に、
敏捷性2倍のキャラクターが2回行動するようになります。

また上記の☆リアルタイム制(行動選択中は処理が停止する)とは異なり、
主人公の行動選択中(攻撃や防御を選択している間)でも敵キャラが行動します。


主人公が行動可能になった場合、
主人公の番号(1〜4)が変数0021〜0024番に記憶されます。
この変数0021〜0024番は「21→22→23→24→21…」とループしており、
この情報を読み取って主人公の行動を実行します。

敵キャラの方も主人公と同様に、
変数0031〜0034番に敵の番号(5〜8)を記憶して、
この記憶された順番で行動を実行します。

イベントとしては、
・行動順を決める処理。
・主人公の行動選択と実行をする処理。
・敵キャラの行動を実行する処理。

の3つに分けて処理します。


なお、この処理の場合、文章の表示選択肢の表示は使えませんので、
行動選択や文章の表示には、ピクチャーなどを用いる必要があります。
自作戦闘システムの制作はかなり難しくなりますので、
あまり自作戦闘の制作に慣れていない方にはお勧めできません。



■スイッチ・変数・ラベルの一覧
使用するスイッチ・変数・ラベルの一覧表です。

スイッチ
番号 名前 使用内容
0001 主人公01が行動可能 主人公01が行動可能になったらON。
0002 主人公02が行動可能 主人公02が行動可能になったらON。
0003 主人公03が行動可能 主人公03が行動可能になったらON。
0004 主人公04が行動可能 主人公04が行動可能になったらON。
0005 敵01が行動可能 敵01が行動可能になったらON。
0006 敵02が行動可能 敵02が行動可能になったらON。
0007 敵03が行動可能 敵03が行動可能になったらON。
0008 敵04が行動可能 敵04が行動可能になったらON。
 
0011 行動順処理起動 行動順を決定するイベント処理を起動。


変数
番号 名前 使用内容
0001 主人公01の敏捷性 主人公01の敏捷性を記憶。1000になったら行動開始。
0002 主人公02の敏捷性 主人公02の敏捷性を記憶。1000になったら行動開始。
0003 主人公03の敏捷性 主人公03の敏捷性を記憶。1000になったら行動開始。
0004 主人公04の敏捷性 主人公04の敏捷性を記憶。1000になったら行動開始。
0005 敵01の敏捷性 敵キャラ01の敏捷性を記憶。1000になったら行動開始。
0006 敵02の敏捷性 敵キャラ02の敏捷性を記憶。1000になったら行動開始。
0007 敵03の敏捷性 敵キャラ03の敏捷性を記憶。1000になったら行動開始。
0008 敵04の敏捷性 敵キャラ04の敏捷性を記憶。1000になったら行動開始。
0009 行動実行済み人数 敏捷性が1000になったら「加算1」とする。
0010 戦闘参加人数 戦闘不能を含め、主人公と敵キャラの双方の総数を設定。
 
0021 主:行動順01 主人公の行動実行順を記憶。
0022 主:行動順02 主人公の行動実行順を記憶。
0023 主:行動順03 主人公の行動実行順を記憶。
0024 主:行動順04 主人公の行動実行順を記憶。
0025 主:行動順記憶変数 変数0021〜0024番に値を代入する時に使用。
0026 主:行動順呼出変数 変数0021〜0024番に値を呼び出す時に使用。
0027 主:行動順呼出の値 変数0026番で呼び出された主人公番号を記憶。
0028 主:行動可能人数 行動可能になった人数を記憶。
 
0031 敵:行動順01 敵の行動実行順を記憶。
0032 敵:行動順02 敵の行動実行順を記憶。
0033 敵:行動順03 敵の行動実行順を記憶。
0034 敵:行動順04 敵の行動実行順を記憶。
0035 敵:行動順記憶変数 変数0031〜0034番に値を代入する時に使用。
0036 敵:行動順呼出変数 変数0031〜0034番に値を呼び出す時に使用。
0037 敵:行動順呼出の値 変数0036番で呼び出された敵番号を記憶。
0038 敵:行動可能人数 行動可能になった人数を記憶。
 
0101 敵01のHP 敵01のHPを記憶。
0102 敵02のHP 敵02のHPを記憶。
0103 敵03のHP 敵03のHPを記憶。
0104 敵04のHP 敵04のHPを記憶。
0105 敵01の敏捷性 敵01の敏捷性を記憶。
0106 敵02の敏捷性 敵02の敏捷性を記憶。
0107 敵03の敏捷性 敵03の敏捷性を記憶。
0108 敵04の敏捷性 敵04の敏捷性を記憶。

敵キャラが逃走した場合は、逃走した敵キャラのHPは0にしてください。


ラベル
番号 使用内容
01 ラベルに戻る度に敏捷性の加算が実行される。
02 主人公で行動を実行する者がいない時のループ処理用。
03 敵キャラで行動を実行する者がいない時のループ処理用。



戦闘開始時に変数の値の初期設定と、
敵キャラのHPと敏捷性の設定を行ってください。

■戦闘開始時のイベント
◆スイッチの操作:[0001〜0008]をOFFにする
◆変数の操作:[0001〜0008]代入,0
◆変数の操作:[0025:主:行動順記憶変数]代入,21
◆変数の操作:[0026:主:行動順呼出変数]代入,21
◆変数の操作:[0028:主:行動可能人数]代入,0
◆変数の操作:[0035:敵:行動順記憶変数]代入,31
◆変数の操作:[0036:敵:行動順呼出変数]代入,31
◆変数の操作:[0038:敵:行動可能人数]代入,0
◆変数の操作:[0101:敵01のHP]代入,50
◆変数の操作:[0102:敵02のHP]代入,45
◆変数の操作:[0103:敵03のHP]代入,48
◆変数の操作:[0104:敵04のHP]代入,60
◆変数の操作:[0101:敵01の敏捷性]代入,30
◆変数の操作:[0102:敵02の敏捷性]代入,35
◆変数の操作:[0103:敵03の敏捷性]代入,36
◆変数の操作:[0104:敵04の敏捷性]代入,32
◆スイッチの操作:[0011:行動順処理起動]をONにする



敵キャラが2体しか居ない場合は、
登場しない敵キャラのHPと敏捷性は「0」にしてください。
■戦闘開始時のイベント(敵キャラ2体)
◆スイッチの操作:[0001〜0008]をOFFにする
◆変数の操作:[0001〜0008]代入,0
◆変数の操作:[0025:主:行動順記憶変数]代入,21
◆変数の操作:[0026:主:行動順呼出変数]代入,21
◆変数の操作:[0028:主:行動可能人数]代入,0
◆変数の操作:[0035:敵:行動順記憶変数]代入,31
◆変数の操作:[0036:敵:行動順呼出変数]代入,31
◆変数の操作:[0038:敵:行動可能人数]代入,0
◆変数の操作:[0101:敵01のHP]代入,50
◆変数の操作:[0102:敵02のHP]代入,45
◆変数の操作:[0103:敵03のHP]代入,0
◆変数の操作:[0104:敵04のHP]代入,0
◆変数の操作:[0101:敵01の敏捷性]代入,30
◆変数の操作:[0102:敵02の敏捷性]代入,35
◆変数の操作:[0103:敵03の敏捷性]代入,0
◆変数の操作:[0104:敵04の敏捷性]代入,0
◆スイッチの操作:[0011:行動順処理起動]をONにする




■行動順処理イベント
行動順を決めるイベントを設定します。

■マップイベント
イベント出現条件:スイッチ[0011:行動順処理起動]がON
イベント開始条件:定期的に並列処理する
◆変数の操作:[0001:主人公01の敏捷性]加算,主人公01の敏捷性
◆変数の操作:[0002:主人公02の敏捷性]加算,主人公02の敏捷性
◆変数の操作:[0003:主人公03の敏捷性]加算,主人公03の敏捷性
◆変数の操作:[0004:主人公04の敏捷性]加算,主人公04の敏捷性
◆変数の操作:[0005:敵01の敏捷性]加算,変数[0105]の値<敵01の敏捷性を代入
◆変数の操作:[0006:敵02の敏捷性]加算,変数[0106]の値<敵02の敏捷性を代入
◆変数の操作:[0007:敵03の敏捷性]加算,変数[0107]の値<敵03の敏捷性を代入
◆変数の操作:[0008:敵04の敏捷性]加算,変数[0108]の値<敵04の敏捷性を代入
◆条件分岐:変数[0001:主人公01の敏捷性]が1000以上
 ◆条件分岐:主人公01が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合<戦闘不能ではない時
  ◆条件分岐:スイッチ[0001:主人公01が行動可能]をOFFにする
   ◆スイッチの操作:[0001:主人公01が行動可能]をONにする
   ◆変数の操作:[0028:主:行動可能人数]加算,1
   ◆変数の操作:[V[0025]]代入,1<主人公番号を設定
   ◆変数の操作:[0025:主:行動順記憶変数]加算,1
   ◆条件分岐:変数[0025:主:行動順記憶変数]が25以上<記憶範囲を超えた時
    ◆変数の操作:[0025:主:行動順記憶変数]代入,21<21に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0002:主人公02の敏捷性]が1000以上
 ◆条件分岐:主人公02が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆条件分岐:スイッチ[0002:主人公02が行動可能]をOFFにする
   ◆スイッチの操作:[0002:主人公02が行動可能]をONにする
   ◆変数の操作:[0028:主:行動可能人数]加算,1
   ◆変数の操作:[V[0025]]代入,2<主人公番号を設定
   ◆変数の操作:[0025:主:行動順記憶変数]加算,1
   ◆条件分岐:変数[0025:主:行動順記憶変数]が25以上<記憶範囲を超えた時
    ◆変数の操作:[0025:主:行動順記憶変数]代入,21<21に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:主人公03の敏捷性]が1000以上
 ◆条件分岐:主人公03が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆条件分岐:スイッチ[0003:主人公03が行動可能]をOFFにする
   ◆スイッチの操作:[0003:主人公03が行動可能]をONにする
   ◆変数の操作:[0028:主:行動可能人数]加算,1
   ◆変数の操作:[V[0025]]代入,3<主人公番号を設定
   ◆変数の操作:[0025:主:行動順記憶変数]加算,1
   ◆条件分岐:変数[0025:主:行動順記憶変数]が25以上<記憶範囲を超えた時
    ◆変数の操作:[0025:主:行動順記憶変数]代入,21<21に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0004:主人公04の敏捷性]が1000以上
 ◆条件分岐:主人公04が戦闘不能の状態になっている(オプション:ON)
  ◆
 :それ以外の場合
  ◆条件分岐:スイッチ[0004:主人公04が行動可能]をOFFにする
   ◆スイッチの操作:[0004:主人公04が行動可能]をONにする
   ◆変数の操作:[0028:主:行動可能人数]加算,1
   ◆変数の操作:[V[0025]]代入,4<主人公番号を設定
   ◆変数の操作:[0025:主:行動順記憶変数]加算,1
   ◆条件分岐:変数[0025:主:行動順記憶変数]が25以上<記憶範囲を超えた時
    ◆変数の操作:[0025:主:行動順記憶変数]代入,21<21に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0005:敵01の敏捷性]が1000以上
 ◆条件分岐:変数[0101:敵01のHP]が1以上
  ◆条件分岐:スイッチ[0005:敵01が行動可能]をOFFにする
   ◆スイッチの操作:[0005:敵01が行動可能]をONにする
   ◆変数の操作:[0038:敵:行動可能人数]加算,1
   ◆変数の操作:[V[0035]]代入,5<敵番号を設定
   ◆変数の操作:[0035:敵:行動順記憶変数]加算,1
   ◆条件分岐:変数[0035:敵:行動順記憶変数]が35以上<記憶範囲を超えた時
    ◆変数の操作:[0035:敵:行動順記憶変数]代入,31<31に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0006:敵02の敏捷性]が1000以上
 ◆条件分岐:変数[0102:敵02のHP]が1以上
  ◆条件分岐:スイッチ[0006:敵02が行動可能]をOFFにする
   ◆スイッチの操作:[0006:敵02が行動可能]をONにする
   ◆変数の操作:[0038:敵:行動可能人数]加算,1
   ◆変数の操作:[V[0035]]代入,6<敵番号を設定
   ◆変数の操作:[0035:敵:行動順記憶変数]加算,1
   ◆条件分岐:変数[0035:敵:行動順記憶変数]が35以上<記憶範囲を超えた時
    ◆変数の操作:[0035:敵:行動順記憶変数]代入,31<31に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0007:敵03の敏捷性]が1000以上
 ◆条件分岐:変数[0103:敵03のHP]が1以上
  ◆条件分岐:スイッチ[0007:敵03が行動可能]をOFFにする
   ◆スイッチの操作:[0007:敵03が行動可能]をONにする
   ◆変数の操作:[0038:敵:行動可能人数]加算,1
   ◆変数の操作:[V[0035]]代入,7<敵番号を設定
   ◆変数の操作:[0035:敵:行動順記憶変数]加算,1
   ◆条件分岐:変数[0035:敵:行動順記憶変数]が35以上<記憶範囲を超えた時
    ◆変数の操作:[0035:敵:行動順記憶変数]代入,31<31に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0008:敵04の敏捷性]が1000以上
 ◆条件分岐:変数[0104:敵04のHP]が1以上
  ◆条件分岐:スイッチ[0008:敵04が行動可能]をOFFにする
   ◆スイッチの操作:[0008:敵04が行動可能]をONにする
   ◆変数の操作:[0038:敵:行動可能人数]加算,1
   ◆変数の操作:[V[0035]]代入,8<敵番号を設定
   ◆変数の操作:[0035:敵:行動順記憶変数]加算,1
   ◆条件分岐:変数[0035:敵:行動順記憶変数]が35以上<記憶範囲を超えた時
    ◆変数の操作:[0035:敵:行動順記憶変数]代入,31<31に戻す
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了




■主人公の行動選択&実行イベント
主人公の行動を実行するイベントの設定例です。

■マップイベント
イベント出現条件:スイッチ[0011:行動順処理起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:2番
◆条件分岐:変数[0028:主:行動可能人数]が0
 ◆ウェイト:0.0秒
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆変数の操作:[0027:主:行動順呼出の値]代入,変数[V[0026]]の値
◆変数の操作:[0026:主:行動順呼出変数]加算,1
◆条件分岐:変数[0026:主:行動順呼出変数]が25以上
 ◆変数の操作:[0026:主:行動順呼出変数]代入,21
 ◆
:分岐終了
◆条件分岐;変数[0027:主:行動順呼出の値]が1
 ◆イベントの呼び出し:〜主人公01の行動選択&実行〜
 ◆スイッチの操作:[0001:主人公01が行動可能]をOFFにする
 ◆変数の操作:[0001:主人公01の敏捷性]代入,0
 ◆
:分岐終了
◆条件分岐;変数[0027:主:行動順呼出の値]が2
 ◆イベントの呼び出し:〜主人公02の行動選択&実行〜
 ◆スイッチの操作:[0002:主人公02が行動可能]をOFFにする
 ◆変数の操作:[0002:主人公02の敏捷性]代入,0
 ◆
:分岐終了
◆条件分岐;変数[0027:主:行動順呼出の値]が3
 ◆イベントの呼び出し:〜主人公03の行動選択&実行〜
 ◆スイッチの操作:[0003:主人公03が行動可能]をOFFにする
 ◆変数の操作:[0003:主人公03の敏捷性]代入,0
 ◆
:分岐終了
◆条件分岐;変数[0027:主:行動順呼出の値]が4
 ◆イベントの呼び出し:〜主人公04の行動選択&実行〜
 ◆スイッチの操作:[0004:主人公04が行動可能]をOFFにする
 ◆変数の操作:[0004:主人公04の敏捷性]代入,0
 ◆
:分岐終了
◆変数の操作:[0028:主:行動可能人数]減算,1
◆指定ラベルへ飛ぶ:2番




■敵キャラの行動実行イベント
敵キャラの行動を実行するイベントの設定例です。
基本的に上記の主人公の行動選択&実行イベントと同じです。

■マップイベント
イベント出現条件:スイッチ[0011:行動順処理起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:3番
◆条件分岐:変数[0038:敵:行動可能人数]が0
 ◆ウェイト:0.0秒
 ◆指定ラベルへ飛ぶ:3番
 ◆
:分岐終了
◆変数の操作:[0037:敵:行動順呼出の値]代入,変数[V[0036]]の値
◆変数の操作:[0036:敵:行動順呼出変数]加算,1
◆条件分岐:変数[0036:敵:行動順呼出変数]が35以上
 ◆変数の操作:[0036:敵:行動順呼出変数]代入,31
 ◆
:分岐終了
◆条件分岐;変数[0037:敵:行動順呼出の値]が5
 ◆イベントの呼び出し:〜敵01の行動実行〜
 ◆スイッチの操作:[0005:敵01が行動可能]をOFFにする
 ◆変数の操作:[0005:敵01の敏捷性]代入,0
 ◆
:分岐終了
◆条件分岐;変数[0037:敵:行動順呼出の値]が6
 ◆イベントの呼び出し:〜敵02の行動実行〜
 ◆スイッチの操作:[0006:敵02が行動可能]をOFFにする
 ◆変数の操作:[0006:敵02の敏捷性]代入,0
 ◆
:分岐終了
◆条件分岐;変数[0037:敵:行動順呼出の値]が7
 ◆イベントの呼び出し:〜敵03の行動実行〜
 ◆スイッチの操作:[0007:敵03が行動可能]をOFFにする
 ◆変数の操作:[0007:敵03の敏捷性]代入,0
 ◆
:分岐終了
◆条件分岐;変数[0037:敵:行動順呼出の値]が8
 ◆イベントの呼び出し:〜敵04の行動実行〜
 ◆スイッチの操作:[0008:敵04が行動可能]をOFFにする
 ◆変数の操作:[0008:敵04の敏捷性]代入,0
 ◆
:分岐終了
◆変数の操作:[0038:敵:行動可能人数]減算,1
◆指定ラベルへ飛ぶ:3番




◎関連ページ
 ●イベントコマンド:変数の操作


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