Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Event Bar
- #==============================================================================
- # Autor: Dax
- # Versão: 3.0
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • 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
- #------------------------------------------------------------------------------
- # ebar(eID, vID, m, vm, x, y, w, h, color2, color)
- #------------------------------------------------------------------------------
- # ► Requerido.
- # eID : ID do evento do mapa. Se estiver vázio é o id do evento local.
- # vID : ID da variável que irá mostrar o valor atual da barra.
- # m : Definir valor máximo da barra.
- # vm : Quer controlar o valor máximo da barra através de uma variável? Então
- # ponha o ID da variável no lugar de D. Caso não, deixe vázio.
- #------------------------------------------------------------------------------
- # ► Opicional.
- # x : Posição X adicional. Caso queira nada, deixe vázio.
- # y : Posição Y adicional. Caso queira nada, deixe vázio.
- # w : Modificar a largura do tamanho da HUD. Caso queira nada, deixe vázio.
- # O valor padrão é definido.
- # h : Modificar a altura do tamanho da HUD. Caso queira nada, deixe vázio.
- # O valor padrão é definido.
- # i : Modificar a primeira cor da barra. Caso não queira deixe vázio.
- # j : Modificar a segunda cor da barra. Caso não queira deixe vázio.
- #------------------------------------------------------------------------------
- # ► Dica:
- # Deixar vázio é igual a por o valor em: nil
- #------------------------------------------------------------------------------
- # Exemplo:
- #==============================================================================
- Dax.register(:event_bar, "Dax", 3.0, "12/09/14")
- #==============================================================================
- # • Módulo de configuração.
- #==============================================================================
- module EventBar
- extend self
- #----------------------------------------------------------------------------
- # • Configuração.
- #----------------------------------------------------------------------------
- Z = 199 # ► Propriedade no mapa.
- COLOR_DEFAULT_BAR2 = "920120".color # ► Cor padrão da barra 2.
- COLOR_DEFAULT_BAR = "d3002d".color # ► Cor padrão da barra.
- COLOR_BACKGROUND = "000000".color # ► Cor do fundo.
- WIDTH = 24 # ► Largura padrão da barra.
- HEIGHT = 5 # ► Altura padrão da barra.
- @data = []
- #----------------------------------------------------------------------------
- # • Criar uma barra.
- #----------------------------------------------------------------------------
- def do(*args)
- return unless @data[rand(9999)].nil?
- @data[rand(9999)] = Sprite_Event_Bar.new(*args)
- end
- #----------------------------------------------------------------------------
- # • Esconder.
- #----------------------------------------------------------------------------
- def hide
- @data.each { |each| each.opacity = 0 unless each.nil? }
- end
- #----------------------------------------------------------------------------
- # • Atualizar.
- #----------------------------------------------------------------------------
- def update
- return if @data.nil?
- @data.each_with_index { |bar, index|
- unless bar.nil?
- bar.update
- bar.opacity = 255 if bar.opacity == 0
- unless bar.visible
- bar.dispose
- @data.delete_at(index)
- end
- end
- }
- end
- end
- #==============================================================================
- # • Sprite_Event_Bar
- #==============================================================================
- class Sprite_Event_Bar < Sprite
- include EventBar
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- def initialize(eID, vID, m, vm, x=nil, y=nil, w=nil, h=nil, color2=nil, color=nil)
- @x, @y = x || 0, y || 0
- @eID = eID
- @m, @vm, @vID = m, vm, vID
- super([w || WIDTH, h || HEIGHT])
- self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x
- self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y
- self.z = Z
- @color2, @color = color2 || COLOR_DEFAULT_BAR2, color || COLOR_DEFAULT_BAR
- 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[@eID].screen_x - (self.width / 2) + @x
- self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y
- self.bitmap.clear
- @actual = $game_variables[@vID] = $game_variables[@vID] == 0 ? 1 : $game_variables[@vID]
- @max = @vm.nil? ? @m : $game_variables[@vm] = @m
- self.bitmap.fill_rect(self.rect, COLOR_BACKGROUND)
- self.bitmap.gradient_bar([@color, @color2], @actual, @max, 1)
- self.visible = false if @actual <= 1
- end
- end
- #==============================================================================
- # • Spriteset_Map
- #==============================================================================
- class Spriteset_Map
- alias :event_bar_dispose :dispose
- def dispose
- EventBar.hide
- event_bar_dispose
- end
- alias :event_bar_update :update
- def update
- event_bar_update
- EventBar.update
- end
- end
- #==============================================================================
- # • Interpretador;
- #==============================================================================
- class Game_Interpreter
- #----------------------------------------------------------------------------
- # • Barra no evento.
- #----------------------------------------------------------------------------
- def ebar(*args)
- EventBar.do(*args)
- end
- end
- __END__
- #--------------------------------------------------------------------------
- # ● Setup Event Text
- #--------------------------------------------------------------------------
- def setup_event_bar
- return if @list == nil
- for command in @list
- if command.code == 108
- if command.parameters[0].match(/ebar: id(\d+) h(\d+) m(\d+) vm(\w+) p(\w+) s(\w+) #(\w+)_(\w+)/im)
- msgbox "OK"
- EventBar.do($1.to_i, $2.to_i, $3.to_i, $4 == "@" ? nil :
- $4.nil?, $5.to_s.split("_")[0].to_i, $5.to_s.split("_")[1].to_i,
- $6.to_s.split("_")[0].to_i, $6.to_s.split("_")[1].to_i, $7, $8)
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement