Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[Aporte] EasylevelUP - indica los puntos de habilidad incrementados al subir de nivel

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [Aporte] EasylevelUP - indica los puntos de habilidad incrementados al subir de nivel

Mensaje por plergoth el 2018-03-10, 13:15

Buenas, sé que no es habitual que yo aporte un script (por que no tengo ni idea) pero encontré este script bastante interesante, además no lo he visto por ningún lado del foro, corregidme si me equivoco) así que he pensado en ponerlo. No mencionaré el juego de donde lo he sacado, por si acaso, de todas formas desconozco el autor (supongo que aparece en los créditos pero no me lo he pasado aun)

El script no requiere configuración, quizás cambiar las partes de texto en inglés por palabras en castellano en caso de hacer juegos en español, aunque sí he notado que da algún error si utilizas un script que altere las imágenes de los personajes en el menú (en mi juego me da error con un script llamado Bitmask que se encarga de los graficos de la biografía y las imágenes alteradas de los personajes que van a una carpeta a parte), pero con un proyecto nuevo funciona a la perfección.
Tan solo hay que copiarlo encima de Main y listo.

Al subir de nivel en la pantalla de finalización del combate aparecerá un listado con los puntos de habilidad que se incrementan en ese nivel.

Código:
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

#          RPG::AudioFile.new('FILENAME', VOLUME, PITCH)
LVLUP_SE = RPG::AudioFile.new('087-Action02', 70, 100)
LEARN_SE = RPG::AudioFile.new('106-Heal02', 70, 100)
WINDOW_BACK_OPACITY = 160
NO_EXP_DISPLAY = false
OLD_EXP_DISPLAY = false

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

$easy_lvlup_notifier = 2.11

#==============================================================================
# Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  
  def all_exp
    return @exp
  end
  
  def all_exp=(exp)
    @exp = exp
  end

end

#==============================================================================
# Window_BattleResult
#==============================================================================

class Window_BattleResult < Window_Base
  
  alias easy_lvlup_notfier_refresh refresh
  def refresh
    if $tons_version != nil && $tons_version >= 4.02 &&
        $game_system.WINDOW_BATTLERESULT || OLD_EXP_DISPLAY
      easy_lvlup_notfier_refresh
    else
      self.contents.clear
      x = 4
      self.contents.font.color = system_color
      cx = contents.text_size('Gained').width
      self.contents.draw_text(x, 0, cx+4, 32, 'Gained')
      x += cx + 4
      self.contents.font.color = normal_color
      cx = contents.text_size(@gold.to_s).width
      self.contents.draw_text(x, 0, cx+4, 32, @gold.to_s)
      x += cx + 4
      self.contents.font.color = system_color
      self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
      (0...@treasures.size).each {|i| draw_item_name(@treasures[i], 4, (i+1)*32)}
    end
  end
  
end

#==============================================================================
# Window_LevelUp
#==============================================================================

class Window_LevelUp < Window_Base
  
  attr_reader :limit
  
  def initialize(a, d)
    if $tons_version != nil && $tons_version >= 4.98 &&
        $game_system.CENTER_BATTLER
      x = case $game_party.actors.size
      when 1 then 240
      when 2 then a.index * 320 + 80
      when 3 then a.index * 160 + 80
      when 4 then a.index * 160
      end
    else
      x = a.index * 160
    end
    text = []
    text.push(['Level:', d[0], a.level]) if d[0] != a.level
    text.push([$data_system.words.hp[0, 3], d[1], a.maxhp]) if d[1] != a.maxhp
    text.push([$data_system.words.sp[0, 3], d[2], a.maxsp]) if d[2] != a.maxsp
    text.push([$data_system.words.str[0, 3], d[3], a.str]) if d[3] != a.str
    text.push([$data_system.words.dex[0, 3], d[4], a.dex]) if d[4] != a.dex
    text.push([$data_system.words.agi[0, 3], d[5], a.agi]) if d[5] != a.agi
    text.push([$data_system.words.int[0, 3], d[6], a.int]) if d[6] != a.int
    h = text.size * 24 + (NO_EXP_DISPLAY ? 32 : 56)
    @limit, y = 320 - h, 480 - h + (h/64+1)*64
    super(x, y, 160, h)
    self.z, self.back_opacity = 100, WINDOW_BACK_OPACITY
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    if $fontface != nil
      self.contents.font.name = $fontface
    elsif $defaultfonttype != nil
      self.contents.font.name = $defaultfonttype
    end
    self.contents.font.size, self.contents.font.bold = 20, true
    unless NO_EXP_DISPLAY
      self.contents.font.color = normal_color
      self.contents.draw_text(0, 0, 128, 24, "#{a.exp - d[7]} EXP", 1)
    end
    text.each_index {|i|
        index = NO_EXP_DISPLAY ? i : i + 1
        self.contents.font.color = system_color
        self.contents.draw_text(0, index*24, 128, 24, text[i][0])
        self.contents.draw_text(80, index*24, 32, 24, '»')
        self.contents.font.color = normal_color
        self.contents.draw_text(0, index*24, 76, 24, text[i][1].to_s, 2)
        if text[i][1] > text[i][2]
          self.contents.font.color = Color.new(255, 64, 0)
        else
          self.contents.font.color = Color.new(0, 255, 64)
        end
        self.contents.draw_text(0, index*24, 128, 24, text[i][2].to_s, 2)}
  end
  
end

#==============================================================================
# Scene_Battle
#==============================================================================

class Scene_Battle
  
  alias main_lvlup_later main
  def main
    @lvlup_data = {}
    @moving_windows, @pending_windows = [], []
    (1...$data_actors.size).each {|i|
        actor = $game_actors[i]
        @lvlup_data[actor] = [actor.level, actor.maxhp, actor.maxsp, actor.str,
            actor.dex, actor.agi, actor.int, actor.exp, actor.skills.clone]}
    main_lvlup_later
    (@moving_windows + @pending_windows).each {|win| win.dispose if win != nil}
  end
  
  alias start_phase5_lvlup_later start_phase5
  def start_phase5
    start_phase5_lvlup_later
    @skill_texts = []
    $game_party.actors.each {|actor|
        actor.remove_states_battle
        if @lvlup_data[actor][0, 7] != [actor.level, actor.maxhp, actor.maxsp,
            actor.str, actor.dex, actor.agi, actor.int]
          @pending_windows.push(Window_LevelUp.new(actor, @lvlup_data[actor]))
          @skill_texts.push('')
          new_skills = actor.skills - @lvlup_data[actor][8]
          if new_skills.size > 0
            new_skills.each {|id|
                @skill_texts.push("#{actor.name} learned #{$data_skills[id].name}!")}
          end
        elsif @lvlup_data[actor][7] != actor.exp && !NO_EXP_DISPLAY
          @moving_windows.push(Window_LevelUp.new(actor, @lvlup_data[actor]))
        end}
  end
  
  alias update_phase5_lvlup_later update_phase5
  def update_phase5
    update_phase5_lvlup_later
    if @phase5_wait_count <= 0 && !Input.trigger?(Input::C)
      @moving_windows.each {|win|
          win.y -= [((win.y - win.limit) / 2.0).ceil, 64].min if win.y > win.limit}
    end
  end
  
  alias battle_end_lvlup_later battle_end
  def battle_end(result)
    if @result_window == nil
      battle_end_lvlup_later(result)
      return
    end
    @result_window.visible = false
    if @skill_texts.size > 0
      text = @skill_texts.shift
      if text == ''
        $game_system.se_play(LVLUP_SE)
        @moving_windows.push(@pending_windows.shift)
        @help_window.visible = false
      else
        $game_system.se_play(LEARN_SE)
        @help_window.set_text(text, 1)
      end
    else
      battle_end_lvlup_later(result)
    end
  end
  
end

Aquí va una foto

avatar
plergoth
Soñador
Soñador

0/3

Créditos 270

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: [Aporte] EasylevelUP - indica los puntos de habilidad incrementados al subir de nivel

Mensaje por Killua el 2018-03-10, 13:55

Parece muy bueno la verdad, lo voy a probar talvez me resulte util para mi juego pero, una cosa porque no intentas ver quien es el autor o aparece dentro del script es que no me gustaria usarlo sin saber quien es el autor.

Saludos
avatar
Killua
Novato
Novato

0/3

Créditos 68

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: [Aporte] EasylevelUP - indica los puntos de habilidad incrementados al subir de nivel

Mensaje por plergoth el 2018-03-10, 19:13

He repasado el juego, contiene un total de 7 scripts hechos por distintos autores, excepto este, que no pone nada del autor, he mirado el blog del juego y tampoco dice nada, es más, este script está copiado y pegado exactamente igual que en el juego, como puedes comprobar no se menciona el autor por ningún lado.

A nadie le gusta usar cosas de los demás sin hacer alguna mención a su autor, pero es que no aparece por ningún lado, así que no he podido averiguarlo.
avatar
plergoth
Soñador
Soñador

0/3

Créditos 270

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: [Aporte] EasylevelUP - indica los puntos de habilidad incrementados al subir de nivel

Mensaje por Killua el 2018-03-10, 20:30

Bueno, igual lo usare espero que no me cause problemas con el autor del script.por cierto buen aporte
avatar
Killua
Novato
Novato

0/3

Créditos 68

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: [Aporte] EasylevelUP - indica los puntos de habilidad incrementados al subir de nivel

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.