¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3394 miembros registrados.
El último usuario registrado es Yember Games.

Nuestros miembros han publicado un total de 79794 mensajes en 11255 argumentos.
Navega con Google Chrome
[DESCARGA]

Ayuda con el Engine YANFLY ENGINE ACE - VICTORY AFTERMATH RPG Maker VX Ace

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX ACE Ayuda con el Engine YANFLY ENGINE ACE - VICTORY AFTERMATH RPG Maker VX Ace

Mensaje por Dails el 2016-11-13, 10:37

Lo que quiero hacer es que cada personaje diga una o 2 frases suyas, pero lo que consigo es que algun personaje y diga una frase aleatoria de las que puse. Por eso necesito ayuda con esto. Gracias de antemano.

Elscript:
#============================================================================
# ¥ Yanfly Engine Ace - Victory Aftermath v1.04
# -- Last Updated: 2014.03.019
# -- Level: Easy, Normal, Hard
# -- Requires: n/a
# -- Special Thanks: Yami for Bug Fixes.
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YEA-VictoryAftermath"] = true

#==============================================================================
# ¥ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2014.03.19 - Fixed a bug where if the battle ends with a stat buff/debuff and
#              it will display the wrong parameters.
# 2012.01.07 - Compatibility Update: JP Manager
# 2012.01.01 - Bug Fixed: Quote tags were mislabeled.
# 2011.12.26 - Compatibility Update: Command Autobattle
# 2011.12.16 - Started Script and Finished.
#
#==============================================================================
# ¥ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# At the end of each battle, RPG Maker VX Ace by default shows text saying that
# the party has gained so-and-so EXP while this person leveled up and your
# party happened to find these drops. This script changes that text into
# something more visual for your players to see. Active battle members will be
# seen gaining EXP, any kind of level up changes, and a list of the items
# obtained through drops.
#
#==============================================================================
# ¥ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ¥ Materials/‘fÞ but above ¥ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Actor Notetags - These notetags go in the actors notebox in the database.
# -----------------------------------------------------------------------------
#
"How many is that? \n
I've lost count."
#

# Sets the win quote for the actor. The strings are continuous and can use
# text codes. Use \n for a line break. Type in what you want the actor to say
# for the particular win quote. Use [New Quote] in between the two tags to
# start up a new quote.
#
#
#  string
#  string
#

# Sets the level up quote for the actor. The strings are continuous and can use
# text codes. Use \n for a line break. Type in what you want the actor to say
# for the particular win quote. Use [New Quote] in between the two tags to
# start up a new quote.
#
#
#  string
#  string
#

# Sets the drops quote for the actor. The strings are continuous and can use
# text codes. Use \n for a line break. Type in what you want the actor to say
# for the particular win quote. Use [New Quote] in between the two tags to
# start up a new quote.
#
# -----------------------------------------------------------------------------
# Class Notetags - These notetags go in the class notebox in the database.
# -----------------------------------------------------------------------------
#
#  string
#  string
#

# Sets the win quote for the class. The strings are continuous and can use
# text codes. Use \n for a line break. Type in what you want the actor to say
# for the particular win quote. Use [New Quote] in between the two tags to
# start up a new quote.
#
#
#  string
#  string
#

# Sets the level up quote for the class. The strings are continuous and can use
# text codes. Use \n for a line break. Type in what you want the actor to say
# for the particular win quote. Use [New Quote] in between the two tags to
# start up a new quote.
#
#
#  string
#  string
#

# Sets the drops quote for the class. The strings are continuous and can use
# text codes. Use \n for a line break. Type in what you want the actor to say
# for the particular win quote. Use [New Quote] in between the two tags to
# start up a new quote.
#
#==============================================================================
# ¥ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================

module YEA
 module VICTORY_AFTERMATH
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - General Settings -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # These are various settings that are used throughout the Victory Aftermath
   # portion of a battle. Adjust them as you see fit.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   VICTORY_BGM  = RPG::BGM.new("Field1", 100, 100)    # Victory BGM
   VICTORY_TICK = RPG::SE.new("Decision1", 100, 150)  # EXP ticking SFX
   LEVEL_SOUND  = RPG::SE.new("Up4", 80, 150)         # Level Up SFX
   SKILLS_TEXT  = "New Skills"                        # New skills text title.
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Important Settings -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # These are some important settings so please set them up properly. This
   # section includes a switch that allows you to skip the victory aftermath
   # phase (for those back to back battles and making them seamless) and it
   # also allows you to declare a common event to run after each battle. If
   # you do not wish to use either of these features, set them to 0. The
   # common event will run regardless of win or escape.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   SKIP_AFTERMATH_SWITCH  = 0  # If switch on, skip aftermath. 0 to disable.
   SKIP_MUSIC_SWITCH      = 0  # If switch on, skip music. 0 to disable.
   AFTERMATH_COMMON_EVENT = 0  # Runs common event after battle. 0 to disable.
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Top Text Settings -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Here, you can adjust the various text that appears in the window that
   # appears at the top of the screen.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   TOP_TEAM         = "%s's team"           # Team name used.
   TOP_VICTORY_TEXT = "%s is victorious!"   # Text used to display victory.
   TOP_LEVEL_UP     = "%s has leveled up!"  # Text used to display level up.
   TOP_SPOILS       = "Victory Spoils!"     # Text used for spoils.
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - EXP Gauge Settings -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Adjust how the EXP Gauge appears for the Victory Aftermath here. This
   # includes the text display, the font size, the colour of the gauges, and
   # more. Adjust it all here.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   VICTORY_EXP  = "+%sEXP"      # Text used to display EXP.
   EXP_PERCENT  = "%1.2f%%"     # The way EXP percentage will be displayed.
   LEVELUP_TEXT = "LEVEL UP!"   # Text to replace percentage when leveled.
   MAX_LVL_TEXT = "MAX LEVEL"   # Text to replace percentage when max level.
   FONTSIZE_EXP = 20            # Font size used for EXP.
   EXP_TICKS    = 15            # Ticks to full EXP
   EXP_GAUGE1   = 12            # "Window" skin text colour for gauge.
   EXP_GAUGE2   = 4             # "Window" skin text colour for gauge.
   LEVEL_GAUGE1 = 13            # "Window" skin text colour for leveling.
   LEVEL_GAUGE2 = 5             # "Window" skin text colour for leveling.
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Victory Messages -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # In the Victory Aftermath, actors can say unique things. This is the pool
   # of quotes used for actors without any custom victory quotes. Note that
   # actors with custom quotes will take priority over classes with custom
   # quotes, which will take priority over these default quotes. Use \n for
   # a line break in the quotes.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   HEADER_TEXT = "\e>\eC[6]%s\eC[0]\e<\n"  # Always at start of messages.
   FOOTER_TEXT = ""                        # Always at end of messages.
   
   # Win Quotes are what the actors say when a battle is won.
   VICTORY_QUOTES ={
   # :type   => Quotes
     #------------------------------------------------------------------------
     :win    => [ # Occurs as initial victory quote.
                  '"We won! What an exciting fight!"',
                  '"I didn\'t even break a sweat."',
                  '"That wasn\'t so tough."',
                  '"Let\'s fight something harder!"',
                ],# Do not remove this.
     #------------------------------------------------------------------------
     :level  => [ # Occurs as initial victory quote.
                  '"Yes! Level up!"',
                  '"I\'ve gotten stronger!"',
                  '"Try to keep up with me!"',
                  '"I\'ve grown again!"',
                ],# Do not remove this.
     #------------------------------------------------------------------------
     :drops  => [ # Occurs as initial victory quote.
                  '"I\'ll be taking these."',
                  '"To the victor goes the spoils."',
                  '"The enemies dropped something!"',
                  '"Hey, what\'s this?"',
                ],# Do not remove this.
     #------------------------------------------------------------------------
   } # Do not remove this.
   
 end # VICTORY_AFTERMATH
end # YEA

#==============================================================================
# ¥ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

module YEA
 module REGEXP
 module BASEITEM
   
   NEW_QUOTE = /\[(?:NEW_QUOTE|new quote)\]/i
   
   WIN_QUOTE_ON    = /<(?:WIN_QUOTES|win quote|win quotes)>/i
   WIN_QUOTE_OFF   = /<\/(?:WIN_QUOTES|win quote|win quotes)>/i
   LEVEL_QUOTE_ON  = /<(?:LEVEL_QUOTES|level quote|level quotes)>/i
   LEVEL_QUOTE_OFF = /<\/(?:LEVEL_QUOTES|level quote|level quotes)>/i
   DROPS_QUOTE_ON  = /<(?:DROPS_QUOTES|drops quote|drops quotes)>/i
   DROPS_QUOTE_OFF = /<\/(?:DROPS_QUOTES|drops quote|drops quotes)>/i
   
 end # BASEITEM
 end # REGEXP
end # YEA

#==============================================================================
# ¡ Switch
#==============================================================================

module Switch
 
 #--------------------------------------------------------------------------
 # self.skip_aftermath
 #--------------------------------------------------------------------------
 def self.skip_aftermath
   return false if YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH <= 0
   return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH]
 end
 
 #--------------------------------------------------------------------------
 # self.skip_aftermath_music
 #--------------------------------------------------------------------------
 def self.skip_aftermath_music
   return false if YEA::VICTORY_AFTERMATH::SKIP_MUSIC_SWITCH <=0
   return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_MUSIC_SWITCH]
 end
   
end # Switch

#==============================================================================
# ¡ Numeric
#==============================================================================

