Tłumaczenie:
Domilos (mogą być jakieś błędy, gdyż tłumaczyłem z portugalskiego)
Skrypt:
Spoiler:
Kod:
#===============================================================================
# +++ MOG - Advanced Load Bar VX (v1.0) +++
#===============================================================================
# By Moghunter
# Tłumaczenie: Domilos
# http://www.atelier-rgss.com
#===============================================================================
# Skrypt wyświetla pasek ładowania podczas zapisywania i wczytywania gry.
#
#===============================================================================
# Możesz użyć tego skryptu w inny sposób, jak np. przejście na inną mapę.
# Wystarczy wpisać to, w polecenie "Script":
#
# $scene = Scene_Load_Bar.new
#===============================================================================
module MOG_LOAD_BAR
# Czas ładowania (sekundy).
LOAD_DURATION = 3
# Pokazywać ładowanie podczas wczytywania gry?
ENABLE_LOAD_BAR_FOR_SCENE_LOAD = true
# Pokazywać ładowanie podczas zapisywania gry?
ENABLE_LOAD_BAR_FOR_SCENE_SAVE = true
# Nazwy obrazków, które będą służyły jako tło.
LOAD_BACKGROUND_PICTURES = [
""
# Wszystkie nazwy obrazków, oprócz ostatniego, muszą mieć przecinek po cudzysłowie.
]
# Pokazywać obrazki losowo?
PICTURE_RANDOM_SELECTION = true
# Pozycja generalnego paska.
LOAD_BAR_POSITION = [30,350]
# Pozycja kolorowego paska ładowania(?).
LOAD_BAR_METER_POSITION = [11,27]
# Pozycja tekstu.
LOAD_BAR_TEXT_POSITION = [ 10, -3]
# Dźwięk, jaki zostanie wydany po zakończeniu ładowania.
LOAD_SE = "Decision2"
# Szybkość animacji.
LOAD_BAR_FLOW_SPEED = 25
# Ustawienia, które nastąpią w menu po zapisaniu.
# Jeśli zapis jest wykonywany przez zdarzenie, nastąpi powrót do mapy.
RETURN_TO_SCENE = Scene_Menu.new(4)
# Lewitujący tekst?
ENABLE_FLOAT_TEXT_ANIMATION = true
# Wyświetlić sprite bohatera?
ENABLE_CHARACTER_SPRITE = true
# Pokazać boczne paski?
ENABLE_STRIPE_SPRITE = true
# Prędkość pasków.
STRIPE_SPEED = 1
end
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias load_bar_initialize initialize
def initialize
load_bar_initialize
@load_bar_pre_index = -1
@save_calling_load_bar = false
end
end
#=============================================================================
# ■ Game_System
#=============================================================================
class Game_System
attr_accessor :load_bar_pre_index
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias load_bar_initialize initialize
def initialize
load_bar_initialize
@load_bar_pre_index = 0
end
#--------------------------------------------------------------------------
# ● BGS Stop
#--------------------------------------------------------------------------
def bgs_stop
Audio.bgs_stop
end
end
#=============================================================================
# ■ Scene Load Bar
#=============================================================================
class Scene_Load_Bar
include MOG_LOAD_BAR
#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------
def main
Graphics.transition
execute_loop
execute_dispose
end
#--------------------------------------------------------------------------
# ● Execute Loop
#--------------------------------------------------------------------------
def execute_loop
loop do
Graphics.update
update
if $scene != self
break
end
end
end
#--------------------------------------------------------------------------
# ● update_float_text
#--------------------------------------------------------------------------
def update_float_text
return unless ENABLE_FLOAT_TEXT_ANIMATION
@text_float_time += 1
case @text_float_time
when 1..10
@text_float_y += 1
when 11..20
@text_float_y -= 1
else
@text_float_y = 0
@text_float_time = 0
end
@text_sprite.y = @text_fy + @text_float_y
end
#--------------------------------------------------------------------------
# ● Update Bar Flow
#--------------------------------------------------------------------------
def update_bar_flow
@bar_sprite.bitmap.clear
@bar_width = @bar_range * @load_duration / @load_duration_max
@bar_width = @bar_range if @load_duration > @load_duration_max
@bar_src_rect = Rect.new(@bar_flow, 0,@bar_width, @bar_height)
@bar_bitmap.blt(0,0, @bar_image, @bar_src_rect)
@bar_flow += LOAD_BAR_FLOW_SPEED
if @bar_flow >= @bar_image.width - @bar_range
@bar_flow = 0
end
end
#--------------------------------------------------------------------------
# ● Update Bar Duration
#--------------------------------------------------------------------------
def update_bar_duration
@load_duration += 1
if @load_duration == @load_duration_max
Audio.se_play("Audio/SE/" + LOAD_SE,100,100) rescue nil
elsif @load_duration == @load_duration_max + 10
if @bar_type == 0 or $game_temp.save_calling_load_bar
if @bar_type == 0
$game_temp.load_pre_bgm.play
$game_temp.load_pre_bgs.play
end
$scene = Scene_Map.new
else
$scene = MOG_LOAD_BAR::RETURN_TO_SCENE
end
$game_temp.save_calling_load_bar = false
end
end
end
#=============================================================================
# ■ Game_Temp
#=============================================================================
class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
alias mog_adv_load_bar_return_scene return_scene
def return_scene
mog_adv_load_bar_return_scene
$game_temp.save_calling_load_bar = true if @from_event
$scene = Scene_Load_Bar.new(1)
end
PS. Nie wiem czemu, ale wyświetlanie chara bohatera nie działa.kolkav5 - Pon 25 Cze, 2012 17:18 Nie wiem, czy takie przydatne.
Może daje efekt ciekawy, ale wątpię by wszystkim chciało się czekać.
Dla mnie 6/10 nooo może 6.5/10. Avara - Pon 25 Cze, 2012 19:20
kolkav5 napisał/a:
Nie wiem, czy takie przydatne.
Może daje efekt ciekawy, ale wątpię by wszystkim chciało się czekać.
Dla mnie 6/10 nooo może 6.5/10.
Jak Ty coś powiesz... Właśnie o to chodzi, że i tak się czeka, a przyjemniejsze dla oka.
Spoko skrypt.INRE - Wto 03 Lip, 2012 17:49
Avara napisał/a:
Jak Ty coś powiesz... Właśnie o to chodzi, że i tak się czeka, a przyjemniejsze dla oka.
Spoko skrypt.
Ale ile się wielce tak normalnie czeka? 1s, maks 2.
Dlatego bez sensu jest moim zdaniem ten skrypt, sztucznie przedłuża czas.Avara - Wto 03 Lip, 2012 17:55 Różnie to bywa. Przy bardziej zaawansowanym projekcie czas wczytywania gry może być dłuższy (nawet kilkanaście sekund) i jak już mówiłam, jest to przyjemniejsze dla oka niż czarne tło Przy mniejszych projektach oczywiście ten skrypt jest zbędny ^^INRE - Wto 03 Lip, 2012 18:03 Cóż... nie spotkałem się nigdy z tak długim wczytywaniem w RM
(nawet w dużych projektach), ale skoro twierdzisz, że tak nieraz bywa, to masz rację, że lepiej to wtedy wygląda niż czarne tło.lolek - Wto 03 Lip, 2012 19:10 Osobiście wole widzieć pasek ładowania nawet, jeśli gra miałaby się ładować 2-3 sekundy. Wtedy wiem, że coś się dzieje i że to coś dzieje się bardzo szybko.INRE - Wto 03 Lip, 2012 20:55 *Solo Lee*, ale chodzi o to, że skrypt ten wydłuża czas ładowania o kolejne sekundy, a normalnie bez skryptu to ładowanie jest praktycznie nieodczuwalne.lolek - Wto 03 Lip, 2012 21:27
INRE napisał/a:
*Solo Lee*, ale chodzi o to, że skrypt ten wydłuża czas ładowania o kolejne sekundy, a normalnie bez skryptu to ładowanie jest praktycznie nieodczuwalne.
Wydłuża ładowanie gry!?! A po co?Vrona - Czw 05 Lip, 2012 08:02
Cytat:
Może daje efekt ciekawy, ale wątpię by wszystkim chciało się czekać.
Niektórzy to mają problemy...2-3 sekundy to dla was tak długo ?Przecież możecie sobie wtedy pójść wypić kakałko Skrypt mi się podoba,wprowadza jakąś taką estetykę zapisu i wczytywania,nie tylko krótki dźwięk i przez chwilę czarny ekran.