Advertisement
Raizen

Untitled

Apr 20th, 2020
901
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.78 KB | None | 0 0
  1. #===============================================================
  2. # Raizen's Damage Popup. (Raizen884)
  3. # É permitido distribuir em outros lugares contanto que não seja mudado
  4. # as linhas dos créditos.
  5. #===============================================================
  6. # Damage Popup
  7. # Descrição: O script faz a leitura da quantidade de vida do primeiro
  8. # personagem, e em qualquer mudança ele mostrará o número
  9. # de vida que o personagem recebeu ou perdeu.
  10. module Raizendmg
  11. #Switch que ativa o script, sempre que não quiser que esteja
  12. #ativado o efeito de popup, basta desligar o switch.
  13. SWITCH = 1
  14. # Tempo que o dano ou mudança de vida ficará sobre o personagem
  15. # antes de sumir.
  16. TIME = 50
  17. # Ajuste em x, aqui da para posicionar a coordenada inicial que
  18. # o item pop-up fará. Valores menores aproximam o Item popup para a direita.
  19. PX = 60
  20. # Ajuste em y, aqui da para posicionar a coordenada inicial que
  21. # o item pop-up fará. Valores menores aproximam o Item popup para baixo.
  22. PY = 100
  23. # Distancia que percorrera o damage popup, sendo que o valor 0,
  24. # desativa essa função.
  25. DISTANCE = 30
  26. end
  27. class Window_Damagepop < Window_Base
  28.   def initialize(x, y, n, jy)
  29.     super(x, y, x + 544, y + 416)
  30.     self.opacity = 0
  31.     refresh(n, x, jy)
  32.   end
  33.   def refresh(n, x , jy)
  34.     self.contents.clear
  35.     self.contents.font.size = 14
  36.     if n > 0
  37.     self.contents.font.color = text_color(3)
  38.     self.contents.draw_text(x + 0, jy, 100, 50, n, 1)
  39.     elsif n < 0
  40.     n *= -1
  41.     self.contents.font.color = text_color(2)
  42.     self.contents.draw_text(x + 0, jy, 100, 50, n, 1)
  43.     end
  44.   end
  45. end
  46.  
  47.    
  48.    
  49. class Scene_Map < Scene_Base
  50.   alias initializedamage initialize
  51.   def initialize
  52.   @jy2 = Raizendmg::DISTANCE
  53.   @dpopup.dispose if @dpopup != nil
  54.   @dpopup = Window_Damagepop.new(0, 0, 0, 0)
  55.   @hpdamage = $game_party.members[0].hp
  56.   initializedamage
  57.   end
  58.   def damage_initialize(n, jy)
  59.   @dpopup.refresh(n, $game_player.screen_x - Raizendmg::PX, $game_player.screen_y - Raizendmg::PY + jy)
  60.   @n2 = n, @jy2 = jy
  61.   end
  62. alias damage_update update
  63.   def update
  64.     damage_update
  65.     if @hpdamage != $game_party.members[0].hp and $game_switches[Raizendmg::SWITCH]
  66.     @n2 = $game_party.members[0].hp - @hpdamage
  67.     @jy2 -= 2
  68.     @contador2 = 0 if @jy2 == 0
  69.       if @jy2 >= 0
  70.       damage_initialize(@n2, @jy2)
  71.       else
  72.       @contador2 += 1
  73.         if @contador2 <= Raizendmg::TIME
  74.         damage_initialize(@n2, 0)
  75.       else
  76.         damage_initialize(0, 0)
  77.         @jy2 = Raizendmg::DISTANCE
  78.         @hpdamage = $game_party.members[0].hp
  79.         @n2 = nil
  80.         end
  81.       end
  82.     end
  83.     if @n2 != nil
  84.     if @hpdamage == $game_party.members[0].hp
  85.     damage_initialize(0, 0)
  86.     @n2 = nil
  87.     @jy2 = Raizendmg::DISTANCE
  88.     end
  89.     end
  90.   end
  91. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement