【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年5月03日(水) 18:24

フトコロ様

こんばんは。便利なプラグインをありがとうございます。
今のところ動作は問題ないようなのですが少しご相談したいことがあります。
イベントに$gameSystem.setMessagePopupEx();や$gameMessageEx.window(1).add();等のスクリプト
がある状態でプラグインそのものをOFFにしてしまうとそこで動作が停止してしまうようですが、
現状ですとこのプラグインをOFFにできずプラグインのデバッグ
(どのプラグインに問題があるのか切り分け)することが難しいように思います。
スクリプトのあるイベントを削除するわけにもいきませんし、
ちょっと困っております。スクリプトがあっても無視できるようにはならないでしょうか?
それではよろしくお願いします。

アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年5月03日(水) 23:41

にゃたまさん

にゃたま さんが書きました:フトコロ様

こんばんは。便利なプラグインをありがとうございます。
今のところ動作は問題ないようなのですが少しご相談したいことがあります。
イベントに$gameSystem.setMessagePopupEx();や$gameMessageEx.window(1).add();等のスクリプト
がある状態でプラグインそのものをOFFにしてしまうとそこで動作が停止してしまうようですが、
現状ですとこのプラグインをOFFにできずプラグインのデバッグ
(どのプラグインに問題があるのか切り分け)することが難しいように思います。
スクリプトのあるイベントを削除するわけにもいきませんし、
ちょっと困っております。スクリプトがあっても無視できるようにはならないでしょうか?
それではよろしくお願いします。


スクリプトで実行する内容にエラーがあってもゲームを止めないようにすることは可能です。
とりあえず、プラグインという形でエラーを無視する機能を設けました。

ただし、これの使用には注意が必要です。
理由としては、
1.スクリプトの記述ミスが問題の原因だった場合、見逃す可能性がある。
2.スクリプトの内容を無視してイベントを実行するため、無限ループや自動イベントが終わらないなど、予期せぬ動作が起きる可能性がある。

上記を承知の上で、通常はOFFにして、デバッグ時のみONにしてご利用ください。
添付ファイル
FTKR_IgnoreScriptError.js
(5.61 KiB) ダウンロード数: 3 回
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年5月04日(木) 08:13

フトコロ さんが書きました:ただし、これの使用には注意が必要です。
理由としては、
1.スクリプトの記述ミスが問題の原因だった場合、見逃す可能性がある。
2.スクリプトの内容を無視してイベントを実行するため、無限ループや自動イベントが終わらないなど、予期せぬ動作が起きる可能性がある。

上記を承知の上で、通常はOFFにして、デバッグ時のみONにしてご利用ください。


了解致しました。又動作を確認しました。
便利なプラグインありがとうございます。
色々対応していただきありがとうございました。
また何かあった際はよろしくお願いします。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年5月04日(木) 10:03

フトコロ様

お世話になっております。何度もすみません。
デバッグを繰り返すうちに問題が明らかになりました。
拡張ウィンドウが表示中メニューボタンの開閉を繰り返すと
セリフが重なって表示されてしまうことがわかりました。
村人1に村人2のセリフが表示されてしまうことがあります。
現在アップされているプロジェクトにてこの症状が発生しますので
一度動作を確認していただくことはできないでしょうか。
よろしくお願いします。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年5月04日(木) 12:47

にゃたま さんが書きました:拡張ウィンドウが表示中メニューボタンの開閉を繰り返すと
セリフが重なって表示されてしまうことがわかりました。
村人1に村人2のセリフが表示されてしまうことがあります。

この現象についてご説明します。

これは、addを使用した文章の表示の仕組み上避けられないものです。
正確に言うと、add は文章を表示するスクリプトではありません。
ウィンドウデータに表示する文章を登録するスクリプトです。

そして、ウィンドウは文章が登録されていると、自動で表示するようになっています。
ただし、メニューが開いている間など、何らかの要因でメッセージウィンドウを表示できない場合は、その状態で待機し、表示できるようになったタイミングでウィンドウを表示させます。
また、文章を表示する前に、別のaddスクリプトで文章が追加登録されていると、その内容も含めて文章は表示されます。

これがaddスクリプトによる文章の表示の流れで、セリフが重なって表示してしまう原因です。

つまり、村人2で表示させたい文章がメニュー表示で表示できず、メニューが閉じた段階で村人1のadd が呼ばれてしまったため、村人2の文章も合わせて、村人1で表示してしまうわけです。

この現象は通常では起きません。
(文章が登録された時点でプレイヤーは行動できなくなるため)
制御文字「\EMP」によって文章表示中にプレイヤーの行動を許可している間に発生する可能性があります。

これを回避するためには、addスクリプト の前に clearスクリプトを実行して ウィンドウデータ内の文章をクリアする必要があります。

コード: 全て選択

$gameMessageEx.window(1).clear()
$gameMessageEx.window(1).add('文章')


これではちょっと面倒だと思いましたので、既存の文章をクリアして新しい文章を表示させるスクリプトを追加しました。

コード: 全て選択

$gameMessageEx.window(1).disp('文章')

上記は、上の例の clear() と add('文章')を実行するスクリプトです。

addスクリプトから、このdispスクリプトに書き換えてください。

<ダウンロード>
https://raw.githubusercontent.com/futokoro/RPGMaker/master/FTKR_ExMessageWindow2.js

<マニュアル>
https://github.com/futokoro/RPGMaker/blob/master/FTKR_ExMessageWindow2.ja.md
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年5月04日(木) 13:21

フトコロ さんが書きました:これではちょっと面倒だと思いましたので、既存の文章をクリアして新しい文章を表示させるスクリプトを追加しました。

コード: 全て選択

$gameMessageEx.window(1).disp('文章')

上記は、上の例の clear() と add('文章')を実行するスクリプトです。

addスクリプトから、このdispスクリプトに書き換えてください。

毎度お手数おかけして申し訳ございません。
すごく分かりやすい説明で勉強になりました。
プロジェクトの全てのaddをdispに変更し置き換えてみましたが、
今度はポップアップのプラグインの効果がなくなり通常のウィンドウに戻ってしまいました。
この現象はアップデートしたプロジェクトを見ていただければ分かりやすいかと思います。
今一度チェックしていただけますでしょうか?

それと別件になりますが、場所移動したときに拡張ウィンドウが
新しい方のマップに引き継いでしまうようです。
こちらデフォルトで移動時に閉じていると嬉しいです。
こちらの現象もアップしたプロジェクトで確認できます。
移動前に「EMW_メッセージウィンドウ強制終了 すべて」のコマンドで
消えることを確認していますが出来たらこの動作をデフォルトにしていただけると嬉しいかなと思います。

それではよろしくお願いします。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年5月04日(木) 14:34

にゃたま さんが書きました:今度はポップアップのプラグインの効果がなくなり通常のウィンドウに戻ってしまいました。

これは、別途追加したウィンドウID毎のサイズ設定機能が、常にMessageWindowPopup.jsの設定を上書きしていたようです。
処理を見直しました。

にゃたま さんが書きました:それと別件になりますが、場所移動したときに拡張ウィンドウが
新しい方のマップに引き継いでしまうようです。
こちらデフォルトで移動時に閉じていると嬉しいです。
こちらの現象もアップしたプロジェクトで確認できます。
移動前に「EMW_メッセージウィンドウ強制終了 すべて」のコマンドで
消えることを確認していますが出来たらこの動作をデフォルトにしていただけると嬉しいかなと思います。

この不具合は見逃していました。
場所移動コマンド実行時に、すべてのウィンドウIDを強制終了する処理を追加しました。

<ダウンロード>
https://raw.githubusercontent.com/futokoro/RPGMaker/master/FTKR_ExMessageWindow2.js

<マニュアル>
https://github.com/futokoro/RPGMaker/blob/master/FTKR_ExMessageWindow2.ja.md
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年5月04日(木) 15:01

フトコロ さんが書きました:場所移動コマンド実行時に、すべてのウィンドウIDを強制終了する処理を追加しました。


対応いただきありがとうございます。
ジャンプの着地時にマップ遷移すると稀にですが(タイミング次第で)依然表示されてしまうことがあります。
これはもうこういうものと割り切るしかないのでしょうか?
これ以外は今のところ全く問題ないようです。よろしくお願いします。。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年5月04日(木) 15:35

フトコロ様

毎度お世話になっております。
デバッグ作業を進めて参りましたら今度は通常の会話ウィンドウにエラーが生じるように
なってしまいました。何度もお手数おかけして申し訳ございません。
プロジェクトをアップデートしましたのでご参考いただけたら幸いです。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 【解決済み】イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年5月04日(木) 16:43

にゃたま さんが書きました:デバッグ作業を進めて参りましたら今度は通常の会話ウィンドウにエラーが生じるように
なってしまいました。


確認しました。
ウィンドウID0 が正しく読み取れていなかったのが原因でした。

修正しましたので、再度確認をお願いします。(v1.0.7)
合わせて、マップ移動時のウィンドウ初期化についても再調整しました。

<ダウンロード>
https://raw.githubusercontent.com/futokoro/RPGMaker/master/FTKR_ExMessageWindow2.js
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。

“MV:プラグイン素材のリクエスト” へ戻る