class Numeric
 
 #--------------------------------------------------------------------------
 # new method: group_digits
 #--------------------------------------------------------------------------
 unless $imported["YEA-CoreEngine"]
 def group; return self.to_s; end
 end # $imported["YEA-CoreEngine"]
   
end # Numeric

#==============================================================================
# ¡ DataManager
#==============================================================================

module DataManager
 
 #--------------------------------------------------------------------------
 # alias method: load_database
 #--------------------------------------------------------------------------
 class < def self.load_database
   load_database_va
   load_notetags_va
 end
 
 #--------------------------------------------------------------------------
 # new method: load_notetags_va
 #--------------------------------------------------------------------------
 def self.load_notetags_va
   groups = [$data_actors, $data_classes]
   for group in groups
     for obj in group
       next if obj.nil?
       obj.load_notetags_va
     end
   end
 end
 
end # DataManager

#==============================================================================
# ¡ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
 
 #--------------------------------------------------------------------------
 # public instance variables
 #--------------------------------------------------------------------------
 attr_accessor :win_quotes
 attr_accessor :level_quotes
 attr_accessor :drops_quotes
 
 #--------------------------------------------------------------------------
 # common cache: load_notetags_va
 #--------------------------------------------------------------------------
 def load_notetags_va
   @win_quotes = [""]
   @level_quotes = [""]
   @drops_quotes = [""]
   @victory_quote_type = nil
   #---
   self.note.split(/[\r\n]+/).each { |line|
     case line
     #---
     when YEA::REGEXP::BASEITEM::WIN_QUOTE_ON
       @victory_quote_type = :win_quote
     when YEA::REGEXP::BASEITEM::WIN_QUOTE_OFF
       @victory_quote_type = nil
     when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_ON
       @victory_quote_type = :level_quote
     when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_OFF
       @victory_quote_type = nil
     when YEA::REGEXP::BASEITEM::DROPS_QUOTE_ON
       @victory_quote_type = :drops_quote
     when YEA::REGEXP::BASEITEM::DROPS_QUOTE_OFF
       @victory_quote_type = nil
     #---
     when YEA::REGEXP::BASEITEM::NEW_QUOTE
       case @victory_quote_type
       when nil; next
       when :win_quote;   @win_quotes.push("")
       when :level_quote; @level_quotes.push("")
       when :drops_quote; @drops_quotes.push("")
       end
     #---
     else
       case @victory_quote_type
       when nil; next
       when :win_quote;   @win_quotes[@win_quotes.size-1] += line.to_s
       when :level_quote; @level_quotes[@level_quotes.size-1] += line.to_s
       when :drops_quote; @drops_quotes[@drops_quotes.size-1] += line.to_s
       end
     end
   } # self.note.split
   #---
   return unless self.is_a?(RPG::Class)
   quotes = YEA::VICTORY_AFTERMATH::VICTORY_QUOTES
   @win_quotes = quotes[:win].clone if @win_quotes == [""]
   @level_quotes = quotes[:level].clone if @level_quotes == [""]
   @drops_quotes = quotes[:drops].clone if @drops_quotes == [""]
 end
 
end # RPG::BaseItem

#==============================================================================
# ¡ BattleManager
#==============================================================================

