イベント動的生成プラグイン – EventReSpawn.js

タイトル
イベント動的生成プラグイン
作者名
ヘルプ
イベントをコピーして動的に生成します。
コピーした一時イベントは、イベントコマンド「イベントの一時消去」によって
完全に削除され、オブジェクトとスプライトの使用領域を解放します。
セルフスイッチは個別に管理され、生成されるたびに初期化されます。

プラグインコマンド詳細
イベントコマンド「プラグインコマンド」から実行。
(パラメータの間は半角スペースで区切る)

ERS_生成 1 5 10 # イベントID[1]のイベントをコピーしてX[5] Y[10]に配置
ERS_MAKE 1 5 10 # 同上

イベントIDを「0」にすると実行中のイベント(このイベント)を複製します。

●追加機能●
イベントIDに「文字列」を指定するとイベント名が一致するイベントを
複製対象にします。(対象が複数存在する場合は一番小さいIDになります)

ERS_生成 aaa 5 10 # イベント名[aaa]のイベントをコピーしてX[5] Y[10]に配置
ERS_MAKE aaa 5 10 # 同上

他のプラグインコマンドも同様です。

生成位置をランダムにすることもできます。ただのランダムではなく
以下の補助条件を指定したうえでのランダムです。
a. 通行可能かどうか(0:判定なし 1:通行可能タイルのみ)
b. 画面内 or 画面外(0:判定なし 1:画面内 2:画面外)
c. 他のキャラとの重なり(0:判定なし 1:プレイヤー 2:イベント 3:両方)
d. 地形タグ(0:判定なし 1..:指定した地形タグ)
e. リージョン(0:判定なし 1..:指定したリージョン)

ERS_ランダム生成 1 1 2 3 5 4 # イベントID[1]のイベントを下記の条件(※)で配置
ERS_MAKE_RANDOM 1 1 2 3 5 4 # 同上
※ 通行可能かつ画面外かつプレイヤーもしくはイベントが存在せず
地形タグが「5」でリージョンが「4」の位置の中からランダム

地形タグとリージョンは複数指定できます。
カンマで数値を指定してください。
ERS_MAKE_RANDOM 59 0 0 0 3,4 0 # 地形タグ[3][4]に配置

また特に、a.b.c.の条件指定がやりにくかったため文章による指定も可能にしました。
上記の条件は以下のように書き換えることができます。(順番入れ替えは不可)

ERS_ランダム生成 1 通行可能タイルのみ 画面外 両方 5 4
ERS_MAKE_RANDOM 1 passonly offscreen both 5 4

以下は同じ意味で用いることが出来る同義語リストです。
判定なし 条件なし none
通行可能タイルのみ 通行のみ passonly
画面内 onscreen screen
画面外 offscreen
プレイヤー player
イベント event
両方 both

ランダム生成する個数を設定できます。7番目のパラメータから指定します。
ERS_MAKE_RANDOM 1 1 1 1 1 1 2 # [2]個のイベントをランダム生成します。

最後に動的生成したイベントのイベントIDを取得できます。
指定した番号の変数に格納されます。

ERS_最終生成イベントID取得 10 # 最後に生成したイベントIDを変数[10]に設定
ERS_GET_LAST_SPAWN_EVENT_ID 10 # 同上

イベントIDを「0」にすると実行中のイベント(このイベント)を複製します。

・他プラグインとの連携
テンプレートイベントプラグイン「TemplateEvent.js」と組み合わせると
テンプレートマップに定義したイベントを直接、マップに生成することができます。
「TemplateEvent.js」を適用せずにコマンドを実行するとエラーになります。

ERS_テンプレート生成 1 5 10 # テンプレートマップのイベントID[1]を生成します。
ERS_MAKE_TEMPLATE 1 5 10 # 同上

ERS_テンプレートランダム生成 1 1 2 3 5 4 # テンプレート[1]をランダム生成
ERS_MAKE_TEMPLATE_RANDOM 1 1 2 3 5 4 # 同上
※ 補助条件に関しては「ERS_ランダム生成」と同様です。

「TemplateEvent.js」取得元
https://github.com/triacontane/RPGMakerMV

YEP_EventMiniLabel.jsと併用する場合、当プラグインを下に配置してください。

・確定出力方式について
イベント生成位置を決定するとき、ランダム試行ではなく条件を満たす位置に確実に生成します。
生成時にマップ全体を走査し条件を満たす場所を探します。
リージョンのみの指定など、生成場所の候補が少ない場合に有効です。
パラメータ「確定出力方式スイッチ」に対するスイッチがONになっているとこちらのモードで
出力します。

さらに、マップにリージョンを配置するだけでイベントやテンプレートイベントを
配置できます。コピー元イベントのメモ欄にタグを記述してください。
・リージョン[1]を配置したマスにイベントのコピーを配置
<CP:1>

利用規約:
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
についても制限はありません。
このプラグインはもうあなたのものです。
パラメータ
param keepSelfSwitch
text セルフスイッチ維持
desc 有効にすると場所移動時にセルフスイッチをクリアしなくなります。イベントの消去を実行した場合はクリアされます。
default false
type boolean

param tryRandomCount
text 試行回数
desc ランダム生成をする際の試行回数です。イベント生成に失敗する場合は数値を大きくしてください。
default 1000
type number

param CertainSpawnSwitch
text 確定出力方式スイッチ
desc 指定されたスイッチがONのとき、生成時に「確定出力方式」を使用します。詳細はヘルプを確認してください。
default 0
type switch

ライセンス表記
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
(C) 2016 Triacontane
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/triacontane/RPGMakerMV/blob/master/EventReSpawn.js