WOLF RPGエディター(ウディタ)[3.333]/イベントコマンド【サイトトップへ戻る】 ■イベント制御 (更新:2024/05/05) イベントコマンド【イベント制御】について解説します。 【イベント制御】の使用例は別ページに記載しています。 ■イベント制御とは? 【イベント制御】は、ループ処理、ウェイト、キャラクターの動作指定、 タイトル画面へ戻るなど、様々な設定が用意されています。 ループやラベルの設定では、ウェイトを設定せずに終わりの無いループ処理を行うと、 「1フレームあたりの処理が500万回を越えました!」のエラーが発生します。 例えば…
エラーを発生させないためには…
【回数付きループ】のループ回数や【ウェイト】の時間の設定など、数値に関する設定を行う場合は、 「変数呼び出し値」を使用する事で変数の値で設定する事ができます。 ▼通常変数[2]で回数を設定する場合
▲トップへ戻る▲ ■システム変数の一覧 【イベント制御】に関連する「システム変数」の一覧です。 変数名をクリックすると詳細情報を見る事ができます。 【システム変数の説明ページを見る】
▲トップへ戻る▲ ■設定画面の説明:ループ処理関連 ループは同じ処理を何度も実行させたい時に使います。 例えば「何も押していない状態で左クリックか決定キーを押したら先へ進む」を設定する時に、 左クリックか決定キーが押されるまで処理を待機させる時にループ処理を使います。
[ループ(繰り返し)]の場合は、何らかの終了させる設定がないと半永久的にループし続けます。 [回数付きループ]の場合は、指定した回数だけループします。 [ループ中断]は現在実行中のループから抜け出す時に使います。
以下のように、ループが二重に設定されている場合は、 2つのループ内でそれぞれ「ループ中断」を実行しないと、半永久的にループが続きます。 ▼この設定では1つ目のループから抜け出す事ができず、半永久的にループし続ける。
▼この設定では2つの条件分岐の条件を満たせばループから抜け出せます。
もしも複数のループから一気に抜け出したい時には【ラベル】を使ってください。
[ループ開始へ]は現在実行中のループの最初へ戻ります。 以下の場合は、2つ目のループの開始に戻ります。
回数付きループの中に[ループ開始へ]を設定した場合は、 [ループ開始へ]を実行してもしなくてもループ回数は変わりません。 例えば…
[回数付きループ]の設定で「0回」にすると、ループ内の処理は実行されません。 この仕様を利用して、「0回」にしたループの中にデバッグ用の設定を置き、 デバッグする時に一時的に「1回」にして、中の処理を実行させるような使い方ができます。 ▼コモンイベント[086:X[移]┗ お店内部情報更新]の68行目にあるデバッグ用の設定。
【ラベル】を使って[回数付きループ]の外からループ内へ移動してきた場合は、 回数設定は無効となり、1回のみの処理になります。 ▼この場合は1回しか処理されません。
▼この場合はループ内での移動なので、ラベルのジャンプの有無に関係なく10回ループします。
ちなみに…
ループ1回分の処理数を「1」減らす事ができます。 但し処理数が減ったからと言って、処理落ちが軽減するまでにはならないので、 コマンド処理数が500万個を超えるような時以外は、 無理に「ループ開始へ戻る」を設定する必要はないでしょう。 ▲トップへ戻る▲ ■設定画面の説明:キャラ動作指定 [■キャラ動作指定]は、主人公やマップイベントを歩かせたり、ジャンプさせたりと、 様々な動作を設定する時に使います。 「キャラクターの動作指定の画面説明を見る】 キャラ動作指定は、文章の表示やウェイトの設定があると実行されます。 そのため…
この設定を「主人公が4歩移動してから文章を表示する」とする場合は…
▲トップへ戻る▲ ■設定画面の説明:[トランジション準備(画面停止)][トランジション実行] [トランジション準備(画面停止)]を実行すると、 ビデオの「一時停止」を押した時と同じように、ゲーム画面の描画が停止します。 この[トランジション準備(画面停止)]の実行中は、ゲーム画面の描画が停止しているだけであり、 イベント処理や主人公の移動処理などは通常通りに処理されます。 文章の表示やキー待ちの処理などは通常通りに機能します。 [トランジション準備(画面停止)]で停止した場合は、 [トランジション実行]を実行する事で、ゲーム画面の描画が再開されます。 なお、[トランジション実行]を実行した時の画面の表示方法は、 [トランジションの指定]の設定によって決まります。 ▲トップへ戻る▲ ■設定画面の説明:[処理中のEv移動ON][OFF] 並列実行以外([決定キーで実行]や[自動実行])でイベントを実行している場合、 通常はマップイベントの移動が停止しますが、この[処理中のEv移動ON]を実行すると、 並列実行以外のイベントを実行している間もマップイベントが移動し続けます。 [■キャラ動作指定]を使ってマップイベントを動かしている場合は、 この[処理中のEv移動ON]のON/OFFに関係なく、移動し続けます。 初期設定は「OFF」であり、[処理中のEv移動ON]を実行したあとに再びOFFにする時には…
一度ONの状態になると、別のマップへ移動してもONのままになります。 マップごとにON/OFFを切り替える場合は、場所移動時にON/OFFを切り替えるか、 マップごとに以下のマップイベントを設定して、ON/OFFを切り替えてください。
▲トップへ戻る▲ ■設定画面の説明:[タイトル画面へ][ゲーム終了] [タイトル画面へ]を実行すると、 ゲームを起動した時と同じ状態(変数の値が全て初期化された状態)で、 「ゲーム開始位置」からゲームが始まります。 [ゲーム終了]を実行すると、ゲーム画面が閉じられ、ゲームが強制終了します。 ▲トップへ戻る▲ ■設定画面の説明:[ピクチャ以外停止][停止解除] [ピクチャ以外停止]を実行すると、ピクチャ以外のゲーム画面の描画が停止します。 ゲーム画面の描画を停止する仕様は[トランジション準備(画面停止)]に似ていますが、 以下のような違いがあります。
停止する時には、ゲーム画面を保存して停止画面を表示するので、 停止前にピクチャを表示している場合は、そのピクチャも停止画面の保存対象になります。 例えば…
画面上に残ってしまいます。 なお…
セーブデータのロード直後に[ピクチャ以外停止]を実行すると真っ暗のままになる事があるため、 数フレームのウェイトを実行してから停止した方が良いでしょう。 ▲トップへ戻る▲ ■設定画面の説明:[イベント処理中断] イベントコマンドの処理を途中で終了させる時に設定します。 例えば…
「あいうえお」→「かきくけこ」→「さしすせそ」と表示されます。 しかし…
「あいうえお」→「かきくけこ」と表示されて「さしすせそ」は表示されません。 ▲トップへ戻る▲ ■設定画面の説明:トランジションの指定 [トランジション実行]を実行した時や、 【場所移動】で場所移動した時の画面の表示切り替え方法を設定します。 [トランジションの指定]の設定は一度設定すると、 他の設定に変えるまでは同じ設定のままになります。 初期設定はコモンイベント[048:X[共]基本システム自動初期化]の148行目にあります。 ▼コモンイベント[048:X[共]基本システム自動初期化]の148行目の設定
このコモンイベント[048:X[共]基本システム自動初期化]の148行目と同じ設定を行えば、 初期設定に戻す事ができます。 画面の表示切替方法は、システムDB[11:トランジションタイプ]で設定します。 ▲トップへ戻る▲ ■設定画面の説明:イベントの一時消去 マップイベント内でこの[イベントの一時消去]を実行すると、マップイベントがマップ上から消えます。 消えたマップイベントは、一度別のマップへ移動し、再び同じマップへ戻ってくると復活します。 [対象]の設定にて、セルフ変数、通常変数、予備変数の設定ができます。 この変数の値には、対象とするマップイベントのイベントIDを設定してください。 コモンイベント内で実行すると、 「コモンイベントを一時消去することはできません。」のエラーが表示されます。 ▼「このイベント」とイベント指定との違い 「Ev0」のイベントを実行している時に「Ev0」自身を消す場合…
一方…
一見どちらでも良いように思えますが、例えば…
一方で…
このように一見どちらでも良いと思える設定でも、処理結果が変わってくる事があります。 ▲トップへ戻る▲ ■設定画面の説明:ウェイト 設定した時間の間、イベントコマンドの処理が停止します。 停止時間はフレーム単位で設定します。 なお、1フレームの時間は、 「ゲームの基本設定」の「ゲームの処理FPS」の設定によって異なります。 「60FPS」の場合は「1秒=60フレーム」。 「30FPS」の場合は「1秒=30フレーム」。 なお、処理落ちなどの関係で正確に「1秒=60フレーム」にならない事もあります。 ウェイトで停止している間に、ウェイトを実行したイベント以外のイベントの中で、 「並列実行」で動いているイベントがある場合は、その並列実行イベントが実行されます。 ▲トップへ戻る▲ ■設定画面の説明:ラベル処理 設定されたラベルの位置に処理をジャンプさせます。 以下の設定では、選択肢の3段目を選択した時に選択肢の最初へ戻るように設定しています。
ラベルの文字には、特殊文字「\v[]」「\s[]」などが使えます。 特殊文字を使う事で例えば、パーティの人数に応じてラベルの移動先を変えるような設定ができます。 ▼パーティ内の人数(可変DB[18:基本システム用変数]のデータ[4:現在パーティー人数])に応じて、 ジャンプするラベルの位置が変わります。
ラベルは同じイベントコマンド表示欄の中のみで機能します。 別のイベントにあるラベルへジャンプしたり、 同じマップイベントでも別のページにあるラベルへジャンプさせる事はできません。 存在しないラベルへのジャンプを設定した場合は、 その設定は無効となり、何も処理されません。(エラーも発生しません) また同じイベントコマンド表示欄の中に同じラベル名が複数ある場合は、 一番上にあるラベルへジャンプします。 ■[!]に書かれている内容について 条件分岐内にラベル地点を設定した場合で「上記以外」の設定がある場合は、 「条件分岐内のイベント+上記以外のイベント」が実行されてしまいます。 例えば、以下のような設定の場合は、 セルフ変数[0]の値によって、 「あいうえお」「かきくけこ」「さしすせそ」のいずれかが表示されます。
しかし以下のように、ラベルで条件分岐内へ移動した場合は、 「あいうえお」のあとに「さしすせそ」も表示してしまいます。
もしも「上記以外」がある条件分岐内にラベルで移動してくる場合は、 以下のように設定してください。 ▼設定例1
▼設定例2
▲トップへ戻る▲ ◎関連ページ ◆「イベントコマンド」って何? ┣◆文章の表示 ┃┗◆特殊文字 ┣◆選択肢 ┃┗◆【使用例】選択肢 ┣◆変数操作 ┃┗◆演算子について ┣◆DB操作 ┣◆文字列操作 ┃┗◆【使用例】文字列操作 ┣◆変数操作+ ┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い ┃┣◆【使用例】変数操作+の「キャラ」と「位置」 ┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」 ┣◆条件(変数) ┣◆条件(文字列) ┣◆キー入力 ┃┗◆【使用例】キー入力 ┣◆ピクチャ ┃┗◆表示形式(通常・加算・減算・乗算)について ┣◆エフェクト ┃┣◆「Zオーダー」について ┃┗◆【使用例】エフェクト ┣◆サウンド ┣◆セーブ・ロード操作 ┣◆パーティ画像 ┣◆チップ処理 ┃┗◆【使用例】チップ処理 ┣◆場所移動 ┣◆イベント制御 ┃┣◆キャラクターの動作指定 ┃┗◆【使用例】イベント制御 ┣◆コモンイベント ┣◆ダウンロード ┗◆プロ版機能 ┗◆起動時の引数について |