加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 鑫晴 于 2017-5-30 15:46 编辑
默认情况下,在暗雷战斗中,如果队伍成员在战斗中都附加了“战斗不能”的状态,游戏结束。
我想要角色能在战斗失败后保留“战斗不能”状态,即使团灭也不会结束游戏,
而是以“战斗不能”状态和HP=1,返回地图场景。
换了种解决方式,算是解决了
团灭后调用公共事件
$gameTemp.reserveCommonEvent(1);
但有个新的问题出现了。。。
我想在这个时机调用公共事件(失败信息关闭后,战斗场景还存在时)
矛盾历史
BattleManager.updateBattleEnd = function() { if (this.isBattleTest()) { AudioManager.stopBgm(); SceneManager.exit(); } else if (!this._escaped && $gameParty.isAllDead()) { if (this._canLose) { $gameParty.reviveBattleMembers(); SceneManager.pop(); } else { this._canLose = true; this.endBattle(2); $gameParty.reviveBattleMembers(); $gameTemp.reserveCommonEvent(1); /* 调用公共事件 */ SceneManager.pop(); /*SceneManager.goto(Scene_Map); */ /*SceneManager.goto(Scene_Gameover);*/ } } else { SceneManager.pop(); } this._phase = null; };
BattleManager.updateBattleEnd = function() {
if (this.isBattleTest()) {
AudioManager.stopBgm();
SceneManager.exit();
} else if (!this._escaped && $gameParty.isAllDead()) {
if (this._canLose) {
$gameParty.reviveBattleMembers();
SceneManager.pop();
} else {
this._canLose = true;
this.endBattle(2);
$gameParty.reviveBattleMembers();
$gameTemp.reserveCommonEvent(1); /* 调用公共事件 */
SceneManager.pop(); /*SceneManager.goto(Scene_Map); */
/*SceneManager.goto(Scene_Gameover);*/
}
} else {
SceneManager.pop();
}
this._phase = null;
};
想要的效果:
暗雷战斗失败后,不会进入“GameOver”页面,而是像设置了“允许失败”的战斗一样,战斗结束后返回战斗前的位置。“战斗不能”的状态也不会因为战斗结束而消失。(默认“允许失败”的战斗结束后没有“战斗不能”的状态)。
在RMXP中,可以这样实现想要的效果
# 游戏结束的情况下 if $game_temp.gameover $game_temp.battle_can_lose = true battle_end(1) $game_temp.gameover = false $game_system.bgm_play(nil) $game_system.bgs_play(nil) return end
# 游戏结束的情况下
if $game_temp.gameover
$game_temp.battle_can_lose = true
battle_end(1)
$game_temp.gameover = false
$game_system.bgm_play(nil)
$game_system.bgs_play(nil)
return
end
|