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

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

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

投稿記事by にゃたま » 2017年4月05日(水) 13:17

いつもお世話になります。久々にリクエストさせて頂きたいことがありまして投稿させていただきます。
たとえばプレイヤーから離れた人物が会話している最中はプレイヤーは止まってしまいますよね?
プレイヤーが移動中も他の人が雑談してることがわかるといいなと思うのです。
いわゆる最近のFF15のように他の人がフキダシ等で会話してることを聞きながら移動するというものです。
例えばメッセージ中に制御文字でプレイヤー移動可のコマンドが追加できるといいと思います。
探してもそういったのが見つからなかったのでリクエストしました。
具体的には自律移動のタイプ「カスタム」移動ルートの設定のなかにスクリプトで
$gameSystem.setMessagePopup(1);$gameMessage.add("雑談文章\\|\\|\\^");を入力します。
話しかければ普通に答えてくれるようにします。
プラグインはトリアコンタン様のフキダシプラグインを使っています。
よろしくお願いします。
最後に編集したユーザー にゃたま on 2017年5月01日(月) 16:52 [ 編集 1 回目 ]

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

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年4月06日(木) 22:34

わかりやすくするためにこの症状が発生するプロジェクトを作ってみました。
よろしければご参考ください。

https://www.dropbox.com/s/xzpsr505hgy4b3w/TestGame2.zip?dl=0
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年4月23日(日) 23:06

こんにちは。

プラグインを試作してみました。
>2017/04/24更新 プラグインに変更を加えました。

以下の制御文字を加えると、プレイヤーが行動できるようになります。
\EMP

入力例)

コード: 全て選択

$gameMessage.add("\\EMP雑談1\\|\\|\\|\\^");

添付プロジェクトのルートに設定しているフキダシ文に追記することで、噴出し中に移動できます。


また、表示中のメッセージウィンドウを強制的に閉じるプラグインコマンドを用意しました。

コード: 全て選択

EMW_メッセージウィンドウ強制終了

このコマンドを実行すると、「$gameMessage.add()」で表示するメッセージを強制終了します。

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

YEP_MessageCore.jsと組み合わせる場合は、このプラグインを下にしてください。

不具合、分からない箇所がありましたら、ご連絡をお願いします。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

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

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年4月29日(土) 10:48

フトコロ様

こんにちは。お世話になっております。ご無沙汰しておりました。
まずは遅くなってしまい申し訳ございませんでした。
最近こちらのトピックのチェックが漏れておりました。
早2ヶ月近くも…大変失礼致しました。

本題になりますがとりあえず\EMPを文章の先頭に付けたら
見事動けるようになりました。素晴らしいの一言です。
しかも使いやすいようにメッセージウィンドウの複数表示等、細かな点に気を配ってますし
なにより使い方のヘルプが詳しく書かれててすごく参考になります。
これで自分の世界観を更に増すことができそうです。
これから色々テストしてみてなにかあればこちらにコメントさせて頂きます。
完全に問題がないようであれば解決済みとさせて頂きます。
お手数おかけして申し訳ございませんでした。今回はありがとうございました!
又機会がありましたらよろしくお願いします。
それでは失礼致します。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年4月29日(土) 19:53

フトコロ様

こんばんは。お世話になっております。
使い方に関してに関してお聞きしたいことがあるのですが、
プロジェクトにあるように雑談をするコマンドは
自律移動がカスタムでルートを指定した場合の移動ルートになるのですが
「メッセージウィンドゥ指定」のプラグインコマンドをどのように使用したら良いでしょうか?
こちらではスクリプトしか使用できずプラグインコマンドが使えないように見えます。
普通にイベントの実行内容にプラグインコマンドを追加できますが
ここに雑談する動作を記入するとこちらから話した時(決定ボタン押した時)に応対してくれなくなります。
相手が雑談してても話しかけて「話しかけるな」とか対応できると良いですね。
万一そういった動作が無理なら諦めることにします。

もう一つお聞きしたいのですが、ヘルプに書いてあるのを見ると
複数ウィンドウを出すときにはこの「メッセージウィンドゥ指定」のプラグインコマンドが
必須という認識でよろしいでしょうか?
例えば村人Aと村人Bが雑談中、村人Cと村人Dも同時に雑談できる(別ウィンドウにメッセージが表示される)
ということですよね?(その場合、フキダシプラグインが必須になると思いますが…)

以上よろしければ時間の許すときにでもお聞かせ願えたら幸いです。
よろしくお願いします。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年4月29日(土) 21:19

にゃたま さんが書きました:自律移動がカスタムでルートを指定した場合の移動ルートになるのですが
「メッセージウィンドゥ指定」のプラグインコマンドをどのように使用したら良いでしょうか?
こちらではスクリプトしか使用できずプラグインコマンドが使えないように見えます。
普通にイベントの実行内容にプラグインコマンドを追加できますが
ここに雑談する動作を記入するとこちらから話した時(決定ボタン押した時)に応対してくれなくなります。
相手が雑談してても話しかけて「話しかけるな」とか対応できると良いですね。

移動ルートで雑談文を表示しているイベントに話しかけたい場合
1.まず雑談文(フキダシ会話)はそのまま移動ルートで設定してください。

コード: 全て選択

$gameMessage.add("\\EMP雑談1\\|\\|\\|\\^")

2.決定ボタンで実行するイベントは以下のように作成します。

コード: 全て選択

◆プラグインコマンド:EMW_メッセージウィンドウ強制終了
◆プラグインコマンド:EMW_メッセージウィンドウ指定 1
◆文章:なし, ウィンドウ, 下
:  :話しかけるな

これで、フキダシ会話を強制終了させてから、画面下部に会話ウィンドウを表示するイベントができます。
細かく説明しますと
まず$gameMessage.add()で表示するウィンドウは、自動的にID0を使用します。
そのため決定ボタンで実行するイベントでは、ID0以外のウィンドウを指定する必要があります。
また、イベント1行目でID0を強制終了させないと、フキダシが表示したまま会話ウィンドウが表示されてしまいます。


にゃたま さんが書きました:複数ウィンドウを出すときにはこの「メッセージウィンドゥ指定」のプラグインコマンドが
必須という認識でよろしいでしょうか?

その認識で正解です。
メッセージウィンドウ指定コマンドでIDを分けないと同時には表示できません。


にゃたま さんが書きました:例えば村人Aと村人Bが雑談中、村人Cと村人Dも同時に雑談できる(別ウィンドウにメッセージが表示される)
ということですよね?(その場合、フキダシプラグインが必須になると思いますが…)

フキダシプラグインの中身を良く見ていないのでなんともいえませんが、一度に複数のフキダシを表示させるためには、プラグインの改造が必要になると思います。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

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

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by にゃたま » 2017年4月29日(土) 22:50

フトコロ様

フトコロ さんが書きました:これで、フキダシ会話を強制終了させてから、画面下部に会話ウィンドウを表示するイベントができます。
細かく説明しますと
まず$gameMessage.add()で表示するウィンドウは、自動的にID0を使用します。
そのため決定ボタンで実行するイベントでは、ID0以外のウィンドウを指定する必要があります。
また、イベント1行目でID0を強制終了させないと、フキダシが表示したまま会話ウィンドウが表示されてしまいます。


なるほど、わかってきました。フキダシプラグインを使わないデフォルトの場合、
「EMW_メッセージウィンドウ指定 1」の後にウィンドウ上の文章コマンド(文章1)を使うことにより
上のウィンドウにID1を割り当てたということになるのですね。
その状態で
「EMW_メッセージウィンドウ指定 2」の後にウィンドウ下の文章コマンド(文章2)を使うことにより
下のウィンドウにID2を割り当てて次に
「EMW_メッセージウィンドウ指定 1」の後にウィンドウ下の文章コマンド(文章3)を使うと
ID1(文章1)の上ウィンドウが消えて下に(文章3の)ウインドウが表示されるんですね。
間違ってたら指摘してください。


フトコロ さんが書きました:フキダシプラグインの中身を良く見ていないのでなんともいえませんが、一度に複数のフキダシを表示させるためには、プラグインの改造が必要になると思います。


フキダシプラグインにIDの概念が無いため同時に表示するのが難しいといった感じでしょうか?
こちらは作者であるトリアコンタン様に対応をお願いするしかなさそうですね。
フキダシプラグインは限りある画面のなかに小さなウィンドウを表示できるのがウリなので
複数ウィンドウ表示に対応できるとフキダシプラグインの価値があがりそうですね。

とりあえずもう少し色々テストしてみます。
このウィンドウを表示したまま動ける動作上は今のところ問題なさそうなのですが
後はフキダシプラグインによる複数ウィンドウ表示に期待してしまいますね!
トリアコンタン様、もしこのトピックを閲覧されてましたらご検討の程よろしくお願いします。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年4月29日(土) 23:24

にゃたま さんが書きました:なるほど、わかってきました。フキダシプラグインを使わないデフォルトの場合、
「EMW_メッセージウィンドウ指定 1」の後にウィンドウ上の文章コマンド(文章1)を使うことにより
上のウィンドウにID1を割り当てたということになるのですね。
その状態で
「EMW_メッセージウィンドウ指定 2」の後にウィンドウ下の文章コマンド(文章2)を使うことにより
下のウィンドウにID2を割り当てて次に
「EMW_メッセージウィンドウ指定 1」の後にウィンドウ下の文章コマンド(文章3)を使うと
ID1(文章1)の上ウィンドウが消えて下に(文章3の)ウインドウが表示されるんですね。
間違ってたら指摘してください。

その認識で問題ありません。


にゃたま さんが書きました:フキダシプラグインにIDの概念が無いため同時に表示するのが難しいといった感じでしょうか?
こちらは作者であるトリアコンタン様に対応をお願いするしかなさそうですね。

そう難しいことではないと思います。こちらで改造できないか検討してみます。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

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

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by トリアコンタン » 2017年4月29日(土) 23:31

>後はフキダシプラグインによる複数ウィンドウ表示に期待してしまいますね!
>トリアコンタン様、もしこのトピックを閲覧されてましたらご検討の程よろしくお願いします。

複数ウィンドウ表示についてはすでに何件がご要望をいただいているので、機能追加してみます。
しばらくお待ちください。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: イベントが会話中でもプレイヤーが動けるプラグイン

投稿記事by フトコロ » 2017年4月30日(日) 00:50

フキダシプラグインを当プラグインに対応できるように処理を追加してみました。(1059行以降~)
一応、複数ウィンドウにフキダシが表示できるようになったと思います。

使い方ですが、スクリプトに以下を追加しました。

$gameSystem.setMessagePopupEx(windowId, eventId)
⇒ウィンドウIDを指定して、ポップアップを有効化します。

文章を表示するスクリプトは、以下を使ってください。
$gameMessageEx.window(windowId).add('文章')

フキダシの設定については変えていないので、すべてのウィンドウIDで共通です。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

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

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