高機能な立体交差を実現【RPGツクールMZ&MVプラグイン】

2024年09月17日

 マップ上で橋などの立体交差を表現できます。


 ツクールMZ公式プラグイン『OverpassTile.js』の機能強化版です。
 立体交差上に通行禁止のタイルを配置できるため、より自由度の高い立体交差を作成できます。

 立体交差を使わないマップでも、すり抜け可能な隠し通路として利用することもできます。


 また、イベントのメモ欄やプラグインコマンドによって、プレイヤーやイベントが存在する層を切替できます。

 『OverpassTile.js』はツクールMVにも存在しますが、当プラグインはより高機能なMZ版に準拠しています。その上でMVでも使用できるように改良しました。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

メモ欄(Note)

MZ用プラグインコマンド(PluginCommandMZ)

MV用プラグインコマンド(PluginCommandMV)

プラグインパラメータ(Plugin Parameter)

立体交差リージョン(OverPathRegion)

立体交差地形タグ(OverPathTerrainTag)

立体交差入り口リージョン(GatewayRegion)

立体交差入り口地形タグ(GatewayTerrainTag)

ハシゴ属性に対応(ConsiderLadder) ver1.01

自動で上層に配置(AutoOverpassHigher) ver1.04


問題点(Problem)

☆タイル

縦の立体交差


謝辞(Acknowledgements)

参考(Reference)


導入方法(install)


 以下のリンクを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_OverpassTile.js ver1.06(2024/09/17)

 ※このプラグインは以下のプラグインと競合します。
  これらより下に配置すれば問題ありません。
  また、NRP_EventCollisionEXは最新化(ver1.01)してください。

  • NRP_EventCollisionEX
  • NRP_BushEX

更新履歴(History)


2024/09/17(ver1.06)

  • 立体交差リージョンや地形タグについて、カンマ区切りで複数設定できるようにした。

2024/02/18(ver1.05)

  • <OverpassFly>がオンの場合、下層のハシゴ属性を常に無視するように修正。

2023/07/26(ver1.04)


2022/07/04 -> 2023/04/10(ver1.03 -> 1.031)

  • 常に上層のイベントを作成可能に。
  • 立体交差の下では、海上であっても乗物から降りられてしまう不具合修正。
    (2023/04/10 ver1.031)

2021/07/05 -> 2021/08/12(ver1.02 -> 1.021)

  • 乗り物(小型船、大型船)が立体交差の下をくぐれるように対応。
  • イベントが自律移動時に他のイベント(プライオリティが通常キャラと同じ以外)と重なる位置に移動してしまう不具合修正。

2021/06/23(ver1.01)


2021/06/17(ver1.00 -> 1.001)

  • 公開!
  • 立体交差外→立体交差下に移動した際の通行判定を修正。(ver1.001)

使用方法(Usage)


 上層(MZにおけるレイヤー3〜4)にタイルを配置すれば、立体交差として扱われます。
 あとは『OverpassTile.js』と同じようにリージョンや地形タグで立体交差とその入口を指定してください。
 (カンマ区切りで複数指定可。例:1,2)


 この例ではリージョン8を立体交差、9を立体交差の入口として指定しています。
 リージョン8の立体交差部分は、上層部分をレイヤー3〜4に切り替えて配置しています。
 MVでは細かい指定はできません。タイルB〜Eが自動的に上層として扱われます。

 初期状態では、キャラクターは立体交差の下にいるものとして扱われます。
 立体交差の入口を通過すると、キャラクターが立体交差の上に移動します。

 あえて立体交差の入口を設定しなければ、すり抜け可能な隠し通路のような使い方も可能です。

メモ欄(Note)


 イベントのメモ欄に以下を指定すれば、最初から立体交差の上にいるものとして扱われます。
<OverpassHigher>

 また、プラグインパラメータの『自動で上層に配置』をオンにすれば、自動的に立体交差リージョン上のイベントを上に配置します。
 その場合、下に配置したい場合は以下を指定してください。
<OverpassHigher:false>

 また、以下を指定すればイベントは常に立体交差の上となり、下層に移動することがなくなります。
 ※空飛ぶイベントなどを想定。通行判定変更プラグインと組み合わせれば飛行しながら接触してくる敵シンボルを作成できます。
<OverpassFly>


