Jackolas Advance GameOver Script
Authors: Jackolas
Version: 1.1
Type: GameOver Script
Key Term: Title / Save / Load / GameOver Add-on
IntroductionThe Advance Game-Over Script gives you the option to add almost every possible
game-over from popular games. from the respawn in pokemon centres till the
show a menu like in NWN where you can check to respawn, reload or restart.
FeaturesCurrent Features:
- Fixed Spawn location / Variable spawn location
- Map id / Variable of map id
- Map x / Variable of map x
- Map y / Variable of map y
- Able to lose gold on death (true/false)
- How much gold to lose (can be in % or in fixed number)
- Able to lose exp on death (true/false)
- Able to lose lvls on death (true/false)
- How much exp to lose (can be in % or in fixed number)
- Auto-heal on respawn (true/false)
To be added in later versions:
- Better instructions
- Show Game Over screen with option to continue, load or main menu (true/false)
- Able to lose items in backpack (true/false)
- Likelihood you will lose item from backpack (in %)
- Able to lose equipped items (true/false)
- Likelihood you will lose item equipped (in %)
ScreenshotsNot possible for this script atm
DemoRespect my laziness
Script
#==============================================================================
# ■ Jackolas Advance GameOver Script
#==============================================================================
# script by: Jackolas
# Version number: V 1.1
# Last edit date: 17-12-09
#
# Thanks: macht102 (for requesting)
# elementisland (asking for options)
# winkio (for example script)
#==============================================================================
# Introduction:
# The Advance Game-Over Script gives you the option to add almost every possible
# game-over from popular games. from the respawn in pokemon centres till the
# show menu where you can check to respawn, reload or restart in NWN.
# ====================
# Compatibility:
# 95% compatible with SDK v1.x. 80% compatible with SDK 2.x.
# Will not work with scripts that edit the Scene_Gameover
# ====================
# Current Features:
# - Fixed Spawn location / Variable spawn location
# - Map id / Variable of map id
# - Map x / Variable of map x
# - Map y / Variable of map y
# - Able to lose gold on death (true/false)
# - How much gold to lose (can be in % or in fixed number)
# - Able to lose exp on death (true/false)
# - Able to lose lvls on death (true/false)
# - how much exp to lose (can be in % or in fixed number)
# - Auto-heal on respawn (true/false)
# ====================
# To be added in later versions:
# - Better instructions
# - Show Game Over screen with option to continue, load or main menu (true/false)
# - Able to lose items in backpack (true/false)
# - Likelihood you will lose item from backpack (in %)
# - Able to lose equipped items (true/false)
# - Likelihood you will lose item equipped (in %)
# ====================
# Instructions:
# Place the script above Main and below any other custom scripts.
# Edit the Configuration to your likings.
# Play the game and die
# ====================
# Notes:
# - Do not edit anything else than the configuration.
# - If you find any bugs, please report them here:
# http://forum.chaos-project.com
#==============================================================================
module Jackolas_GameOver
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration below
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Fixed_Spawn = false # true / false
VarID = 1 # Var number for map id / fixed map ID location
VarX = 2 # var number for map x / fixed map x location
VarY = 3 # var number for map y / fixed map y location
# Show_gameover = false # true / false (not build in yet)
LoseGold = false # true / false
GoldAmount = 0 # Above 1 = fixed amount / Below 1 = % of total
LoseExp = false # true / false
LoseLvl = false # true / false
ExpAmount = 0 # Above 1 = fixed amount / Below 1 = % amount
Autoheal = false # true / false
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration above
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
end
class Game_Actor
attr_accessor :exp_list
end
class Scene_Gameover
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Set game over flag
$game_temp.gameover = false
# Return to BGM before battle starts
$game_system.bgm_play($game_temp.map_bgm)
# Clear in battle flag
$game_temp.in_battle = false
# Clear entire party actions flag
$game_party.clear_actions
# Clear enemies
$game_troop.enemies.clear
# Call battle callback
if $game_temp.battle_proc != nil
$game_temp.battle_proc.call(2)
$game_temp.battle_proc = nil
end
# Execute transition
Graphics.transition(120)
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Start special options
auto_heal
remove_gold
remove_exp
remove_item
# start transport
start_transport
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Execute transition
Graphics.transition(120)
# Prepare for transition
Graphics.freeze
# If battle test
if $BTEST
$scene = nil
end
end
#--------------------------------------------------------------------------
# * Auto heal Processing
#--------------------------------------------------------------------------
def auto_heal
for actor in $game_party.actors
actor.remove_states_battle
end
if Jackolas_GameOver::Autoheal
for actor in $game_party.actors
actor.recover_all
end
else
for actor in $game_party.actors
actor.hp = 1
end
end
end
#--------------------------------------------------------------------------
# * Remove Gold Processing
#--------------------------------------------------------------------------
def remove_gold
if Jackolas_GameOver::LoseGold
if Jackolas_GameOver::GoldAmount >=1
if Jackolas_GameOver::GoldAmount >= $game_party.gold
goldlose = $game_party.gold
else
goldlose = Jackolas_GameOver::GoldAmount
end
else
goldlose = $game_party.gold * Jackolas_GameOver::GoldAmount
end
$game_party.gain_gold(-goldlose.to_i)
else
return
end
end
#--------------------------------------------------------------------------
# * Remove EXP Processing
#--------------------------------------------------------------------------
#This works, Do never touch any of these or the script WILL crash!!!
#The reason for the many "if" is to make sure you won't get -exp
def remove_exp
if Jackolas_GameOver::LoseExp
if Jackolas_GameOver::ExpAmount >= 1
for actor in $game_party.actors
if Jackolas_GameOver::LoseLvl
if Jackolas_GameOver::ExpAmount >= actor.exp
explose = Jackolas_GameOver::ExpAmount
else
explose = actor.exp
end
else
if (actor.exp - actor.exp_list[actor.level]) >= Jackolas_GameOver::ExpAmount
explose = Jackolas_GameOver::ExpAmount
else
explose = actor.exp - actor.exp_list[actor.level]
end
end
actor.exp -= explose
actor.exp = actor.exp.to_i
end
else
for actor in $game_party.actors
if Jackolas_GameOver::LoseLvl
explose = actor.exp * Jackolas_GameOver::ExpAmount
else
explose = (actor.exp - actor.exp_list[actor.level]) * Jackolas_GameOver::ExpAmount
end
actor.exp -= explose
actor.exp = actor.exp.to_i
end
end
else
return
end
end
#--------------------------------------------------------------------------
# * Remove item Processing
#--------------------------------------------------------------------------
def remove_item
return
end
#--------------------------------------------------------------------------
# * start_transport
#--------------------------------------------------------------------------
def start_transport
# Set variables
if Jackolas_GameOver::Fixed_Spawn
@MapID = Jackolas_GameOver::VarID
@MapX = Jackolas_GameOver::VarX
@MapY = Jackolas_GameOver::VarY
else
@MapID = $game_variables[Jackolas_GameOver::VarID]
@MapX = $game_variables[Jackolas_GameOver::VarX]
@MapY = $game_variables[Jackolas_GameOver::VarY]
end
# Transport player
$game_map.setup(@MapID)
$game_player.moveto(@MapX, @MapY)
# Refresh map
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
end
InstructionsPlace the script above Main and below any other custom scripts.
Edit the Configuration to your likings.
Play the game and die
Compatibility95% compatible with SDK v1.x. 80% compatible with SDK 2.x.
Will not work with scripts that edit the Scene_Gameover
Credits and Thanks
- macht102 (for requesting)
- elementisland (asking for options)
- winkio (for example script)
Author's NotesDo not edit anything else than the configuration.
If you find any bugs, please report them here:
http://forum.chaos-project.com
jheej ! :haha:
You could always just make the script call a common event.
??
Well, it'd be a lot more powerful than this. No offense. But you could just return to the map and call a common event, and the user could do anything they could do with events.
true... but that's with like 50% of all scripts out here.
this is just more to keep it simple. and still working to add some extra stuff to it.. when I have time
Evil Blizzard deleted the post I was replying to..
That's understandable after you wasted your creativity on those 30 other one-lined, useless posts.
??
It was spammer. S_N replied, but I deleted the spammer's post later.