Thanks for this McKathlin, really helpful with my current game.
Custom Game Over behavior
● ARCHIVED · READ-ONLY
-
-
It's ready? lol
It's finally ready! Please excuse the delay; I had some other projects eating me alive.
Development version 1.3 has a "Party Death Common Event" parameter, which allows you to run a common event right after party death, before or instead of the transition to the Game Over scene. The "Game Over Common Event" parameter has been renamed to "After Game Over Common Event" to disambiguate, so if you're updating from an older version of Kath_GameOver.js, please make sure to set your "After Game Over Common Event".
Please let me know how Version 1.3 works out for you. I've tested it thoroughly, but having other people test it with their projects on their machines really helps! Once I work out any bugs reported by others, and confirm that this version is working well for those who use it, then I'll make it the official stable version. -
I've tested Kath_GameOver.js Version 1.3 on several different projects and computers, and found it to work as intended. As such I have updated the stable version to Version 1.3. Again, the "Game Over Common Event" parameter has been renamed to "After Game Over Common Event" for this latest version, so if you're updating from an older version of Kath_GameOver.js, please make sure to set your "After Game Over Common Event". Please see the original post for complete details. Thank you for your support!
-
Party Death Common Event
add " Show Choices" at "Abort Battle" back , but " Show Choices" no show. (Placed in front is normal)

Code:i wanna if GameOver $game_temp.battle_can_lose = true battle_end(1) $game_temp.gameover = false # stop BGM、BGS $game_system.bgm_play(nil) $game_system.bgs_play(nil) -
Hi AmateurX,
I'm sorry I'm replying to you so late! I was away from game and plugin development for a long time.
Party Death Common Event
add " Show Choices" at "Abort Battle" back , but " Show Choices" no show. (Placed in front is normal)

Code:i wanna if GameOver $game_temp.battle_can_lose = true battle_end(1) $game_temp.gameover = false # stop BGM、BGS $game_system.bgm_play(nil) $game_system.bgs_play(nil)
If I'm understanding correctly, this is what you want to have happen when the party dies:
- The Game Over screen does not show.
- The screen fades to black. There is no background music or sound.
- Show some choices to the player.
- The game's next action depends on what the player chooses.
I've tested what you're trying to do. I set the plugin parameters like this:
And I wrote the After Game Over Common Event like this:

