「指定された生成マップから目的の場所にイベントを生成できるプラグイン」です。
こちらはRPGツクールMZ向けの記事です。
RPGツクールMV向けの記事もございます。
プラグイン本体は 下記ページで英語版が配布されています。
galvs-scripts.com/2020/09/26/mz-event-spawner/
本体プラグインと日本語化パッチをダウンロードして、パッチを貼ってください。
どなたかのお役に立てば幸いです。
/*:ja * @plugindesc (v.1.2) 指定された生成マップから目的の場所にイベントを生成します。 * @url http://galvs-scripts.com * @target MZ * @author Galv * * @param mId * @text 生成マップID * @desc 生成可能なイベントを保存するために使用しているマップのマップID * @default 0 * * * @command spawnEvent * @text イベント生成 * @desc 特定の設定で現在のマップにイベントを生成します * * @arg eventId * @default 0 * @text イベントID * @desc 生成マップから生成するイベントのID。 * * @arg locationType * @text 生成位置タイプ * @type select * @desc このイベントを生成する方法を選択します。 * @default xy * @option XY位置 * @value xy * @option リージョンリスト * @value regions * * @arg locationData * @text 位置データ * @desc 位置タイプがXYの場合、x、y値を使用します。 リージョンの場合、リージョンIDをカンマで区切ってリストします。 * @default 0,0 * * @arg overlapType * @text 生成オーバーラップタイプ * @type select * @desc 生成場所がブロックされている場合、イベントを生成してオーバーラップさせる対象を指定します。 * @default none * @option オーバーラップなし * @value none * @option 全てオーバーラップ * @value all * @option オーバーラップ地形 * @value terrain * @option 重複するキャラ * @value chars * * @arg saveEvent * @text イベントを保存 * @desc trueはイベントを保存し、falseはプレイヤーがマップを離れるとイベントが消えます。 * @type boolean * @default false * * * @command clearEvents * @text イベント消去 * @desc 指定されたマップで生成されたイベントを消去します。 * * @arg mapId * @text MapId * @desc 生成されたイベントを消去するマップIDを選択します。 現在のマップの場合は0。 * @default 0 * * @arg clearType * @text 消去タイプ * @type select * @desc どのイベントを消去しますか? * @default normal * @option 保存されていないイベントのみ * @value normal * @option 生成された全てのイベント * @value all * * @help * 翻訳: * https://fungamemake.com/ * * Galv's Event Spawner * --------------------------------------------------------------------------- * このプラグインを使用すると、指定した「生成」マップからイベントをコピーして、 * 現在のマップに複製できます。 * この生成マップは「生成マップID」プラグインパラメーターで指定されます。 * x,yの位置またはランダムなリージョンIDに生成できます。 * * x、y位置を介してイベントを生成する時、位置がブロックされていて、 * 指定されたオーバーラップタイプで、 * ブロックしているものの上にイベントを生成できない場合、 * イベントは生成されません。 * * イベントをランダムなリージョンに生成する場合、 * 指定されたオーバーラップタイプで許可されていない * ブロックされているリージョンタイルは選択されません。 * * 「保存済み」イベントは、通常のイベントと同じように機能します。 * * それらは、開始位置(生成された場所)のみを保存します。 * * プレイヤーがマップを離れてから戻ってくると、元々生成された場所に移動します。 * 生成イベントの場所に注意してください。 * * 遅いデバイスは、マップ上のイベントが多すぎると苦労します。 * * --------------------------------------------------------------------------- * プラグインコマンド * --------------------------------------------------------------------------- * プラグインコマンドは、イベントの生成と消去に使用できます。 * 経験豊富なユーザーの場合、以下のスクリプトも利用できます。 * * 同一のイベントの生成を解除するには、 * 以下の「スクリプト」セクションのスクリプトを使用する必要があります。 * * --------------------------------------------------------------------------- * スクリプト * --------------------------------------------------------------------------- * * Galv.SPAWN.event(eventId,'type',[data],'overlap',save); * x,y座標にイベントを生成します。 * eventId = 生成する生成マップからのイベントのID * type = イベントを生成する場所に応じて、xy か regions を入れます。 * xy は特定の x,y の場所に生成します。 * regions は、指定されたリージョン内にランダムに生成されます。 * data = [x,y] 上記の xy タイプを使用する場合 * [id,id,id,id,id] 上記の regions を使用する場合 * overlap = all か chars か terrain のどれかを入れます。 * all * 何よりも上に発生します * terrain * ブロック地形に生成しますが、キャラには生成しません * chars * イベント/プレイヤーに生成しますが、地形には生成しません * save = true か false を入れます。 * trueはプレイヤーが離れてもイベントが保存され、 * マップ上に留まります。 * falseはプレイヤーがマップを離れるとイベントが消えます。 * * Galv.SPAWN.clear(mapId); * 通常の生成されたイベントをマップから削除します * * Galv.SPAWN.clear(mapId,true); * mapIdに生成されたイベントを全て削除します。 * mapIdを0にすると、現在のマップのイベントを消去します。 * * Galv.SPAWN.unspawn(this); * Unspawnsイベントコードが実行されます。 * * --------------------------------------------------------------------------- * 例 * Galv.SPAWN.event(3,'xy',[5,20],'all'); * 座標x5y20で一番上部にイベント3を生成 * * Galv.SPAWN.event(5,'regions',[1],'all'); * リージョン1の中でランダムにイベント5を生成 * * Galv.SPAWN.clear(0); * 現在のマップ上の通常のイベントを削除 * * Galv.SPAWN.clear(9,true); * マップ9の通常のイベントと保存されたイベントを削除 * * --------------------------------------------------------------------------- * 変数の制御スクリプト * --------------------------------------------------------------------------- * イベントを生成してすぐに、 * 変数の制御イベントコマンド内で次のスクリプトを使用することで、 * 最後に生成されたイベントのイベントIDを保存できます。 * * $gameMap._lastSpawnEventId * * --------------------------------------------------------------------------- */