Barra de HP para Inimigos
+4
ciberpyrata
SteveTheCreeper
dienifer
Naxus
8 participantes
- NaxusVeterano
- Mensagens : 500
Reputação : 68
Barra de HP para Inimigos
Sex Out 08, 2010 2:04 am
Barra de HP para Inimigos
por Star
por Star
Introdução
Um script que faz os monstros mostrarem uma barra de hp quando atacados.
Características
- Inimigos mostram uma barra de HP, Ela aparece quando eles levam um hit.
Screenshots
Como usar
Cole acima do main, existem valores configuráveis no script
Script
- Código:
#================================================= =============================
# ★ RGSS2
#enemy # STR15_ HP Gauge v1.1 08/08/10
# Suporte: http://strcatyou.u-abel.net/
#
# Inimigos mostram uma barra de HP.
# Ela aparece quando eles levam um hit.
#
#------------------------------------------------- -----------------------------
#
# O que tem de novo?
# ◇ 1.0 → 1.1
# O cursor.
# Agora nós podemos ver a barra.
# Barra atualizada porque o tempo de resposta não estava correto.
# ◇ 0.9 → 1.0
# Agora consertada a parte que não podia se ver a barra.
# ◇ 0.8 → 0.9
# Trabalho mais leve.
# Melhorado o tempo de resposta.
#
#================================================= =============================
#================================================= =============================
# ■ Sprite_Battler
#================================================= =============================
class Sprite_Battler < Sprite_Base
# Adicione ao campo "notas" do imigo para não mostrar a barra
GAUGE_M = "<nobar>"
GAUGE_BC = [Color.new(0,0,0), Color.new(32,48,64)]
GAUGE_GC = [Color.new(64,128,96), Color.new(96,192,160)]
# Ajustes de Posição da barra
GAUGE_W = 96
GAUGE_H = 6
GAUGE_S = 8
GAUGE_T = 640
GAUGE_O = 16
#
GAUGE_V = false
#--------------------------------------------------------------------------
# Criar
#--------------------------------------------------------------------------
def create_enhpgauge
g_width = GAUGE_W
g_height = GAUGE_H
f_color = GAUGE_BC
g_color = GAUGE_GC
bitmap = Bitmap.new(g_width, g_height * 2)
bitmap.fill_rect(0, 0, g_width, g_height, f_color[0])
bitmap.fill_rect(1, 1, g_width - 2, g_height - 2, f_color[1])
bitmap.gradient_fill_rect(1, g_height + 1, g_width - 2, g_height - 2,
g_color[0], g_color[1])
@hp_gauge = [Sprite.new, Sprite.new]
for i in 0..1
sprite = @hp_gauge[i]
sprite.viewport = self.viewport
sprite.bitmap = bitmap
sprite.src_rect.set(0, 0, g_width, g_height)
sprite.src_rect.y = g_height if i == 1
sprite.x = @battler.screen_x
sprite.y = @battler.screen_y - 8
sprite.ox = g_width / 2
sprite.oy = g_height / 2
sprite.z = 200
sprite.z += 20 if i == 1
sprite.opacity = 0
end
@enid = @battler.enemy_id
@hp = @battler.hp
@gauge_width = GAUGE_W + 1
@gauge_opacity = 0
end
#--------------------------------------------------------------------------
# Atualizar a barra
#--------------------------------------------------------------------------
def enhpgauge_update
if @enid != @battler.enemy_id
@enid = @battler.enemy_id
@gauge_visible = true
@gauge_visible = false if $data_enemies[@enid].note.include?(GAUGE_M)
for i in @hp_gauge do i.visible = @gauge_visible end
end
return unless @gauge_visible
if @hp != @battler.hp
g_width = (@battler.hp / (@battler.maxhp * 1.0))
@gauge_width = ((GAUGE_W * g_width) + 1).truncate
@gauge_opacity = GAUGE_T
@hp = @battler.hp
end
g_width = @hp_gauge[1].src_rect.width
speed = GAUGE_S
rect = @hp_gauge[1].src_rect
rect.width = (@gauge_width + (g_width * (speed - 1))) / speed
if rect.width != @gauge_width
if rect.width > @gauge_width
rect.width -= 1
else
rect.width += 1
end
end
rect.width = 2 if rect.width <= 1 and @hp > 0
if GAUGE_V and @battler.cursor_flash
@gauge_opacity += GAUGE_O * 2 if @gauge_opacity <= GAUGE_T / 2
else
@gauge_opacity -= GAUGE_O if @gauge_opacity > 0
end
# “§–¾“x“K—p
for i in @hp_gauge do i.opacity = @gauge_opacity end
end
#--------------------------------------------------------------------------
# Iniciar Objeto (alias)
#--------------------------------------------------------------------------
alias initialize_str15 initialize
def initialize(viewport, battler = nil)
initialize_str15(viewport, battler)
if @battler.is_a?(Game_Enemy)
create_enhpgauge
@gauge_visible = true
@gauge_visible = false if $data_enemies[@enid].note.include?(GAUGE_M)
for i in @hp_gauge do i.visible = @gauge_visible end
end
end
#--------------------------------------------------------------------------
# Liberação (alias)
#--------------------------------------------------------------------------
alias dispose_str15 dispose
def dispose
dispose_str15
if @battler.is_a?(Game_Enemy)
@hp_gauge[0].bitmap.dispose
@hp_gauge[0].dispose
@hp_gauge[1].dispose
end
end
#--------------------------------------------------------------------------
# Atualizar Frame (alias)
#--------------------------------------------------------------------------
alias update_str15 update
def update
update_str15
enhpgauge_update if @battler.is_a?(Game_Enemy)
end
end
Créditos e Agradecimentos
- Feito por Star
- dieniferMembro
- Mensagens : 393
Reputação : 41
Re: Barra de HP para Inimigos
Sex Out 08, 2010 2:23 am
muito bom script naxus obrigado por disponilizar + rep
- SteveTheCreeperMembro
- Mensagens : 476
Reputação : 24
Re: Barra de HP para Inimigos
Sex Out 08, 2010 1:43 pm
=D Vou usa-lo com certeza
Rep+
Rep+
- ciberpyrataNovo Membro
- Mensagens : 123
Reputação : 15
Re: Barra de HP para Inimigos
Sex Out 08, 2010 4:11 pm
Usá-lo-ei, vlw.
Malz, não sabia que agradecer o cara era flood...
É Ciber com i, não y...
Sarli escreveu:ciberpyrata escreveu:Usá-lo-ei, vlw.nova regra,linguagem culta não será permitida
Cyber sem floods porfavor
Malz, não sabia que agradecer o cara era flood...
- SteveTheCreeperMembro
- Mensagens : 476
Reputação : 24
Re: Barra de HP para Inimigos
Sex Out 08, 2010 5:53 pm
ciberpyrata escreveu:Usá-lo-ei, vlw.
Cyber sem floods porfavor
Re: Barra de HP para Inimigos
Sáb Out 09, 2010 4:27 am
Extremamente parecido com Persona, com exceção das cores e do formato ser retangular em vez de oval, muito bom, +rep por disponibilizar.
- RafaelSOPAMembro
- Mensagens : 339
Reputação : 53
Re: Barra de HP para Inimigos
Sáb Out 09, 2010 8:03 am
Nossa muito boom, esse script, vai para a minha pasta secreta
+rep por disponibilizar.
+rep por disponibilizar.
- SteveTheCreeperMembro
- Mensagens : 476
Reputação : 24
Re: Barra de HP para Inimigos
Sáb Out 09, 2010 10:09 am
Perdão Ciber pensei que estava me corrigindo,por isso falei sem flood porque de qualquer jeito os dois estavam certos.
Esqueci de dar rep
REP+ por disponibilizar
Esqueci de dar rep
REP+ por disponibilizar
- WweBRNovato
- Mensagens : 17
Reputação : 12
Re: Barra de HP para Inimigos
Sáb Out 09, 2010 10:52 am
Sarli escreveu:ciberpyrata escreveu:Usá-lo-ei, vlw.nova regra,linguagem culta não será permitida
Cyber sem floods porfavor
Essa eu num entendi :ss
O cara usou uma linguagem culta, e não pode :/
Quer dizer que se eu falar "Usá-lo-ei" serei banido :P
enfim....
@Topic
Muito bom o script, quem sabe eu uso em algum projeto :D
Falowz ~//
- SteveTheCreeperMembro
- Mensagens : 476
Reputação : 24
Re: Barra de HP para Inimigos
Sáb Out 09, 2010 11:33 am
@WweBR
KKKKKKK' cara pensei que ele tava me corrigindo porque não falei daquele jeito aquilo que escrevi era uma piada,lol.
KKKKKKK' cara pensei que ele tava me corrigindo porque não falei daquele jeito aquilo que escrevi era uma piada,lol.
- JhonnNovo Membro
- Mensagens : 114
Reputação : 48
Re: Barra de HP para Inimigos
Sáb Out 09, 2010 12:30 pm
Só para constar, esse script também funciona no RMVX (se não me engano ele foi escrito para RMVX, mas parece funcionar no RMXP também).
Permissões neste sub-fórum
Não podes responder a tópicos
|
|