MZ用プラグインコマンド(PluginCommandMZ)


高さを変更

 対象となるキャラクターを指定し、立体交差との上下関係を変更します。
 詳細は実際のプラグインコマンドを確認してください。

MV用プラグインコマンド(PluginCommandMV)


NRP.OverpassTile.Higher [対象] [高さ(true/false)]

 MZ版と同じく対象を表示する高さを変更します。
 ※高さを省略するとtrueになります。
 ※大文字小文字は問いません。


 以下は例です。
NRP.OverpassTile.Higher 0

 このイベントを上層に移動します。
 ※0は省略可能です。

NRP.OverpassTile.Higher 1 false

 ID=1のイベントを下層に移動します。

NRP.OverpassTile.Higher 1~10

 ID=1〜10のイベントを上層に移動します。

NRP.OverpassTile.Higher -1

 プレイヤー(-1)を上層に移動します。

NRP.OverpassTile.Higher -1~-4

 パーティ4人を上層に移動します。
 ※-2以下は隊列歩行の仲間になります。

プラグインパラメータ(Plugin Parameter)


 プラグインパラメータは『OverpassTile.js』と同一です。

立体交差リージョン(OverPathRegion)

 橋などの立体交差部分に設定するリージョンIDです。
 カンマ区切りで複数指定可能です。

立体交差地形タグ(OverPathTerrainTag)

 橋などの立体交差部分に設定する地形タグです。
 カンマ区切りで複数指定可能です。

立体交差入り口リージョン(GatewayRegion)

 橋の両端など、立体交差の入り口部分に設定するリージョンIDです。
 カンマ区切りで複数指定可能です。

立体交差入り口地形タグ(GatewayTerrainTag)

 橋の両端など、立体交差の入り口部分に設定するリージョンIDです。
 カンマ区切りで複数指定可能です。

ハシゴ属性に対応(ConsiderLadder) ver1.01

 ハシゴ属性を立体交差に対応させます。
 立体交差上にいる場合、下層のハシゴ属性を無視します。

 例えば、以下のような立体交差を作れます。



自動で上層に配置(AutoOverpassHigher) ver1.04

 初期位置が立体交差リージョン上にあるイベントを自動で上層に配置します。

問題点


 OverpassTile.jsの元々の仕様により、以下の問題点が存在します。

☆タイル

 立体交差の上層に☆判定のタイルを配置しても、キャラクターの下に表示されてしまいます。


 これは内部的に、立体交差の上層を全て☆タイルとして扱っているためです。本来の☆タイルまでキャラクターの下として扱われてしまいます。

 対処法としては☆タイルをイベント画像として配置し、プライオリティタイプをスクリプトで変更する方法などがあります。
 『this.setPriorityType(6)』を移動ルートで指定すればOKです。『動作を繰り返す』をオフにするのを忘れずに!

縦の立体交差

 『縦の立体交差』かつ『キャラクターが1マスに収まらない高さ』の場合、表示の考慮がされていません。


 ご覧の有様です。
 二番目のキャラが先頭のキャラの頭を踏んでいます。
 これは立体交差の入口で、キャラクターのプライオリティタイプを切り替えているために発生する問題です。

 僕のように頭身の高いキャラを使いたい制作者にとっては困った問題です。
 対処法としては「立体交差の入口には左右から侵入させる」「そもそも、縦の立体交差は作らない」などです。

謝辞(Acknowledgements)


 このプラグインはRPGツクールMZ公式のOverpassTile.js(トリアコンタン様&Yoji Ojima様)を改修させて頂きました。

 利用規約も元のプラグインに準じます。……が、特に何の記載もないので、自由に使ってもらって大丈夫だと思われます。

参考(Reference)


 以下、OverpassTile.jsの解説の引用です。
 マップ上で橋などの立体交差を表現できます。
 ツクールMV公式プラグイン「OverpassTile.js」のMZ向け機能強化版です。

 リージョンだけでなく地形タグも指定可能で、さらにイベントの起動や衝突判定に関する考慮がなされています。
 乗り物の存在は考慮しません。

 通行可能判定に関する仕様
 ・橋の入り口にいる場合
  →立体交差に対して必ず移動できます。
 ・立体交差にいる場合
  →橋の上にいる場合、立体交差と橋の入り口に対して必ず移動できます。
  →橋の下にいる場合、橋の入り口に対して必ず移動できません。
 ・上記の条件で移動可否を判定しなかった場合
  →マップの本来の通行設定に従います。

 イベントの起動判定、衝突判定を考慮できます。
 ・高さが異なる(橋の上と下にいる)イベントは起動、衝突しません。


 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 19:03 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

