【解決済み】パーティの仲間がそのステートを持っているかを判定させる

kamometrain
記事: 97
登録日時: 2018年2月25日(日) 12:47

【解決済み】パーティの仲間がそのステートを持っているかを判定させる

投稿記事by kamometrain » 2019年5月26日(日) 23:43

パーティのなかに特定のステートを持っている人がいるか いないかを判定し、条件分岐させたと思っていますが、その方法がわかりません。
例えば、毒をもっている(戦闘)メンバーがいるか いないかといったものです。
どうすれば、その条件を満たしているかわかるかを教えてください。
最後に編集したユーザー kamometrain on 2019年6月04日(火) 23:54 [ 編集 1 回目 ]

astral
記事: 106
登録日時: 2018年11月14日(水) 00:21
連絡を取る:

Re: パーティの仲間がそのステートを持っているかを判定させる

投稿記事by astral » 2019年6月02日(日) 16:31

こんにちは。
例えば戦闘パーティーならバトルイベントで判定することが出来ますが
こういったことでしょうか。

コード: 全て選択

◆条件分岐:ハロルドがパーティにいる
  ◆条件分岐:ハロルドが毒になっている
    ◆スイッチの操作:#0026 毒パーティー = ON
    ◆
  :分岐終了
  ◆
:分岐終了
◆条件分岐:テレーゼがパーティにいる
  ◆条件分岐:テレーゼが毒になっている
    ◆スイッチの操作:#0026 毒パーティー = ON
    ◆
  :分岐終了
  ◆
:分岐終了
◆条件分岐:マーシャがパーティにいる
  ◆条件分岐:マーシャが毒になっている
    ◆スイッチの操作:#0026 毒パーティー = ON
    ◆
  :分岐終了
  ◆
:分岐終了
◆条件分岐:ルキウスがパーティにいる
  ◆条件分岐:ルキウスが毒になっている
    ◆スイッチの操作:#0026 毒パーティー = ON
    ◆
  :分岐終了
  ◆
:分岐終了
◆条件分岐:毒パーティーがON
  ◆文章:なし, ウィンドウ, 下
  :  :毒になっているパーティーメンバーがいます!
  ◆スイッチの操作:#0026 毒パーティー = OFF
  ◆
:分岐終了
アバター
ムノクラ
記事: 1221
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: パーティの仲間がそのステートを持っているかを判定させる

投稿記事by ムノクラ » 2019年6月02日(日) 17:00

下記をヒントにメンバー分のステートIDを別々の変数に入れて、条件分岐に使用すれば、かなり簡略化出来ると思います。


ツクールMVのスクリプトで条件分岐を行う方法
http://rpgmaker-script-wiki.xyz/condition_mv.php#11

アクターのステート
$gameActors.actor(アクターID).isStateAffected(ステートID)


サンプルコード(アクターIDが1のアクターがステートID4(デフォルトで毒)かどうかで分岐)

if($gameActors.actor(1).isStateAffected(4)){

//(処理)

}


まず戦闘メンバーのアクターIDを取得して、
SS01.png


ステートID4がついているかどうかで判断する場合は、下記のように

コード: 全て選択

if($gameActors.actor($gameVariables.value(3)).isStateAffected(4)){
//(処理)
}
if($gameActors.actor($gameVariables.value(4)).isStateAffected(4)){
//(処理)
}
if($gameActors.actor($gameVariables.value(5)).isStateAffected(4)){
//(処理)
}
if($gameActors.actor($gameVariables.value(6)).isStateAffected(4)){
//(処理)
}

という処理が効率的だと思います。

ステートは複数つく可能性があるので、どのステートを受けているかという方向で調べるのは現実的では無さそうです。
***
:!: 質問前に、過去ログを検索しましょう!
;) 質問が解決できたら、スレッドタイトルに【解決】を追加しましょう!
8-) 自己解決した方は、解決した方法を書きましょう!<後人の為です!

▼プラグイン投稿・検索
https://plugin.fungamemake.com

▼返信がもらいやすい質問の仕方
https://fungamemake.com/archives/8079

▼エラーの詳細なメッセージを見る方法
https://fungamemake.com/archives/12097
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: パーティの仲間がそのステートを持っているかを判定させる

投稿記事by にいやん » 2019年6月02日(日) 18:57

アクターを個々に判定させるとアクターの数だけ条件分岐が必要ですが事前にパーティ人数を取得してそのパーティの人数分だけ判定するという方法もあります。以下の実行内容ならパーティ人数がいくら増えても分岐を増やさずに済みます。アクターの数が少なければ必要ありませんが、多い場合はこちらのほうがかなり簡略化できます。

パーティ人数が増えたら増えた分だけ自動で判定。100人いれば100人の判定をします。
1.jpg
kamometrain
記事: 97
登録日時: 2018年2月25日(日) 12:47

Re: 【解決済み】パーティの仲間がそのステートを持っているかを判定させる

投稿記事by kamometrain » 2019年6月04日(火) 23:56

いろいろなアドバイスありがとうございました。
アクターの数も少し多かったため、ひとつ一つ判定するのが厳しいと思ったのですが、おかげで解決できそうです。
お忙しいところ、ありがとうございました。

“MV:質問” へ戻る