Advertisement
DaxSoft

Event Bar 3.6

Sep 13th, 2014
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.43 KB | None | 0 0
  1. #==============================================================================
  2. # • Event Bar
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 3.6
  6. # Site: www.dax-soft.weebly.com
  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. # ebar(eID, vID, m, vm, x, y, w, h, color2, color) Barra sem usar imagem.
  17. #------------------------------------------------------------------------------
  18. # ► Requerido.
  19. # eID : ID do evento do mapa. Se estiver vázio é o id do evento local.
  20. # vID : ID da variável que irá mostrar o valor atual da barra.
  21. # m : Definir valor máximo da barra.
  22. # vm : Quer controlar o valor máximo da barra através de uma variável? Então
  23. # ponha o ID da variável no lugar de D. Caso não, deixe vázio.
  24. #------------------------------------------------------------------------------
  25. # ► Opicional.
  26. # x : Posição X adicional. Caso queira nada, deixe vázio.
  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. # O valor padrão é definido.
  30. # h : Modificar a altura do tamanho da HUD. Caso queira nada, deixe vázio.
  31. # O valor padrão é definido.
  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. #------------------------------------------------------------------------------
  35. # ► Dica:
  36. # Deixar vázio é igual a por o valor em: nil
  37. #------------------------------------------------------------------------------
  38. # Exemplo:
  39. # ebar(1,1,100,nil,0,0,25,5,"f2e341".color, "fdef57".color)
  40. # ebar(1,2,100,nil,0,-5,32)
  41. #==============================================================================
  42. Dax.register(:event_bar, "Dax", 3.6) {
  43. #==============================================================================
  44. # • Módulo de configuração.
  45. #==============================================================================
  46. module EventBar
  47. extend self
  48. #----------------------------------------------------------------------------
  49. # • Configuração.
  50. #----------------------------------------------------------------------------
  51. Z = 199 # ► Propriedade no mapa.
  52. COLOR_DEFAULT_BAR2 = "920120".color # ► Cor padrão da barra 2.
  53. COLOR_DEFAULT_BAR = "d3002d".color # ► Cor padrão da barra.
  54. COLOR_BACKGROUND = "000000".color # ► Cor do fundo.
  55. WIDTH = 24 # ► Largura padrão da barra.
  56. HEIGHT = 5 # ► Altura padrão da barra.
  57. @data = []
  58. #----------------------------------------------------------------------------
  59. # • Criar uma barra.
  60. #----------------------------------------------------------------------------
  61. def do(*args)
  62. @data << Sprite_Event_Bar.new(*args)
  63. end
  64. #----------------------------------------------------------------------------
  65. # • Esconder.
  66. #----------------------------------------------------------------------------
  67. def hide
  68. @data.each { |each| each.opacity = 0 unless each.nil? }
  69. end
  70. #----------------------------------------------------------------------------
  71. # • Dispose
  72. #----------------------------------------------------------------------------
  73. def dispose
  74. return if @data.nil?
  75. @data.each_with_index { |bar, index|
  76. unless bar.nil?
  77. bar.dispose
  78. @data.delete_at(index)
  79. end
  80. }
  81. end
  82. #----------------------------------------------------------------------------
  83. # • Atualizar.
  84. #----------------------------------------------------------------------------
  85. def update
  86. return if @data.nil?
  87. @data.each_with_index { |bar, index|
  88. unless bar.nil?
  89. bar.update
  90. bar.opacity = 255 if bar.opacity == 0
  91. unless bar.visible
  92. bar.dispose
  93. @data.delete_at(index)
  94. end
  95. end
  96. }
  97. end
  98. end
  99. #==============================================================================
  100. # • Sprite_Event_Bar
  101. #==============================================================================
  102. class Sprite_Event_Bar < Sprite
  103. include EventBar
  104. #----------------------------------------------------------------------------
  105. # • Inicialização dos objetos.
  106. #----------------------------------------------------------------------------
  107. def initialize(eID, vID, m, vm=nil, x=nil, y=nil, w=nil, h=nil, color2=nil, color=nil)
  108. @x, @y = x || 0, y || 0
  109. @eID = eID
  110. @m, @vm, @vID = m, vm || 0, vID
  111. super([w || WIDTH, h || HEIGHT])
  112. self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x
  113. self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y
  114. self.z = Z
  115. @color2, @color = color2 || COLOR_DEFAULT_BAR2, color || COLOR_DEFAULT_BAR
  116. end
  117. #----------------------------------------------------------------------------
  118. # • Renovação dos objetos.
  119. #----------------------------------------------------------------------------
  120. def dispose
  121. self.bitmap.dispose
  122. super
  123. end
  124. #----------------------------------------------------------------------------
  125. # • Atualização dos objetos.
  126. #----------------------------------------------------------------------------
  127. def update
  128. return if self.bitmap.nil?
  129. self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x
  130. self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y
  131. self.bitmap.clear
  132. @actual = $game_variables[@vID] = $game_variables[@vID] == 0 ? 1 : $game_variables[@vID]
  133. @max = @vm.nil? ? @m : $game_variables[@vm] == 0 ? ($game_variables[@vm] = @m) : $game_variables[@vm]
  134. self.bitmap.fill_rect(self.rect, COLOR_BACKGROUND)
  135. self.bitmap.gradient_bar([@color, @color2], @actual, @max, 1)
  136. self.visible = false if @actual <= 1
  137. end
  138. end
  139. #==============================================================================
  140. # • Spriteset_Map
  141. #==============================================================================
  142. class Spriteset_Map
  143. alias :event_bar_dispose :dispose
  144. def dispose
  145. EventBar.hide
  146. event_bar_dispose
  147. end
  148. alias :event_bar_update :update
  149. def update
  150. event_bar_update
  151. EventBar.update
  152. end
  153. end
  154. #==============================================================================
  155. # • Game_Player
  156. #==============================================================================
  157. class Game_Player < Game_Character
  158. alias :eb_perform_transfer :perform_transfer
  159. def perform_transfer
  160. eb_perform_transfer
  161. EventBar.dispose
  162. end
  163. end
  164. #==============================================================================
  165. # • Interpretador;
  166. #==============================================================================
  167. class Game_Interpreter
  168. #----------------------------------------------------------------------------
  169. # • Barra no evento.
  170. #----------------------------------------------------------------------------
  171. def ebar(*args)
  172. EventBar.do(*args)
  173. end
  174. end
  175.  
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement