【解決済み】テンプレートイベントプラグインのイベントID保持について

アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

【解決済み】テンプレートイベントプラグインのイベントID保持について

投稿記事by にいやん » 2017年5月13日(土) 15:58

トリアコンタンさんのテンプレートイベントプラグインを使わせてもらっています。
テンプレートマップにあるイベントを、テンプレートマップで作ったイベントIDのままで保持して呼び出し使おうと思っているのですが上手くいきません。
↓のように設定してイベントの呼び出しには成功していますがイベントのIDが変わりません。
やりたいことはテンプレートマップにあるイベントID200のような固定のIDをそのままで別のマップに呼び出したいと思っています。
赤で囲んだところがそれに該当する部分なのかなと思ったのですが、動作しないのでこのパラメータはそういった動きをするようなパラメータではないのかなと思って質問させて頂きました。
test1.png
test1.png (58.61 KiB) 閲覧数: 1881 回
最後に編集したユーザー にいやん on 2019年5月12日(日) 23:44 [ 編集 1 回目 ]

奏ねこま
記事: 637
登録日時: 2016年1月20日(水) 20:04

Re: テンプレートイベントプラグインのイベントID保持について

投稿記事by 奏ねこま » 2017年5月13日(土) 16:34

「イベントIDを維持」パラメータは、プラグインコマンドの「TEマップイベント呼び出し」実行時の
呼び出された側のイベント内での扱いを設定するパラメータです。

テンプレートイベントのIDが知りたいだけであれば、下記スクリプトで取得できます。
$gameMap.event(this._eventId)._templateId
上記を「変数の操作」で指定すれば、変数にテンプレートイベントIDが取得できます。
イベントIDが取得できれば、その他もろもろのイベント情報も(やり方さえ知っていれば)取得できると思います。

「このイベント」を指定したときにテンプレートイベント自体を指すようにしたい、ということであれば
プラグイン自体の改変が必要になります。
アバター
トリアコンタン
記事: 2117
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: テンプレートイベントプラグインのイベントID保持について

投稿記事by トリアコンタン » 2017年5月13日(土) 17:15

こんにちは!
プラグインのご利用ありがとうございます!

「イベントIDを維持」のパラメータについては奏ねこまさんの仰るとおりの機能です。

テンプレートマップにあるイベントを、テンプレートマップで作ったイベントIDのままで保持して呼び出し使おうと思っているのですが上手くいきません。


こちらを実現しようとした場合、同一マップに同一ID(テンプレートマップのイベントID)のイベントが複数存在することが可能になってしまい、様々な競合や誤作動の原因になるので機能追加はちょっと難しいです。。

具体的なやりたいこと次第で、他のアプローチが可能かもしれません。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: テンプレートイベントプラグインのイベントID保持について

投稿記事by にいやん » 2017年5月13日(土) 17:50

奏ねこまさん、トリアコンタンさん、返信ありがとうございます。
イベントIDの維持の目的はサンシロさんのプラグイン:SAN_ResidualSpritesの残像を、テンプレートマップから呼び出したイベントに表示したかったためです。

■イベントの残像
イベントの残像スプライト生成の有効無効を設定するには
次のスクリプトコマンドを実行してください。

$gameMap.event(eventId).residual().setValid(valid);
・eventId : イベントIDです。
・valid : 残像有効フラグです。
trueで有効、falseで無効です。

こちらのスクリプトコマンドでeventIdを指定するときに0で【このイベント】と認識するのかなと思ったのですが、固有のイベントIDを指定するタイプだったのでテンプレートイベントプラグインの方にそういう機能がないのかと思った次第です。

現状、敵イベントは全てテンプレートマップから呼び出して、動くイベント(アクションRPGのマップで敵が射つ魔法など)に厚みを持たせたかったのですが別の方法が無いか探してみることにします。
奏ねこま
記事: 637
登録日時: 2016年1月20日(水) 20:04

Re: テンプレートイベントプラグインのイベントID保持について

投稿記事by 奏ねこま » 2017年5月13日(土) 18:30

うーむ。
テンプレートイベントの1ページ目を自動実行にして、1ページ目の中で残像スクリプトを実行し
すぐに2ページ目に切替える、という方法で、それっぽい動作はしてくれるようになったのですが…
キャラクター画像が、テンプレートイベント2ページ目のものになってしまいました。
なかなか上手くいかないもんですね… :|

■テンプレートイベント内容
0.png

■テンプレートを適用したマップイベント2つ
1.png

■結果
2.png
奏ねこま
記事: 637
登録日時: 2016年1月20日(水) 20:04

Re: テンプレートイベントプラグインのイベントID保持について

投稿記事by 奏ねこま » 2017年5月13日(土) 18:38

適用側のイベントにも2ページ目を作ってやれば、ちゃんとその2ページ目の画像が表示されました!
焦ってよく確認せずすいません…

■結果
3.png
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: テンプレートイベントプラグインのイベントID保持について

投稿記事by にいやん » 2017年5月13日(土) 19:04

自分の方でも奏ねこまさんの方法を試させていただきました。

$gameMap.event(eventId).residual().setValid(true);

eventIdには数字しか入れられないと思っていましたがthis._eventIdと入力するとこのイベントとして認識してくれるのですね、とても勉強になりました。this._eventIdを有効にするためにプラグインコマンドではなくスクリプトコマンドなんだと考えると私の完全な認識不足でした。素人質問で本当に申し訳ありませんでした。

全て想定通りの動きをするようになりました。ありがとうございました。

“MV:質問” へ戻る