module BattleManager
 
 #--------------------------------------------------------------------------
 # overwrite method: self.process_victory
 #--------------------------------------------------------------------------
 def self.process_victory
   if $imported["YEA-CommandAutobattle"]
     SceneManager.scene.close_disable_autobattle_window
   end
   return skip_aftermath if Switch.skip_aftermath
   play_battle_end_me
   gain_jp if $imported["YEA-JPManager"]
   display_exp
   gain_exp
   gain_gold
   gain_drop_items
   close_windows
   SceneManager.return
   replay_bgm_and_bgs
   battle_end(0)
   return true
 end
 
 #--------------------------------------------------------------------------
 # new method: self.skip_aftermath
 #--------------------------------------------------------------------------
 def self.skip_aftermath
   $game_party.all_members.each do |actor|
     actor.gain_exp($game_troop.exp_total)
   end
   $game_party.gain_gold($game_troop.gold_total)
   $game_troop.make_drop_items.each do |item|
     $game_party.gain_item(item, 1)
   end
   close_windows
   SceneManager.return
   replay_bgm_and_bgs
   battle_end(0)
 end
 
 #--------------------------------------------------------------------------
 # overwrite method: self.play_battle_end_me
 #--------------------------------------------------------------------------
 def self.play_battle_end_me
   return if Switch.skip_aftermath_music
   $game_system.battle_end_me.play
   YEA::VICTORY_AFTERMATH::VICTORY_BGM.play
 end
 
 #--------------------------------------------------------------------------
 # new method: self.set_victory_text
 #--------------------------------------------------------------------------
 def self.set_victory_text(actor, type)
   text = "" + sprintf(YEA::VICTORY_AFTERMATH::HEADER_TEXT, actor.name)
   text += actor.victory_quotes(type)[rand(actor.victory_quotes(type).size)]
   text += YEA::VICTORY_AFTERMATH::FOOTER_TEXT
   $game_message.face_name = actor.face_name
   $game_message.face_index = actor.face_index
   $game_message.add(text)
   wait_for_message
 end
 
 #--------------------------------------------------------------------------
 # overwrite method: self.display_exp
 #--------------------------------------------------------------------------
 def self.display_exp
   SceneManager.scene.show_victory_display_exp
   actor = $game_party.random_target
   @victory_actor = actor
   set_victory_text(@victory_actor, :win)
 end
 
 #--------------------------------------------------------------------------
 # overwrite method: self.gain_exp
 #--------------------------------------------------------------------------
 def self.gain_exp
   $game_party.all_members.each do |actor|
     temp_actor = Marshal.load(Marshal.dump(actor))
     actor.gain_exp($game_troop.exp_total)
     next if actor.level == temp_actor.level
     SceneManager.scene.show_victory_level_up(actor, temp_actor)
     set_victory_text(actor, :level)
     wait_for_message
   end
 end
 
 #--------------------------------------------------------------------------
 # overwrite method: self.gain_gold
 #--------------------------------------------------------------------------
 def self.gain_gold
   $game_party.gain_gold($game_troop.gold_total)
 end
 
 #--------------------------------------------------------------------------
 # overwrite method: self.gain_drop_items
 #--------------------------------------------------------------------------
 def self.gain_drop_items
   drops = []
   $game_troop.make_drop_items.each do |item|
     $game_party.gain_item(item, 1)
     drops.push(item)
   end
   SceneManager.scene.show_victory_spoils($game_troop.gold_total, drops)
   set_victory_text(@victory_actor, :drops)
   wait_for_message
 end
 
 #--------------------------------------------------------------------------
 # new method: self.close_windows
 #--------------------------------------------------------------------------
 def self.close_windows
   SceneManager.scene.close_victory_windows
 end
 
 #--------------------------------------------------------------------------
 # alias method: load_database
 #--------------------------------------------------------------------------
 class < def self.battle_end(result)
   battle_end_va(result)
   return if result == 2
   return if YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT <= 0
   event_id = YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT
   $game_temp.reserve_common_event(event_id)
 end
 
end # BattleManager

#==============================================================================
# ¡ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
 
 #--------------------------------------------------------------------------
 # overwrite method: gain_exp
 #--------------------------------------------------------------------------
 def gain_exp(exp)
   enabled = !SceneManager.scene_is?(Scene_Battle)
   change_exp(self.exp + (exp * final_exp_rate).to_i, enabled)
 end
 
 #--------------------------------------------------------------------------
 # new method: victory_quotes
 #--------------------------------------------------------------------------
 def victory_quotes(type)
   case type
   when :win
     return self.actor.win_quotes if self.actor.win_quotes != [""]
     return self.class.win_quotes
   when :level
     return self.actor.level_quotes if self.actor.level_quotes != [""]
     return self.class.level_quotes
   when :drops
     return self.actor.drops_quotes if self.actor.drops_quotes != [""]
     return self.class.drops_quotes
   else
     return ["NOTEXT"]
   end
 end
 
end # Game_Actor

#==============================================================================
# ¡ Window_VictoryTitle
#==============================================================================

class Window_VictoryTitle < Window_Base
 
 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, Graphics.width, fitting_height(1))
   self.z = 200
   self.openness = 0
 end
 
 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh(message = "")
   contents.clear
   draw_text(0, 0, contents.width, line_height, message, 1)
 end
 
end # Window_VictoryTitle

#==============================================================================
# ¡ Window_VictoryEXP_Back
#==============================================================================

