ページ 11

【解決済み】接触したらアクターを離脱させるイベントについて

Posted: 2021年4月01日(木) 00:59
by ネクロノ蜜柑
こんばんわ。いつもお世話になっております。

追跡してくるイベントで接触したアクターのみを離脱させる方法はございますか?

なお、特定のアクター(主人公)がそのイベントと接触した場合は主人公以外のアクター全員が離脱されられればありが

たいです。

下記のようなイメージとなります。よろしくお願い致します。

Re: 接触したらアクターを離脱させるイベントについて

Posted: 2021年4月01日(木) 16:09
by ムノクラ
ネクロノ蜜柑 さんが書きました:こんばんわ。いつもお世話になっております。

追跡してくるイベントで接触したアクターのみを離脱させる方法はございますか?

なお、特定のアクター(主人公)がそのイベントと接触した場合は主人公以外のアクター全員が離脱されられればありが

たいです。

下記のようなイメージとなります。よろしくお願い致します。
概ね下記のプラグインを使用することで、実現できそうです。
※時々、どう見ても先頭にタッチしているのに、フォロワー判定しているようなので、バグがあるかも知れません…
(ここは、自分には手におえません…)
プラグインの利用規約に改変再配布について触れられていませんが、作者本人の対応の内容では許可されていると思われます。

ぜひ、コードを改善いただける場合、お願いしたいです。


HIME Follower Event Touch プラグイン
https://fungamemake.com/archives/9665

イベント内容(先頭を主人公と想定)

コード: 全て選択

◆注釈:<follower touch>
◆条件分岐:スクリプト:this.touchedFollower()
  ◆スクリプト:const catchIndex = this.touchedFollower()._memberIndex;
  :     :const catchActor = $gameParty.members()[catchIndex].actorId();
  :     :$gameParty.removeActor(catchActor);
  :     :$gamePlayer.refresh();
  :     :$gameMap.requestRefresh();
  ◆
:それ以外のとき
  ◆スクリプト:$gameParty._actors.splice(1);
  :     :$gamePlayer.refresh();
  :     :$gameMap.requestRefresh();
  ◆
:分岐終了
サンプルをつけます。
新規プロジェクトにデータを入れて、プラグインを導入してテストしてください。
Map001.zip
(892 バイト) ダウンロード数: 1 回

Re: 接触したらアクターを離脱させるイベントについて

Posted: 2021年4月02日(金) 00:48
by ネクロノ蜜柑
ムノクラ さんが書きました:
ネクロノ蜜柑 さんが書きました:こんばんわ。いつもお世話になっております。

追跡してくるイベントで接触したアクターのみを離脱させる方法はございますか?

なお、特定のアクター(主人公)がそのイベントと接触した場合は主人公以外のアクター全員が離脱されられればありが

たいです。

下記のようなイメージとなります。よろしくお願い致します。
概ね下記のプラグインを使用することで、実現できそうです。
※時々、どう見ても先頭にタッチしているのに、フォロワー判定しているようなので、バグがあるかも知れません…
(ここは、自分には手におえません…)
プラグインの利用規約に改変再配布について触れられていませんが、作者本人の対応の内容では許可されていると思われます。

ぜひ、コードを改善いただける場合、お願いしたいです。


HIME Follower Event Touch プラグイン
https://fungamemake.com/archives/9665

イベント内容(先頭を主人公と想定)

コード: 全て選択

◆注釈:<follower touch>
◆条件分岐:スクリプト:this.touchedFollower()
  ◆スクリプト:const catchIndex = this.touchedFollower()._memberIndex;
  :     :const catchActor = $gameParty.members()[catchIndex].actorId();
  :     :$gameParty.removeActor(catchActor);
  :     :$gamePlayer.refresh();
  :     :$gameMap.requestRefresh();
  ◆
:それ以外のとき
  ◆スクリプト:$gameParty._actors.splice(1);
  :     :$gamePlayer.refresh();
  :     :$gameMap.requestRefresh();
  ◆
:分岐終了
サンプルをつけます。
新規プロジェクトにデータを入れて、プラグインを導入してテストしてください。
Map001.zip

ムノクラ様

ご返信ありがとうございます。いつも対応して頂き感謝いたしますm(__)m

HIME Follower Event Touch プラグイン教えて頂き有難うございます。
添付のプロジェクトデータで起動したところイメージ通りになっておりました!感謝です!

もし仮に可能であれば、

①この場合主人公が先頭との事ですが、並び順関係なしに、仮にアクター0001のキャラクターと接触した場合、アクター0001以外が離脱するような設定。
②一度、アクターを離脱されるイベントと接触したら、そのイベントは消滅する(常駐しない)ように設定する事は可能でしょうか?

可能であればで大丈夫ですm(__)mご返信お待ちしております。

Re: 接触したらアクターを離脱させるイベントについて

Posted: 2021年4月02日(金) 10:40
by ムノクラ
ネクロノ蜜柑 さんが書きました:ムノクラ様

ご返信ありがとうございます。いつも対応して頂き感謝いたしますm(__)m

