RPGツクールMZで、隊列歩行のメンバーの向きを変えたり、現在の位置を取得したり、キャラクターをイベントに変換して自由に動かしたりできるような、プラグインを作成しました。
いずれもプラグインコマンドで操作するようになっているため、RPGツクールMZ専用のプラグインとなっています。
システムのオプション設定で「パーティの隊列歩行」にチェックを入れると、いわゆるドラクエのように、主人公の後ろをパーティーの仲間メンバーがついてくるようになります。
これを隊列歩行と呼び、最近ではRPGツクールVX Ace以降で採用されています。(かつてはRPGツクール95にもあった)
しかし、この隊列歩行のメンバー(ツクールの用語的にはフォロワー)を直接操作するイベントコマンドは用意されておらず、イベント等で隊列メンバーを動かしたりしたい時に困ります。
そこで、プラグインコマンドを使って隊列メンバーを操作できるようにしました。
用途に応じてプラグインコマンドは3種類あります。
- 隊列メンバーの向き指定
- 隊列メンバーの位置取得
- 隊列メンバーをイベントに変換
以下、1つずつ使い方を解説します。
隊列メンバーの向き指定
対象のメンバーを指定した向きに向かせるプラグインコマンドです。
対象となる隊列メンバーと、向かせたい向きの2つをパラメータで指定します。
代表的な使い方としては、イベントキャラに話しかけて、隊列メンバーがそれに対して反応を返すような時、隊列メンバーがそのイベントキャラの方向を向いていない場合があります。
このままだと、あさっての方向を向いたまま隊列メンバーキャラが話すことになってしまいます。そこでこのプラグインコマンドで対象キャラの向きを変えてやれば、ちゃんと相手の方向を向いて話すようになるので、自然な演出ができます。
対象となるメンバーは番号で指定します。1を指定すると1人目の隊列メンバー、すなわち2人目のパーティーメンバーを指定したことになるので、注意してください。1人目のパーティーメンバー、すなわち主人公キャラの向きを変えたい場合は、普通に「移動ルートの設定」で設定してください。
また、対象となる隊列メンバー番号に0を指定すると、隊列歩行のメンバー全員の向きを同時に指定できます。
向きは、上下左右の4方向のほか、プレイヤーキャラクターと同じ向きを指定することも可能です。
何かを発見したり、誰かと会話するようなイベントで、メンバー全員に同じ方向を向かせたい場合は、隊列メンバー番号に0を、向きに「プレイヤーと同じ向き」を指定してやれば、たいていの場合は自然な動きになります。
隊列メンバーの位置取得
指定した隊列歩行メンバーの、現在の位置(マップXY座標)と向きをそれぞれ変数に取得するプラグインコマンドです。
対象となる隊列メンバーの番号と、それぞれマップX座標、マップY座標、向きを受け取る変数を指定します。
隊列メンバー番号は前述の「隊列メンバーの向き指定」と同様に、1が1人目の隊列メンバー(2人目のパーティーメンバー)となります。主人公キャラの位置や向きは、普通に「変数の操作」のゲームデータで取得が可能です。0で全員の指定とかは当然できません。
変数は一部の項目のみ指定することもできます。位置だけ取得できればよくて向きは不要、といった場合には、向きの変数指定を「なし」にすればOKです。
想定している使い方としては、通せんぼしているキャラを移動させる際に、隊列歩行のメンバーの現在位置を取得して条件分岐し、隊列歩行と重ならないように移動させるとか、隊列メンバーの現在地や向きに応じて他のキャラを移動させたりといったケースが考えられます。
また応用として、隊列メンバーにアニメーションやフキダシアイコンを表示することも、標準機能ではできませんが、以下のようにすれば実現できます。
- 透明の画像を設定したダミーイベントを用意する
- 対象となるメンバーの位置を変数に取得する
- イベントの位置設定でダミーイベントの位置を変数で指定する
- ダミーイベントに対してアニメーションやフキダシアイコンを表示させる
- ダミーイベントを邪魔にならない位置に戻す
隊列メンバーをイベントに変換
本プラグインのメイン機能にして、使い方もやや難しいプラグインコマンドです。
このコマンドを使うと、隊列歩行メンバーのキャラクターをイベントに変換することができます。変換後は単なる通常のイベントとなるため、移動ルートの設定やフキダシアイコンの表示、アニメーションの表示など、自由自在な演出が可能です。
使い方としては、まずマップ上に隊列メンバー用のイベントを設置します。画像は空、位置はマップの端などどこでもOKです。オプションで「すり抜け」にチェックをしておくと、障害物に引っかかって動きが止まるのを避けられるのでよいかもしれません。
そしてイベント内でこのプラグインコマンドを発動させます。
イベントIDリストに、1番目の隊列歩行メンバー(2人目のパーティーメンバー)から順番に、変換先のイベントのID番号を指定します。
こうすると、隊列メンバーの現在位置・向き・画像が、指定されたイベントにそれぞれ引き継がれ、隊列歩行のグラフィックは消えます。
あとは、このイベントを隊列メンバーとして動かしてやればOKです。
一部のメンバーだけイベントに変換したい場合は、イベントIDに0を指定すると、そのメンバーはイベントに変換されません。
また、オプションとして「隊列歩行継続」のON/OFFがあります。ONにすると隊列歩行は継続したままになるので、一部のメンバーのみイベントに変換してパーティーから離脱させる場合は役に立ちます。逆に全メンバーをイベントに変換する場合はOFFを指定して、イベント終了後に再度集合させ、イベントコマンドの「隊列歩行の変更」でONにしてやるといいでしょう。
隊列歩行からイベントシーンに突入する際、一度暗転を挟んで、その間に隊列歩行を解除してメンバーキャラクターをイベントとして配置するといった手法が、ツクール製の作品ではよく用いられます。
しかし、いちいち暗転を挟むとテンポが悪くなったり、またイベント作成上の都合であることがどうしても垣間見えてしまいます。
シームレスにイベントシーンに突入したい場合は、このプラグインコマンドが役に立つでしょう。
ただし、隊列メンバーの取り得る位置は数十パターンに及ぶため、キャラを動かす際はそれぞれの初期位置での場合分けがけっこう大変です。
まとめ
イベントキャラの操作系コマンドでは、プレイヤーや「このイベント」を操作することは可能ですが、隊列メンバーを直接的に操作する仕組みは、標準では用意されていません。
おそらく隊列メンバーは人数に決まりがないため、標準機能として用意するには、UI的にも簡単ではないのでしょう。
隊列歩行のメンバーを操作するプラグインは他にもいくつかありましたが、よく使う向きの変更や位置の取得に簡易なプラグインコマンドが欲しかったので、自分でプラグインを作成しました。
隊列メンバーをイベントに変換するコマンドは、やや癖があって使い方が難しいかもしれませんが、一度イベントに変換してしまえば、後は通常のイベントと同じように扱えるため、コツさえ掴んでしまえば、非常に便利だと思います。
このプラグインコマンドを使って、隊列歩行の仲間たちもイベントシーンに参加させてやると、演出効果が高まることでしょう。
質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。