コモンイベントの便利な活用法【RPGツクールMV/MZ向け】

2019/12/4ゲーム制作

上手に使おう!コモンイベント ツクールMV/MZ向け
悩んでいる人のイラスト
悩んでいる人

私はRPGツクールMV(RPGツクールMZ)でゲーム制作を始めました。

「コモンイベント」と「マップイベント」って何が違うのですか?
コモンイベントを使いこなせるとどのような利点がありますか?

コモンイベントの便利な活用法などがあれば教えてほしいです。

こんなご要望にお応えします。

article この記事の内容

  • コモンイベントとマップイベントの違いをわかりやすく解説
  • コモンイベントの便利な活用法を画像付きで解説(RPGツクールMV/MZユーザー向け)
person
この記事の筆者
ドッド工房のアイコン
ドッド工房
ゲーム開発歴15年。ゲーム開発の講師経験あり。20作品ゲームをリリースし、48万DL&Play突破。ゲームコンテストで7回以上受賞。インディーゲームも発売。ツクールやUnity等を使用。

RPGツクールMV(RPGツクールMZ)を使い始めると、データベースに「コモンイベント」というタブがあるのを目にするはずです。

使い始めて間もないうちは、何のためにあるものなのかピンとこないと思います。

ドッド工房のふきだし
ドッド工房

実は、このコモンイベントというのは、RPGツクールでゲームを作るうえでとても重要な役割を果たします。

コモンイベントを上手に活用することで、あなたは効率よくゲームを開発できるようになります。

また、あなたのゲームの拡張性を高めることもできるのです。

なので、RPGツクールでゲームを作るなら、コモンイベントについてしっかり理解しておく必要があります。

この記事を読めば、あなたはコモンイベントについて理解を深め、ツクラー歴15年の筆者の「便利な活用法」を覚えることができます。

それではご覧ください!

RPGツクールのコモンイベントとマップイベントの違い

まず初めに、コモンイベントとマップイベントの違いを解説します。
結論、下記のとおりです。

コモンイベントどのマップでも共通で実行できるイベント。
マップイベントそのマップでしか実行できないイベント。
コモンイベントとマップイベントの違い
ドッド工房のふきだし
ドッド工房

つまり、ゲーム全体で共通して実行する処理は、「コモンイベント」で記述することになります。

対して、特定のマップにおいてのみ実行される処理は、「マップイベント」に記述するということです。

また、コモンイベントはマップイベント内で自由に呼び出すこともできます。

逆にマップイベントは、通常は自由に呼び出すことができません。※

※有志の方が作成したプラグインを利用することで、マップイベントも自由に呼び出せるようにすることは一応可能です。

マップイベントとコモンイベントの違いを、ある程度ご理解いただけたでしょうか?

ここからは、そんなコモンイベントの便利な活用法を解説します。

コモンイベントの便利な活用法【RPGツクールMV/MZユーザー向け】

コモンイベントを使いこなせると強い

前述のとおり、コモンイベントはゲーム全体で共通して実行できるイベントです。

これを上手に活用することで、あなたのゲーム開発を効率化し、さらにゲームの拡張性も高められます。

しかし、どういったコモンイベントを作れば良いのか?

RPGツクールを使い始めたばかりの場合は、少々難しいかと思います。

ドッド工房のふきだし
ドッド工房

実際、私も初心者だった頃はよく分かっていませんでした。

そこで、そんなあなたのために、コモンイベントの便利な活用法をご用意しました。

どれもすぐに作れてすぐに使えるものばかりです。
表にまとめましたので、まずはざっとご覧ください。

コモンイベント実現できること
操作制御キーやボタンの入力判定をまとめて管理
各種操作キー(全9種)操作キーを押して実行される内容を場合分け
プレイヤー情報取得プレイヤー(操作キャラ)の位置や向きなどを常時取得
プレイヤー足音プレイヤーの足音を地形タグごとで種類を分けながら再生
プレイタイム計測プレイ時間の計測および時間経過によるイベントの実装
自作メニュー独自のメニュー画面の実装
イベントシーン開始イベントシーン中にONにするスイッチや値を変える変数の管理
イベントシーン終了イベントシーン終了後にONにするスイッチや値を変える変数の管理
今回ご紹介するコモンイベントの一覧

どれも実際に、私の制作したゲームで使用しているコモンイベントです。

今回は、あなたがすぐにマネして使えるよう、テンプレート形式でご用意しました。


ちなみに、上記のコモンイベントで使用しているスイッチは、下の2枚の画像のとおりです。

コモンイベントの作成の前に準備しておくことをオススメします。

使用するスイッチ その①
使用するスイッチ その①
使用するスイッチ その②
使用するスイッチ その②

また、使用している変数は下の2枚の画像のとおりです。

こちらも予め準備しておくと良いでしょう。

使用する変数 その①
使用する変数 その①
用意する変数 その②
使用する変数 その②

準備はできましたか?
それでは、表でお伝えしたコモンイベントをそれぞれ順番に解説していきます!

コモンイベント①:操作制御

コモンイベント0001:操作制御
コモンイベント0001:操作制御
◆注釈:--------------------------------------------------------
◆注釈:キーやボタンの入力判定
◆注釈:--------------------------------------------------------
◆条件分岐:ボタン[決定]が押されている
  ◆コモンイベント:1-決定キー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[キャンセル]が押されている
  ◆コモンイベント:1-キャンセルキー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[シフト]が押されている
  ◆コモンイベント:1-シフトキー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[下]が押されている
  ◆コモンイベント:1-下キー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[左]が押されている
  ◆コモンイベント:1-左キー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[右]が押されている
  ◆コモンイベント:1-右キー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[上]が押されている
  ◆コモンイベント:1-上キー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[ページアップ]が押されている
  ◆コモンイベント:1-ページアップキー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆条件分岐:ボタン[ページダウン]が押されている
  ◆コモンイベント:1-ページダウンキー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆ラベル:end
◆注釈:--------------------------------------------------------
◆注釈:処理落ち軽減ウェイト
◆注釈:--------------------------------------------------------
◆ウェイト:1フレーム
ドッド工房のふきだし
ドッド工房

このコモンイベントを使うことで、キーやボタンの入力判定を一か所でまとめて管理できます。

ちなみに、各入力判定でラベルジャンプを使用している理由は、キーの同時入力による複数実行を防止するためです。

コモンイベント②~⑩:各種キーやボタン

コモンイベント0002:決定キー
コモンイベント0002:決定キー
コモンイベント0010:ページダウンキー
コモンイベント0010:ページダウンキー
◆注釈:--------------------------------------------------------
◆注釈:通常時
◆注釈:--------------------------------------------------------
◆条件分岐:操作シーン = 0
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆注釈:--------------------------------------------------------
◆注釈:イベント時
◆注釈:--------------------------------------------------------
◆条件分岐:操作シーン = 1
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆ラベル:end
ドッド工房のふきだし
ドッド工房

このコモンイベントでは、各種キーを押した際の実行内容を記述します。

変数で場合分けすることで、通常時とイベント時で実行内容を異なる内容にすることができます。

その一例として、キャンセルキーのコモンイベントをご紹介します。

コモンイベント0003:キャンセルキー
コモンイベント0003:キャンセルキー
◆注釈:--------------------------------------------------------
◆注釈:通常時
◆注釈:--------------------------------------------------------
◆条件分岐:操作シーン = 0
  ◆コモンイベント:3-自作メニュー
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆注釈:--------------------------------------------------------
◆注釈:イベント時
◆注釈:--------------------------------------------------------
◆条件分岐:操作シーン = 1
  ◆ラベルジャンプ:end
  ◆
:分岐終了
◆ラベル:end
ドッド工房のふきだし
ドッド工房

このように、通常時にのみ「自作メニューを呼び出せるようにする」といった処理が可能です。

つまり、OPや会話中などのイベント時には、自作メニューを開けないようにできます。

コモンイベント⑪:プレイヤー情報取得

コモンイベント0011:プレイヤー情報取得
コモンイベント0011:プレイヤー情報取得
◆注釈:--------------------------------------------------------
◆注釈:プレイヤーの情報を取得
◆注釈:--------------------------------------------------------
◆変数の操作:#0026 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0027 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0028 プレイヤー向き = プレイヤーの向き
◆指定位置の情報取得:プレイヤー地形タグ, 地形タグ, ({プレイヤーX},{プレイヤーY})
◆指定位置の情報取得:プレイヤーイベントID, イベントID, ({プレイヤーX},{プレイヤーY})
◆注釈:--------------------------------------------------------
◆注釈:プレイヤーの一歩前の情報を取得
◆注釈:--------------------------------------------------------
◆変数の操作:#0031 プレイヤー一歩前X = プレイヤーX
◆変数の操作:#0032 プレイヤー一歩前Y = プレイヤーY
◆条件分岐:プレイヤー向き = 8
  ◆変数の操作:#0032 プレイヤー一歩前Y -= 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 6
  ◆変数の操作:#0031 プレイヤー一歩前X += 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 4
  ◆変数の操作:#0031 プレイヤー一歩前X -= 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 2
  ◆変数の操作:#0032 プレイヤー一歩前Y += 1
  ◆
:分岐終了
◆指定位置の情報取得:一歩前イベントID, イベントID, ({プレイヤー一歩前X},{プレイヤー一歩前Y})
◆注釈:--------------------------------------------------------
◆注釈:プレイヤー位置変数の作成
◆注釈:--------------------------------------------------------
◆変数の操作:#0034 プレイヤー位置 = プレイヤーX
◆変数の操作:#0034 プレイヤー位置 *= 1000
◆変数の操作:#0034 プレイヤー位置 += プレイヤーY
◆条件分岐:プレイヤー位置 ≠ 前回のプレイヤー位置
  ◆コモンイベント:11-プレイヤー足音
  ◆変数の操作:#0035 前回のプレイヤー位置 = プレイヤー位置
  ◆
:分岐終了
◆注釈:--------------------------------------------------------
◆注釈:処理落ち軽減ウェイト
◆注釈:--------------------------------------------------------
◆ウェイト:1フレーム
ドッド工房のふきだし
ドッド工房

このコモンイベントを使うことで、プレイヤー(操作キャラ)の情報を常時取得することができます。

現在いる位置の「座標」「地形タグ」「イベントID」などを取得できるので、他のさまざまなイベントで応用可能です。

例えば、次にご紹介する「プレイヤー足音」を呼び出す際にも、このコモンイベントで取得した情報を活用しています。

コモンイベント⑫:プレイヤー足音

コモンイベント0012:プレイヤー足音
コモンイベント0012:プレイヤー足音
◆注釈:--------------------------------------------------------
◆注釈:連続再生の防止
◆注釈:--------------------------------------------------------
◆スクリプト:let adswitchId = 22;
:     :$gameSwitches.setValue(adswitchId, !$gameSwitches.value(adswitchId));
◆条件分岐:連続再生の防止がOFF
  ◆注釈:--------------------------------------------------------
  ◆注釈:足音の切り替え(左足と右足)
  ◆注釈:--------------------------------------------------------
  ◆スクリプト:let adswitchId = 23;
  :     :$gameSwitches.setValue(adswitchId, !$gameSwitches.value(adswitchId));
  ◆注釈:--------------------------------------------------------
  ◆注釈:足音の再生(地形タグごとに変える)
  ◆注釈:--------------------------------------------------------
  ◆条件分岐:プレイヤー地形タグ = 1
    ◆条件分岐:足音左右切り替えがON
      ◆SEの演奏:Footsteps1-L (30, 100, 0)
      ◆
    :それ以外のとき
      ◆SEの演奏:Footsteps1-R (30, 100, 0)
      ◆
    :分岐終了
    ◆
  :分岐終了
  ◆注釈:--------------------------------------------------------
  ◆条件分岐:プレイヤー地形タグ = 2
    ◆条件分岐:足音左右切り替えがON
      ◆SEの演奏:Footsteps2-L (30, 100, 0)
      ◆
    :それ以外のとき
      ◆SEの演奏:Footsteps2-R (30, 100, 0)
      ◆
    :分岐終了
    ◆
  :分岐終了
  ◆
:分岐終了
ドッド工房のふきだし
ドッド工房

このコモンイベントでは、プレイヤーの足音の再生を管理できます。

地形タグごとに足音を変えたり、左足と右足で音声の種類を分けたりすることも可能です。

ちなみに、上記内のスクリプトは「指定したスイッチのONとOFFを逆転させる」という実行内容です。

ここでは、スイッチ22(連続再生の防止)とスイッチ23(足音左右切り替え)をそれぞれ逆転させる対象としています。

コモンイベント⑬:プレイタイム計測

コモンイベント0013:プレイタイム計測
コモンイベント0013:プレイタイム計測
◆注釈:--------------------------------------------------------
◆注釈:プレイタイム計測
◆注釈:--------------------------------------------------------
◆ウェイト:6フレーム
◆変数の操作:#0042 0.1秒 += 1
◆条件分岐:0.1秒 ≥ 10
  ◆変数の操作:#0043 秒 += 1
  ◆変数の操作:#0042 0.1秒 = 0
  ◆
