Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Pokémon Genesis Online! (PGO)
Qua 05 Jul 2017, 17:08 por Lexar

» Tileset Converter to MV
Sex 12 Maio 2017, 13:07 por Douggi

» [Dúvida] Como tirar a porcentagem de esquiva
Ter 09 Maio 2017, 22:15 por Neil Flame Runner

» Pack Resources, Sprites e etc
Qua 23 Dez 2015, 09:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Ter 22 Dez 2015, 08:14 por ::KimMax::

» Fantasy Art Online
Dom 18 Out 2015, 16:42 por daviih123

» Você vai ter medo do Nerve gear?
Sab 25 Jul 2015, 16:02 por Kirito-kun

» O Barato é louco
Sab 27 Jun 2015, 15:26 por Halt

» Download RPG Maker 2000 + RTP em português
Qui 21 Maio 2015, 19:28 por Wismael

» Divulgando meu grupo e página do Facebook
Ter 19 Maio 2015, 13:06 por Halt


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Notificação de Level UP em Dom 28 Out 2012, 23:46

Carlos

avatar
Administrador
Administrador
Introdução:

Script que muda a notificação de level up. Mostra os atributos que foram aumentados, Mostra EXP ganha por cada personagem. Você pode definir os sons tocados quando um nível maior é alcançado.

Screenshots:

[Você precisa estar registrado e conectado para ver esta imagem.]



Como usar:

Apenas cole o script acima do main.

Script:

Código:
=begin
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Notificação de Level UP
# por Blizzard
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
Compatibilidade:
- Se usado com SDK 2.x. VAI corromper o saves antigos.
Pode causar pequenos problemas com os seguintes sistemas e talvez
precide de algumas modificações
- Sistemas exoticos de Batalha
- Sistemas exoticos de Skill
- Sistemas exoticos de atributos


Caracterísicas:
- Mostra os atributos que foram aumentados.
- Mostra EXP ganha por cada personagem.(compatível com o sistems
  de Divisão Justa de EXP RTH, para mais detalhes veja abaixo)
- Você pode definir os sons tocados quando um nível maior é alcançado.


Configuração:
 
- LVLUP_SE            - efeito sonoro tocado quando subir de nível
- LEARN_SE            - efeito sonoro tocado quando aprender habilidade,
                        tenha em mente que o script so considera as skills
                        aprendidas quando se sobe de Nível
- WINDOW_BACK_OPACITY - configura a transparência do fundo da tela(0-255)
- NO_EXP_DISPLAY      - deixe true para não mostrar EXP individual ganha
- OLD_EXP_DISPLAY    - deixe true para usar o antigo mostrado de EXP ganha.


Usando o sistema de divisão Justa de EXP

Para usar esse sistemas, as seguintes medidas devem ser tomadas:

- O script de Divisão de EXP deve ficar acima deste script

- Procure por essa linha no script de Divisão de EXP
  super(160, 0, 320, @treasures.size * 32 + 64 + ($game_party.actors.size * 32))
- troque por esta
  super(160, 0, 320, @treasures.size * 32 + 64)

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
=end
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# Inicio da Configuração
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

#          RPG::AudioFile.new('Nome do Arquivo', VOLUME, VELOCIDADE)
LVLUP_SE = RPG::AudioFile.new('087-Action02', 80, 100)
LEARN_SE = RPG::AudioFile.new('106-Heal02', 80, 100)
WINDOW_BACK_OPACITY = 160
NO_EXP_DISPLAY = false
OLD_EXP_DISPLAY = false

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# Fim da Configuração
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

$easy_lvlup_notifier = true

#==============================================================================
# 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
 #--------------------------------------------------------------------------
 def update_phase5
  if @phase5_wait_count > 0
    @phase5_wait_count -= 1
    if @phase5_wait_count == 0
      @result_window.visible, $game_temp.battle_main_phase = true, false
      @status_window.refresh
    end
    return
  end
  @moving_windows.each {|win|
      win.y -= [win.y - win.limit].min}
  if Input.trigger?(Input::C)
    @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(0)
    end
  end
 end
 #--------------------------------------------------------------------------
end
[/spoiler]

Créditos:

Feito por Blizzard


__________________________________________
[Você precisa estar registrado e conectado para ver esta imagem.]


[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum