タイル上に自動でイベントを生成【RPGツクールMZ&MVプラグイン】

2024年04月29日

 タイル上に自動でイベントを生成します。
 タイルID、オートタイルタイプ、地形タグ、リージョンIDを条件にして、その上に自動で指定のイベントを生成します。

 また、タイルを消去してイベントに置き換えることも可能です。
 ※タイルID、オートタイルタイプが条件の場合のみ


 アニメーションするタイルなど様々な使い方が可能です。
 マップ切替時またはプラグインコマンドによって実行します。

 ※このプラグインは色々と不安定です。必要性が薄いなら使用しないことをオススメします。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

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

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

注意点(Notice)

プラグインパラメータ(基本)

テンプレートマップID(TemplateMapId)

設定リスト(SettingList)

ロード時にイベント初期化(InitEventOnLoad)

タイルセット変更時も処理(ApplyChangeTileset)

画面外のイベント描画停止(StopOutOfRange)

範囲外の余裕幅(OutOfRangeMargin)


プラグインパラメータ(設定リスト)

設定ID(SettingId)

全タイルセットで有効(ValidAllTilesets)

タイルID(TileId)

オートタイルタイプ(AutotileType)

地形タグ(TerrainTag)

リージョンID(RegionId)

イベントID/名前(EventId)

タイルを置換する(Replace)

X座標補正(AdjustX)

Y座標補正(AdjustY)


謝辞(Acknowledgment)


導入方法(install)


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

 NRP_TileToEvent.js ver1.06(2024/04/29)

オプション

