RPGツクール2000で、固定敵やシンボルエンカウントにする場合、戦闘の処理を行います。
実はバグとしか思えない仕様があり、それに気付かないとハマります。
問題点と対策をまとめておきます。
負けた時の処理が指定されていても回復する前にゲームオーバーになることがある。
必ずゲームオーバーになるとは限らないので、気付かないで公開して報告を受けて確認し、何度も負けるのを連続する実験をして、初めて体験しました。
これは「イベント開始条件:定期的に並行処理する」イベントが動いたままだと、起こります。
解決方法は、戦闘に入る前に並行処理しているイベント全てを止めることです。
簡単なのは、
マップイベントでは、イベントの出現条件
コモンイベントでは、出現条件スイッチ
で共通のスイッチ(例:0001:並行処理)を設定し、戦闘の処理の直前にスイッチをオフにすることです。
そして、戦闘の処理の条件分岐の終わりにスイッチをオンに戻せば、再び並行処理が動きます。
負けたら、即ゲームオーバーである戦闘には、全く関係ない話です。
戦闘後の処理は各分岐で書かないと動かないものがある。
これも酷いバグですが、例えば下記のように書いた場合、スイッチ・変数の操作が動きません。
◆戦闘の処理:魔王
:勝った場合
◆
:逃げた場合
◆
:分岐終了
◆スイッチの操作:[0001:並行処理]をONにする
何故か、下記のように書いた場合はメッセージは表示されますが、スイッチ・変数の操作は動作しません。
◆戦闘の処理:魔王
:勝った場合
◆
:逃げた場合
◆
:分岐終了
◆スイッチの操作:[0001:並行処理]をONにする
◆文章:テストメッセージ
下記のように書く必要があります。
◆戦闘の処理:魔王
:勝った場合
◆スイッチの操作:[0001:並行処理]をONにする
◆
:逃げた場合
◆スイッチの操作:[0001:並行処理]をONにする
◆
:分岐終了
この辺りは、検索してもはっきりした記事が見つからなかったので、「気まぐれな空間」の
kkni.net/
YADO様に質問掲示板でご指導いただき、解決しました。
まったくもって、酷い仕様です。
当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
