Brandobscure001 Paladin (niveau 1)
Messages postés : 544 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 20:49 | |
| 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 : - 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. |
|
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 21:09 | |
| Merci pour ce script, et je te mets des points. A bientôt. |
|
Zexion Administrateur
Messages postés : 6228 Date d'inscription : 04/01/2012 Jauge LPC :
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 21:10 | |
| Merci du partage. Les inconscients qui utilisent VX sont suffisamment nombreux pour que cela s'avère utile. |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 21:49 | |
| VX c'pour les PD. Ah merde j'ai un projet sous VX Merci du partage brandobscure. Par contre, c'est pour quel type de combat ? celui par défaut, un SBS ? Je demande pas pour le A-RPG quoi que pourquoi pas ^^ |
|
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 23:03 | |
| |
|
Brandobscure001 Paladin (niveau 1)
Messages postés : 544 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 23:04 | |
| C'est pour tout sauf un A-rpg |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Lun 4 Juin 2012 - 23:11 | |
| |
|
Invité Invité
| Sujet: Re: [Vx]Barre de vie sur les ennemis. Mar 5 Juin 2012 - 19:52 | |
| Je l'utilise déjà, merci du partage. =) |
|
Contenu sponsorisé
| Sujet: Re: [Vx]Barre de vie sur les ennemis. | |
| |
|