タイル情報をデバッグ表示する(詳細

 NRP_DebugTile.js ver1.01(2021/08/15)

 ※F2を押すだけで、足元のオートタイルタイプやタイルIDを確認できるようにするプラグインです。NRP_TileToEventの補助用に使えます。

更新履歴(History)


2024/04/29(ver1.06)

  • ver1.052にて「ロード時にイベント初期化」がオンの場合、ロード時にタイルイベントが重複して作成されてしまう不具合修正。

2023/07/18 -> 2024/04/28(ver1.05 -> 1.052)

  • NRP_PutRandomEvents.jsと併用時にイベントが上書きされて消滅してしまう不具合修正。
  • 『ロード時にイベント初期化』の既定値をオンに変更。
  • マップリロード時にタイル置換が適切に行われない不具合修正。
    (2023/07/23 ver1.051)
  • ロード時にエラーとなる競合用に調整。(2024/04/28 ver1.052)

2022/05/21 -> 2023/05/24(ver1.04 -> 1.042)

  • 『画面外のイベント描画停止』がオンの場合、稀に置換する素材画像全体がチラ見えしてしまう不具合修正。
  • マップ内のイベントIDが歯抜け状態の場合、イベントが正常動作しなくなることがある不具合修正。(2022/06/07 ver1.041)
  • レイヤー1にタイルが存在しない場合、リージョンや地形タグを条件とした置換に失敗する不具合修正。(2023/05/24 ver1.042)

2022/01/15(ver1.03)

  • マップ編集後のロード時も動作するように修正。

2021/12/26(ver1.02 -> 1.021)

  • 『タイルを置換する』がオンの置換処理を行った際、場所移動時に誤ったタイルを消去してしまう不具合を修正。
  • 同一マップ内での場所移動を考慮できてなかったので修正。(ver1.021)

2021/09/11 -> 2021/11/11(ver1.01 -> 1.011)

  • セーブ後にエディタでイベントの追加・削除を行い、ロードするとエラーになることがある不具合に対処。
    ※完璧を約束するものではありませんが、ある程度は緩和できると思います。
  • イベントテストでエラーになる不具合修正。(11/11 ver1.011)

2021/05/15(ver1.00)

  • 公開!

使用方法(Usage)


 まずは生成したいイベントを準備します。

  1. テンプレート用のマップを作成し、イベントを作成する。
    分かりやすくイベント名を付けておく。
  2. プラグインパラメータのテンプレートマップIDに
    先程のマップIDを登録。

 要するに公式ローンチプラグインのTemplateEvent.js(トリアコンタン様)とほぼ同じです。

 次にプラグインパラメータの『設定リスト』に条件を指定し、生成するイベントの『イベントID/名前』を入力します。
 この際、参照用に『設定ID』を設定しておきます。
 ※タイルIDやオートタイルタイプを参照したい場合は、付属の『NRP_DebugTile.js』が便利です。

 最後にタイルセットのメモ欄に、先程の『設定ID』を登録すれば完了です。
 以下の?の部分に入力してください。
<TileToEvent:?>


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


IDを指定して実行

 設定IDを指定すれば処理が実行されます。
 内容は上記の使用方法にて、タイルセットに設定IDを登録した場合と同様です。

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


NRP.TileToEvent.CallId [設定ID]

 処理内容はMZ版と同じです。
 ※大文字小文字は不問。[]は含めないでください。

注意点(Notice)


 ツクールの仕様上、イベントが存在するだけで、少しずつマップ上での負荷が上昇します。例えば、千を超えるような大量のイベントを生成すると、動作が重くなる可能性があります。

 当プラグインには生成したイベントが画面範囲外の場合に、描画を停止する処理が含まれています。これによってある程度負荷を軽減できます。

 また、1マスずつタイルを確認&処理する仕様上、大きなマップに大量のイベントを生成すると少しだけ時間がかかります。
 ※とはいえ、よほどの処理をしない限り一瞬で終わりますが。

 イベントを生成したマップでプレイヤーがセーブをした後、マップイベントの追加や削除などが行われるとデータが不整合になる可能性があります。なるべく影響が出ないように考慮したつもりですが、他プラグインとの相性などもあって完璧ではありません。
 『ロード時にイベント初期化』をオンにしたほうが安定するかもしれません。

プラグインパラメータ(基本)


テンプレートマップID(TemplateMapId)

 タイルを置き換えるイベントを配置するマップIDです。

設定リスト(SettingList)

 設定内容の一覧です。
 詳細は下の『プラグインパラメータ(設定リスト)』を参照してください。

ロード時にイベント初期化(InitEventOnLoad)

 ゲームロード時にイベントを初期化します。
 オンにするとイベントの位置が保存されなくなります。

タイルセット変更時も処理(ApplyChangeTileset)

 タイルセットの変更時も処理を実行します。

画面外のイベント描画停止(StopOutOfRange)

 画面範囲外のイベントの描画を停止します。これにより、大幅な処理の軽量化が見込めます。
 競合などの問題が起きそうな場合はオフにしてください。

範囲外の余裕幅(OutOfRangeMargin)

 『画面外のイベント描画停止』について範囲外と見なす余裕の幅です。
 数値分だけ画面外にはみ出していても停止しません。

プラグインパラメータ(設定リスト)


設定ID(SettingId)

 タイルセットのメモ欄(あるいはプラグインコマンド)からの呼び出しに使う識別子です。
 『全タイルセットで有効』がオンの場合は不要です。

全タイルセットで有効(ValidAllTilesets)

 設定を全てのタイルセットで有効にします。
 オフにした場合は、個別のタイルセットに設定できます。

タイルID(TileId)

 対象とするタイルIDを指定します。複数指定も可能です。(例:1,3~5)

オートタイルタイプ(AutotileType)

 対象とするオートタイルタイプを指定します。複数指定も可能です。(例:1,3~5)

地形タグ(TerrainTag)

 対象とする地形タグ(1~7)を指定します。複数指定も可能です。(例:1,3~5)

リージョンID(RegionId)

 対象とするリージョン(1~255)を指定します。複数指定も可能です。(例:1,3~5)

イベントID/名前(EventId)

 置換先のイベントです。
 イベントは指定したテンプレートマップにあらかじめ配置してください。
 ID/名前の両方が有効です。

タイルを置換する(Replace)

 元々のタイルを消去します。
 タイルIDまたはオートタイルタイプが条件の場合のみ有効です。

X座標補正(AdjustX)

Y座標補正(AdjustY)

 イベントを生成するX座標、Y座標を補正します。
 元のタイルから少しずらして配置したいという場合にどうぞ。

謝辞(Acknowledgment)


 このプラグインは、トリアコンタン様の以下のプラグインの処理を参照&流用させていただきました。

  • TemplateEvent.js
  • EventReSpawn.js

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