- BrandobscureMembre
- Nombre de messages : 528
Age : 28
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011
[Vx]Barre de vie sur les ennemis.
Dim 24 Juin 2012 - 20:05
Bonjours
j'ai trouvé un script qui permet de mettre
une barre de vie sur un ennemis.
Pour Rpg Maker Vx.
Auteur : STR15
Configurations : ligne 27 a 42.
Screen :
Ce script s'adapte pour tout mode de combat excepté les A-RPG
Script :
Voilà bonne soirée.
j'ai trouvé un script qui permet de mettre
une barre de vie sur un ennemis.
Pour Rpg Maker Vx.
Auteur : STR15
Configurations : ligne 27 a 42.
Screen :
Ce script s'adapte pour tout mode de combat excepté les A-RPG
Script :
- Code:
#================================================= =============================
# ★ 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
Voilà bonne soirée.
- DénérionMembre
- Nombre de messages : 284
Distinction : aucune
Date d'inscription : 15/03/2008
Re: [Vx]Barre de vie sur les ennemis.
Lun 25 Juin 2012 - 15:40
C'est du RGSS2, pas sûr que ça ait sa place ici vu que VXAce est en RGSS3... enfin, loin de moi l'idée de vouloir jouer les modos, ce n'est qu'une constatation.
Dommage d'ailleurs, car c'est intéressant comme script, c'est ce genre de petits détails qui font se démarquer les jeux complets ^^.
Dommage d'ailleurs, car c'est intéressant comme script, c'est ce genre de petits détails qui font se démarquer les jeux complets ^^.
Re: [Vx]Barre de vie sur les ennemis.
Lun 25 Juin 2012 - 15:53
Voilà le script pour VX Ace : http://yanflychannel.wordpress.com/rmvxa/battle-scripts/ace-battle-engine/enemy-hp-bars/
- marorMembre
- Nombre de messages : 35
Age : 27
Distinction : aucune
Date d'inscription : 29/07/2010
Re: [Vx]Barre de vie sur les ennemis.
Ven 6 Juil 2012 - 13:03
Moghunter en a fait un aussi >> http://www.atelier-rgss.com/RGSS/Battle/ACE_BAT07.html
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum