SHOW:
|
|
- or go back to the newest paste.
| 1 | #============================================================================== | |
| 2 | # • Event Bar | |
| 3 | #============================================================================== | |
| 4 | # Autor: Dax | |
| 5 | # Versão: 2.2 | |
| 6 | # Site: www.dax-soft.weebly.com | |
| 7 | # Requerimento: Dax Core Xi1.4 | |
| 8 | #============================================================================== | |
| 9 | # • Descrição: | |
| 10 | #------------------------------------------------------------------------------ | |
| 11 | - | # Permite fazer/criar barras que fiquem na cabeça dos eventos. Útil para |
| 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]) | |
| 17 | # a : ID da variável das HUD. NUNCA PONHA VALOR IGUAL SE JÁ EXISTE. | |
| 18 | # b : ID do evento do Mapa. | |
| 19 | # c : ID da variável que irá mostrar o valor atual da barra. | |
| 20 | # d : ID da variável que irá mostrar o valor máximo da barra. | |
| 21 | # e : Definir valor da variável 'a' | Defina o valor somente caso, o valor | |
| 22 | # da variável não estiver definido ainda. | |
| 23 | # f : Definir valor da variável 'b' | Defina o valor somente caso, o valor | |
| 24 | # da variável não estiver definido ainda. | |
| 25 | # *** Opcional *** | |
| 26 | # g : Posição X adicional. | |
| 27 | # h : Posição Y adicional. | |
| 28 | #============================================================================== | |
| 29 | - | Dax.register(:event_bar, "Dax", 2.2) |
| 29 | + | Dax.register(:event_bar, "Dax", 2.2) |
| 30 | class << Rpg | |
| 31 | #---------------------------------------------------------------------------- | |
| 32 | # • Iniciar. | |
| 33 | #---------------------------------------------------------------------------- | |
| 34 | alias :event_bar_data_manager :data_manager | |
| 35 | def data_manager | |
| 36 | event_bar_data_manager | |
| 37 | @data_event_bar = [] | |
| 38 | end | |
| 39 | #---------------------------------------------------------------------------- | |
| 40 | # • Configuração. | |
| 41 | #---------------------------------------------------------------------------- | |
| 42 | def event_bar | |
| 43 | return {
| |
| 44 | - | z: 200, # Propriedade. |
| 44 | + | z: 199, # Propriedade. |
| 45 | color2: ColorBasic.hex("920120"), # Cor 2
| |
| 46 | - | color: ColorBasic.hex("d3002d"), # Cor
|
| 46 | + | color: ColorBasic.hex("d3002d"), # Cor
|
| 47 | width: 24, # Largura. | |
| 48 | height: 5, # Altura. | |
| 49 | x_add: 0, # Posição adicional. | |
| 50 | y_add: 0, # Posição adicional. | |
| 51 | color_background: ColorBasic[7], # Cor de fundo. | |
| 52 | } | |
| 53 | end | |
| 54 | #---------------------------------------------------------------------------- | |
| 55 | # • Criar. | |
| 56 | # id : ID da variável. | |
| 57 | # event_id : ID do Evento. | |
| 58 | # variable : [a, b, c, d] | |
| 59 | # a : ID da variável que irá definir o valor atual. | |
| 60 | # b : ID da variável que irá definir o valor máximo. | |
| 61 | # c : Definir valor da variável 'a' | |
| 62 | # d : Definir valor da variável 'b' | |
| 63 | #---------------------------------------------------------------------------- | |
| 64 | def make_event_bar(id, *args) | |
| 65 | return unless @data_event_bar[id].nil? | |
| 66 | @data_event_bar[id] = Sprite_Event_Bar.new(*args) | |
| 67 | end | |
| 68 | #---------------------------------------------------------------------------- | |
| 69 | # • Conteúdo. | |
| 70 | #---------------------------------------------------------------------------- | |
| 71 | def data_event_bar(id) | |
| 72 | return @data_event_bar[id] | |
| 73 | end | |
| 74 | #---------------------------------------------------------------------------- | |
| 75 | # • Esconder | |
| 76 | #---------------------------------------------------------------------------- | |
| 77 | def hide_event_bar | |
| 78 | @data_event_bar.each { |i| i.opacity = 0 unless i.nil?}
| |
| 79 | end | |
| 80 | #---------------------------------------------------------------------------- | |
| 81 | # • Atualizar. | |
| 82 | #---------------------------------------------------------------------------- | |
| 83 | def update_event_bar | |
| 84 | return if @data_event_bar.nil? | |
| 85 | @data_event_bar.each_with_index do |bar, index| | |
| 86 | unless bar.nil? | |
| 87 | - | bar.update |
| 87 | + | bar.update |
| 88 | bar.opacity = 255 if bar.opacity == 0 | |
| 89 | unless bar.visible | |
| 90 | bar.dispose | |
| 91 | @data_event_bar.delete_at(index) | |
| 92 | end | |
| 93 | end | |
| 94 | end | |
| 95 | end | |
| 96 | end | |
| 97 | #============================================================================== | |
| 98 | # • Sprite_Event_Bar | |
| 99 | #============================================================================== | |
| 100 | class Sprite_Event_Bar < Sprite | |
| 101 | #---------------------------------------------------------------------------- | |
| 102 | # • Variáveis públicas da instância. | |
| 103 | #---------------------------------------------------------------------------- | |
| 104 | attr_reader :actual | |
| 105 | #---------------------------------------------------------------------------- | |
| 106 | # • Inicialização dos objetos. | |
| 107 | #---------------------------------------------------------------------------- | |
| 108 | def initialize(event_id, variable=[0, 0, 1, 1], xy=[0,0]) | |
| 109 | @xy = xy | |
| 110 | @event_id = event_id | |
| 111 | super([Rpg.event_bar[:width], Rpg.event_bar[:height]]) | |
| 112 | self.x = $game_map.events[@event_id].screen_x - (self.width/2) + (Rpg.event_bar[:x_add] + @xy[0]) | |
| 113 | self.y = $game_map.events[@event_id].screen_y - (32+self.height+1) + (Rpg.event_bar[:y_add] + @xy[0]) | |
| 114 | self.z = Rpg.event_bar[:z] | |
| 115 | @variable_actual_id = variable[0] | |
| 116 | @variable_max_id = variable[1] | |
| 117 | $game_variables[@variable_actual_id] = variable[2] if $game_variables[@variable_actual_id] == 0 | |
| 118 | $game_variables[@variable_max_id] = variable[3] if $game_variables[@variable_max_id] == 0 | |
| 119 | end | |
| 120 | #---------------------------------------------------------------------------- | |
| 121 | # • Renovação dos objetos. | |
| 122 | #---------------------------------------------------------------------------- | |
| 123 | def dispose | |
| 124 | self.bitmap.dispose | |
| 125 | super | |
| 126 | end | |
| 127 | #---------------------------------------------------------------------------- | |
| 128 | # • Atualização dos objetos. | |
| 129 | #---------------------------------------------------------------------------- | |
| 130 | def update | |
| 131 | return if self.bitmap.nil? | |
| 132 | self.x = $game_map.events[@event_id].screen_x - (self.width/2) + (Rpg.event_bar[:x_add] + @xy[0]) | |
| 133 | self.y = $game_map.events[@event_id].screen_y - (32+self.height+1) + (Rpg.event_bar[:y_add] + @xy[0]) | |
| 134 | self.bitmap.clear | |
| 135 | @actual = $game_variables[@variable_actual_id] | |
| 136 | @max = $game_variables[@variable_max_id] | |
| 137 | self.bitmap.fill_rect(self.rect, Rpg.event_bar[:color_background]) | |
| 138 | self.bitmap.gradient_bar([Rpg.event_bar[:color], Rpg.event_bar[:color2]], @actual, @max, 1) | |
| 139 | self.visible = false if @actual < 1 | |
| 140 | end | |
| 141 | end | |
| 142 | #============================================================================== | |
| 143 | # • Spriteset_Map | |
| 144 | #============================================================================== | |
| 145 | class Spriteset_Map | |
| 146 | alias :event_bar_dispose :dispose | |
| 147 | def dispose | |
| 148 | Rpg.hide_event_bar | |
| 149 | event_bar_dispose | |
| 150 | end | |
| 151 | alias :event_bar_update :update | |
| 152 | def update | |
| 153 | event_bar_update | |
| 154 | Rpg.update_event_bar | |
| 155 | end | |
| 156 | end | |
| 157 | #============================================================================== | |
| 158 | # • Interpretador; | |
| 159 | #============================================================================== | |
| 160 | class Game_Interpreter | |
| 161 | #---------------------------------------------------------------------------- | |
| 162 | # • Barra no evento. | |
| 163 | #---------------------------------------------------------------------------- | |
| 164 | def event_bar(*args) | |
| 165 | Rpg.make_event_bar(*args) | |
| 166 | end | |
| 167 | #---------------------------------------------------------------------------- | |
| 168 | # • Conteúdo. | |
| 169 | #---------------------------------------------------------------------------- | |
| 170 | def event_bar_data(id) | |
| 171 | Rpg.data_event_bar(id) | |
| 172 | end | |
| 173 | end |