イベント編

マップイベント実践編

マップイベントの設定は多岐に渡り、最初からすべてを覚えることは難しいでしょう。
実践編ではゲームでよく見かけるイベントの作り方を紹介していきます。

まずは作れるイベントから作成していき、色々なイベントの作り方を覚えていきましょう。
高レベルなゲームを目指すイベントのポイント

村や町で使うイベント事例

ランダム移動する村人

会話する村人は実行内容に[文章の表示]を入れることで作成できます。
話しかけると会話するイベント

キャラクターのランダム移動は自律移動で設定可能です。[タイプ]から[ランダム]を選びます。
移動速度や移動頻度を変更することで動く速さや間隔を調整できます。

アイテムの入った壺

アイテムを入手するイベントは[アイテムの増減]を使用します。

[SEの演奏]や[文章の表示]を使ってアイテム入手をわかりやすくするのも良いでしょう。

また、壺のような通行不可のマップタイルにイベントを設定する場合は[プライオリティ]を変更する必要があります。
[プライオリティ]を[通常キャラと同じ]に設定することでプレイヤーキャラクターが隣接すれば調べることができるようになります。

アイテムが手に入るイベントは完成しましたが、このままでは何度もアイテムが手に入ってしまいます。
[セルフスイッチの操作]を活用しましょう。

[EVページ 作成]から新しいページを作成し、2ページ目の[出現条件]にセルフスイッチを設定します。

この設定により、一度アイテムが手に入るイベントを実行すると、セルフスイッチが操作され、2ページ目のイベントがこのイベントとして実行されるようになります。
結果、一度だけアイテムを取得できるイベントになります。

正面からのみ調べることができる立て札

立て札は通行不可のマップタイルです。
まずは[プライオリティ]を[通常キャラと同じ]に設定し、隣接して調べることができるようにします。

イベントコマンド[条件分岐]を使用することで、プレイヤーの向きによって実行内容を変化させることができます。

[キャラクター]から[プレイヤー]の向きが[上]を選択し、[条件を満たさないときの分岐を作成]にチェックを入れます。

条件分岐コマンドの真下に条件を満たす場合の実行内容、「それ以外のとき」の真下には条件を満たさない場合の実行内容を入れます。

条件を満たす場合・満たさない場合に異なる文章の表示を設定すれば完成です。
なお、条件分岐で分かれたイベントは各分岐内のイベントを実行し終えると「分岐終了」の真下へと進み、再び同じイベントを実行するようになります。

アイテム売買するショップ

アイテムを売買するショップは[ショップの処理]を使用します。

[商品]リストをダブルクリックするとダイアログボックスが開きます。売り物にしたいアイテムや装備品を選択しましょう。

[購入のみ]にチェックを入れると、購入専用のショップも作成できます。

宿屋を作る

お金を支払い、全回復する「宿屋」は[イベントの簡単作成]を使いましょう。

複雑な宿屋の実行内容を自動的に作成してくれます。
Tips. イベントの簡単作成

メダルおじさん

特定のアイテムを回収し、指定数回収されることで強力なアイテムを貰うことのできる村人も作ることができます。

予めデータベースで回収用のアイテムと景品用のアイテムを作成しておきます。
アイテムを作る

アイテム回収用のキャラクターを作っていきます。まずは実行内容にアイテムを回収し、回収した数を変数に記録していきます。

イベントコマンド[変数の操作]で回収アイテムの所持数をカウントします。
回収するアイテムの所持数を記録する変数を選択し、[操作]で[代入]を選びます。[オペランド]には[ゲームデータ]内の[アイテム]から、回収されるアイテムを選びます。

回収用のアイテムの所持数が変数に記録されたため、イベントコマンド[アイテムの増減]でアイテムの所持数を0にします。
[アイテム]には回収されるアイテム、[操作]は[減らす]、[オペランド]には先程作成した回収アイテムの所持数を記録する変数を選択します。

アイテムの所持数と変数の数は一致になるため、この処理で手持ちの回収アイテムの所持数は0になります。

