SHOW:
|
|
- or go back to the newest paste.
| 1 | #============================================================================== | |
| 2 | # • Event Bar | |
| 3 | #============================================================================== | |
| 4 | # Autor: Dax | |
| 5 | - | # Versão: 2.2 |
| 5 | + | # Versão: 3.0 |
| 6 | # Site: www.dax-soft.weebly.com | |
| 7 | - | # Requerimento: Dax Core Xi1.4 |
| 7 | + | # Requerimento: Dax Core |
| 8 | #============================================================================== | |
| 9 | # • Descrição: | |
| 10 | #------------------------------------------------------------------------------ | |
| 11 | # Permite fazer/criar barras que fiquem na cabeça dos eventos. Útil para | |
| 12 | # fazer barras de vida..Para Sistemas de Batalha. | |
| 13 | #============================================================================== | |
| 14 | # • Como usar: NO COMANDO CHAMAR SCRIPT | |
| 15 | #------------------------------------------------------------------------------ | |
| 16 | - | # * event_bar(a, b, [c, d, e, f], [g, h]) |
| 16 | + | # ebar(eID, vID, m, vm, x, y, w, h, color2, color) |
| 17 | - | # a : ID da variável das HUD. NUNCA PONHA VALOR IGUAL SE JÁ EXISTE. |
| 17 | + | |
| 18 | - | # b : ID do evento do Mapa. |
| 18 | + | # ► Requerido. |
| 19 | - | # c : ID da variável que irá mostrar o valor atual da barra. |
| 19 | + | # eID : ID do evento do mapa. Se estiver vázio é o id do evento local. |
| 20 | - | # d : ID da variável que irá mostrar o valor máximo da barra. |
| 20 | + | # vID : ID da variável que irá mostrar o valor atual da barra. |
| 21 | - | # e : Definir valor da variável 'a' | Defina o valor somente caso, o valor |
| 21 | + | # m : Definir valor máximo da barra. |
| 22 | - | # da variável não estiver definido ainda. |
| 22 | + | # vm : Quer controlar o valor máximo da barra através de uma variável? Então |
| 23 | - | # f : Definir valor da variável 'b' | Defina o valor somente caso, o valor |
| 23 | + | # ponha o ID da variável no lugar de D. Caso não, deixe vázio. |
| 24 | - | # da variável não estiver definido ainda. |
| 24 | + | |
| 25 | - | # *** Opcional *** |
| 25 | + | # ► Opicional. |
| 26 | - | # g : Posição X adicional. |
| 26 | + | # x : Posição X adicional. Caso queira nada, deixe vázio. |
| 27 | - | # h : Posição Y adicional. |
| 27 | + | # y : Posição Y adicional. Caso queira nada, deixe vázio. |
| 28 | # w : Modificar a largura do tamanho da HUD. Caso queira nada, deixe vázio. | |
| 29 | - | Dax.register(:event_bar, "Dax", 2.2) |
| 29 | + | # O valor padrão é definido. |
| 30 | - | class << Rpg |
| 30 | + | # h : Modificar a altura do tamanho da HUD. Caso queira nada, deixe vázio. |
| 31 | # O valor padrão é definido. | |
| 32 | - | # • Iniciar. |
| 32 | + | # i : Modificar a primeira cor da barra. Caso não queira deixe vázio. |
| 33 | # j : Modificar a segunda cor da barra. Caso não queira deixe vázio. | |
| 34 | - | alias :event_bar_data_manager :data_manager |
| 34 | + | |
| 35 | - | def data_manager |
| 35 | + | # ► Dica: |
| 36 | - | event_bar_data_manager |
| 36 | + | # Deixar vázio é igual a por o valor em: nil |
| 37 | - | @data_event_bar = [] |
| 37 | + | |
| 38 | # Exemplo: | |
| 39 | #============================================================================== | |
| 40 | Dax.register(:event_bar, "Dax", 3.0, "12/09/14") | |
| 41 | #============================================================================== | |
| 42 | - | def event_bar |
| 42 | + | # • Módulo de configuração. |
| 43 | - | return {
|
| 43 | + | |
| 44 | - | z: 199, # Propriedade. |
| 44 | + | module EventBar |
| 45 | - | color2: ColorBasic.hex("920120"), # Cor 2
|
| 45 | + | extend self |
| 46 | - | color: ColorBasic.hex("d3002d"), # Cor
|
| 46 | + | |
| 47 | - | width: 24, # Largura. |
| 47 | + | |
| 48 | - | height: 5, # Altura. |
| 48 | + | |
| 49 | - | x_add: 0, # Posição adicional. |
| 49 | + | Z = 199 # ► Propriedade no mapa. |
| 50 | - | y_add: 0, # Posição adicional. |
| 50 | + | COLOR_DEFAULT_BAR2 = "920120".color # ► Cor padrão da barra 2. |
| 51 | - | color_background: ColorBasic[7], # Cor de fundo. |
| 51 | + | COLOR_DEFAULT_BAR = "d3002d".color # ► Cor padrão da barra. |
| 52 | COLOR_BACKGROUND = "000000".color # ► Cor do fundo. | |
| 53 | WIDTH = 24 # ► Largura padrão da barra. | |
| 54 | HEIGHT = 5 # ► Altura padrão da barra. | |
| 55 | - | # • Criar. |
| 55 | + | @data = [] |
| 56 | - | # id : ID da variável. |
| 56 | + | |
| 57 | - | # event_id : ID do Evento. |
| 57 | + | # • Criar uma barra. |
| 58 | - | # variable : [a, b, c, d] |
| 58 | + | |
| 59 | - | # a : ID da variável que irá definir o valor atual. |
| 59 | + | def do(*args) |
| 60 | - | # b : ID da variável que irá definir o valor máximo. |
| 60 | + | return unless @data[rand(9999)].nil? |
| 61 | - | # c : Definir valor da variável 'a' |
| 61 | + | @data[rand(9999)] = Sprite_Event_Bar.new(*args) |
| 62 | - | # d : Definir valor da variável 'b' |
| 62 | + | |
| 63 | #---------------------------------------------------------------------------- | |
| 64 | - | def make_event_bar(id, *args) |
| 64 | + | # • Esconder. |
| 65 | - | return unless @data_event_bar[id].nil? |
| 65 | + | |
| 66 | - | @data_event_bar[id] = Sprite_Event_Bar.new(*args) |
| 66 | + | def hide |
| 67 | @data.each { |each| each.opacity = 0 unless each.nil? }
| |
| 68 | end | |
| 69 | - | # • Conteúdo. |
| 69 | + | |
| 70 | # • Atualizar. | |
| 71 | - | def data_event_bar(id) |
| 71 | + | |
| 72 | - | return @data_event_bar[id] |
| 72 | + | |
| 73 | return if @data.nil? | |
| 74 | @data.each_with_index { |bar, index|
| |
| 75 | - | # • Esconder |
| 75 | + | |
| 76 | bar.update | |
| 77 | - | def hide_event_bar |
| 77 | + | bar.opacity = 255 if bar.opacity == 0 |
| 78 | - | @data_event_bar.each { |i| i.opacity = 0 unless i.nil?}
|
| 78 | + | unless bar.visible |
| 79 | bar.dispose | |
| 80 | @data.delete_at(index) | |
| 81 | end | |
| 82 | end | |
| 83 | - | def update_event_bar |
| 83 | + | |
| 84 | - | return if @data_event_bar.nil? |
| 84 | + | |
| 85 | - | @data_event_bar.each_with_index do |bar, index| |
| 85 | + | |
| 86 | #============================================================================== | |
| 87 | - | bar.update |
| 87 | + | |
| 88 | - | bar.opacity = 255 if bar.opacity == 0 |
| 88 | + | |
| 89 | - | unless bar.visible |
| 89 | + | |
| 90 | - | bar.dispose |
| 90 | + | include EventBar |
| 91 | - | @data_event_bar.delete_at(index) |
| 91 | + | |
| 92 | - | end |
| 92 | + | |
| 93 | #---------------------------------------------------------------------------- | |
| 94 | - | end |
| 94 | + | def initialize(eID, vID, m, vm, x=nil, y=nil, w=nil, h=nil, color2=nil, color=nil) |
| 95 | @x, @y = x || 0, y || 0 | |
| 96 | @eID = eID | |
| 97 | @m, @vm, @vID = m, vm, vID | |
| 98 | super([w || WIDTH, h || HEIGHT]) | |
| 99 | self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x | |
| 100 | self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y | |
| 101 | self.z = Z | |
| 102 | - | # • Variáveis públicas da instância. |
| 102 | + | @color2, @color = color2 || COLOR_DEFAULT_BAR2, color || COLOR_DEFAULT_BAR |
| 103 | end | |
| 104 | - | attr_reader :actual |
| 104 | + | |
| 105 | # • Renovação dos objetos. | |
| 106 | #---------------------------------------------------------------------------- | |
| 107 | def dispose | |
| 108 | - | def initialize(event_id, variable=[0, 0, 1, 1], xy=[0,0]) |
| 108 | + | |
| 109 | - | @xy = xy |
| 109 | + | |
| 110 | - | @event_id = event_id |
| 110 | + | |
| 111 | - | super([Rpg.event_bar[:width], Rpg.event_bar[:height]]) |
| 111 | + | |
| 112 | - | self.x = $game_map.events[@event_id].screen_x - (self.width/2) + (Rpg.event_bar[:x_add] + @xy[0]) |
| 112 | + | |
| 113 | - | self.y = $game_map.events[@event_id].screen_y - (32+self.height+1) + (Rpg.event_bar[:y_add] + @xy[0]) |
| 113 | + | |
| 114 | - | self.z = Rpg.event_bar[:z] |
| 114 | + | |
| 115 | - | @variable_actual_id = variable[0] |
| 115 | + | |
| 116 | - | @variable_max_id = variable[1] |
| 116 | + | self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x |
| 117 | - | $game_variables[@variable_actual_id] = variable[2] if $game_variables[@variable_actual_id] == 0 |
| 117 | + | self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y |
| 118 | - | $game_variables[@variable_max_id] = variable[3] if $game_variables[@variable_max_id] == 0 |
| 118 | + | |
| 119 | @actual = $game_variables[@vID] = $game_variables[@vID] == 0 ? 1 : $game_variables[@vID] | |
| 120 | @max = @vm.nil? ? @m : $game_variables[@vm] = @m | |
| 121 | self.bitmap.fill_rect(self.rect, COLOR_BACKGROUND) | |
| 122 | self.bitmap.gradient_bar([@color, @color2], @actual, @max, 1) | |
| 123 | self.visible = false if @actual <= 1 | |
| 124 | end | |
| 125 | end | |
| 126 | #============================================================================== | |
| 127 | # • Spriteset_Map | |
| 128 | #============================================================================== | |
| 129 | class Spriteset_Map | |
| 130 | alias :event_bar_dispose :dispose | |
| 131 | def dispose | |
| 132 | - | self.x = $game_map.events[@event_id].screen_x - (self.width/2) + (Rpg.event_bar[:x_add] + @xy[0]) |
| 132 | + | EventBar.hide |
| 133 | - | self.y = $game_map.events[@event_id].screen_y - (32+self.height+1) + (Rpg.event_bar[:y_add] + @xy[0]) |
| 133 | + | |
| 134 | end | |
| 135 | - | @actual = $game_variables[@variable_actual_id] |
| 135 | + | |
| 136 | - | @max = $game_variables[@variable_max_id] |
| 136 | + | |
| 137 | - | self.bitmap.fill_rect(self.rect, Rpg.event_bar[:color_background]) |
| 137 | + | |
| 138 | - | self.bitmap.gradient_bar([Rpg.event_bar[:color], Rpg.event_bar[:color2]], @actual, @max, 1) |
| 138 | + | EventBar.update |
| 139 | - | self.visible = false if @actual < 1 |
| 139 | + | |
| 140 | end | |
| 141 | #============================================================================== | |
| 142 | # • Interpretador; | |
| 143 | #============================================================================== | |
| 144 | class Game_Interpreter | |
| 145 | #---------------------------------------------------------------------------- | |
| 146 | # • Barra no evento. | |
| 147 | #---------------------------------------------------------------------------- | |
| 148 | - | Rpg.hide_event_bar |
| 148 | + | def ebar(*args) |
| 149 | EventBar.do(*args) | |
| 150 | end | |
| 151 | end | |
| 152 | __END__ | |
| 153 | #-------------------------------------------------------------------------- | |
| 154 | - | Rpg.update_event_bar |
| 154 | + | # ● Setup Event Text |
| 155 | #-------------------------------------------------------------------------- | |
| 156 | def setup_event_bar | |
| 157 | return if @list == nil | |
| 158 | for command in @list | |
| 159 | if command.code == 108 | |
| 160 | if command.parameters[0].match(/ebar: id(\d+) h(\d+) m(\d+) vm(\w+) p(\w+) s(\w+) #(\w+)_(\w+)/im) | |
| 161 | msgbox "OK" | |
| 162 | EventBar.do($1.to_i, $2.to_i, $3.to_i, $4 == "@" ? nil : | |
| 163 | $4.nil?, $5.to_s.split("_")[0].to_i, $5.to_s.split("_")[1].to_i,
| |
| 164 | - | def event_bar(*args) |
| 164 | + | $6.to_s.split("_")[0].to_i, $6.to_s.split("_")[1].to_i, $7, $8)
|
| 165 | - | Rpg.make_event_bar(*args) |
| 165 | + | end |
| 166 | end | |
| 167 | end | |
| 168 | - | # • Conteúdo. |
| 168 | + | end |