Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Event Bar
- #==============================================================================
- # Autor: Dax
- # Versão: 2.2
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core Xi1.4
- #==============================================================================
- # • Descrição:
- #------------------------------------------------------------------------------
- # Permite fazer/criar barras que fiquem na cabeça dos eventos. Útil para
- # fazer barras de vida..Para Sistemas de Batalha.
- #==============================================================================
- # • Como usar: NO COMANDO CHAMAR SCRIPT
- #------------------------------------------------------------------------------
- # * event_bar(a, b, [c, d, e, f], [g, h])
- # a : ID da variável das HUD. NUNCA PONHA VALOR IGUAL SE JÁ EXISTE.
- # b : ID do evento do Mapa.
- # c : ID da variável que irá mostrar o valor atual da barra.
- # d : ID da variável que irá mostrar o valor máximo da barra.
- # e : Definir valor da variável 'a' | Defina o valor somente caso, o valor
- # da variável não estiver definido ainda.
- # f : Definir valor da variável 'b' | Defina o valor somente caso, o valor
- # da variável não estiver definido ainda.
- # *** Opcional ***
- # g : Posição X adicional.
- # h : Posição Y adicional.
- #==============================================================================
- Dax.register(:event_bar, "Dax", 2.2)
- class << Rpg
- #----------------------------------------------------------------------------
- # • Iniciar.
- #----------------------------------------------------------------------------
- alias :event_bar_data_manager :data_manager
- def data_manager
- event_bar_data_manager
- @data_event_bar = []
- end
- #----------------------------------------------------------------------------
- # • Configuração.
- #----------------------------------------------------------------------------
- def event_bar
- return {
- z: 200, # Propriedade.
- color2: ColorBasic.hex("920120"), # Cor 2
- color: ColorBasic.hex("d3002d"), # Cor
- width: 24, # Largura.
- height: 5, # Altura.
- x_add: 0, # Posição adicional.
- y_add: 0, # Posição adicional.
- color_background: ColorBasic[7], # Cor de fundo.
- }
- end
- #----------------------------------------------------------------------------
- # • Criar.
- # id : ID da variável.
- # event_id : ID do Evento.
- # variable : [a, b, c, d]
- # a : ID da variável que irá definir o valor atual.
- # b : ID da variável que irá definir o valor máximo.
- # c : Definir valor da variável 'a'
- # d : Definir valor da variável 'b'
- #----------------------------------------------------------------------------
- def make_event_bar(id, *args)
- return unless @data_event_bar[id].nil?
- @data_event_bar[id] = Sprite_Event_Bar.new(*args)
- end
- #----------------------------------------------------------------------------
- # • Conteúdo.
- #----------------------------------------------------------------------------
- def data_event_bar(id)
- return @data_event_bar[id]
- end
- #----------------------------------------------------------------------------
- # • Esconder
- #----------------------------------------------------------------------------
- def hide_event_bar
- @data_event_bar.each { |i| i.opacity = 0 unless i.nil?}
- end
- #----------------------------------------------------------------------------
- # • Atualizar.
- #----------------------------------------------------------------------------
- def update_event_bar
- return if @data_event_bar.nil?
- @data_event_bar.each_with_index do |bar, index|
- unless bar.nil?
- bar.update
- bar.opacity = 255 if bar.opacity == 0
- unless bar.visible
- bar.dispose
- @data_event_bar.delete_at(index)
- end
- end
- end
- end
- end
- #==============================================================================
- # • Sprite_Event_Bar
- #==============================================================================
- class Sprite_Event_Bar < Sprite
- #----------------------------------------------------------------------------
- # • Variáveis públicas da instância.
- #----------------------------------------------------------------------------
- attr_reader :actual
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- def initialize(event_id, variable=[0, 0, 1, 1], xy=[0,0])
- @xy = xy
- @event_id = event_id
- super([Rpg.event_bar[:width], Rpg.event_bar[:height]])
- self.x = $game_map.events[@event_id].screen_x - (self.width/2) + (Rpg.event_bar[:x_add] + @xy[0])
- self.y = $game_map.events[@event_id].screen_y - (32+self.height+1) + (Rpg.event_bar[:y_add] + @xy[0])
- self.z = Rpg.event_bar[:z]
- @variable_actual_id = variable[0]
- @variable_max_id = variable[1]
- $game_variables[@variable_actual_id] = variable[2] if $game_variables[@variable_actual_id] == 0
- $game_variables[@variable_max_id] = variable[3] if $game_variables[@variable_max_id] == 0
- end
- #----------------------------------------------------------------------------
- # • Renovação dos objetos.
- #----------------------------------------------------------------------------
- def dispose
- self.bitmap.dispose
- super
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- def update
- return if self.bitmap.nil?
- self.x = $game_map.events[@event_id].screen_x - (self.width/2) + (Rpg.event_bar[:x_add] + @xy[0])
- self.y = $game_map.events[@event_id].screen_y - (32+self.height+1) + (Rpg.event_bar[:y_add] + @xy[0])
- self.bitmap.clear
- @actual = $game_variables[@variable_actual_id]
- @max = $game_variables[@variable_max_id]
- self.bitmap.fill_rect(self.rect, Rpg.event_bar[:color_background])
- self.bitmap.gradient_bar([Rpg.event_bar[:color], Rpg.event_bar[:color2]], @actual, @max, 1)
- self.visible = false if @actual < 1
- end
- end
- #==============================================================================
- # • Spriteset_Map
- #==============================================================================
- class Spriteset_Map
- alias :event_bar_dispose :dispose
- def dispose
- Rpg.hide_event_bar
- event_bar_dispose
- end
- alias :event_bar_update :update
- def update
- event_bar_update
- Rpg.update_event_bar
- end
- end
- #==============================================================================
- # • Interpretador;
- #==============================================================================
- class Game_Interpreter
- #----------------------------------------------------------------------------
- # • Barra no evento.
- #----------------------------------------------------------------------------
- def event_bar(*args)
- Rpg.make_event_bar(*args)
- end
- #----------------------------------------------------------------------------
- # • Conteúdo.
- #----------------------------------------------------------------------------
- def event_bar_data(id)
- Rpg.data_event_bar(id)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement