Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #===============================================================
- # Raizen's Damage Popup. (Raizen884)
- # É permitido distribuir em outros lugares contanto que não seja mudado
- # as linhas dos créditos.
- #===============================================================
- # Damage Popup
- # Descrição: O script faz a leitura da quantidade de vida do primeiro
- # personagem, e em qualquer mudança ele mostrará o número
- # de vida que o personagem recebeu ou perdeu.
- module Raizendmg
- #Switch que ativa o script, sempre que não quiser que esteja
- #ativado o efeito de popup, basta desligar o switch.
- SWITCH = 1
- # Tempo que o dano ou mudança de vida ficará sobre o personagem
- # antes de sumir.
- TIME = 50
- # Ajuste em x, aqui da para posicionar a coordenada inicial que
- # o item pop-up fará. Valores menores aproximam o Item popup para a direita.
- PX = 60
- # Ajuste em y, aqui da para posicionar a coordenada inicial que
- # o item pop-up fará. Valores menores aproximam o Item popup para baixo.
- PY = 100
- # Distancia que percorrera o damage popup, sendo que o valor 0,
- # desativa essa função.
- DISTANCE = 30
- end
- class Window_Damagepop < Window_Base
- def initialize(x, y, n, jy)
- super(x, y, x + 544, y + 416)
- self.opacity = 0
- refresh(n, x, jy)
- end
- def refresh(n, x , jy)
- self.contents.clear
- self.contents.font.size = 14
- if n > 0
- self.contents.font.color = text_color(3)
- self.contents.draw_text(x + 0, jy, 100, 50, n, 1)
- elsif n < 0
- n *= -1
- self.contents.font.color = text_color(2)
- self.contents.draw_text(x + 0, jy, 100, 50, n, 1)
- end
- end
- end
- class Scene_Map < Scene_Base
- alias initializedamage initialize
- def initialize
- @jy2 = Raizendmg::DISTANCE
- @dpopup.dispose if @dpopup != nil
- @dpopup = Window_Damagepop.new(0, 0, 0, 0)
- @hpdamage = $game_party.members[0].hp
- initializedamage
- end
- def damage_initialize(n, jy)
- @dpopup.refresh(n, $game_player.screen_x - Raizendmg::PX, $game_player.screen_y - Raizendmg::PY + jy)
- @n2 = n, @jy2 = jy
- end
- alias damage_update update
- def update
- damage_update
- if @hpdamage != $game_party.members[0].hp and $game_switches[Raizendmg::SWITCH]
- @n2 = $game_party.members[0].hp - @hpdamage
- @jy2 -= 2
- @contador2 = 0 if @jy2 == 0
- if @jy2 >= 0
- damage_initialize(@n2, @jy2)
- else
- @contador2 += 1
- if @contador2 <= Raizendmg::TIME
- damage_initialize(@n2, 0)
- else
- damage_initialize(0, 0)
- @jy2 = Raizendmg::DISTANCE
- @hpdamage = $game_party.members[0].hp
- @n2 = nil
- end
- end
- end
- if @n2 != nil
- if @hpdamage == $game_party.members[0].hp
- damage_initialize(0, 0)
- @n2 = nil
- @jy2 = Raizendmg::DISTANCE
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement