- Joined
- Oct 12, 2015
- Messages
- 38
- Reaction score
- 2
- First Language
- English
- Primarily Uses
I have my Game_Timer run the following code on expire:
$gameTimer.stop();
SceneManager.goto(Scene_Gameover);
This removes the timer and gives the player a Game Over, but it only works in battle. I'm trying to get it to also work on the map screen. I tried running SceneManager.goto(Scene_Gameover); through a script call on the map, and it worked, so the problem isn't with my timer code.
It looks like both Scene_Map and Scene_Battle update the timer properly with:
var active = this.isActive();
$gameTimer.update(active);
I believe this is a bug with MV's default scripts, but it isn't normally noticed because the timer normally just does BattleManager.abort(); on expiration.
The code for the timer ticking down and expiring is:
Game_Timer.prototype.update = function(sceneActive) {
if (sceneActive && this._working && this._frames > 0) {
this._frames--;
if (this._frames === 0) {
this.onExpire();
The timer ticks down fine on the map, so it is running this code, it just will not do the
$gameTimer.stop();
SceneManager.goto(Scene_Gameover);
part that I've replaced BattleManager.abort(); with.
And is there a way to have the game close all windows on the timer expiring? As it is, it does not close the ActorCommand window or any message/choice windows. It closes the party status and party command windows just fine on going to Scene_Gameover in battle.
Thanks!
$gameTimer.stop();
SceneManager.goto(Scene_Gameover);
This removes the timer and gives the player a Game Over, but it only works in battle. I'm trying to get it to also work on the map screen. I tried running SceneManager.goto(Scene_Gameover); through a script call on the map, and it worked, so the problem isn't with my timer code.
It looks like both Scene_Map and Scene_Battle update the timer properly with:
var active = this.isActive();
$gameTimer.update(active);
I believe this is a bug with MV's default scripts, but it isn't normally noticed because the timer normally just does BattleManager.abort(); on expiration.
The code for the timer ticking down and expiring is:
Game_Timer.prototype.update = function(sceneActive) {
if (sceneActive && this._working && this._frames > 0) {
this._frames--;
if (this._frames === 0) {
this.onExpire();
The timer ticks down fine on the map, so it is running this code, it just will not do the
$gameTimer.stop();
SceneManager.goto(Scene_Gameover);
part that I've replaced BattleManager.abort(); with.
And is there a way to have the game close all windows on the timer expiring? As it is, it does not close the ActorCommand window or any message/choice windows. It closes the party status and party command windows just fine on going to Scene_Gameover in battle.
Thanks!
