UltimaForum

Skrypty [VXAce] - Paski HP przeciwników

Angius - Pon 02 Kwi, 2012 19:51
Temat postu: Paski HP przeciwników
~ Basic Enemy HP Bars ~


Krótki opis:
Skrypt wyświetla nam nad/pod przeciwnikami bardzo ładne paski pokazujące ich życie. Możemy ustalać ich długość, szerokość, kolor, możemy włączać i wyłączać wyświetlanie wartości liczbowych, etc.

Autor:
V.M. & D.T.

Tłumaczenie:
Angius

Skrypt:
Spoiler:

Kod:
## Basic Enemy HP Bars ##
# Dodaje łatwe do dostosowania paski HP przeciwników. Zobacz konfigurację
# po więcej szczegółów.
#
# Użytkowania: Plug'n'Play.
#------#
#-- Script by: V.M of D.T
#--- Używaj gdzie chcesz, byleby były creditsy

class Window_HPBar < Window_Base
  #-----#
  #Ustawia kolor paska: (wartoÅ›ci w RGB, 0-255)
  #-----#
  COLOR_OUTSIDE = Color.new(  0,  0,  0)  #Ramka paska
  COLOR_INSIDE  = Color.new(255,255,255)  #Baza paska
  COLOR_BACK    = Color.new(  0,  0,  0)  #TÅ‚o paska
  COLOR_HP        = Color.new(250, 50, 50)  #Pierwszy kolor gradientu paska
  COLOR_HP2      = Color.new(150, 30, 30)  #Drugi kolor gradientu paska
  #-----#
  #Ustawia parametry paska
  #-----#
  BAR_HEIGHT    = 8        #Wysokość paska (5 lub wiÄ™cej)
  BAR_WIDTH      = 75      #DÅ‚ugoÅ›c paska (5 lub wiÄ™cej)
  #-----#
  #Ustawia poÅ‚ożenie paska
  #-----#
  X_OFFSET        = -35   #PrzesuniÄ™cie wzglÄ™dem osi X
  Y_OFFSET        = 0     #PrzesuniÄ™cie wzglÄ™dem osi Y
  ABOVE_MONSTER = true    #True - pasek nad battlerem, false - pod
  #-----#
  #Ustawia wartoÅ›ci numeryczne pasków
  #-----#
  DISPLAY_NUMBER= false   #True by wyÅ›wietlić HP liczbowo
  SHOW_ABSOLUTE = false   #True dla liczby caÅ‚kowitej, false dla procentowej wartoÅ›ci
  DISPLAY_ABOVE = false   #True - numer nad paskiem, false - pod
  THRESHOLD      = 101    #Pokazuje numer tylko poniżej tej wartoÅ›ci
                                                    #(101 pokazuje zawsze)
  #-----#
  # KONIEC KONFIGURACJI
  #-----#
  def initialize
        super(0,0,544,416)
        self.z = 0
        self.opacity = 0
  end
  def update
        refresh
  end
  def refresh
        self.contents.clear
        for enemy in $game_troop.members
          if enemy.hp_rate != 0
                hpwidth = ((BAR_WIDTH - 4) * enemy.hp_rate).to_i
                if ABOVE_MONSTER
                  tmpbit = Cache.battler(enemy.battler_name, 0)
                  yy = (enemy.screen_y - tmpbit.height) - 35 + Y_OFFSET
                  if yy < BAR_HEIGHT + 24 then yy = BAR_HEIGHT + 24 end
                else
                  yy = enemy.screen_y + Y_OFFSET
                end
                xx = enemy.screen_x + X_OFFSET
                self.contents.fill_rect(xx, yy, BAR_WIDTH, BAR_HEIGHT, COLOR_OUTSIDE)
                self.contents.fill_rect(xx+1,yy+1, BAR_WIDTH-2, BAR_HEIGHT-2, COLOR_INSIDE)
                self.contents.fill_rect(xx+2,yy+2, BAR_WIDTH-4, BAR_HEIGHT-4, COLOR_BACK)
                self.contents.gradient_fill_rect(xx+2,yy+2, hpwidth, BAR_HEIGHT-4, COLOR_HP, COLOR_HP2)
                if DISPLAY_NUMBER
                  percentage = enemy.hp_rate * 100
                  if DISPLAY_ABOVE then yy -= BAR_HEIGHT + 24 end
                  if SHOW_ABSOLUTE
                        draw_text(xx,yy+BAR_HEIGHT,width,24,enemy.hp)
                  elsif percentage < THRESHOLD
                        draw_text(xx,yy+BAR_HEIGHT,width,24,percentage.to_i.to_s + "%")
                  end
                end
          end
        end
  end
end

class Scene_Battle < Scene_Base
  alias hpbar_update update
  alias hpbar_create_all_windows create_all_windows
  def update
        @wdam.update
        hpbar_update
  end
  def create_all_windows
        hpbar_create_all_windows
        @wdam = Window_HPBar.new
  end
end


Screeny:
Spoiler:





Zazombik - Pon 02 Kwi, 2012 21:09

Akurat tego szukałem :-D Dzięki wielkie !
Wiesz może, czy twórca zabronił przeróbek ?

Angius - Pon 02 Kwi, 2012 21:16

http://forums.rpgmakerweb...-enemy-hp-bars/
Cytat:
- Free to use in any project with credit given

Znaczy się, że chyba nie zabronił.

Valdali - Wto 03 Kwi, 2012 16:21

Ooooo bravo :D
kolejny raz muszę ci dziękować za przydatne materiały Mistrzu Angiusie :mrgreen:


Powered by phpBB modified by Przemo © 2003 phpBB Group