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

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

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

投稿記事by にゃたま » 2017年5月14日(日) 23:29

フトコロ さんが書きました:とりあえず、①と③の現象については、現状の仕様のままで回避ができました。
プラグインを修正しましたので、更新をお願いします。

②については、以下の対応をお願いします。
少年の二つ目のフキダシ文スクリプトの前に
「$gameSystem.setMessagePopupEx(4,this._eventId);」
を追加すれば、正常に動きますね。


おおっ!すばらしいです!!全て解決できてます!
$gameSystem.setMessagePopupEx(4,this._eventId);
これって毎回フキダシで表示するごとにいるんですね。
やっと使い方がわかってきました。

実際のゲームに実装すると色々問題が表面に出てきたりして
四苦八苦してますがなんとか頑張ってます。

またなにかあればある程度まとめて問い合わせさせていただきますね。
うまく制作進むといいなー(*´﹃`*)ありがとうございました!

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

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

投稿記事by にゃたま » 2017年5月23日(火) 09:38

フトコロ様

お世話になっております。
製作中わからない点があったのでお聞きします。

イベントの実行内容に画像のように作ってみましたが
これですと初めの文章が表示されるだけで下の文章が続かないことがわかりました。
文章は表示されなくても実行内容の下まで実行されて
セルフスイッチは直ぐに切り替わってしまうようです。
プラグインコマンドの順番が間違ってるのでしょうか?
色々順番変えてみましたがわかりませんでした。

プレイヤーが動きつつもイベントが独り言のように順番にしゃべらせたいです。

プロジェクトを更新したのでよろしければそちらで確認いただけたら幸いです。
ワールドマップ左下の木から入るとわかると思います。よろしくお願いします。

追記
すみません。もう一点ですがマウスで目標地に向かう途中に会話ウィンドウが自動で開くと
そこで動きが停止してしまいます。ウィンドウが開いても止まらないようにならないでしょうか?
添付ファイル
スクリーンショット 2017-05-23 9.22.18.png
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

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

投稿記事by フトコロ » 2017年5月24日(水) 01:12

にゃたま さんが書きました:イベントの実行内容に画像のように作ってみましたが
これですと初めの文章が表示されるだけで下の文章が続かないことがわかりました。
文章は表示されなくても実行内容の下まで実行されて
セルフスイッチは直ぐに切り替わってしまうようです。


ご連絡ありがとうございます。
こちらでも確認して修正していますが、根本的な対策はもう少し時間が掛かりそうです。

なお、イベントに対して以下の修正を加えると現状のバージョン(v2.0.13)でも動作します。
1.イベントは並列処理にする。
2.すべての文章コマンドの前に「EMW_メッセージウィンドウ設定 1 行動許可」を追加(*1)
3.すべての文章コマンドの後に「ウェイト」を追加する。(文章の表示秒数+1秒くらいのウェイト)

(*1) ウィンドウが閉じると行動許可は解除されます。文章コマンド毎に設定してください。
なお、設定と行動許可は一つにまとめられます。

にゃたま さんが書きました:すみません。もう一点ですがマウスで目標地に向かう途中に会話ウィンドウが自動で開くと
そこで動きが停止してしまいます。ウィンドウが開いても止まらないようにならないでしょうか?

移動ルートの設定で、dispとenabledCanMovePlayerのスクリプト部を以下のように変えてみてください。
$gameMessageEx.window(x).clear()
$gameMessageEx.window(x).enabledCanMovePlayer()
$gameMessageEx.window(x).add('文章')
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

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

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

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

フトコロ様

フトコロ さんが書きました:ご連絡ありがとうございます。
こちらでも確認して修正していますが、根本的な対策はもう少し時間が掛かりそうです。

なお、イベントに対して以下の修正を加えると現状のバージョン(v2.0.13)でも動作します。
1.イベントは並列処理にする。
2.すべての文章コマンドの前に「EMW_メッセージウィンドウ設定 1 行動許可」を追加(*1)
3.すべての文章コマンドの後に「ウェイト」を追加する。(文章の表示秒数+1秒くらいのウェイト)

(*1) ウィンドウが閉じると行動許可は解除されます。文章コマンド毎に設定してください。
なお、設定と行動許可は一つにまとめられます。


ありがとうございます。おかげさまで動作するようになりました。
ただ一文章につきウェイトが必要になるというのは
文章の長さ(\|の数)に応じて毎回ウェイトを設定しなければならない事を意味しており
ちょっと手間ですね。
文章の表示が\^のタイミングで終了した時点で次の文章に移れるのが理想ですね。
やはりそこはプレイヤーが並列で操作できるようになることの弊害でしょうか。

あと2の「EMW_メッセージウィンドウ設定 1 行動許可」ですがこれでは動作しなかったので調べたのですが、
正確には「EMW_メッセージウィンドウ指定 1 行動許可」でした。

フトコロ さんが書きました:移動ルートの設定で、dispとenabledCanMovePlayerのスクリプト部を以下のように変えてみてください。
$gameMessageEx.window(x).clear()
$gameMessageEx.window(x).enabledCanMovePlayer()
$gameMessageEx.window(x).add('文章')


こちら問題なく動作致しました。
前回、文章の後にenabledCanMovePlayer()をつけると言われましたが
こちら文章の前につけても動作するんですね。
disp()だとマウスでの移動をカットしてしまうんですね。だとしたらdisp()を使う機会は無いのでしょうかね。

とりあえず一旦解決したのでありがとうございました。
もし動作の修正をされているということであれば、
こちらは急いでないのでゆっくり開発していただけたら幸いです。
更に使いやすいプラグインになることを心から祈っております。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

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

投稿記事by フトコロ » 2017年5月24日(水) 21:12

お世話になっております。
プラグインを修正しました。修正内容は以下の通りです。

1.ウィンドウが閉じても行動許可を解除しないように変更
行動禁止にするためには、プラグインコマンドや制御文字で設定する必要あり。
初期化スクリプトで行動許可が解除しないため、dispスクリプトの後にenabledCanMovePlayerスクリプトを実行しても有効になる。

2.行動許可中の文章の表示コマンドの実行判定を見直し
イベント実行のトリガーが「自動実行」または「並列処理」の場合のみ、行動許可が有効になる。
行動許可中でも、文章コマンドが連続した場合に、前の処理が終了しないと次のコマンドに移らないように変更した。

3.イベント終了時にウィンドウIDをリセットする機能を追加
プラグインパラメータ<Reset Window Id>を有効にすると、イベント終了時に自動でID0にリセットする。

4.プラグインコマンドにウィンドウIDの行動禁止コマンドを追加
「EMW_メッセージウィンドウ行動禁止 ウィンドウID」または、ID指定コマンドの引数に「行動禁止」を追加。

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

<マニュアル>
https://github.com/futokoro/RPGMaker/blob/master/FTKR_ExMessageWindow2.ja.md


>にゃたまさん

この更新によって、MAP002のイベントの内容を以下の様にすることができます。

コード: 全て選択

◆プラグインコマンド:EMW_メッセージウィンドウ指定 1 行動許可
◆プラグインコマンド:MWP_VALID this._eventId 1
◆文章:なし, ウィンドウ, 下
:  :さーてと捕まえにいくか〜
:  :だが十秒まってやるさ\|\|\|\|\^
◆文章:なし, ウィンドウ, 下
:  :い〜ち\|\^
◆文章:なし, ウィンドウ, 下
:  :に〜い\|\^
◆プラグインコマンド:MWP_VALID -1 1
◆文章:なし, ウィンドウ, 下
:  :\DMP待ってくれ!
◆プラグインコマンド:EMW_メッセージウィンドウ行動許可 1
◆プラグインコマンド:MWP_VALID this._eventId 1
◆文章:なし, ウィンドウ, 下
:  :さ〜ん\|\^
◆文章:なし, ウィンドウ, 下
:  :し〜い\|\^
◆文章:なし, ウィンドウ, 下
:  :ご〜お\|\^
◆文章:なし, ウィンドウ, 下
:  :ろ〜く\|\^
◆文章:なし, ウィンドウ, 下
:  :し〜ち\|\^
◆文章:なし, ウィンドウ, 下
:  :は〜ち\|\^
◆文章:なし, ウィンドウ, 下
:  :きゅ〜う\|\^
◆文章:なし, ウィンドウ, 下
:  :じゅ〜う\|\^
◆セルフスイッチの操作:A = ON
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

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

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

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

フトコロ様

こんにちは。御返事ありがとうございます。
バージョンもメジャーアップデート?したようで素晴らしく使いやすくなっていました!
ウェイトが不要になりウィンドウが閉じた時点で次に進行するようになり使いやすいです。
但しキャラが「じゅ〜う」と言った瞬間(言いながら)即追いかけてしまうので最後にウェイトを
入れると思った動作をするようになりました。

不具合かわからないのですがID0のウィンドウ表示中に他のIDのセリフが
後ろに重なって表示されてしまうことがあり気になりましたのでご報告いたします。

また、ID0のウィンドウが表示中カウントアップする少年のメッセージが通常のウィンドウに
戻ってしまうようです。上記と同じ絡みではないかと想像しております。

他に、雑談中のウィンドウが強制終了コマンドで消えないことがあるようです。

詳細は更新したプロジェクトのほうでご確認いただけたら幸いです。
雑談中の動作も新しいプラグインに合わせて調整してみました。
お手数おかけして申し訳ございませんがよろしくお願いします。

追記
あと、会話するとIDの0以外のウィンドウで雑談が進行しなくなったりします。
前のバージョンまではそのまま雑談が進行していたと思いますがこういう仕様になったのでしょうか?
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

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

投稿記事by フトコロ » 2017年5月25日(木) 21:19

お世話になっております。
プラグインを修正しました。修正内容は以下の通りです。

1.ウィンドウの強制終了が正常に動作しない不具合を修正。

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

<マニュアル>
https://github.com/futokoro/RPGMaker/blob/master/FTKR_ExMessageWindow2.ja.md


>にゃたまさん
にゃたま さんが書きました:不具合かわからないのですがID0のウィンドウ表示中に他のIDのセリフが
後ろに重なって表示されてしまうことがあり気になりましたのでご報告いたします。

また、ID0のウィンドウが表示中カウントアップする少年のメッセージが通常のウィンドウに
戻ってしまうようです。上記と同じ絡みではないかと想像しております。

これは、ウィンドウポップアッププラグインの仕様によるものです。
このため、当プラグインとの連携機能に対して以下のように仕様を変更しました。

1.ウィンドウを閉じた時にフキダシ無効化をする対象を、指定していたウィンドウIDのみに変更。
2.プラグインパラメータ[自動設定]をOFFに設定した場合、イベント起動時にフキダシ無効化する対象をウィンドウID0だけに変更
3.フキダシ無効化コマンドにウィンドウIDを指定する機能追加
4.場所移動時にすべてのウィンドウIDのフキダシ無効化処理を追加

MessageWindowPopup.js
v2.3.2
(58.08 KiB) ダウンロード数: 6 回


にゃたま さんが書きました:他に、雑談中のウィンドウが強制終了コマンドで消えないことがあるようです。

プラグインを修正しました。
お手数をかけますが、更新をお願いします。

にゃたま さんが書きました:あと、会話するとIDの0以外のウィンドウで雑談が進行しなくなったりします。
前のバージョンまではそのまま雑談が進行していたと思いますがこういう仕様になったのでしょうか?

これは、v2.1.0 の更新で、文章コマンドが連続した場合に前の処理が終了しないと次のコマンドに移らないように変更したことによるものです。
「自動実行」または「並列処理」以外で文章コマンドを実行すると、他のイベントの文章コマンドであっても実行を止めます。
回避するためには、スクリプトで文章を表示させるか、「自動実行」または「並列処理」で行動許可した文章コマンドを実行してください。



>トリアコンタンさん

ウィンドウポップアッププラグインを修正いたしました。
お手数をお掛けしますが、更新をお願いいたします。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

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

投稿記事by トリアコンタン » 2017年5月26日(金) 02:01

こんばんは!
頂いたソースコードをこちらのものとマージしました。
よろしくお願いします。

https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/MessageWindowPopup.js
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

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

投稿記事by にゃたま » 2017年5月26日(金) 17:10

フトコロ様

修正ありがとうございました。
何度かテストしてみましたがもう気になる症状はございません。

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

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

投稿記事by にゃたま » 2017年5月31日(水) 20:22

フトコロ様

いつもお世話になっております。

製作中どうしてもお聞きしたいことができましたのでお尋ねします。
イベントの自律移動「カスタム」の移動ルートでスクリプト使用を前提にお聞きします。

やりたいこととしては先ず
メッセージウィンドウの自動進行制御文字「//|//|//^」を使ったものではなく
動的に変わるウェイトによる進行にしたいです。

以下のコードをご覧ください。

コード: 全て選択

$gameSystem.setMessagePopupEx(5,this._eventId);
$gameMessageEx.window(5).clear()
$gameMessageEx.window(5).enabledCanMovePlayer()
$gameMessageEx.window(5).add('調べてます…')
$gameMessageEx.window(5).prohibitClose()
this._waitCount = $gameVariables.value(3)
$gameMessageEx.window(5).permitClose()
$gameMessageEx.window(5).terminate()

prohibitClose()にてウェイト中のウィンドウ消去を阻止しています。
これを実行するとウェイト中決定キーを押してもウィンドウが閉じません。
ですがこれを繰り返すとウィンドウそのものが表示されなくなったりします。
しかしどこでもいいので(何もないところで)決定キーなどのアクションを行うと
再び表示されますがやはり決定キーを押すまでは表示されなくなってしまいます。

この現象はプロジェクトをアップデートしましたのでそちらの
ワールドマップ左上から入れる砂地マップにて確認することができます。
一度ご確認いただくことはできませんでしょうか?

いつもお手間をおかけして申し訳ございません。
よろしくお願いします。

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