バトルイベントで戦闘開始時に敵をステート変更で不死身にしておいて
HP0になったら戦闘を終了させるために不死身を解除させようとした場合
◆敵キャラのステート変更:#1, - 不死身
これだと不死身が解除されて敵が消滅してから戦闘終了するのですが
*ステートで不死身が3番の場合
◆スクリプト:$gameVariables.setValue(1,0);
◆スクリプト:$gameTroop.members()[$gameVariables.value(1)].removeState(3);
これだと不死身は解除されるが敵が消滅しないで戦闘が終了してしまいます。
スクリプトで敵の不死身ステートの解除と消滅をさせるにはどうやって書けばいいのでしょうか?
【解決】スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう
【解決】スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう
最後に編集したユーザー 3番目 [ 2017年1月14日(土) 22:55 ], 累計 1 回
Re: スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう
不死身ステートを解除したから消滅するのではなく、
「敵キャラのステート変更...」の中で、敵キャラの消滅判定処理も同時に行っています。
とりあえず、「敵キャラのステート変更...」の中身をそのままパクって書き換えてみたものがこちら。
動作確認はざっくりしかしていません。
「敵キャラのステート変更...」の中で、敵キャラの消滅判定処理も同時に行っています。
とりあえず、「敵キャラのステート変更...」の中身をそのままパクって書き換えてみたものがこちら。
コード: 全て選択
var enemy = $gameTroop.members()[$gameVariables.value(1)];
var alreadyDead = enemy.isDead();
enemy.removeState(3);
if (enemy.isDead() && !alreadyDead) {
enemy.performCollapse();
}
enemy.clearResult();
Re: スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう
ありがとうございます。
こちらの記述で消滅させることができました。
こちらの記述で消滅させることができました。