ページ 11

【解決済み】「イベント動的生成プラグイン」における一時消去について

Posted: 2019年11月23日(土) 15:10
by Joe_2
はじめて投稿させていただきます。

トリアコンタン様の「イベント動的生成プラグイン」を使用させていただいているのですが、
イベント複製ののち『一時消去』をすると、メニュー画面を開いたあとでフリーズしてしまいます。

プラグインを使用して
『ハロルドに話しかけるとハロルドが画面内のどこかに複製され、複製元のハロルドは『一時消去』で消える』
というイベントを作製します。
01.png
実際このとおりに動くのですが、
04a.jpg
何回か試したあと一回でもメニューを開くと……
普通にメニューを開いたあと話しかけると……。
普通にメニューを開いたあと話しかけると……。
次にハロルドに話しかけた際、
『TypeError: Cannot read property 'pages' of null』
と出てストップしてしまいます。
03.png
試しに、『一時消去』ではなく、セルフスイッチで複製元のキャラを消すようにすれば、エラーは出ませんでした。

新規プロジェクトにて、他のプラグインを入れていない状態でも同じ症状が出ます。
どなたか、回避方法をご教示いただけないでしょうか。

Re: 「イベント動的生成プラグイン」における一時消去について

Posted: 2019年11月23日(土) 18:16
by 奏ねこま
プラグイン制作者であるトリアコンタンさんの対応を待つのが一番だと思いますが、
とりあえず暫定対応ということで以下の案を提示します。
無題.png
420行目にある「delete ~」の前に「//」とつけてください。

この修正で本件のエラーについては発生しなくなりますが、
これにより「本来なら一時消去で内部データからも削除されるはずの動的生成イベントが削除されなくなる」ため
それが原因で別の不具合が生じる可能性があります。予めご了承ください。

Re: 「イベント動的生成プラグイン」における一時消去について

Posted: 2019年11月24日(日) 14:54
by Joe_2
奏ねこまさん、ご返信ありがとうございます!



現在、アクションRPGっぽいものを製作していまして……。
01.png
動的生成プラグインは、ザコモンスターの復活処理に用いています。
(敵を倒すと、数秒後、画面外で復活する)
ただし倒した敵を『一時消去』すると上記のようにエラーになるので、倒した敵は透明にして画面外に追いやり、
数秒後に複製する、という処理にしていたのですが、
同じ場面でモンスターを狩りつづけていると動作がガクガクしはじめます。
これはやはり複製元のイベントを消していないため、イベントが増えすぎたためと考えられます。
(場所移動するとガクガクは直ります)
なので、やはりイベントを完全に『削除』しないと解決できないのですね。

併用していた敵にゲージを表示させるプラグイン(MKR_EventGauge)でも
イベントを『一時消去』するとエラーを吐くようで……。
エラーの内容は当然異なります。
エラーの内容は当然異なります。
スクリプトなどの知識は皆無なため、自力ではどうにもならず、
イベントを消去してから複製する、という仕様そのものを見直さなければならないのかもしれません。
今回はアイディアを提案していただき、ありがとうございました。

Re: 「イベント動的生成プラグイン」における一時消去について

Posted: 2019年11月24日(日) 14:57
by トリアコンタン
こんにちは!
プラグインのご利用ありがとうございます。

色々検討した結果、生成元を「動的生成イベント」として生成することはエラーのリスクが高いと判断しました。
なので生成元を「動的生成イベント」にした場合は、さらにその生成元をさかのぼって必ず静的イベントを生成元として生成するよう仕様変更しました。
これでこちらの環境ではエラー回避できました。

1.10.3 2019/11/24 動的生成イベントを生成元として生成する場合、実際の生成元を、元々の生成元の動的イベントではなく、さらにその生成元である静的イベントになるよう仕様変更
https://raw.githubusercontent.com/triac ... ReSpawn.js

Re: 「イベント動的生成プラグイン」における一時消去について

Posted: 2019年11月24日(日) 15:45
by Joe_2
トリアコンタン様

ありがとうございます。
たったいま、動作を確認しました。
こちらの環境でもイベントを『一時消去』しても大丈夫になりました!

試しに敵を100体ばかり倒してみましたが、(つまり100体を複製)
エラーは出ず、また消去しているおかげで動作もガクガクにならず、スムーズなゲーム進行が可能になりました。

仕様変更も考えていたところだったので、とても助かりました。
今回は本当にありがとうございました。