フトコロ様のFTKR_ExMessageWindow2.jsとtomoaky様のTMEventItemEx.jsを併用したときに
以下のエラーが表示されることがわかりました。
恐らく競合ではないかと思うのですが双方とも使いたいプラグインですので
可能でしたら対応いただけないでしょうか?是非ともよろしくお願いいたします。
追記
こちら当初はKeyItemNumberとChangeSelectItemWindowで併用して対応していたのですが、
どうしてもヘルプ画面表示の機能が欲しかったので結局TMEventItemExを使うことになりました。
お手数おかけしますがよろしくお願いいたします。
FTKR_ExMessageWindow2のエラーについて
Re: FTKR_ExMessageWindow2のエラーについて
こちらの件で独自に調査してみましたが、TMEventItemEx.jsとの併用時のエラーについて、
以下のようにエラーの該当箇所(1617行)をコメント化したところエラーがなくなりました。
ここの処理(this.addWindow(window);)では何をしているのでしょうか?
この上行(1615行目)にthis.addWindow(this._messageExWindows[windowId]);でウィンドウを
追加しているみたいですが、
更にその下のエラー箇所(1617行)でaddWindowをしている意味がよくわかりません。
addWindowが2重になっているようにみえます。
果たしてこの行は必要であるのか。削除してしまって良いものなのか。
ご存知の方居ましたら助言いただけますと幸いです。
スクリプトが現在の私には難解すぎたようです…orz
尚、プラグインは下記よりダウンロードできます。
https://github.com/futokoro/RPGMaker/bl ... dow2.ja.md
https://hikimoki.sakura.ne.jp/plugin/TMEventItemEx.js
3/10追記
やっと原因がわかってきましたが、TMEventItemExを有効にすると
windowに本来入ってくるはずのないobjectでないundefinedが入ってくることがわかりました。
どうもこのundefinedのウィンドウが悪さをしているものだと思い、
これをカットすれば競合が発生しないのではないかという結論になり
if(window !== undefined) this.addWindow(window);
のコードに変更してみました。この結果エラーを回避することができました。
この考えは合っているでしょうか?
以下のようにエラーの該当箇所(1617行)をコメント化したところエラーがなくなりました。
コード: 全て選択
this._messageExWindows[windowId].subWindows().forEach(function(window) {
//this.addWindow(window);
}, this);
ここの処理(this.addWindow(window);)では何をしているのでしょうか?
この上行(1615行目)にthis.addWindow(this._messageExWindows[windowId]);でウィンドウを
追加しているみたいですが、
更にその下のエラー箇所(1617行)でaddWindowをしている意味がよくわかりません。
addWindowが2重になっているようにみえます。
果たしてこの行は必要であるのか。削除してしまって良いものなのか。
ご存知の方居ましたら助言いただけますと幸いです。
スクリプトが現在の私には難解すぎたようです…orz
尚、プラグインは下記よりダウンロードできます。
https://github.com/futokoro/RPGMaker/bl ... dow2.ja.md
https://hikimoki.sakura.ne.jp/plugin/TMEventItemEx.js
3/10追記
やっと原因がわかってきましたが、TMEventItemExを有効にすると
windowに本来入ってくるはずのないobjectでないundefinedが入ってくることがわかりました。
どうもこのundefinedのウィンドウが悪さをしているものだと思い、
これをカットすれば競合が発生しないのではないかという結論になり
if(window !== undefined) this.addWindow(window);
のコードに変更してみました。この結果エラーを回避することができました。
この考えは合っているでしょうか?
Re: FTKR_ExMessageWindow2のエラーについて
こんにちは。
subWindows()というのは、メッセージウィンドウに紐づく以下のウィンドウのことです。
選択肢ウィンドウ、Goldウィンドウ、アイテム選択ウィンドウ、数字選択ウィンドウ
※YEP_MessageCoreと併用していると、名前ウィンドウも
それを forEach文を使って、それぞれのウィンドウデータを addWindow()で
メッセージウィンドウのデータに紐づけているのです。
上記の選択肢ウィンドウなどを使わないのであれば、コメントアウトしても問題ないですが
そうでなければやめたほうが良いですね。
これは、大元のメッセージウィンドウのデータをマップレイヤーデータに紐づけている処理です。
ですので、subWindows()のaddWindow()とは別の処理です。
記載のあったリンクからTMEventItemExの中身を拝見しましたが
このプラグインはアイテム選択ウィンドウを表示するときにヘルプウィンドウを紐づけて
表示させるというプラグインのようです。
このTMEventItemExプラグインの中で、subWindows()にヘルプウィンドウが追加されていますが
この処理が、FTKR_ExMessageWidnows2で正しく反映できていないため
ヘルプウィンドウのデータが undefined になっていると推測します。
エラー回避として記載したコードで
恐らく、拡張ウィンドウでTMEventItemExの機能を使わなければ問題ないと思います。
にゃたま さんが書きました:以下のようにエラーの該当箇所(1617行)をコメント化したところエラーがなくなりました。
this._messageExWindows[windowId].subWindows().forEach(function(window) {
//this.addWindow(window);
}, this);
ここの処理(this.addWindow(window);)では何をしているのでしょうか?
subWindows()というのは、メッセージウィンドウに紐づく以下のウィンドウのことです。
選択肢ウィンドウ、Goldウィンドウ、アイテム選択ウィンドウ、数字選択ウィンドウ
※YEP_MessageCoreと併用していると、名前ウィンドウも
それを forEach文を使って、それぞれのウィンドウデータを addWindow()で
メッセージウィンドウのデータに紐づけているのです。
上記の選択肢ウィンドウなどを使わないのであれば、コメントアウトしても問題ないですが
そうでなければやめたほうが良いですね。
にゃたま さんが書きました:この上行(1615行目)にthis.addWindow(this._messageExWindows[windowId]);でウィンドウを
追加しているみたいですが
これは、大元のメッセージウィンドウのデータをマップレイヤーデータに紐づけている処理です。
ですので、subWindows()のaddWindow()とは別の処理です。
にゃたま さんが書きました:やっと原因がわかってきましたが、TMEventItemExを有効にすると
windowに本来入ってくるはずのないobjectでないundefinedが入ってくることがわかりました。
記載のあったリンクからTMEventItemExの中身を拝見しましたが
このプラグインはアイテム選択ウィンドウを表示するときにヘルプウィンドウを紐づけて
表示させるというプラグインのようです。
このTMEventItemExプラグインの中で、subWindows()にヘルプウィンドウが追加されていますが
この処理が、FTKR_ExMessageWidnows2で正しく反映できていないため
ヘルプウィンドウのデータが undefined になっていると推測します。
エラー回避として記載したコードで
恐らく、拡張ウィンドウでTMEventItemExの機能を使わなければ問題ないと思います。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md
検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md
検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
Re: FTKR_ExMessageWindow2のエラーについて
フトコロ様
お世話になっております。お返事が遅れ申し訳ございません。
わざわざプラグインの挙動的なことを事細かに教えていただいて心苦しく思うと同時に有り難く思います。
>拡張ウィンドウでTMEventItemExの機能を使わなければ問題ないと思います。
とりあえずは拡張ウィンドウでTMEventItemExの機能を使わない方針でやってみます。
どうしても機能が必要になった場合は再度ご連絡差し上げます。
今のところはとりあえず大丈夫そうです。
まだまだ勉強不足な点ばかりなので頼ってしまうこともあると思うのですが
その際はできたら見捨てないで対応していただけたら嬉しいです…orz
お世話になっております。お返事が遅れ申し訳ございません。
わざわざプラグインの挙動的なことを事細かに教えていただいて心苦しく思うと同時に有り難く思います。
>拡張ウィンドウでTMEventItemExの機能を使わなければ問題ないと思います。
とりあえずは拡張ウィンドウでTMEventItemExの機能を使わない方針でやってみます。
どうしても機能が必要になった場合は再度ご連絡差し上げます。
今のところはとりあえず大丈夫そうです。
まだまだ勉強不足な点ばかりなので頼ってしまうこともあると思うのですが
その際はできたら見捨てないで対応していただけたら嬉しいです…orz