This should let you run a common event before and after battle.
#==============================================================================
# ** TDS Battle Common Events
# ver : 1.0
#------------------------------------------------------------------------------
# Description :
# This script is used to run common events before and after battle.
#==============================================================================
#--------------------------------------------------------------------------
# * Constants
#--------------------------------------------------------------------------
# Common Event ID to run before a battle starts
BEFORE_BATTLE_C_EVENT_ID = 1
# Common Event ID to run after a battle ends (Win, Escape, Lose) 0 for nothing
AFTER_BATTLE_C_EVENTS_ID = [2, 0, 2]
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
# This class performs the map screen processing.
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias tds_battle_common_events_scene_map_call_battle call_battle
#--------------------------------------------------------------------------
# * Switch to Battle Screen
#--------------------------------------------------------------------------
def call_battle
# Run Original Method
tds_battle_common_events_scene_map_call_battle
# Call a battle common event
$game_map.interpreter.battle_common_event(BEFORE_BATTLE_C_EVENT_ID)
# Update Game Map Interpreter
$game_map.interpreter.update
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias tds_battle_common_events_scene_battle_battle_end battle_end
#--------------------------------------------------------------------------
# * End Battle
# result : Results (0: win, 1: escape, 2:lose)
#--------------------------------------------------------------------------
def battle_end(result)
# Run Original Method
tds_battle_common_events_scene_battle_battle_end(result)
# If After Battle Common Event ID is not 0
if AFTER_BATTLE_C_EVENTS_ID[result] != 0
# Call a battle common event
$game_map.interpreter.battle_common_event(AFTER_BATTLE_C_EVENTS_ID[result])
# Update Game Map Interpreter
$game_map.interpreter.update
end
end
end
#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
# An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# * Call Battle Common Event
#--------------------------------------------------------------------------
def battle_common_event(id)
common_event = $data_common_events[id]
if common_event != nil
@child_interpreter = Game_Interpreter.new(@depth + 1)
@child_interpreter.setup(common_event.list, @event_id)
end
return true
end
end
To use simply edit these constants in the script.
BEFORE_BATTLE_C_EVENT_ID = #
# Is the ID of the common event you want to run before battles.
AFTER_BATTLE_C_EVENTS_ID = [#1, #2, #3]
After battle you can set 3 different common events to run depending on what happened in battle.
#1 ID of common event to run if you win
#2 ID of common event to run if you escape
#3 ID of common event to run if you lose
If you set the ID of any to 0 it won't run any common events in that instance.
Let me know if this works out for you and if you need anything fixed/added.
Have a nice day.