class Window_VictoryEXP_Back < Window_Selectable
 
 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, fitting_height(1), Graphics.width, window_height)
   self.z = 200
   self.openness = 0
 end
 
 #--------------------------------------------------------------------------
 # window_height
 #--------------------------------------------------------------------------
 def window_height
   return Graphics.height - fitting_height(4) - fitting_height(1)
 end
 
 #--------------------------------------------------------------------------
 # col_max
 #--------------------------------------------------------------------------
 def col_max; return item_max; end
 
 #--------------------------------------------------------------------------
 # spacing
 #--------------------------------------------------------------------------
 def spacing; return 8; end
 
 #--------------------------------------------------------------------------
 # item_max
 #--------------------------------------------------------------------------
 def item_max; return $game_party.battle_members.size; end
 
 #--------------------------------------------------------------------------
 # open
 #--------------------------------------------------------------------------
 def open
   @exp_total = $game_troop.exp_total
   super
 end
 
 #--------------------------------------------------------------------------
 # item_rect
 #--------------------------------------------------------------------------
 def item_rect(index)
   rect = Rect.new
   rect.width = item_width
   rect.height = contents.height
   rect.x = index % col_max * (item_width + spacing)
   rect.y = index / col_max * item_height
   return rect
 end
 
 #--------------------------------------------------------------------------
 # draw_item
 #--------------------------------------------------------------------------
 def draw_item(index)
   actor = $game_party.battle_members[index]
   return if actor.nil?
   rect = item_rect(index)
   reset_font_settings
   draw_actor_name(actor, rect)
   draw_exp_gain(actor, rect)
   draw_jp_gain(actor, rect)
   draw_actor_face(actor, rect)
 end
 
 #--------------------------------------------------------------------------
 # draw_actor_name
 #--------------------------------------------------------------------------
 def draw_actor_name(actor, rect)
   name = actor.name
   draw_text(rect.x, rect.y+line_height, rect.width, line_height, name, 1)
 end
 
 #--------------------------------------------------------------------------
 # draw_actor_face
 #--------------------------------------------------------------------------
 def draw_actor_face(actor, rect)
   face_name = actor.face_name
   face_index = actor.face_index
   bitmap = Cache.face(face_name)
   rw = [rect.width, 96].min
   face_rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, rw, 96)
   rx = (rect.width - rw) / 2 + rect.x
   contents.blt(rx, rect.y + line_height * 2, bitmap, face_rect, 255)
 end
 
 #--------------------------------------------------------------------------
 # draw_exp_gain
 #--------------------------------------------------------------------------
 def draw_exp_gain(actor, rect)
   dw = rect.width - (rect.width - [rect.width, 96].min) / 2
   dy = rect.y + line_height * 3 + 96
   fmt = YEA::VICTORY_AFTERMATH::VICTORY_EXP
   text = sprintf(fmt, actor_exp_gain(actor).group)
   contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
   change_color(power_up_color)
   draw_text(rect.x, dy, dw, line_height, text, 2)
 end
 
 #--------------------------------------------------------------------------
 # actor_exp_gain
 #--------------------------------------------------------------------------
 def actor_exp_gain(actor)
   n = @exp_total * actor.final_exp_rate
   return n.to_i
 end
 
 #--------------------------------------------------------------------------
 # draw_jp_gain
 #--------------------------------------------------------------------------
 def draw_jp_gain(actor, rect)
   return unless $imported["YEA-JPManager"]
   dw = rect.width - (rect.width - [rect.width, 96].min) / 2
   dy = rect.y + line_height * 4 + 96
   fmt = YEA::JP::VICTORY_AFTERMATH
   text = sprintf(fmt, actor_jp_gain(actor).group, Vocab::jp)
   contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
   change_color(power_up_color)
   draw_text(rect.x, dy, dw, line_height, text, 2)
 end
 
 #--------------------------------------------------------------------------
 # actor_jp_gain
 #--------------------------------------------------------------------------
 def actor_jp_gain(actor)
   n = actor.battle_jp_earned
   if actor.exp + actor_exp_gain(actor) > actor.exp_for_level(actor.level + 1)
     n += YEA::JP::LEVEL_UP unless actor.max_level?
   end
   return n
 end
 
end # Window_VictoryEXP_Back

#==============================================================================
# ¡ Window_VictoryEXP_Front
#==============================================================================

class Window_VictoryEXP_Front < Window_VictoryEXP_Back
 
 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
   super
   self.back_opacity = 0
   @ticks = 0
   @counter = 30
   contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
 end
 
 #--------------------------------------------------------------------------
 # update
 #--------------------------------------------------------------------------
 def update
   super
   update_tick
 end
 
 #--------------------------------------------------------------------------
 # update_tick
 #--------------------------------------------------------------------------
 def update_tick
   return unless self.openness >= 255
   return unless self.visible
   return if complete_ticks?
   @counter -= 1
   return unless @counter <= 0
   return if @ticks >= YEA::VICTORY_AFTERMATH::EXP_TICKS
   YEA::VICTORY_AFTERMATH::VICTORY_TICK.play
   @counter = 4
   @ticks += 1
   refresh
 end
 
 #--------------------------------------------------------------------------
 # complete_ticks?
 #--------------------------------------------------------------------------
 def complete_ticks?
   for actor in $game_party.battle_members
     total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS
     bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks
     now_exp = actor.exp - actor.current_level_exp + bonus_exp
     next_exp = actor.next_level_exp - actor.current_level_exp
     rate = now_exp * 1.0 / next_exp
     return false if rate < 1.0
   end
   return true
 end
 
 #--------------------------------------------------------------------------
 # draw_item
 #--------------------------------------------------------------------------
 def draw_item(index)
   actor = $game_party.battle_members[index]
   return if actor.nil?
   rect = item_rect(index)
   draw_actor_exp(actor, rect)
 end
 
 #--------------------------------------------------------------------------
 # exp_gauge1
 #--------------------------------------------------------------------------
 def exp_gauge1; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE1); end
 
 #--------------------------------------------------------------------------
 # exp_gauge2
 #--------------------------------------------------------------------------
 def exp_gauge2; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE2); end
 
 #--------------------------------------------------------------------------
 # lvl_gauge1
 #--------------------------------------------------------------------------
 def lvl_gauge1; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE1); end
 
 #--------------------------------------------------------------------------
 # lvl_gauge2
 #--------------------------------------------------------------------------
 def lvl_gauge2; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE2); end
 
 #--------------------------------------------------------------------------
 # draw_actor_exp
 #--------------------------------------------------------------------------
 def draw_actor_exp(actor, rect)
   if actor.max_level?
     draw_exp_gauge(actor, rect, 1.0)
     return
   end
   total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS
   bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks
   now_exp = actor.exp - actor.current_level_exp + bonus_exp
   next_exp = actor.next_level_exp - actor.current_level_exp
   rate = now_exp * 1.0 / next_exp
   draw_exp_gauge(actor, rect, rate)
 end
 
 #--------------------------------------------------------------------------
 # draw_exp_gauge
 #--------------------------------------------------------------------------
 def draw_exp_gauge(actor, rect, rate)
   rate = [[rate, 1.0].min, 0.0].max
   dx = (rect.width - [rect.width, 96].min) / 2 + rect.x
   dy = rect.y + line_height * 2 + 96
   dw = [rect.width, 96].min
   colour1 = rate >= 1.0 ? lvl_gauge1 : exp_gauge1
   colour2 = rate >= 1.0 ? lvl_gauge2 : exp_gauge2
   draw_gauge(dx, dy, dw, rate, colour1, colour2)
   fmt = YEA::VICTORY_AFTERMATH::EXP_PERCENT
   text = sprintf(fmt, [rate * 100, 100.00].min)
   if [rate * 100, 100.00].min == 100.00
     text = YEA::VICTORY_AFTERMATH::LEVELUP_TEXT
     text = YEA::VICTORY_AFTERMATH::MAX_LVL_TEXT if actor.max_level?
   end
   draw_text(dx, dy, dw, line_height, text, 1)
 end
 
end # Window_VictoryEXP_Front

#==============================================================================
# ¡ Window_VictoryLevelUp
#==============================================================================

class Window_VictoryLevelUp < Window_Base
 
 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, fitting_height(1), Graphics.width, window_height)
   self.z = 200
   hide
 end
 
 #--------------------------------------------------------------------------
 # window_height
 #--------------------------------------------------------------------------
 def window_height
   return Graphics.height - fitting_height(4) - fitting_height(1)
 end
 
 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh(actor, temp_actor)
   contents.clear
   reset_font_settings
   YEA::VICTORY_AFTERMATH::LEVEL_SOUND.play
   draw_actor_changes(actor, temp_actor)
 end
 
 #--------------------------------------------------------------------------
 # draw_actor_changes
 #--------------------------------------------------------------------------
 def draw_actor_changes(actor, temp_actor)
   dx = contents.width / 16
   draw_actor_image(actor, temp_actor, dx)
   draw_param_names(actor, dx)
   draw_former_stats(temp_actor)
   draw_arrows
   draw_newer_stats(actor, temp_actor)
   draw_new_skills(actor, temp_actor)
 end
 
 #--------------------------------------------------------------------------
 # draw_actor_image
 #--------------------------------------------------------------------------
 def draw_actor_image(actor, temp_actor, dx)
   draw_text(dx, line_height, 96, line_height, actor.name, 1)
   draw_actor_face(actor, dx, line_height * 2)
   exp = actor.exp - temp_actor.exp
   text = sprintf(YEA::VICTORY_AFTERMATH::VICTORY_EXP, exp.group)
   change_color(power_up_color)
   contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
   draw_text(0, line_height * 2 + 96, dx + 96, line_height, text, 2)
   reset_font_settings
 end
 
 #--------------------------------------------------------------------------
 # draw_param_names
 #--------------------------------------------------------------------------
 def draw_param_names(actor, dx)
   dx += 108
   change_color(system_color)
   text = Vocab.level
   draw_text(dx, 0, contents.width - dx, line_height, text)
   dy = 0
   for i in 0...8
     dy += line_height
     text = Vocab.param(i)
     draw_text(dx, dy, contents.width - dx, line_height, text)
   end
 end
 
 #--------------------------------------------------------------------------
 # draw_former_stats
 #--------------------------------------------------------------------------
 def draw_former_stats(actor)
   dw = contents.width / 2 - 12
   dy = 0
   change_color(normal_color)
   draw_text(0, dy, dw, line_height, actor.level.group, 2)
   for i in 0...8
     dy += line_height
     draw_text(0, dy, dw, line_height, actor.param_base(i).group, 2)
   end
 end
 
 #--------------------------------------------------------------------------
 # draw_arrows
 #--------------------------------------------------------------------------
 def draw_arrows
   dx = contents.width / 2 - 12
   dy = 0
   change_color(system_color)
   for i in 0..8
     draw_text(dx, dy, 24, line_height, "¨", 1)
     dy += line_height
   end
 end
 
 #--------------------------------------------------------------------------
 # draw_newer_stats
 #--------------------------------------------------------------------------
 def draw_newer_stats(actor, temp_actor)
   dx = contents.width / 2 + 12
   dw = contents.width - dx
   dy = 0
   change_color(param_change_color(actor.level - temp_actor.level))
   draw_text(dx, dy, dw, line_height, actor.level.group, 0)
   for i in 0...8
     dy += line_height
     change_color(param_change_color(actor.param_base(i) - temp_actor.param_base(i)))
     draw_text(dx, dy, dw, line_height, actor.param_base(i).group, 0)
   end
 end
 #--------------------------------------------------------------------------
 # draw_new_skills
 #--------------------------------------------------------------------------
 def draw_new_skills(actor, temp_actor)
   return if temp_actor.skills.size == actor.skills.size
   dw = 172 + 24
   dx = contents.width - dw
   change_color(system_color)
   text = YEA::VICTORY_AFTERMATH::SKILLS_TEXT
   draw_text(dx, 0, dw, line_height, text, 0)
 end
 
