Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> Battle Retry, I could use some help
J3ST3R423
post Oct 15 2011, 12:38 PM
Post #1


Level 2
Group Icon

Group: Member
Posts: 19
Type: Developer
RM Skill: Beginner




Im using a retry battle script that allows you to choose what maps you can retry on by turning on the corresponding switch in an event. but i must be doing something wrong because i cant get it to work, could someone plz tell me how to go about setting up this event Ive tried everything and Im only accomplishing a headache lol i know its something simple and im probably going to feel stuipid once figured out. but i culd use the help.

heres the script

#===============================================================
# ● [VX] ◦ Battle Retry ◦ □
# * Enable player to retry the battle after losing *
# ** Note: Read the setup part before using this script **
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 29/02/2009
# ◦ Version: 1.0
#--------------------------------------------------------------
# ◦ Update:
#--------------------------------------------------------------
# □ Version 1.0 (29/02/2009)
# - Set switch ID to enable/disable battle retry during the game
# - Editable command's text, command's window width and Y-coordinate
# - You can choose to record party actors stat (HP/MP/States) before battle
#
#--------------------------------------------------------------
# ◦ Compatibility:
#--------------------------------------------------------------
# □ This script will rewrite 0 method(s):
#
#
# □ This script will alias 5 method(s):
# Scene_Gameover.perform_transition
# Scene_Gameover.terminate
# Scene_Gameover.update
# Scene_Battle.battle_end
# Game_Interpreter.command_301
#
# □ This script should work with most scripts, except for some modifications
# of Scene_Gameover
#
#--------------------------------------------------------------
# ◦ Installation:
#--------------------------------------------------------------
# 1) This script should be placed JUST BEFORE ▼ Main Process.
#
# □ Like this:
# ▼ Materials
# ...
# ...
# * Battle Retry
# ▼ Main Process
# Main
#
# 2) Setup this script in Setup Part below.
#
#--------------------------------------------------------------
# ◦ How to use:
#--------------------------------------------------------------
# □ Place this script and setup in the setup part.
#
#=================================================================

class Scene_Gameover < Scene_Base

#=================================================================
# ++ Setup Part
#-----------------------------------------------------------------
BATRETRY_SWITCH_ID = 1
# Enable Battle Retry if this switch ID is ON
# Disable Battle Retry if this switch ID is OFF

BATRETRY_COMMANDS = ['Retry Battle', 'Return to Title Screen']
# Text on command window asking for Battle Retry
# E.g. ['Go back to battle', 'Exit to title screen']

BATRETRY_WINDOW_Y = 288
# Command window's Y-coordinate (Top: 0, Bottom: 416)

BATRETRY_WINDOW_WIDTH = 200
# Command windows' width

BATRETRY_RECORD_PARTY_STAT = true
# Record party members' HP/MP/status before going to battle? (true/false)
#
# - If this set to true, if Ralph has HP 30 before battle and got poisoned.
# When player retry the battle, Ralph will still has HP 30 and poisoned.
#
# - If this set to false, all the members will get full HP/MP and no bad status
# after retry the battle.
#=================================================================

alias wora_batretry_scego_pertran perform_transition
alias wora_batretry_scego_term terminate
alias wora_batretry_scego_upd update
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update(*args)
if $game_temp.battle_retry?
super
@command_window.update
if Input.trigger?(Input::C)
case @command_window.index
when 0 # Battle Retry
# If recorded party stat, load recorded data
unless $game_temp.last_troop_actor.nil?
$game_temp.last_troop_actor.each_key do |id|
data = $game_temp.last_troop_actor[id]
$game_actors[id].hp = data[0]
$game_actors[id].mp = data[1]
$game_actors[id].real_states = data[2]
end
else # If not, recover party members
$game_party.members.each {|actor| actor.recover_all }
end
# Setup battle
last_troop = $game_temp.last_troop_id
$game_troop.setup(last_troop[0])
$game_troop.can_escape = last_troop[1]
$game_troop.can_lose = false
$game_temp.next_scene = "battle"
$scene = Scene_Battle.new
when 1 # Go to Title Screen
$scene = Scene_Title.new
Graphics.fadeout(120)
end
end
else # Normal Gameover scene
wora_batretry_scego_upd(*args)
end
end
#--------------------------------------------------------------------------
# * Execute Transition
#--------------------------------------------------------------------------
def perform_transition(*args)
if $game_temp.battle_retry?
# Add command window if need battle retry
@command_window = Window_Command.new(BATRETRY_WINDOW_WIDTH, BATRETRY_COMMANDS)
# Show battle retry window in the middle
@command_window.x = (Graphics.width - @command_window.width) / 2
@command_window.y = BATRETRY_WINDOW_Y
@command_window.openness = 0
@command_window.open
# Perform transition
wora_batretry_scego_pertran(*args)
# Open command window
until @command_window.openness == 255
@command_window.update
Graphics.update
end
@command_window.active = true
else # Normal Gameover scene
wora_batretry_scego_pertran(*args)
end
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate(*args)
@command_window.dispose unless @command_window.nil?
wora_batretry_scego_term(*args)
end
end

class Scene_Battle < Scene_Base
alias wora_batretry_scebat_batend battle_end
#--------------------------------------------------------------------------
# * End Battle
#--------------------------------------------------------------------------
def battle_end(*args)
unless (args[0] == 2 and !$game_troop.can_lose)
# Remove last troop data if won battle
$game_temp.last_troop_id = nil
$game_temp.last_troop_actor = nil
end
wora_batretry_scebat_batend(*args)
end

end

class Game_Temp
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :last_troop_id, :last_troop_actor

#--------------------------------------------------------------------------
# * Check if battle can be retry
#--------------------------------------------------------------------------
def battle_retry?
return ($game_switches[Scene_Gameover::BATRETRY_SWITCH_ID] and
!@last_troop_id.nil?)
end
end

class Game_Interpreter
alias wora_batretry_gamint_com301 command_301
#--------------------------------------------------------------------------
# * Battle Processing
#--------------------------------------------------------------------------
def command_301(*args)
# If enable to record party stat before battle..
if Scene_Gameover::BATRETRY_RECORD_PARTY_STAT
$game_temp.last_troop_actor = {}
$game_party.members.each do |actor|
$game_temp.last_troop_actor[actor.id] = [actor.hp, actor.mp, actor.real_states]
end
end
# Store last troop ID in Game_System
troop_id = @params[0] == 0 ? @params[1] : $game_variables[@params[1]]
$game_temp.last_troop_id = [troop_id, @params[2]] unless $game_temp.in_battle
wora_batretry_gamint_com301(*args)
end
end

class Game_Battler
#--------------------------------------------------------------------------
# * Return real states
#--------------------------------------------------------------------------
def real_states
return @states.clone
end

#--------------------------------------------------------------------------
# * Set states with states ID array
#--------------------------------------------------------------------------
def real_states=(states_id_array)
@states = states_id_array
end
end
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 20th May 2013 - 01:59 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker