【解決済み】VXace:バトルイベントの発生条件をアクターのステートに依存させる

ajicio
記事: 14
登録日時: 2021年10月28日(木) 20:06

【解決済み】VXace:バトルイベントの発生条件をアクターのステートに依存させる

投稿記事by ajicio » 2021年10月28日(木) 20:14

お世話になります。

バトルイベントの条件に
「アクターA(可能であればアクターのいずれか)がステートB状態のときに実行する」を
追加するスクリプトの作成、あるいは、既存のスクリプトや対策をお教え願えませんでしょうか。

状態異常防止のステートをアクターが持っている際、
状態異常をかけてくる系のエネミーには別の行動を取らせたいという目的があり、
仮に「敵の変身」などで行動パターンを変えられないかと考えています。

たいへん恐縮ですが、なにか手段をご教示願えれば幸いです。
説明不足などありましたら、申し訳ございませんがご指摘ください。

どうかよろしくお願い致します。
最後に編集したユーザー ajicio on 2021年11月04日(木) 18:33 [ 編集 1 回目 ]

DEDEN
記事: 58
登録日時: 2018年8月25日(土) 15:06

Re: VXace:バトルイベントの発生条件をアクターのステートに依存させる

投稿記事by DEDEN » 2021年10月29日(金) 00:38

ajicio様こんばんは
バトルイベントの発生条件ではスクリプトが使用できないので毎ターンチェックさせる必要があります
条件をターン数 0 + 1* Xに設定し 、スパンをターンに
イベントコマンドのスクリプトで
$game_actors[アクターID].state?(ステートID)
と記述して真の時の処理で変身等を実行してください
また、このままでは一度変身しても毎ターン処理を繰り返してしまうので
イベントコマンドの最初にスクリプトで

コード: 全て選択

if @flag.nil?
@flag = false
end

と記述し、条件分岐のイベントコマンドのスクリプトで!@flagと設定します
そしてその条件分岐の中に先程の分岐を入れてください
更に変身処理の後にスクリプトで@flag = trueと実行します
こうすれば一度変身すると次回以降は処理をスキップできます
画像を載せておきますのでこの通りになれば大丈夫です
添付ファイル
スクリーンショット (1603).png
ajicio
記事: 14
登録日時: 2021年10月28日(木) 20:06

Re: VXace:バトルイベントの発生条件をアクターのステートに依存させる

投稿記事by ajicio » 2021年10月29日(金) 14:30

>>DEDEN様

とても丁寧なご対応、有難う御座います!
参考画像まで載せてくださったおかげで、非常に助かりました。

「ステートA(24)発動中は変身し、ステートAが解除された場合は元の姿に戻る」
というような挙動にしたかったので、以下のように変更させていただいたところ、
理想通りに実行することができました。
説明不足で申し訳ありませんでした…!

tkmt_reply.jpg
tkmt_reply.jpg (75.18 KiB) 閲覧数: 1832 回


一応解決済みとさせていただきたいと思います。
もしも気になるところなど御座いましたら、お手数をおかけしますが、ご指摘いただければ幸いです。

本当に有難う御座いました! :D
DEDEN
記事: 58
登録日時: 2018年8月25日(土) 15:06

Re: VXace:バトルイベントの発生条件をアクターのステートに依存させる

投稿記事by DEDEN » 2021年10月29日(金) 19:31

解決したようで何よりです
毎ターン変身判定をするなら@flag関連のスクリプトは不要なので全部削除して大丈夫ですよ
条件分岐だけでOKです
ajicio
記事: 14
登録日時: 2021年10月28日(木) 20:06

Re: VXace:バトルイベントの発生条件をアクターのステートに依存させる

投稿記事by ajicio » 2021年10月29日(金) 21:24

最後まで有難う御座います! :D
とても助かりました!

“VX / Ace:スクリプト素材のリクエスト” へ戻る