【解決】スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう

返信する
3番目
記事: 8
登録日時: 2016年12月28日(水) 17:46

【解決】スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう

投稿記事 by 3番目 »

バトルイベントで戦闘開始時に敵をステート変更で不死身にしておいて
HP0になったら戦闘を終了させるために不死身を解除させようとした場合

◆敵キャラのステート変更:#1, - 不死身

これだと不死身が解除されて敵が消滅してから戦闘終了するのですが

*ステートで不死身が3番の場合
◆スクリプト:$gameVariables.setValue(1,0);
◆スクリプト:$gameTroop.members()[$gameVariables.value(1)].removeState(3);

これだと不死身は解除されるが敵が消滅しないで戦闘が終了してしまいます。

スクリプトで敵の不死身ステートの解除と消滅をさせるにはどうやって書けばいいのでしょうか?
最後に編集したユーザー 3番目 [ 2017年1月14日(土) 22:55 ], 累計 1 回
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう

投稿記事 by 奏ねこま »

不死身ステートを解除したから消滅するのではなく、
「敵キャラのステート変更...」の中で、敵キャラの消滅判定処理も同時に行っています。

とりあえず、「敵キャラのステート変更...」の中身をそのままパクって書き換えてみたものがこちら。

コード: 全て選択

var enemy = $gameTroop.members()[$gameVariables.value(1)];
var alreadyDead = enemy.isDead();
enemy.removeState(3);
if (enemy.isDead() && !alreadyDead) {
    enemy.performCollapse();
}
enemy.clearResult();
動作確認はざっくりしかしていません。
3番目
記事: 8
登録日時: 2016年12月28日(水) 17:46

Re: スクリプトで敵の不死身状態を解除しても消滅せずに残ってしまう

投稿記事 by 3番目 »

ありがとうございます。

こちらの記述で消滅させることができました。
返信する

“MV:質問”に戻る