HIME Follower Event Touch プラグイン教えて頂き有難うございます。
添付のプロジェクトデータで起動したところイメージ通りになっておりました!感謝です!

もし仮に可能であれば、

①この場合主人公が先頭との事ですが、並び順関係なしに、仮にアクター0001のキャラクターと接触した場合、アクター0001以外が離脱するような設定。
②一度、アクターを離脱されるイベントと接触したら、そのイベントは消滅する(常駐しない)ように設定する事は可能でしょうか?

可能であればで大丈夫ですm(__)mご返信お待ちしております。
追加要望1については下記になります。

コード: 全て選択

◆注釈:<follower touch>
◆条件分岐:スクリプト:this.touchedFollower()
  ◆変数の操作:#0001 アクターID = $gameParty.members()[this.touchedFollower()._memberIndex].actorId()
  ◆条件分岐:アクターID = 1
    ◆スクリプト://パーティを空にする
    :     :$gameParty._actors = [];
    :     ://アクターID1を加入する
    :     :$gameParty.addActor(1);
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :それ以外のとき
    ◆スクリプト://変数ID1のアクターを離脱
    :     :$gameParty.removeActor($gameVariables.value(1));
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :分岐終了
  ◆
:それ以外のとき
  ◆変数の操作:#0001 アクターID = パーティメンバー1番のアクターID
  ◆条件分岐:アクターID = 1
    ◆スクリプト://パーティを空にする
    :     :$gameParty._actors = [];
    :     ://アクターID1を加入する
    :     :$gameParty.addActor(1);
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :それ以外のとき
    ◆スクリプト://変数ID1のアクターを離脱
    :     :$gameParty.removeActor($gameVariables.value(1));
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :分岐終了
  ◆
:分岐終了
Map001.zip
(1.04 KiB) ダウンロード数: 1 回
追加要望2については、通常イベントの作り方を理解していれば分かるはずなので、ヒントだけ。

「セルフスイッチ」でページを変えるか「イベントの一時消去」で、実現できます。
下記記事を読んでみてください。
https://fungamemake.com/archives/10463
https://fungamemake.com/archives/8441

Re: 接触したらアクターを離脱させるイベントについて

Posted: 2021年4月02日(金) 23:59
by ネクロノ蜜柑
ムノクラ さんが書きました:
ネクロノ蜜柑 さんが書きました:ムノクラ様

ご返信ありがとうございます。いつも対応して頂き感謝いたしますm(__)m

HIME Follower Event Touch プラグイン教えて頂き有難うございます。
添付のプロジェクトデータで起動したところイメージ通りになっておりました!感謝です!

もし仮に可能であれば、

①この場合主人公が先頭との事ですが、並び順関係なしに、仮にアクター0001のキャラクターと接触した場合、アクター0001以外が離脱するような設定。
②一度、アクターを離脱されるイベントと接触したら、そのイベントは消滅する(常駐しない)ように設定する事は可能でしょうか?

可能であればで大丈夫ですm(__)mご返信お待ちしております。
追加要望1については下記になります。

コード: 全て選択

◆注釈:<follower touch>
◆条件分岐:スクリプト:this.touchedFollower()
  ◆変数の操作:#0001 アクターID = $gameParty.members()[this.touchedFollower()._memberIndex].actorId()
  ◆条件分岐:アクターID = 1
    ◆スクリプト://パーティを空にする
    :     :$gameParty._actors = [];
    :     ://アクターID1を加入する
    :     :$gameParty.addActor(1);
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :それ以外のとき
    ◆スクリプト://変数ID1のアクターを離脱
    :     :$gameParty.removeActor($gameVariables.value(1));
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :分岐終了
  ◆
:それ以外のとき
  ◆変数の操作:#0001 アクターID = パーティメンバー1番のアクターID
  ◆条件分岐:アクターID = 1
    ◆スクリプト://パーティを空にする
    :     :$gameParty._actors = [];
    :     ://アクターID1を加入する
    :     :$gameParty.addActor(1);
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :それ以外のとき
    ◆スクリプト://変数ID1のアクターを離脱
    :     :$gameParty.removeActor($gameVariables.value(1));
    :     :$gamePlayer.refresh();
    :     :$gameMap.requestRefresh();
    ◆
  :分岐終了
  ◆
:分岐終了
Map001.zip

追加要望2については、通常イベントの作り方を理解していれば分かるはずなので、ヒントだけ。

「セルフスイッチ」でページを変えるか「イベントの一時消去」で、実現できます。
下記記事を読んでみてください。
https://fungamemake.com/archives/10463
https://fungamemake.com/archives/8441

ムノクラ 様

ご返信ありがとうございますm(__)m

無事にムノクラ 様のおかげで無事イメージ通りになりました!

①ではイメージ通りにスクリプトをくんで頂き感謝致しますm(__)m

②はセルフスイッチ等で普通にクリア出来ました。難しく考えすぎてました、ありがとうございます!

いつも対応してもらって感謝しかございませんm(__)m