バトルイベントをフェードイン前に最速実行【RPGツクールMZプラグイン】

2024年09月02日

 バトルイベントをフェードイン前に最速実行します。


 画面の色調変更など、戦闘シーンに切り替わった瞬間から演出を実行できます。

 さらにプラグインコマンドによって敵キャラの追加が可能です。
 NRP_TroopRandomFormation.jsと組み合わせれば、敵グループをランダム生成&配置することも可能です。

 ※ただし、イベントコマンドの停止制御はしていないため、文章の表示やウェイトなどはうまくいきません。

 ver1.01より、敵を全滅させた際に戦闘が終了する前に、バトルイベントを実行できるようになりました。
 イベント内で敵キャラを追加すれば戦闘は続行されます。


 例えば、敵を全滅させても立て続けに増援が現れるような演出(仲間を呼ぶプラグイン)が可能です。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

プラグインコマンド(Plugin Commands)

敵キャラを追加(AddEnemy)

敵キャラを追加(詳細)(AddEnemyDetail)

プラグインパラメータ(Plugin Parameters)

自動で最速実行(AutoFastEvent)

共通コモンイベント(CommonCommonEvent)

敵全滅時でもイベント実行(EnemiesDefeatedEvent) ver1.01


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMZ専用です。

 NRP_FastBattleEvent.js ver1.013(2024/09/02)

更新履歴(History)


2024/06/01 -> 2024/09/02(ver1.01 -> 1.013)

  • 敵全滅時、戦闘が終わる前にバトルイベントを実行できるようにした。
  • 『敵全滅時でもイベント実行』がオンの場合、戦闘を継続する際にターン終了処理が正常に行われない不具合修正。(2024/06/01 ver1.011)
  • ver1.011の不具合が修正できていなかったので再修正。
    (2024/08/29 ver1.012)
  • イベントコマンドで敵の撃破処理を行うと、ターン終了処理が繰り返されてしまう不具合修正。(2024/09/02 ver1.013)

2023/06/25(ver1.00 -> 1.001)


使用方法(Usage)


 以下を満たすバトルイベントが最速実行の対象になります。

  • 1ページ目であること。
  • 条件が『実行しない』であること。
  • スパンが『バトル』であること。

 上記は設定によって、無効化できます。

 それ以外の場合でも、イベントコマンドの先頭の注釈に以下を記入すれば最速実行の対象になります。
<FastBattleEvent>


プラグインコマンド(Plugin Commands)


敵キャラを追加(AddEnemy)

 指定した敵キャラを追加します。

 複数指定すれば、ランダム選択もできます。
  • 例1:1~3ならば、ID1〜3の敵からランダムに追加。
  • 例2:1,3,5ならば、ID1、3、5の敵からランダムに追加。

 また、数式を使えば変数による指定も有効です。
  • 例:$gameVariables.value(1)
 ※変数にはスクリプトによる文字列指定("1~3"など)も有効です。

敵キャラを追加(詳細)(AddEnemyDetail)

 要領は上の『敵キャラを追加』と同じですが、座標の指定が可能です。
 ただし、NRP_TroopRandomFormation.jsのランダム配置が有効な場合は、座標が上書きされてしまうので、ご注意ください。

プラグインパラメータ(Plugin Parameters)


自動で最速実行(AutoFastEvent)

 『1ページ目』かつ『実行しない』かつ『バトル』のイベントを最速実行します。

共通コモンイベント(CommonCommonEvent)

 戦闘開始時に常に最速実行されるコモンイベントです。
 敵グループに指定したイベントより後で実行されます。

敵全滅時でもイベント実行(EnemiesDefeatedEvent)ver1.01

 敵全滅時、戦闘が終わる前にバトルイベントを実行できるようにします。
 ターン終了や敵のHP0%以下などの条件と組み合わせるのがオススメです。
 ちなみに『$gameTroop.isAllDead()』のスクリプト条件で敵の全滅を判定できます。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 14:25 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする