条件分岐のスクリプトを用いて、特定のステートの人数が何人いるのかによって条件分岐をさせたいです。
例えば、ステートID4の「毒」にかかっているパーティメンバーが合計3人いるかどうかで分岐
という具合です。
どのように記述したら良いのか教えて下さい。
特定のステートにかかっている人数で条件分岐
Re: 特定のステートにかかっている人数で条件分岐
イベントコマンドだけなら、こうなります
スクリプトを使ってもよいなら、以下のような内容です。
このあとで、指定したスイッチの番号から結果を取り出して分岐します。
この場合だと毒にしか対応していないので、ステートIDを切り替えられる関数を作るのも手だと思います。
コード: 全て選択
◆変数の操作:#0020 毒カウント = 0
◆条件分岐:ハロルドが毒になっている
◆変数の操作:#0020 毒カウント += 1
◆
:分岐終了
◆条件分岐:テレーゼが毒になっている
◆変数の操作:#0020 毒カウント += 1
◆
:分岐終了
◆条件分岐:マーシャが毒になっている
◆変数の操作:#0020 毒カウント += 1
◆
:分岐終了
◆条件分岐:ルキウスが毒になっている
◆変数の操作:#0020 毒カウント += 1
◆
:分岐終了
◆条件分岐:毒カウント ≥ 3
◆
:分岐終了
スクリプトを使ってもよいなら、以下のような内容です。
コード: 全て選択
var members = $game_party.members();
var count =0;
for(var i =0,len= members.length,; i<len; i+=1 ){
if(members[i].isStateAffected(※ステートの番号)){
count +=1;
}
}
$gameSwitch.setValue(※スイッチの番号,count >=3)
この場合だと毒にしか対応していないので、ステートIDを切り替えられる関数を作るのも手だと思います。
現在、プラグイン依頼はお休み中です。
Re: 特定のステートにかかっている人数で条件分岐
こんにちは。
以下のスクリプトは、パーティー内の毒ステートに掛かっている人数を取得します。
別のステートにしたい場合は、member.isStateAffected(4)の()内の数値を変えてください。
上記のスクリプトを条件分岐のコマンドに使う場合は、以下の様にすると3人だった場合で分岐できます。
以下のスクリプトは、パーティー内の毒ステートに掛かっている人数を取得します。
コード: 全て選択
$gameParty.members().filter(function(member){return member.isStateAffected(4);}).length
上記のスクリプトを条件分岐のコマンドに使う場合は、以下の様にすると3人だった場合で分岐できます。
コード: 全て選択
$gameParty.members().filter(function(member){return member.isStateAffected(4);}).length === 3
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/bl ... /README.md
検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/bl ... /README.md
検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
Re: 特定のステートにかかっている人数で条件分岐
ありがとうございます!動作確認まで出来ました!