【解決済み】

返信する
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

【解決済み】

投稿記事 by ドラムカン »

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

「フォロワーに接触した時、実行されるプラグイン」というものは存在しますでしょうか?
どうか宜しくお願いいたします。
最後に編集したユーザー ドラムカン [ 2023年6月25日(日) 21:49 ], 累計 2 回
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: パーティーがイベントから離れたタイミングで実行するイベント

投稿記事 by WTR »

扉を通過したら隊列メンバーを集合させるのはダメでしょうか?
一瞬操作を奪うことになりますがそんなに違和感ないと思いますよ。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事 by ドラムカン »

WTR 様

ご回答ありがとうございます。

お伝えしそびれており、申し訳ございません。
私も真っ先にそれをやりましたが、集合速度を最速にしても
4人ですとラグが気になり、操作性を損ねてしまいます。
非常にテンポを大事にしている性分ですので、
別の解決策がありますと幸いです。

扉2マスのイベントか、もしくは降りるイベント上下1つずつの計4イベントで
対応させたいと考えておりますが、やはり無理でしょうか?
最後に編集したユーザー ドラムカン [ 2023年6月25日(日) 21:49 ], 累計 1 回
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: パーティーがイベントから離れたタイミングで実行するイベント

投稿記事 by WTR »

あまりシンプルな方法は思いつきませんでした…
フォロワーの座標を並列処理で監視して全員が扉から離れたら扉を閉じる…くらいでしょうか。

フォロワー全員が扉より下にいるとき true

コード: 全て選択

$gamePlayer.followers()._data.every(follower => follower.y > $gameMap.event(扉イベントID).y)
上から開けたか、下から開けたかで処理分けする必要がありそうですが。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事 by ドラムカン »

WTR 様

素晴らしい解決案をご教示くださり、誠にありがとうございます。

いただいたスクリプトを早速試してみましたところ、
しばらく歩かないと発動しないようでした。

並列処理イベントに以下の条件分岐スクリプトを入れております(※イベントIDは13です)。
$gamePlayer.followers()._data.every(follower => follower.y > $gameMap.event(13).y) === true;

このスクリプトを毎フレーム実行させるには、更新処理のようなものが必要なのでしょうか?
最後に編集したユーザー ドラムカン [ 2023年6月25日(日) 21:50 ], 累計 1 回
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事 by ドラムカン »

WTR 様

先ほどお伝えした問題ですが、こちらの環境によるものでした。
大変、失礼いたしました。

トリアコンタン様の「NPCフォロワープラグイン」を導入した状態で
いただいたスクリプトを利用すると、
プラグインパラメーターで指定したNPC上限数分のフォロワーが通り過ぎるまで
接触判定が続くことが分かりました。

たとえ4人パーティーの状態でも、フォロワー上限を30人に設定していたら
架空の30人が通り過ぎるまでイベントが走らないようでした。

このスクリプトを修正するしかなさそうですので、
一度、トリアコンタン様にご相談してみようと思います。

この度は、有用な情報をご提供いただきまして、誠にありがとうございました。
最後に編集したユーザー ドラムカン [ 2023年6月25日(日) 21:50 ], 累計 1 回
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: 【解決済み】パーティーがイベントから離れたタイミングで実行するイベント

投稿記事 by WTR »

コード: 全て選択

$gamePlayer.followers()._data.filter(follower => follower.actor()).every(follower => follower.y > $gameMap.event(扉イベントID).y)
にしたらどうですかね?
ちなみに条件分岐のスクリプトに書く際に "=== true" は不要です。あってもいいですが
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re: 【解決済み】

投稿記事 by ドラムカン »

WTR 様

更に解決策をご教示くださり、ありがとうございます。
いただいたスクリプトで、影響なく実現できました!

最後まで見捨てず真摯にご対応くださり、本当にありがとうございました。
心から感謝申し上げます。
今後ともご教示のほど、何卒よろしくお願いいたします。
返信する

“MV:質問”に戻る