ページ 11

戦闘中の変数の数値条件によるステートの付与方法

Posted: 2025年2月27日(木) 01:42
by highchu
rpgツクールmzにて、アクターの装備耐久値を表す変数を作成しました。この変数は初期値と最大値をともに100とし、敵の特殊な攻撃によってその値が減少します。戦闘中にこの変数が50以下になったときアクターに「装備中破」を、0になったとき「装備大破」というステートを付与したいのですが、いろいろ試してもうまくステートが付与できません。
戦闘中に変数の数値によってステートを付与する方法を教えてください。

トリアコンタンさんの汎用ゲージプラグインにて、変数を可視化しているため、変数が正常に動作していることは確認済みです。

どなたかよろしくお願いします。

Re: 戦闘中の変数の数値条件によるステートの付与方法

Posted: 2025年2月27日(木) 12:05
by くろうど
攻撃によって何か処理をしたい場合は、スキルの使用効果にコモンイベントを設定し、コモンイベントの中で処理を記述します。

今回であれば、『敵の特殊な攻撃』に『戦闘中にこの変数が50以下になったときアクターに「装備中破」を、0になったとき「装備大破」というステートを付与』というコモンイベントを設定すれば良いと思います。

Re: 戦闘中の変数の数値条件によるステートの付与方法

Posted: 2025年2月27日(木) 14:45
by highchu
ご返信ありがとうございます!
スキルにコモンイベントを登録すればよかったんですね!
ただ、条件分岐を使って行っているのですが、耐久値50以下になったときの装備中破はうまく付与されたのですが、耐久値が0になっても装備大破にはならず中破のままです。
良ければコモンイベントの詳しい内容もご教授していただければ幸いです。

Re: 戦闘中の変数の数値条件によるステートの付与方法

Posted: 2025年2月27日(木) 15:12
by くろうど
そもそも、「中破」と「大破」が同時に発生するのかどうかなど、不明な点がありますので、こちらから正しい条件分岐を示すことは難しいですが、

「耐久値 0」は「耐久値50以下」を満たすので、条件分岐の順番や入れ子の階層を見直してはいかがでしょうか?

基本的には、「耐久値 0 以下チェック」をしてから「耐久値50以下チェック」をすれば良いのではないかと思われます。

Re: 戦闘中の変数の数値条件によるステートの付与方法

Posted: 2025年2月28日(金) 14:26
by highchu
耐久値チェックの階層を入れ替えたらうまく付与されました!
ありがとうございます!!