回収アイテムの総回収数を新たな変数で記録しましょう。
[変数の操作]で総回収数用の変数を選択し、[操作]で[加算]を選びます。
[オペランド]には[変数]から回収するアイテムの所持数を記録した変数を選択します。

イベントコマンド[文章の表示]で今まで回収したアイテムの総数を表示しましょう。
制御文字を使うことで文中に変数の数値を表示できます。変数を表示する制御文字は「\V[n]」です。
nに総回収数用の変数番号を半角数字で置き換えて入力し、文章を作りましょう。

最後に一定数回収された場合にアイテムが貰えるような実行内容を追加します。
イベントコマンド[条件分岐]で総回収数を記録する変数が、景品のもらえる回収数以上である場合に分岐するように設定します。

イベントコマンド[アイテムの増減]で景品アイテムの配布をします。
ただし、このままでは繰り返し何度も貰えてしまいます。

景品アイテム取得時に[スイッチの操作]を入れておき、景品取得前に[条件分岐]で「スイッチがOFFのとき」だけアイテムが取得できるような流れにしておきます。

同じような条件分岐を増やすことで複数の商品を景品としてもらえるイベントを作成できます。

ダンジョンで使うイベント事例

アイテムが手に入る宝箱

宝箱は「イベントの簡単作成」を使用します。

選んだ中身に応じて実行内容が構成されます。
Tips. イベントの簡単作成

強制戦闘のボス戦

ボス戦のようなイベントを通じて戦闘を発生させる場合は[戦闘の処理]を使用します。

登場する敵グループの設定をします。

[逃走可][敗北可]にチェックを入れると戦闘結果に応じてイベント分岐させることもできます。
敗北することで進む戦闘を作ることもできるでしょう。

シンボルエンカウントの敵

MZでは「ランダムエンカウント」による戦闘発生の機能が用意されています。
マップに出現する敵を設定する
敵と接触することで戦闘に入る「シンボルエンカウント」を導入したい場合はマップイベントで作成していきます。

[画像]と[自律移動]でモンスターの姿と行動を作成し、[トリガー]を「イベントから接触」にします。
[実行内容]には[戦闘の処理]を「逃走可」にチェックを入れて設定します。

「勝ったとき」の中に[イベントの一時消去]を入れておきます。
このイベントコマンドはプレイヤーがマップを切り替えるまでイベントを一時的に消去します。
マップに入りなおすことで、再びシンボルエンカウントの敵が復活します。

「逃げたとき」には[移動ルートの設定]を上記画像と同じ設定で入れておきます。
「このイベント」に対し、すり抜け処理や不透明度の変更、ウェイトを設定します。逃走に成功すると、ウェイトで設定した時間、敵が半透明になり動かなくなります。
プレイヤーは敵キャラの上を一時的に通過できるようになり、状況を立て直すことができるようになります。

シンボルエンカウントイベントの完成形

1つのマップに多数の敵を配置する場合は「コモンイベント」を活用することで編集しやすいイベント構成にすることも可能です。
シンボルエンカウントを管理しやすくする

レバーで開く扉

レバーの操作を「スイッチ」で記録し、「スイッチ」を出現条件に設定した扉を作成していきます。

まずはレバーのイベントを作成します。レバーの画像を設定し、オプションの向き固定にチェックを入れます。

[SEの演奏]を使い、レバー動作をイメージする音の演出を加えます。

さらに[移動ルートの設定]でレバーの動作を作成します。
レバーは歩行グラフィックの画像と同じ構成になっており、向きによってレバーの操作位置が決まります。
向きを変える動作を実行させることで、レバーの自然な動作を作成できます。

最後に[スイッチの操作]でこのイベントを実行したことを記録しておきましょう。
このイベント及び扉のイベントの2ページ目にこのスイッチを出現条件にしたイベントを作成すれば完成です。

完成したレバーのイベントの1ページ目。

完成したレバーのイベントの2ページ目。スイッチを出現条件にし、画像を操作済みのレバーにしましょう。
オプションの「向き固定」も忘れずに設定します。

扉のイベントには1ページ目にオプションの「向き固定」、扉の画像を設定します。
2ページ目には画像のように、[出現条件]にスイッチを設定し、画像をなしにしておきます。