:分岐終了
◆条件分岐:秒 ≥ 60
  ◆変数の操作:#0044 分 += 1
  ◆変数の操作:#0043 秒 = 0
  ◆
:分岐終了
◆条件分岐:分 ≥ 60
  ◆変数の操作:#0045 時間 += 1
  ◆変数の操作:#0044 分 = 0
  ◆
:分岐終了
◆注釈:--------------------------------------------------------
◆注釈:その他、時間経過による値の増減
◆注釈:--------------------------------------------------------
ドッド工房のふきだし
ドッド工房

名前のとおり、ゲームのプレイタイムを計測します。

また、時間の経過による演出やゲーム要素の作成などにも応用可能です。

例えば、放置によるMPの回復であったり、制限時間付きの脱出イベントなど、工夫次第であらゆる内容が作れます。

コモンイベント⑭:自作メニュー

コモンイベント0014:自作メニュー
コモンイベント0014:自作メニュー
◆注釈:--------------------------------------------------------
◆注釈:メニュー画面の表示
◆注釈:--------------------------------------------------------
◆文章:なし, 透明, 下
:  :
◆選択肢の表示:セーブ, ロード, オプション, タイトル, 閉じる (ウィンドウ, 中, #1, #5)
:セーブのとき
  ◆セーブ画面を開く
  ◆
:ロードのとき
  ◆スクリプト:SceneManager.push(Scene_Load);
  ◆
:オプションのとき
  ◆スクリプト:SceneManager.push(Scene_Options);
  ◆
:タイトルのとき
  ◆文章:なし, ウィンドウ, 中
  :  :タイトル画面に戻ります。
  :  :本当によろしいですか?
  ◆選択肢の表示:はい, いいえ (ウィンドウ, 中, #1, #2)
  :はいのとき
    ◆タイトル画面に戻す
    ◆
  :いいえのとき
    ◆
  :分岐終了
  ◆
:閉じるのとき
  ◆
:分岐終了
ドッド工房のふきだし
ドッド工房

ここでは、あなただけのオリジナルのメニュー画面を作成できます。

今回は簡単に作れる例として、「選択肢の表示」を利用してメニュー画面を作成してみました。

コモンイベント⑮:イベントシーン開始

コモンイベント0015:イベントシーン開始
コモンイベント0015:イベントシーン開始
◆変数の操作:#0022 操作シーン = 1
◆スイッチの操作:#0005 イベントシーン進行中 = ON
ドッド工房のふきだし
ドッド工房

このコモンイベントでは、イベントシーンに入る際に「いつも値を変更する変数」や「いつもON/OFFを切り替えるスイッチ」をまとめて管理できます。

マップイベントなどで呼び出すことを前提としたコモンイベントです。

こうすることで、変数やスイッチの状態を毎回変えなければならない手間をなくせます。

コモンイベント⑯:イベントシーン終了

コモンイベント0016:イベントシーン終了
コモンイベント0016:イベントシーン終了
◆変数の操作:#0022 操作シーン = 0
◆スイッチの操作:#0005 イベントシーン進行中 = OFF
ドッド工房のふきだし
ドッド工房

このコモンイベントも⑮と同様です。
イベントシーンが終了する際に、状態を変える変数やスイッチをまとめて管理できます。

まとめ

さっそく作ってみよう!

今回は、RPGツクールMVやRPGツクールMZにおける「コモンイベントの便利な活用法」を解説しました。

コモンイベントを上手く活用すれば、あなたはゲーム開発をさらにスピーディにこなせます。

また、複雑なゲーム要素を実現できたり、操作やUIなどの拡張性を高めることもできます。

なので、これからRPGツクールでゲームを作る際は、コモンイベントを有効に活用してみてください。

すると、あなたのゲームの可能性が圧倒的に広がりますよ!

ドッド工房のふきだし
ドッド工房

ちなみに他にも、ゲームの開発を効率化したり、作りたいゲーム要素の実現を楽にする方法はあります。
ずばり、イベントコマンド「スクリプト」の活用です。

下記の記事で、簡単に使えて便利なスクリプトを厳選してご紹介しています。

RPGツクールMV/MZを使いこなしたい場合は、ぜひご覧になってください。
»知っていると便利なスクリプト一覧【RPGツクールMV/MZ用】