end # Window_VictoryLevelUp

#==============================================================================
# ¡ Window_VictorySkills
#==============================================================================

class Window_VictorySkills < Window_Selectable
 
 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
   dy = fitting_height(1) + 24
   dw = 172 + 24 + 24
   dh = Graphics.height - fitting_height(4) - fitting_height(1) - 24
   super(Graphics.width - dw, dy, dw, dh)
   self.opacity = 0
   self.z = 200
   hide
 end
 
 #--------------------------------------------------------------------------
 # item_max
 #--------------------------------------------------------------------------
 def item_max; return @data.nil? ? 0 : @data.size; end
 
 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh(actor, temp_actor)
   contents.clear
   if actor.skills.size == temp_actor.skills.size
     unselect
     @data = []
     create_contents
     return
   end
   @data = actor.skills - temp_actor.skills
   if @data.size > 8
     select(0)
     activate
   else
     unselect
     deactivate
   end
   create_contents
   draw_all_items
 end
 
 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def draw_item(index)
   rect = item_rect(index)
   skill = @data[index]
   return if skill.nil?
   rect.width -= 4
   draw_item_name(skill, rect.x, rect.y, true)
 end
 
end # Window_VictorySkills

#==============================================================================
# ¡ Window_VictorySpoils
#==============================================================================

class Window_VictorySpoils < Window_ItemList
 
 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, fitting_height(1), Graphics.width, window_height)
   self.z = 200
   hide
 end
 
 #--------------------------------------------------------------------------
 # window_height
 #--------------------------------------------------------------------------
 def window_height
   return Graphics.height - fitting_height(4) - fitting_height(1)
 end
 
 #--------------------------------------------------------------------------
 # spacing
 #--------------------------------------------------------------------------
 def spacing; return 32; end
 
 #--------------------------------------------------------------------------
 # make
 #--------------------------------------------------------------------------
 def make(gold, drops)
   @gold = gold
   @drops = drops
   refresh
   select(0)
   activate
 end
 
 #--------------------------------------------------------------------------
 # make_item_list
 #--------------------------------------------------------------------------
 def make_item_list
   @data = [nil]
   items = {}
   weapons = {}
   armours = {}
   @goods = {}
   for item in @drops
     case item
     when RPG::Item
       items[item] = 0 if items[item].nil?
       items[item] += 1
     when RPG::Weapon
       weapons[item] = 0 if weapons[item].nil?
       weapons[item] += 1
     when RPG::Armor
       armours[item] = 0 if armours[item].nil?
       armours[item] += 1
     end
   end
   items = items.sort { |a,b| a[0].id <=> b[0].id }
   weapons = weapons.sort { |a,b| a[0].id <=> b[0].id }
   armours = armours.sort { |a,b| a[0].id <=> b[0].id }
   for key in items; @goods[key[0]] = key[1]; @data.push(key[0]); end
   for key in weapons; @goods[key[0]] = key[1]; @data.push(key[0]); end
   for key in armours; @goods[key[0]] = key[1]; @data.push(key[0]); end
 end
 
 #--------------------------------------------------------------------------
 # draw_item
 #--------------------------------------------------------------------------
 def draw_item(index)
   item = @data[index]
   rect = item_rect(index)
   reset_font_settings
   if item.nil?
     draw_gold(rect)
     return
   end
   rect.width -= 4
   draw_item_name(item, rect.x, rect.y, true, rect.width - 24)
   draw_item_number(rect, item)
 end
 
 #--------------------------------------------------------------------------
 # draw_gold
 #--------------------------------------------------------------------------
 def draw_gold(rect)
   text = Vocab.currency_unit
   draw_currency_value(@gold, text, rect.x, rect.y, rect.width)
 end
 
 #--------------------------------------------------------------------------
 # draw_item_number
 #--------------------------------------------------------------------------
 def draw_item_number(rect, item)
   number = @goods[item].group
   if $imported["YEA-AdjustLimits"]
     contents.font.size = YEA::LIMIT::ITEM_FONT
     text = sprintf(YEA::LIMIT::ITEM_PREFIX, number)
     draw_text(rect, text, 2)
   else
     draw_text(rect, sprintf(":%s", number), 2)
   end
 end
 
end # Window_VictorySpoils

#==============================================================================
# ¡ Scene_Battle
#==============================================================================

class Scene_Battle < Scene_Base
 
 #--------------------------------------------------------------------------
 # alias method: create_all_windows
 #--------------------------------------------------------------------------
 alias scene_battle_create_all_windows_va create_all_windows
 def create_all_windows
   scene_battle_create_all_windows_va
   create_victory_aftermath_windows
 end
 
 #--------------------------------------------------------------------------
 # new method: create_victory_aftermath_windows
 #--------------------------------------------------------------------------
 def create_victory_aftermath_windows
   @victory_title_window = Window_VictoryTitle.new
   @victory_exp_window_back = Window_VictoryEXP_Back.new
   @victory_exp_window_front = Window_VictoryEXP_Front.new
   @victory_level_window = Window_VictoryLevelUp.new
   @victory_level_skills = Window_VictorySkills.new
   @victory_spoils_window = Window_VictorySpoils.new
 end
 
 #--------------------------------------------------------------------------
 # new method: show_victory_display_exp
 #--------------------------------------------------------------------------
 def show_victory_display_exp
   @victory_title_window.open
   name = $game_party.battle_members[0].name
   fmt = YEA::VICTORY_AFTERMATH::TOP_TEAM
   name = sprintf(fmt, name) if $game_party.battle_members.size > 1
   fmt = YEA::VICTORY_AFTERMATH::TOP_VICTORY_TEXT
   text = sprintf(fmt, name)
   @victory_title_window.refresh(text)
   #---
   @victory_exp_window_back.open
   @victory_exp_window_back.refresh
   @victory_exp_window_front.open
   @victory_exp_window_front.refresh
 end
 
 #--------------------------------------------------------------------------
 # new method: show_victory_level_up
 #--------------------------------------------------------------------------
 def show_victory_level_up(actor, temp_actor)
   @victory_exp_window_back.hide
   @victory_exp_window_front.hide
   #---
   fmt = YEA::VICTORY_AFTERMATH::TOP_LEVEL_UP
   text = sprintf(fmt, actor.name)
   @victory_title_window.refresh(text)
   #---
   @victory_level_window.show
   @victory_level_window.refresh(actor, temp_actor)
   @victory_level_skills.show
   @victory_level_skills.refresh(actor, temp_actor)
 end
 
 #--------------------------------------------------------------------------
 # new method: show_victory_spoils
 #--------------------------------------------------------------------------
 def show_victory_spoils(gold, drops)
   @victory_exp_window_back.hide
   @victory_exp_window_front.hide
   @victory_level_window.hide
   @victory_level_skills.hide
   #---
   text = YEA::VICTORY_AFTERMATH::TOP_SPOILS
   @victory_title_window.refresh(text)
   #---
   @victory_spoils_window.show
   @victory_spoils_window.make(gold, drops)
 end
 
 #--------------------------------------------------------------------------
 # new method: close_victory_windows
 #--------------------------------------------------------------------------
 def close_victory_windows
   @victory_title_window.close
   @victory_exp_window_back.close
   @victory_exp_window_front.close
   @victory_level_window.close
   @victory_level_skills.close
   @victory_spoils_window.close
   wait(16)
 end
 
end # Scene_Battle

#==============================================================================
#
# ¥ End of File
#
#==============================================================================

Dails
Novato
Novato

0/3

Créditos 66

Gracias : 17

Volver arriba Ir abajo

RPG Maker VX ACE Re: Ayuda con el Engine YANFLY ENGINE ACE - VICTORY AFTERMATH RPG Maker VX Ace

Mensaje por BreinLand entertainment el 2016-11-13, 14:09

Puedes probar a usar la opción de poner un evento común (AFTERMATH_COMMON_EVENT en el script) después de la batalla y que no digan quotes por el script, sino que saltará un evento común donde tengas las varias conversaciones que quieras poner con cada personaje. (También puedes aleatorizar qué frase diga cada personaje utilizando variables ahí)

BreinLand entertainment
Soñador
Soñador

0/3

Créditos 126

Gracias : 29

http://breinland.tk/

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

Permisos de este foro:
No puedes responder a temas en este foro.