セーブ不可ダンジョン

MZで作成したゲームは、メニュー画面から常時セーブすることができますが
イベントコマンド[セーブ禁止の変更]を使用することで、メニュー内のセーブを選択できないようにすることができます。

[禁止]を選ぶと、以降はメニューからセーブができず、[許可]を選ぶとセーブが可能になります。
このコマンドを使い、セーブ不可ダンジョンを作ってみましょう。

ダンジョン外とダンジョン内とを結ぶ場所移動イベントを作成します。
異なるマップを繋ぐ移動イベント

それぞれの場所移動イベントに、イベントコマンド[セーブ禁止の変更]を設定します。
出口が複数ある場合や、出入口以外に他マップへ移動するイベントがある場合には同じ設定をしましょう。

セーブポイントを作る

セーブ画面はイベントコマンド[セーブ画面を開く]からも呼び出すことができます。
このコマンドによるセーブ画面の呼び出しは[セーブ禁止の変更]による影響を受けません。

セーブ禁止エリアには適度なセーブポイントも作成してあげましょう。

ギミックを作るイベント事例

暗証番号で開く仕掛けを作る

変数を活用し、正しい数字を入力することで進行できるギミックも作成できます。

イベントコマンド[数値の入力]を設定することでプレイヤーに数値を入力させることができます。
プレイヤーによって入力された数値は[数値の入力]で設定した[変数]に代入されます。

数値入力の直後にイベントコマンド[条件分岐]を入れます。
[変数]を選択し、数値入力に使用した変数を入れます。
[=]を入れ、[定数]に正解となる暗証番号を入力します。
「条件を満たさない時の分岐を作成」にもチェックを入れておきます。

上記画像の場合は、「1215」が入力されていると、正解になる設定になっています。

条件分岐の直下には正しい暗証番号を入力した場合の処理を入れておきます。
ここでは[スイッチの操作]で正しい入力ができたことを記録しました。
正しい数値が入力された場合のみ、スイッチがONになる仕組みです。

最後に、スイッチがONになったとき透明な画像に変化する扉やスイッチがONになると登場する階段を作成すれば暗証番号を使用するギミックの完成です。

なお、[数値の入力]には指定した変数の数値が入力された状態で実行されます。
失敗した時に数値を初期化したい場合は変数に0を代入しておきましょう。

アイテムを選んで渡すイベントを作る

所持アイテムの中からアイテムを選び、渡すイベントは[アイテム選択の処理]と変数を使って作成可能です。

イベントコマンド[アイテム選択の処理]は指定したアイテムタイプに属する所持アイテム一覧を表示し、プレイヤーに選択させるコマンドです。
アイテムタイプを設定する

プレイヤーが選択したアイテムIDが変数に記録されます。(キャンセルした場合は変数に0が代入されます。)

記録した変数を使用し、[条件分岐]を設定します。
正解アイテムのIDと一致した場合、正しい処理を実行することでアイテムを渡すイベントが完成します。

特定のアイテムを渡すイベントの一例

指定位置に岩を動かすイベントを作る

岩を指定位置に動かす方法は複数の作成方法があります。
今回はタイルパレットにある「リージョン」機能を使って作成します。

まずは指定位置を設定するためにリージョンIDの設定をします。
マップの編集モードに切り替えましょう。タイルパレット下に表示されたアルファベットから、「R」を選択します。

タイルパレットが数字に切り替わりました。
数字をクリックすることで、マップ上にリージョンIDを設定できます。
何番でも構いませんが、今回は20番を選択しました。

指定位置となる箇所をクリックし、リージョンIDを割り当てます。
今回は指定位置にリージョンID20を割り当てました。

次に動かせる岩のイベントを作成します。
まずは[画像]を岩に設定し、[オプション]の[向き固定]にチェックを入れます。
[向き固定]にチェックを入れておかないと、岩を押すと、岩がプレイヤーの方を向いてしまいます。

[トリガー]を[プレイヤーから接触]にします。
決定キーを押さずとも、プレイヤーが岩に向かって移動するだけで岩が動くような仕掛けが作れます。

続いて、実行内容で2つの[移動ルートの設定]を作ります。
1つ目の移動ルートの設定では、対象を「このイベント」に設定し、岩の動きを設定します。
移動コマンドで動く前に[向き固定OFF]で向きの固定を解除し、[プレイヤーから遠ざかる]で岩を 1 タイル分動く処理を入れます。
その後再び[向き固定ON]で次の動きに備えます。

[オプション]では2つの設定をします。
まずは[移動できない場合は飛ばす]にチェックを入れます。
このチェックを外してしまうと、岩が壁などによって動くことができない場合、処理が実行できないのに処理を続けようとしてしまいます。
結果として操作できない状態が永遠に続いてしまいます。

もう1つは[完了までウェイト]のチェックを外します。
このチェックをつけてしまうと、岩が動き終わるまで次の動きが実行されません。
岩とキャラクターの動きに時間差を発生させないために設定します。

2つ目の移動ルートの設定ではキャラクターの動きを作成します。
[移動速度の変更]で岩と同じ移動速度にし、[一歩前進]でキャラクターの動きを作成します。
移動後に[移動速度の変更]を使って標準の移動速度に戻します。

オプションでは[移動できない場合は飛ばす]にチェックを入れます。
岩が壁などで動かせない場合の対策です。
一方、[完了までウェイト]にもチェックを入れておきます。
こうすることで、岩を 1 タイル分押した動きを終えてからプレイヤーキャラクターが自由に動かせるようになります。

イベントコマンド[指定位置の情報取得]を使い、岩が移動した位置のリージョンIDを取得します。
[変数]には岩のリージョンIDを記録する変数を設定し、[情報タイプ]は「リージョンID」、[場所]は[キャラクターで指定]で「このイベント」を設定します。

リージョンIDを取得した変数の数値が指定位置のリージョンIDと一致すれば、指定位置であることが証明されます。
[条件分岐]を活用しましょう。

条件を満たす場合に、効果音の演出やスイッチによる記録を行えば完成です。

特殊な演出をするイベント

イラストを表示する

プロジェクト内の「Picture」フォルダに入ったイラストをゲーム中に表示することができます。

イラストの表示にはイベントコマンド「ピクチャの表示」を使います。

どの画像ファイルを使用するのか、画面内のどの位置に表示するのかを設定します。
位置はXの数字を大きくするほど右側へ、Yの数字を大きくするほど下へ移動します。

なお、ピクチャは同時に 100 枚まで表示できます。
複数のピクチャを同時に表示したい場合は、異なる[番号]を設定してください。

自然なピクチャの表示

「ピクチャの表示」でイラストを表示する場合、瞬時にイラストが表示されます。イラストによっては急な画面変化ゆえの違和感が出てしまう可能性があります。

その場合は、イベントコマンド[ピクチャの移動]を活用すると自然なピクチャ表示ができるケースがあります。
[ピクチャの移動]は指定した番号のピクチャに対し、時間をかけて位置の移動や拡大率の変化をするコマンドです。

[ピクチャの移動]の[不透明度]を変える設定を使うことで瞬時の表示を和らげることができます。

[ピクチャの表示]を設定する際に[不透明度]を[0]にしておきます。
これにより、実際は表示されているものの、完全な透明状態でイラストが表示され、プレイヤーからは表示されていることがわかりません。

次に、[ピクチャの移動]を設定していきます。
[番号]及び[位置]は[ピクチャの表示]と同じ設定にし、[合成]の[不透明度]を[255]にします。
[時間]を「30」に設定しましょう。

透明なイラストが指定した時間をかけて表示されていきます。
表示するイラストに合わせて、[ピクチャの移動]に設定する時間を調整しましょう。
瞬時に表示されるイラストと比較すると自然なピクチャの表示の完成です。

画面の明るさを変える

イベントコマンド[画面の色調変更]を使用することで、画面の明るさを調整できます。

ボタン一つで夜や夕暮れ向けの色調に変化できる他、自由な色合いに変えることもできます。