Un forum sur les jeux indépendants (Rpg maker, Mugen, etc..) et la création amateur (Dessin, Vidéo, Musique..)
 
AccueilAccueil  ConnexionConnexion  S'enregistrerS'enregistrer  Jeux amateurs  
Connexion
Nom d'utilisateur:
Mot de passe:
Connexion automatique: 
:: Récupérer mon mot de passe
Sondage
Quel logiciel préfères-tu ?
Rpg maker VX
67%
 67% [ 6 ]
Rpg maker VX Ace
22%
 22% [ 2 ]
Rpg maker XP
11%
 11% [ 1 ]
Mugen
0%
 0% [ 0 ]
Game maker
0%
 0% [ 0 ]
FPS creator
0%
 0% [ 0 ]
FPS creator X10
0%
 0% [ 0 ]
Frog creator
0%
 0% [ 0 ]
Total des votes : 9

Partagez | 
 

 [Vx]Barre de vie sur les ennemis.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: [Vx]Barre de vie sur les ennemis.   Sam 23 Juin - 12: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 :

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.
Revenir en haut Aller en bas
 
[Vx]Barre de vie sur les ennemis.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [NON resolu] Barre de vie sur les ennemis (style combat normal) ?
» [RESOLU] Barre de vie sur les ennemis (combats standard) ?
» Comment Tuer un ennemis avec certaines conditions
» Beug sur la barre de tache.
» Ajout d'une barre supplémentaire

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Game Univers :: Multimédias :: Les ressources :: Scipts et Systèmes :: Rpg maker VX et VX Ace-
Sauter vers: