Da się, tylko od razu uprzedzam, że łatwiej gra może się zacinać. Wydaje mi się jednak, że przy tylko jednym takim pasku, nie powinno być takiego problemu. I nie wiem, czy uda mi się to zrobić z obrazkiem paska. Spróbuję, ale w ostateczności będzie tylko jednolity pasek.
A teraz pytanie o szczegóły:
1. Gdzie ma się pasek zaczynać Czyli gdzie ma być "0 expa" Tam po lewo poniżej ucha
2. Gdzie koniec paska Czyli gdzie ma być punkt "max expa" Przy czole Przy szyi
//Edit:
Angius znam ten skrypt i już się z takimi paskami bawiłam. Wystarczy tylko fragment tego skryptu.
//Edit 2:
Ponownie raczej tego dzisiaj nie zrobię, ale na jutro raczej będzie
=begin
********************************************************************
* HUD WoW VX for Michu_1999 by Avara *
* Autor: Avara *
* ultimateam.pl *
**********************************************************************
Hud stworzony na zamówienie dla Michu_1999. Wrzucić nad Main w edytorze skryptów.
Skrypt zawiera fragment skryptu "Menu Bars" wersję 4.1 Syvkal'a.
Grafika wzięta z gry "World of Warcraft". Należy ją umieścić w folderze
Graphics\System.
Proszę nie zapomnieć o wspomnieniu o twórcy skryptu w swoim projekcie.
Życzę miłego kożystania ;-)
=end
module HUD_WoW_by_Avara # <- nie usuwać!
# KONFIGURACJA
HUD_WOW_WIDOCZNY_START = true #czy hud ma być widoczny od samego początku gry (true/false)
HUD_WOW_WIDOCZNY = 20 #numer przełącznika, włączający/wyłączający hud
HUD_WOW_UKRYJ = true #ukryj HUD, gdy bohater znajduje się za nim
HUD_WOW_UKRYJ_NP = 100 #poziom "nieprzezroczystości" (0 - przezroczyste;
#255 - nieprzezroczyste), gdy uktywanie jest włączone
# KONIEC KONFIGURACJI
# Dalej zmieniać na własne ryzyko!
end
# FRAGMENT SKRYPTU "Menu Bars" BY Syvkal V 4.1
def draw_actor_exp_ring(actor, x, y, radius, height, amount = 360, start = 0, reverse = false)
@rate = actor.now_exp.to_f / [actor.next_exp, 1].max
gw = amount * actor.now_exp / [actor.next_exp, 1].max
self.contents.cogwheel_fill_ring(x, y, gw, radius, height, @color1, @color2, amount, start, reverse)
end
# KONIEC FRAGMENTU
def ukryj
if HUD_WoW_by_Avara::HUD_WOW_UKRYJ == true
if $game_player.screen_x - 16 < 187 and $game_player.screen_y - 28 < 60
self.contents_opacity = HUD_WoW_by_Avara::HUD_WOW_UKRYJ_NP
else
self.contents_opacity = 255
end
end
end
end
# FRAGMENT SKRYPTU "Menu Bars" BY Syvkal V 4.1
class Bitmap
def fill_ring(ox, oy, radius, height, gc1, amount = 360, start = 0, reverse = false)
d = 2.0 * Math::PI / 360
for i in 1..[amount, 360].min
s = i + start
if reverse
x = ox + ( radius * Math.sin( d * s ) ).to_i
y = oy - ( radius * Math.cos( d * s ) ).to_i
else
x = ox - ( radius * Math.cos( d * s ) ).to_i
y = oy + ( radius * Math.sin( d * s ) ).to_i
end
fill_rect(x, y, height, height, gc1)
end
end
def gradient_fill_ring(ox, oy, radius, height, gc1, gc2, amount = 360, start = 0, reverse = false)
d = 2.0 * Math::PI / 360
for i in 1..amount
s = i + start
if reverse
x = ox + ( radius * Math.sin( d * s ) ).to_i
y = oy - ( radius * Math.cos( d * s ) ).to_i
else
x = ox - ( radius * Math.cos( d * s ) ).to_i
y = oy + ( radius * Math.sin( d * s ) ).to_i
end
color = get_gradient_pixel(gc1, gc2, amount, i)
fill_rect(x, y, height, height, color)
end
end
def get_gradient_pixel(gc1, gc2, amount, i)
red = gc1.red * (amount - i) / amount + gc2.red * i / amount
green = gc1.green * (amount - i) / amount + gc2.green * i / amount
blue = gc1.blue * (amount - i) / amount + gc2.blue * i / amount
alpha = gc1.alpha * (amount - i) / amount + gc2.alpha * i / amount
return Color.new(red, green, blue, alpha)
end
end
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
# KONIEC FRAGMENTU
class Scene_Map < Scene_Base
alias hud_wow_by_avara_st start
def start
hud_wow_by_avara_st
@hud_wow_by_avara = HUD_WoW.new
if $game_switches[HUD_WoW_by_Avara::HUD_WOW_WIDOCZNY] == false
@hud_wow_by_avara.visible = false
end
end
alias hud_wow_by_avara_term terminate
def terminate
hud_wow_by_avara_term
@hud_wow_by_avara.dispose
end
alias hud_wow_by_avara_up update
def update
hud_wow_by_avara_up
if $game_switches[HUD_WoW_by_Avara::HUD_WOW_WIDOCZNY] == true
@hud_wow_by_avara.update
@hud_wow_by_avara.visible = true
else
@hud_wow_by_avara.visible = false
end
end
end
class Scene_Title < Scene_Base
alias hud_wow_by_avara_cr_ga_ob create_game_objects
def create_game_objects
hud_wow_by_avara_cr_ga_ob
$game_switches[HUD_WoW_by_Avara::HUD_WOW_WIDOCZNY] = HUD_WoW_by_Avara::HUD_WOW_WIDOCZNY_START
end
end
//Edit 9.11.2011 00:54 : Lvl postaci był nieco za wysoko. Już poprawiłam
Skrypt zawiera fragment skryptu "Menu Bars" wersję 4.1 Syvkal'a. Stwierdziłam, że nie ma potrzeby umieszczać całego dłuuugiego skryptu, więc wzięłam tylko to co niezbędne Info w skrypcie o tym jest. Mam nadzieję, że teraz Ci będzie odpowiadał.
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