Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

Ventana Estadísticas

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Ventana Estadísticas

Mensaje por kyonides-arkanthos el 2015-06-30, 10:23

Ventana Estadísticas
v 1.2.0

por Kyonides-Arkanthos

Bueno ya muchos conocerán mi versión de la ventana de estadísticas donde se le comunica al usuario cuántas batallas ha peleado, ganado, perdido o hasta de cuántas ha huido. Esta versión la he remozado para aquellos que todavía utilicen el sistema de batallas típico del RPG Maker XP. Ahí les llevará la cuenta y hasta podrán ver dichos datos si ganan o pierden la pelea. Dudo que vean algo si se escapan...

En esta versión hay varias constantes que les permitirán definir cuáles datos quieren ver en el menú o al final de la batalla.

true es SI

false es NO

Código:
#==============================
#  Ventana_Estadisticas v 1.2.0
#  por Kyonides-Arkanthos
#  Fechas de las Publicaciones
#  - 18.06.2015
#  - 20.02.2011
#  - 03.02.2010
#  - 31.03.2009
#  - 06.02.2008
#==============================
module KyoBattleStats
  # Mostrar Victorias
  SHOW_VICTORIES = true
  # Mostrar Derrotas
  SHOW_DEFEATS  = true
  # Mostrar Escapes o Huidas
  SHOW_ESCAPES  = true
  # Leyendas para Batallas, Victorias, Derrotas, Escapes
  LABELS = ['Batallas', 'Victorias', 'Derrotas', 'Escapes']
end

class Game_System
  attr_accessor :battle_stats,:battle_stats_visible
  alias kyon_battle_stats_gm_sys_init initialize
  def initialize
    kyon_battle_stats_gm_sys_init
    @battle_stats = [0,0,0,0] # Total Batallas, Ganadas, Perdidas, Escapes
    show_victory = KyoBattleStats::SHOW_VICTORIES
    show_defeat = KyoBattleStats::SHOW_DEFEATS
    show_escape = KyoBattleStats::SHOW_ESCAPES
    @battle_stats_visible = [true, show_victory, show_defeat, show_escape]
  end
end

class Ventana_Estadisticas < Window_Base
  def initialize
    @stats = $game_system.battle_stats
    @visible = $game_system.battle_stats_visible
    row_max = @visible.map{|bool| bool == true }.size
    x, y = $game_temp.in_battle ? [240, 0] : [0, 320]
    super(x, y, 160, row_max * 21 + 32)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z = 104
    self.opacity = $game_temp.in_battle ? 120 : 255
    refresh
  end

  def refresh
    labels = KyoBattleStats::LABELS
    self.contents.clear
    y = -30
    labels.size.times do |n| next unless @visible[n]
      y += 22
      self.contents.font.color = system_color
      self.contents.draw_text(0, y, 120, 32, labels[n])
      self.contents.font.color = normal_color
      self.contents.draw_text(0, y, 120, 32, @stats[n].to_s, 2)
    end
  end
end
#=============================
#  *  Scene_Menu Add-on
class Scene_Menu
  alias :kyon_battle_stats_scn_menu_main :main
  def main
    @estadisticas = Ventana_Estadisticas.new
    kyon_battle_stats_scn_menu_main
    @estadisticas.dispose
  end
 
  alias :kyon_battle_stats_scn_menu_up :update
  def update
    kyon_battle_stats_scn_menu_up
    # Si presionas Repag alias PageUp o Q, la ventana estadisticas desaparece
    if Input.trigger?(Input::L)
      @estadisticas.visible = !@estadisticas.visible
    end
  end
end
#=============================
#  *  Scene_Battle Mod
class Scene_Battle
  include KyoBattleStats
  alias kyon_battle_stats_main main
  def main
    $game_temp.in_battle = true
    @battle_stats = Ventana_Estadisticas.new
    @battle_stats.visible = false
    kyon_battle_stats_main
    @battle_stats.dispose
  end

  alias kyon_battle_stats_scn_battle_start_phase5 start_phase5
  def start_phase5
    kyon_battle_stats_scn_battle_start_phase5
      $game_system.battle_stats[0] += 1 # Total de Batallas
      $game_system.battle_stats[1] += 1 # Victoria
      @battle_stats.refresh
    @battle_stats.visible = true
  end

  def battle_end(result)
    $game_temp.in_battle = false
    $game_party.clear_actions
    $game_party.actors.each {|actor| actor.remove_states_battle }
    $game_troop.enemies.clear
    if $game_temp.battle_proc != nil
      $game_temp.battle_proc.call(result)
      $game_temp.battle_proc = nil
    end
    $game_system.battle_stats[0] += 1 if result > 0
    case result
    when 1; $game_system.battle_stats[3] += 1 # escape # segun Enterbrain derrota
    when 2; $game_system.battle_stats[2] += 1 # derrota # segun Enterbrain escape
    end
    @battle_stats.refresh
    $scene = Scene_Map.new
  end
end
avatar
kyonides-arkanthos
Principiante
Principiante

0/3

Créditos 572

Gracias : 85

Volver arriba Ir abajo

RPG Maker XP Re: Ventana Estadísticas

Mensaje por Avenger_K el 2015-06-30, 11:38

Una imagen estaría guay, para ver en que parte del menú queda y si es compatible con menus personalizados.
Bye Bye!
avatar
Avenger_K
Soñador
Soñador

0/3

Créditos 338

Gracias : 15

Volver arriba Ir abajo

RPG Maker XP Re: Ventana Estadísticas

Mensaje por kyonides-arkanthos el 2015-06-30, 20:50

En realidad no la posteo en parte por lo de los menúes personalizados. Hay que ser sincero, sin son personalizados, es imposible que sepa cómo cambiaron. Tendría que adaptarlo al menú que escogieran.

Sobre dónde colocarlo, eso no es problema, es cuestión de que me indiquen dónde lo necesitan. Como también pueden decidirse por no mostrar un dato como los escapes o las huidas por pena o por orgullo, entonces el tamaño puede cambiar en una línea a lo sumo. Solo visualicen una ventana de 2 o 3 opciones según su propio gusto.

Sepan que está pensado para el sistema tradicional. Eso no implica que no pueda sacar a la luz otras variantes según los sistemas que utilicen los usuarios.
avatar
kyonides-arkanthos
Principiante
Principiante

0/3

Créditos 572

Gracias : 85

Volver arriba Ir abajo

RPG Maker XP Re: Ventana Estadísticas

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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