【解決済】全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

粉みかん
記事: 3
登録日時: 2021年3月14日(日) 22:09

【解決済】全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

投稿記事by 粉みかん » 2021年3月16日(火) 20:54

https://tm.lucky-duet.com/viewtopic.php?t=5901(ゲームオーバーにせず場所移動)
上記を参考にスクリプトを入れてみたのですが、戦闘が終わった後にコモンイベントが実行されてしまいます。
戦闘を終わらせずにコモンイベントを実行したい場合、どうすればいいのでしょうか?

どなたかお分かりの方、お教えいただけると助かります。
よろしくお願いいたします。
最後に編集したユーザー 粉みかん on 2021年3月18日(木) 20:37 [ 編集 2 回目 ]

ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

Re: 全滅時、戦闘を終わらせずにコモンイベント(Ace)

投稿記事by ショウ » 2021年3月17日(水) 00:32

どうも、それを作った本人です。
このスクリプトはあくまで全滅時にゲームオーバー処理をせずに戦闘処理を終了させ
指定のスイッチをONにするスクリプトに過ぎないので、実際の処理はマップ上でになります。

さて、全滅時に戦闘を終わらせずにコモンイベントをという事は、
全滅時に戦闘処理を終了させる前になんらかのイベントを実行させたいという事だと推測します。
ならば戦闘終了時のタイミングでバトルイベントを実行出来る様にすれば解決すると思います。
過去に何度かおすすめした事があるのですが、USKLaboというサイトに
共有バトルイベント&戦闘終了時バトルイベントというスクリプトがあるので使ってみてください。
更に全滅後もゲームオーバーにしたくない場合はこのスクリプトと俺のスクリプトを併用すれば可能です。
あとは上手い事イベントを組んでください。
粉みかん
記事: 3
登録日時: 2021年3月14日(日) 22:09

Re: 全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

投稿記事by 粉みかん » 2021年3月17日(水) 05:43

(分かりづらいかなと思いタイトルを変更しました。)

ご回答ありがとうございます。
コモンイベントでやりたい事は以下になります。
・全滅時、控えにいるアクターAが戦闘行動の強制で全員復活スキルを使用、そのまま戦闘が続く
・アクターAがいない場合、会話ののち逃走する(こちらは問題なくできました)

お教えいただいたスクリプトも試してみたのですが、戦闘行動の強制がネックのようです。
ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

Re: 全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

投稿記事by ショウ » 2021年3月18日(木) 00:00

そもそも戦闘行動の強制を使う必要性は薄いように思えます。
極端な話単純に戦闘継続させたいだけならば終了時のバトルイベントでイベントコマンドの全回復を
使えば復活して戦闘は継続します。
演出として蘇生のアニメーションを流したいのであれば、例えば戦闘アニメーションの表示で
使いたいスキルと同じアニメーションを流せばいい訳です。
MP消費もさせたいのであればそれもイベントコマンドで減らせばOKかと思います。
名無し蛙
記事: 302
登録日時: 2015年11月23日(月) 02:46

Re: 全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

投稿記事by 名無し蛙 » 2021年3月18日(木) 04:01

差し出がましいですが気になる事があるので横から一つ
粉みかん さんが書きました:・全滅時、控えにいるアクターAが戦闘行動の強制で全員復活スキルを使用、そのまま戦闘が続く
今回の件とは直接関係無いですが控えメンバーの戦闘中の取り扱いについて
MZまで続いてるツクールの妙な仕様の一つなんですけど、
パーティメンバーにアクセスする時に内部的に広く使用している$game_party.members
戦闘中は挙動が変わり控えメンバーはパーティにいない者として扱うという仕様をしています。
これは通常手段では控えメンバーは「戦闘行動の強制」の行動対象に取れず、
更にイベントコマンド「条件分岐」で控えアクターがパーティにいるか?という判定にも影響を与えます。

もしも控えメンバーまで含めて同様の判定をしたい場合は「条件分岐」4頁目のスクリプト欄から
$game_party.all_members.include?($game_actors[アクターID])と入力する必要があります。
粉みかん
記事: 3
登録日時: 2021年3月14日(日) 22:09

Re: 全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

投稿記事by 粉みかん » 2021年3月18日(木) 20:36

イベントコマンドでの代替、早速試してみたところこれで大丈夫そうです。
当方の環境ではXPスタイルバトルを使用しているのですが、
スクリプトを以下の並び順にすることで問題なく動作するようです。
(参考にされる方もいらっしゃるかもしれませんので書いておきます。)
・XPスタイルバトル(ももまるさん)
・共有バトルイベント+戦闘終了時バトルイベント(USKさん)
・ゲームオーバーにせず場所移動(ショウさん)

また、バトルログにアクターの行動が表示されない問題は(戦闘行動の強制を使いたかったのはこの為です。)
イベントコマンドのスクリプトで以下を使うことで解決しました。
BattleManager.log_window.add_text("テキスト")


条件分岐の件も確認しました。
確かにデフォルトの条件分岐では控えメンバーが判定されませんでした。
全く気付いていなかったので助かりました。

これにて解決とさせていただきます。
大変お世話になりました。お二方とも、ありがとうございました。
いおん
記事: 26
登録日時: 2020年5月18日(月) 23:57

Re: 【解決済】全滅時、ゲームオーバーにせず戦闘を継続したままコモンイベント(Ace)

投稿記事by いおん » 2021年3月20日(土) 22:27

エラーが起きました。

“VX / Ace:質問” へ戻る