I've found that my setup works. I hope that looking at it helps you see what to do. Of course, your common event can say and do different things, but this is the basic idea.
Please let me know if you need anything else! -
that will be good for make a dark souls like gameover
(die = lost all money) -
Hello, great plugin! However I'm having an issue. What I'm trying to do is, whenever the party dies, and the fight ends, go directly into fighting a certain enemy, and then if the party dies to THAT enemy, THEN it goes to a game over. So I put the game over call in my common event on the condition the party loses. However instead of going to game over, it restarts the event and it's just an endless loop of fighting the second enemy. That's if the event is set as a after Game over common event. If it's set as a Party Death Common Event, the party just recovers all (first command in the CE) and continue to fight the same, first monster. Anyone know how to make this work?
EDIT: Okay, I actually solved this by setting the game over screen to false, having the event display a picture of a game over screen, and then using the event to call the Title Screen directly. I know no one asked lol, but just in case someone else comes along looking for this kind of solution, here is a ss of the event:
Spoiler -
Sorry for necro-ing, but the dropbox link is invalid.
Custom Game Over
Version 1.3
by McKathlin
Introduction
Change what happens when the party dies or an event calls Game Over processing.
In some games, after the party dies they find themselves in a recently visited safe place, where they can continue their game with all experience and progress intact, but some money or items lost. With Custom Game Over, you can have party death cause something similar to that, or something completely different!
Features
- New: Set a common event to run when the party dies, before the fade to game over.
- Choose whether or not the Game Over Screen shows first.
- Choose whether to reload from the last save.
- Set a common event to run after game over, instead of going back to the title screen.
How to Use
Download or copy this plugin, and save it inside your project's js\plugins folder as Kath_GameOver.js -- The filename is important, because the plugin manager refers to it when retrieving the plugin parameters. Add and enable it in the plugin manager, as you would with any other plugin. It should function properly regardless of where it's placed in the plugin list.
This plugin offers parameters that accept common events by their ID. First create a common event in the database, take note of its ID, then go to the plugin manager and enter that ID number for the value of the common event parameter you would like to set.
Your Party Death Common Event will run in the same scene that the party dies, in place of a standard Game Over. If the party dies in battle, then this common event will play out in battle, unless the common event explicitly calls a scene change command (such as the Game Over command).
Your After Game Over Common Event can do practically anything you want. The default post-Game-Over state is dark and silent to provide a blank slate for the common event to work from. At minimum, you'll need to make sure that your Game Over common event includes the following commands:
- Transfer Player
- Fadein Screen
Everything else you add is up to you.
Full Help Text
SpoilerCode:This plugin is designed to play well by itself and with other plugins. There are no known conflicts, but conflict is possible with other plugins that directly alter Game Over behavior. ================================ = Party Death Common Event ID = ================================ Assigning a Party Death Common Event replaces the usual Game Over scene call with a common event call. This lets you (the game designer) make something happen instead of (or before) the standard Game Over screen. Open the database to Common Events to find the ID of the common event to call on party death, and enter this ID number as the parameter. Here are some pointers: * The Party Death common event will run in the same scene where the party was just defeated. If the party died in battle, the common event will run in battle, right after the party-is-defeated message and music effect. So if you want to make something happen after a slow fadeout and return to the map, I recommend using the After Game Over Common Event instead. * If you would like the Game Over screen (or a fadeout and cut to the map if "Show Game Over Scene" is false) to show at the end of your common event, remember to use the Game Over command in your common event. Avoiding the Game Over screen is easy: avoid calling the Game Over command. * Directly calling the Game Over command from any event will still show the Game Over screen normally (unless you've set Show Game Over Scene to false). To force your custom party death behavior, use a command that calls your party death common event instead. ========================= = Show Game Over Scene = =========================) RPG Maker's default behavior takes the player to Scene_GameOver on party death or on a scene processing call to Scene_GameOver. This processing shows a Game Over screen. After the player sees the screen and presses any key, the game exits to the title screen. If Show Game Over Scene is set to false, player will see a fade to black before going to the next scene. This will be the case regardless of whether Game Over state is reached by party death or by a direct command in an event. Whether or not the Game Over screen shows, which scene is next depends on whether the After Game Over Common Event is set, and what it is set to. ==================== = Reload Last Save = ==================== Set Reload Last Save to true to make the game automatically reload from its most recent save on game over. If a Game Over Common Event is specified, the reload occurs before the common event is reserved. If no common event is given, then the reload happens instead of going to the title screen. If Reload Last Save is true but the player has not yet saved, then the player is returned to the Title Screen. ==================================== = After Game Over Common Event ID = ==================================== Assigning a After Game Over common event makes gameplay continue after the party loses, instead of RPG Maker's default behavior of returning the party to the title screen. Open the database to Common Events to find the ID of the common event to call on game over, and enter this ID number as the parameter. In the content of the common event, the game designer can customize what happens when the party dies or reaches an event-dictated Game Over state. The After Game Over common event might do some of the following things: * Take away gold and/or items * Return the player to a safe place * Restore HP to one or more party members * Have the party's rescuer say something * ...anything that suits this game! IMPORTANT: When control flows to the Game Over common event, the screen will start blacked out. This gives the event time to handle transfers and other processing before showing the player the screen. Once those things are ready, remember to fade in! The After Game Over Common Event (AGOCE) differs from the Party Death Common Event (PDCE) in the following ways: * The PDCE runs instead of or before the Game Over screen or fadeout; the AGOCE runs after the Game Over scene or fadeout completes. * The PDCE only automatically replaces Game Overs caused by party death. The AGOCE autoruns after all Game Overs, regardless of their cause. * The PDCE runs in the same scene where party death occurred. The AGOCE runs in a newly started map scene, with the screen faded to black, and the party leader revived to 1 HP.
Script
Spoiler//=============================================================================
// Custom Game Over, version 1.3
// by McKathlin
// Kath_GameOver.js
// Last Update: 2016.08.18
//=============================================================================
/*:
* @plugindesc Change what happens when the party dies or Game Over is called.
*
* @param Party Death Common Event ID
* @desc The ID of the common event to run as soon as the party dies.
* Leave blank to fade immediately to Game Over.
* @Default
*
* @param Show Game Over Scene
* @desc Whether to show Scene_Gameover. If false, only a brief fade to black is seen.
* @Default true
*
* @param Reload Last Save
* @desc If true, reload from last save instead of title screen,
* or before common event, if any.
* @Default false
*
* @param After Game Over Common Event ID
* @desc The ID of the common event to run AFTER the Game Over scene (or fadeout).
* Leave blank to go to title.
* @Default
*
* @Help This plugin is designed to play well by itself and with other plugins.
* There are no known conflicts, but conflict is possible with other plugins
* that directly alter Game Over behavior.
*
* ================================
* = Party Death Common Event ID =
* ================================
* Assigning a Party Death Common Event replaces the usual Game Over scene
* call with a common event call. This lets you (the game designer) make
* something happen instead of (or before) the standard Game Over screen.
* Open the database to Common Events to find the ID of the common event
* to call on party death, and enter this ID number as the parameter.
* Here are some pointers:
* * The Party Death common event will run in the same scene where the party
* was just defeated. If the party died in battle, the common event will run
* in battle, right after the party-is-defeated message and music effect.
* So if you want to make something happen after a slow fadeout
* and return to the map, I recommend using the After Game Over Common Event
* instead.
* * If you would like the Game Over screen (or a fadeout and cut to the map
* if "Show Game Over Scene" is false) to show at the end of your common
* event, remember to use the Game Over command in your common event.
* Avoiding the Game Over screen is easy: avoid calling the Game Over command.
* * Directly calling the Game Over command from any event will still show
* the Game Over screen normally (unless you've set Show Game Over Scene to
* false). To force your custom party death behavior, use a command that
* calls your party death common event instead.
*
* =========================
* = Show Game Over Scene =
* =========================)
* RPG Maker's default behavior takes the player to Scene_GameOver on
* party death or on a scene processing call to Scene_GameOver.
* This processing shows a Game Over screen.
* After the player sees the screen and presses any key,
* the game exits to the title screen.
*
* If Show Game Over Scene is set to false, player will see a fade to black
* before going to the next scene. This will be the case regardless of whether
* Game Over state is reached by party death or by a direct command in an event.
*
* Whether or not the Game Over screen shows, which scene is next depends on
* whether the After Game Over Common Event is set, and what it is set to.
*
* ====================
* = Reload Last Save =
* ====================
* Set Reload Last Save to true to make the game automatically reload from its
* most recent save on game over. If a Game Over Common Event is specified,
* the reload occurs before the common event is reserved. If no common event
* is given, then the reload happens instead of going to the title screen.
*
* If Reload Last Save is true but the player has not yet saved,
* then the player is returned to the Title Screen.
*
* ====================================
* = After Game Over Common Event ID =
* ====================================
* Assigning a After Game Over common event makes gameplay continue after
* the party loses, instead of RPG Maker's default behavior of returning the
* party to the title screen. Open the database to Common Events to find the
* ID of the common event to call on game over, and enter this ID number as
* the parameter.
*
* In the content of the common event, the game designer can customize what
* happens when the party dies or reaches an event-dictated Game Over state.
* The After Game Over common event might do some of the following things:
* * Take away gold and/or items
* * Return the player to a safe place
* * Restore HP to one or more party members
* * Have the party's rescuer say something
* * ...anything that suits this game!
*
* IMPORTANT: When control flows to the Game Over common event,
* the screen will start blacked out. This gives the event time to handle
* transfers and other processing before showing the player the screen.
* Once those things are ready, remember to fade in!
*
* The After Game Over Common Event (AGOCE) differs from the Party Death Common
* Event (PDCE) in the following ways:
* * The PDCE runs instead of or before the Game Over screen or fadeout;
* the AGOCE runs after the Game Over scene or fadeout completes.
* * The PDCE only automatically replaces Game Overs caused by party death.
* The AGOCE autoruns after all Game Overs, regardless of their cause.
* * The PDCE runs in the same scene where party death occurred.
* The AGOCE runs in a newly started map scene, with the screen faded to
* black, and the party leader revived to 1 HP.
*/
var Imported = Imported || {};
Imported.Kath_GameOver = true;
//=============================================================================
// Helper method: parseBoolean
//=============================================================================
var Kath = Kath || {};
Kath.Core = Kath.Core || {};
// Convert a user-entered string into a Boolean true or false value.
Kath.Core.parseBoolean = function(parameter, defaultValue) {
switch (String(parameter).trim().toLowerCase()) {
case 'true':
case 't':
case 'yes':
case 'y':
case 'on':
case '1':
return true;
case 'false':
case 'f':
case 'no':
case 'n':
case 'off':
case '0':
return false;
default:
return defaultValue;
} // end switch
};
//=============================================================================
// Parameters and Constants
//=============================================================================
Kath.Parameters = PluginManager.parameters('Kath_GameOver');
Kath.Param = Kath.Param || {};
Kath.Param.PartyDeathCommonEventID =
Number.parseInt(Kath.Parameters['Party Death Common Event ID']);
Kath.Param.ShowGameOverScene =
Kath.Core.parseBoolean(Kath.Parameters['Show Game Over Scene'], true);
Kath.Param.ReloadLastSave =
Kath.Core.parseBoolean(Kath.Parameters['Reload Last Save'], false);
Kath.Param.AfterGameOverCommonEventID =
Number.parseInt(Kath.Parameters['After Game Over Common Event ID']);
Kath.GameOver = {};
Kath.GameOver.RELOAD_FADE_DELAY = 60;
//=============================================================================
// Party death common event
//=============================================================================
// Replacement method
// Like original, but with handling added for Party Death Common Event case.
BattleManager.processDefeat = function() {
this.displayDefeatMessage();
this.playDefeatMe();
if (this._canLose) {
this.replayBgmAndBgs();
this.endBattle(2);
} else {
AudioManager.stopBgm();
if (Kath.Param.PartyDeathCommonEventID) {
$gameParty.reviveLeader();
$gameTemp.reserveCommonEvent(Kath.Param.PartyDeathCommonEventID);
$gameTroop.setupBattleEvent(); // Run the reserved common event.
// the battle doesn't end here in this case,
// unless a scene control command ends it in the common event.
} else {
this.endBattle(2);
}
}
};
// replacement method
Scene_Base.prototype.checkGameover = function() {
if ($gameParty.isAllDead()) {
if (Kath.Param.PartyDeathCommonEventID) {
$gameParty.reviveLeader();
$gameTemp.reserveCommonEvent(Kath.Param.PartyDeathCommonEventID);
} else {
SceneManager.goto(Scene_Gameover);
}
}
};
Game_Party.prototype.reviveLeader = function() {
if ($gameParty.isAllDead()) {
$gameParty.leader().setHp(1);
$gameParty.leader().clearStates();
}
};
//=============================================================================
// Skip Game Over Scene
// Redefine several methods of Scene_GameOver
// so that it skips straight to the next scene.
//=============================================================================
if (!Kath.Param.ShowGameOverScene) {
Scene_Gameover.prototype.create = function() {
Scene_Base.prototype.create.call(this);
//this.playGameoverMusic(); // No music.
this.createBackground();
};
Scene_Gameover.prototype.start = function() {
Scene_Base.prototype.start.call(this);
//this.startFadeIn(this.slowFadeSpeed(), false); // No fadein.
};
Scene_Gameover.prototype.update = function() {
// Do not require a trigger.
if (this.isActive() && !this.isBusy()) {
this.gotoTitle();
}
Scene_Base.prototype.update.call(this);
};
Scene_Gameover.prototype.createBackground = function() {
// Load image to avoid potential conflicts.
this._backSprite = new Sprite();
this._backSprite.bitmap = ImageManager.loadSystem('GameOver');
//this.addChild(this._backSprite); // But don't show it!
};
}
// new method
Kath.GameOver.findPostGameOverSceneClass = function() {
if (Kath.Param.ReloadLastSave) {
if (DataManager.isThisGameFile(DataManager.lastAccessedSavefileId())) {
return Scene_Map;
} else {
return Scene_Title;
}
} else if (Kath.Param.AfterGameOverCommonEventID) {
return Scene_Map;
} else {
return Scene_Title;
}
};
//=============================================================================
// After-Game-Over behavior. This includes reload last save, if called for.
//=============================================================================
if (Kath.Param.ReloadLastSave) {
// extended method
Kath.GameOver.Scene_Gameover_gotoTitle = Scene_Gameover.prototype.gotoTitle;
Scene_Gameover.prototype.gotoTitle = function() {
var saveId = DataManager.lastAccessedSavefileId();
if (!DataManager.isThisGameFile(saveId)) {
// This game hasn't been saved yet. Go to the title screen.
return Kath.GameOver.Scene_Gameover_gotoTitle.call(this);
}
DataManager.loadGame(saveId);
$gamePlayer.requestMapReload();
$gameScreen.startFadeOut(1); // start next scene blacked out
if (Kath.Param.AfterGameOverCommonEventID > 0) {
$gameTemp.reserveCommonEvent(Kath.Param.AfterGameOverCommonEventID);
SceneManager.goto(Scene_Map);
} else {
SceneManager.goto(Scene_Map);
// Transfer to where we are, to set BGM, map fadein, etc.
$gamePlayer.reserveTransfer($gameMap.mapId(),
$gamePlayer.x, $gamePlayer.y, $gamePlayer.direction(), 0);
$gameScreen.startFadeIn(this.slowFadeSpeed());
}
};
} else if (Kath.Param.AfterGameOverCommonEventID > 0) {
// replacement method
Scene_Gameover.prototype.gotoTitle = function() {
$gameScreen.startFadeOut(1); // start next scene blacked out
$gameParty.reviveLeader();
$gameTemp.reserveCommonEvent(Kath.Param.AfterGameOverCommonEventID);
SceneManager.goto(Scene_Map);
};
}
Download here: Kath_GameOver.js
Version History
Version 1.0.1 - Minor edits to Version 1.0, mostly in help text.
Version 1.0.2 - Show/Skip Game Over Screen bugfix attempted, but found to cause the game to freeze on some machines.
Version 1.0.3 - Show/Skip Game Over Screen feature removed for now.
Version 1.1 - Show/Skip Game Over Screen feature is back. The bug appears to be fixed.
Version 1.2 - New parameter allows you to reload data from the player's last save.
Version 1.3 - Set the Party Death Common Event to customize what happens before (or instead of!) the Game Over fadeout.
FAQ
Q: I've set a common event to occur after Game Over, but when I try it, the screen stays black and I can't see anything. Help!
A: After Game Over, the screen starts out faded to black to give the After Game Over Common Event a chance to handle transfers and other "behind-the-scenes" processing before showing the screen. To get rid of the blackness, make sure to run a "Fade In" command as part of your After Game Over Common Event.
Q: My game lets the player continue exactly where they left off after they die. But when they continue, the music for the map they're in doesn't autoplay like it's supposed to. Is this a bug, or do I need to do something differently?
A: This is not a bug. The silence gives the Game Over common event a chance to run its course without being interrupted by the BGM of the map where the player died. A transfer will cause the music of the destination to autoplay. Though you don't need the player to go anywhere, transferring the player to where they already are will fix your music problem. Here's how to do it:
- At the start of your Game Over common event, use the Control Variables command three times to assign three variables: the player's current map ID, X coordinate, and Y coordinate.
- Place a Player Transfer command at the part of the event when the map's BGM should start playing.
- As always, remember to use a Fadein Screen command! (The fade that accompanies the Player Transfer command won't cut it.)
Terms of Use
This plugin is free for all use, including commercial use. Please credit me (McKathlin) where appropriate. Sending me a free copy of your completed game is encouraged but not required. -
dropbox link is invalid.
-
Thank you!
-
The links are broken :/
-
Hi all, sorry about the broken Dropbox links! I've updated the OP with a new link for the current version; it's now hosted on Pastebin.
Thanks @ChrncSlghtr and @Mihnea for alerting me to this issue. And @Roninator2, thank you for providing a download while I was away! -
Is it possible to run both Party Death and After Game Over common events? I want to run a message and a conditional to transfer items for the next run upon party death which would transition to game over and the after game over would bring back the character back to square one with all progress reset except the items that were transferred over.
However when I try running both events the game only runs the Party Death and stops there even if I put Game Over at the end of the event it doesn't activate the After Game Over portion... -
Hi Alkaline, it's supposed to be possible to use both, and I thought it was. I'll run a few more tests to see if I can find what's going wrong. If I don't find it soon, I might get in touch with you one-on-one with questions about your use case so that I can find and fix this bug.
-
My recent tests on this plugin have shown that using the Abort Battle command and the Game Over command in the same Party Death Common Event can cause issues with scene control, so I'm adding a note to the help text that advises plugin users to avoid doing this.