Advertisement
DaxSoft

Event Bar 3.0

Sep 12th, 2014
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #==============================================================================
  2. # • Event Bar
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 3.0
  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)
  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.0, "12/09/14")
  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. return unless @data[rand(9999)].nil?
  63. @data[rand(9999)] = Sprite_Event_Bar.new(*args)
  64. end
  65. #----------------------------------------------------------------------------
  66. # • Esconder.
  67. #----------------------------------------------------------------------------
  68. def hide
  69. @data.each { |each| each.opacity = 0 unless each.nil? }
  70. end
  71. #----------------------------------------------------------------------------
  72. # • Atualizar.
  73. #----------------------------------------------------------------------------
  74. def update
  75. return if @data.nil?
  76. @data.each_with_index { |bar, index|
  77. unless bar.nil?
  78. bar.update
  79. bar.opacity = 255 if bar.opacity == 0
  80. unless bar.visible
  81. bar.dispose
  82. @data.delete_at(index)
  83. end
  84. end
  85. }
  86. end
  87. end
  88. #==============================================================================
  89. # • Sprite_Event_Bar
  90. #==============================================================================
  91. class Sprite_Event_Bar < Sprite
  92. include EventBar
  93. #----------------------------------------------------------------------------
  94. # • Inicialização dos objetos.
  95. #----------------------------------------------------------------------------
  96. def initialize(eID, vID, m, vm, x=nil, y=nil, w=nil, h=nil, color2=nil, color=nil)
  97. @x, @y = x || 0, y || 0
  98. @eID = eID
  99. @m, @vm, @vID = m, vm, vID
  100. super([w || WIDTH, h || HEIGHT])
  101. self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x
  102. self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y
  103. self.z = Z
  104. @color2, @color = color2 || COLOR_DEFAULT_BAR2, color || COLOR_DEFAULT_BAR
  105. end
  106. #----------------------------------------------------------------------------
  107. # • Renovação dos objetos.
  108. #----------------------------------------------------------------------------
  109. def dispose
  110. self.bitmap.dispose
  111. super
  112. end
  113. #----------------------------------------------------------------------------
  114. # • Atualização dos objetos.
  115. #----------------------------------------------------------------------------
  116. def update
  117. return if self.bitmap.nil?
  118. self.x = $game_map.events[@eID].screen_x - (self.width / 2) + @x
  119. self.y = $game_map.events[@eID].screen_y - (33+self.height) + @y
  120. self.bitmap.clear
  121. @actual = $game_variables[@vID] = $game_variables[@vID] == 0 ? 1 : $game_variables[@vID]
  122. @max = @vm.nil? ? @m : $game_variables[@vm] = @m
  123. self.bitmap.fill_rect(self.rect, COLOR_BACKGROUND)
  124. self.bitmap.gradient_bar([@color, @color2], @actual, @max, 1)
  125. self.visible = false if @actual <= 1
  126. end
  127. end
  128. #==============================================================================
  129. # • Spriteset_Map
  130. #==============================================================================
  131. class Spriteset_Map
  132. alias :event_bar_dispose :dispose
  133. def dispose
  134. EventBar.hide
  135. event_bar_dispose
  136. end
  137. alias :event_bar_update :update
  138. def update
  139. event_bar_update
  140. EventBar.update
  141. end
  142. end
  143. #==============================================================================
  144. # • Interpretador;
  145. #==============================================================================
  146. class Game_Interpreter
  147. #----------------------------------------------------------------------------
  148. # • Barra no evento.
  149. #----------------------------------------------------------------------------
  150. def ebar(*args)
  151. EventBar.do(*args)
  152. end
  153. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement