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:
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum