Krótki opis.
Skrypt wprowadza krótkie intro przed ekranem tytułowym. Pyta o uruchomienie gry w trybie pełnoekranowym, potem wyświetla po kolei ustawione loga gry.
Autor skryptu.
Sabikku/slabix, czyli ja.
Kompatybilność.
XP. Może się gryźć z niektórymi skryptami, choć wątpię.
class Scene_Intro
# Main. ---------------------------------------------------
def main
# Make system object
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
# Windows.
@command_window=Window_Command.new(230, ["Pełny ekran.", "Tryb okienkowy."])
@command_window.x=320-@command_window.width/2
@command_window.y=240-@command_window.height/2
@command_window.visible=true; @command_window.active=true
# Other variables.
@active_logo=-1
@logo_wait=0
@logo_sprite=nil
# Main loop.
Graphics.transition
while $scene==self
Graphics.update
Input.update
update
end
Graphics.freeze
# Disposing.
@command_window.dispose
end
# Update. -------------------------------------------------
def update
@command_window.update
if @logo_sprite!=nil
@logo_sprite.update
# Space.
if SPACE_OPTION and Input.trigger?(Input::C)
$scene=Scene_Title.new
end
end
# Intro events.
if @command_window.active
# Controlling keyboard.
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
@command_window.active=false
@command_window.visible=false
# Fullscreen.
if @command_window.index==0
full = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
full.call(18,0,0,0)
full.call(13,0,0,0)
full.call(13,0,2,0)
full.call(18,0,2,0)
end
end
else
# Logos showing
if @logo_wait==SINGLE_LOGO_WAIT
@active_logo+=1
if @active_logo == LOGOS_NAMES.size
# Title screen.
$scene=Scene_Title.new
else
@logo_sprite=Sprite.new(Viewport.new(0,0,640,480))
@logo_sprite.bitmap=RPG::Cache.picture(LOGOS_NAMES[@active_logo])
@logo_sprite.x=320-@logo_sprite.bitmap.width/2
@logo_sprite.y=240-@logo_sprite.bitmap.height/2
@logo_sprite.opacity=0
end
@logo_wait=0
else
@logo_wait+=1
if @logo_sprite!=nil
# Showing a single logo with 1/3 fading.
if @logo_wait < SINGLE_LOGO_WAIT/3
# Fade in
@logo_sprite.opacity=[@logo_sprite.opacity + (255/(SINGLE_LOGO_WAIT/3)) , 255].min
elsif @logo_wait < SINGLE_LOGO_WAIT/3*2
# Do nothing.
elsif @logo_wait < SINGLE_LOGO_WAIT
# Fade out.
@logo_sprite.opacity=[@logo_sprite.opacity - (255/(SINGLE_LOGO_WAIT/3)) , 255].min
end
end
end
end
end
end
Instrukcja.
1. Wkleić skrypt w edytorze skryptów.
2. Wejść w zakładkę 'Main', po czym edytować linijkę:
Kod:
$scene = Scene_Title.new
na
Kod:
$scene = Scene_Intro.new
Na początku skryptu jest też ustawienie czasu między poszczególnymi logami:
Kod:
SINGLE_LOGO_WAIT = 100
oraz lista nazw obrazków do wyświetlenia, znajdujących się w folderze Pictures:
Kod:
LOGOS_NAMES << "Logo"
LOGOS_NAMES << "Logo2"
Powinno działać, ale w razie problemów - pisać.
Przy okazji dorzucę logo ultimy (wycięte z bannera):
pw115 - Sro 02 Cze, 2010 20:14 Dobry skrypt przyda się i wykorzystam ;)
10/10
A da się ustawić więcej obrazków ?
PS: Fajny userbar
PS2: Po co na końcu post logo ultimy ?Sabikku - Sro 02 Cze, 2010 20:18 Oczywiście :>. Zamiast
wito35 - Nie 20 Cze, 2010 23:03 Skrypt jest zajefajny daje 10/10
PS: Czy da się zlikwidować to na początku, czyli pełny ekran i tryb okienkowy tak żeby od razu przechodził w tryb okienkowy ?Sabikku - Pon 21 Cze, 2010 08:15 Znajdź
wito35 - Pon 21 Cze, 2010 15:11 Oki dzięki, jesteś wielki. a czy da się umieścić muzykę na początku bo tak trochę głupio jak wszędzie jest a na początku jej brak.
PS: Proszę o pomoc.Izaya - Sro 23 Cze, 2010 14:33 Chyba można.
Musisz chyba odegrać tą muzykę, lub zmienić coś w skrypcie.
Nie jestem pewien. Lecz nie mogę Ci w tym pomóc nie za bardzo idzie mi Skrypt owanie .
A logo Ultima Forum to chyba dla tego że jak by ktoś chciał na początku gry mieć Ultimę.
Widziałem takie coś chyba właśnie w "Dragon Adventure".
Ładny efekt wito35 - Czw 24 Cze, 2010 08:48 Aha, no dobra spróbuje coś zrobić, a czy da się skasować to znikanie i pojawianie się obrazka na nowo, tak żeby szło to płynnie ( jednolity obraz) ? Proszę o pomoc.raffallo - Wto 24 Maj, 2011 16:31 Proszę mi powiedzieć jak można zrobić że po naciśnięcu jakiegoś klawisza wyłącza się introKumpel - Wto 24 Maj, 2011 18:33 Ja również mam pytanie odnośnie skryptu. Czy dało by rade przy ostatnim (5) obrazie, gdy tylko się wciśnie spację to przechodzisz do titla ? Melvin - Wto 24 Maj, 2011 20:02 Dodajcie pod tym:
Kod:
if @logo_wait < SINGLE_LOGO_WAIT/3
83 linijka
To:
Kod:
if Input.trigger?(Input::C)
$scene = Scene_Title.new
end
Sabikku - Sro 25 Maj, 2011 07:47 Wkleiłem uaktualnioną wersję skryptu z obsługą przewijania spacją do pierwszego postu.raffallo - Sro 25 Maj, 2011 08:07 A jak jeszcze zrobić żeby po naciśnięciu jakiegokolwiek przycisku intro się wyłączało?Sabikku - Sro 25 Maj, 2011 12:51 Podmień
Kod:
if SPACE_OPTION and Input.trigger?(Input::C)
na
Kod:
if SPACE_OPTION and (Input.trigger?(Input::C) or Input.trigger?(Input::B) or Input.trigger?(Input::A) or Input.trigger?(Input::L) or Input.trigger?(Input::R) or Input.trigger?(Input::X) or Input.trigger?(Input::Y) or Input.trigger?(Input::Z))
Ale wiedz, że to wciąż nie będą Wszystkie klawisze, tylko Wszystkie wspierane standardowo przez rpg makera.raffallo - Sro 25 Maj, 2011 18:19 A nie ma jakiegoś kodu że jak coś naciśniesz to po prostu się wyłącza??wojtas025c - Czw 02 Cze, 2011 16:33 Można zrobić tak aby muzyka leciała podczas introMelvin - Czw 02 Cze, 2011 22:12
wojtas025c napisał/a:
Można zrobić tak aby muzyka leciała podczas intro
Jaki to rodzaj zdania? Pytające? Jeśli tak, to można.raffallo - Pią 03 Cze, 2011 13:29 no to jak zrobić z tą muzyką??Sabikku - Pią 03 Cze, 2011 14:09 Pod
Kod:
def main
wklej
Kod:
Audio.bgm_play("Audio/BGM/nazwa_pliku", 100, 100)
wojtas025c - Pią 03 Cze, 2011 18:12 Ok thenkswojtas025c - Pią 03 Cze, 2011 18:32 A ta się tak aby ta muzyka ciągle leciała w menu Tak że od intro do kliknięcia czegoś będzie leciała ta sama muzyka :DFeniks - Pią 03 Cze, 2011 18:36 to ustaw w database -> title bgm tą samą muzykę.Melvin - Pią 03 Cze, 2011 18:45
wojtas025c napisał/a:
A ta się tak aby ta muzyka ciągle leciała w menu Tak że od intro do kliknięcia czegoś będzie leciała ta sama muzyka :D
A o menu jakie chodzi Ci i o muzykę jaką chodzi Tobie? Nie rozumiem zdania Twojego.
Po polsku pisz Ty.MoD - Nie 15 Sty, 2012 09:19 Mi wogóle sie nie pojawia intro na początkuAyene - Pon 16 Sty, 2012 13:19 MoD, a zrobiłeś punkt drugi instrukcji?MoD - Pon 16 Sty, 2012 14:01 1. Wkleić skrypt w edytorze skryptów. ZROBIONE
2. Wejść w zakładkę 'Main', po czym edytować linijkę: ZROBIONE
NIEWIEM CZEMU SIE NIE POJAWIA ;p MOGE WSTAWIĆ MOJE PLIKI NA NETA I TY COŚ POGRZEBIERZartekwnc - Pon 16 Sty, 2012 18:09 Może dlatego że masz polskiego makera?SaNq - Wto 17 Sty, 2012 13:01 ja też mam problem jak wlaczam gre intro sie nie pojawia mam RPG maker XP ENGTracker009 - Pią 13 Kwi, 2012 20:04 Mam problem, skrypt chyba koliduje z skryptem na opcje Ayene, który jest na forum
http://imageshack.us/f/201/badmz.png/
Błąd pojawia się gdy próbuje kliknąć pełny ekran lub cokolwiek zrobić na początku.Ayene - Pią 13 Kwi, 2012 20:51 Tracker009, w skrypcie na Opcje gry znajdź linijkę:
Kod:
class Scene_Title
zamień na:
Kod:
class Scene_Intro
Przesuń skrypt na Opcje pod skrypt na Intro.Tracker009 - Pią 13 Kwi, 2012 21:58 Ayene czy ktoś ci mówił że jesteś wielka? Dziękuje bardzo działa ;).Falkret - Pon 24 Gru, 2012 14:18 A można zwiększyć czas wyświetlania poszczególnych obrazków? Żeby np. nie wyświetlało 15 sekund tylko 10
I jeszcze jedno, da się ściszyć tą muzykę którą się puszcza, i czy można pominąć to początkowe wybieranie okienka i od razu przejdź w tryb pełnoekranowy?Ayene - Czw 27 Gru, 2012 15:12 Sabcio już na forum nie wchodzi, więc pomogę.
Skillet, czytaj konfigurację:
Kod:
SINGLE_LOGO_WAIT = 100
Nie wiem, o jaką muzykę Tobie chodzi... Co do pozbycia się okienka, podmień skrypt na poniższy:
class Scene_Intro
# Main. ---------------------------------------------------
def main
# Make system object
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
# Other variables.
@active_logo=-1
@logo_wait=0
@logo_sprite=nil
# Main loop.
Graphics.transition
while $scene==self
Graphics.update
Input.update
update
end
Graphics.freeze
# Disposing.
@logo_sprite.dispose
end
# Update. -------------------------------------------------
def update
if @logo_sprite!=nil
@logo_sprite.update
# Space.
if SPACE_OPTION and Input.trigger?(Input::C)
$scene=Scene_Title.new
end
end
# Intro events.
if @logo_wait==SINGLE_LOGO_WAIT
@active_logo+=1
if @active_logo == LOGOS_NAMES.size
# Title screen.
$scene=Scene_Title.new
else
@logo_sprite=Sprite.new(Viewport.new(0,0,640,480))
@logo_sprite.bitmap=RPG::Cache.picture(LOGOS_NAMES[@active_logo])
@logo_sprite.x=320-@logo_sprite.bitmap.width/2
@logo_sprite.y=240-@logo_sprite.bitmap.height/2
@logo_sprite.opacity=0
end
@logo_wait=0
else
@logo_wait+=1
if @logo_sprite!=nil
# Showing a single logo with 1/3 fading.
if @logo_wait < SINGLE_LOGO_WAIT/3
# Fade in
@logo_sprite.opacity=[@logo_sprite.opacity + (255/(SINGLE_LOGO_WAIT/3)) , 255].min
elsif @logo_wait < SINGLE_LOGO_WAIT/3*2
# Do nothing.
elsif @logo_wait < SINGLE_LOGO_WAIT
# Fade out.
@logo_sprite.opacity=[@logo_sprite.opacity - (255/(SINGLE_LOGO_WAIT/3)) , 255].min
end
end
end
end
end
The Big Master - Sob 29 Gru, 2012 12:19 Hehe użyłem tego skryptu wszystko ładnie cacy, wyłanczam gre tesotową a tam BUM klawa mi przesraje działać xD, nawet ekranowa odmawiała posłuszeństwa :C musiałem wywalić skrypt a na pewno by mi się przydał :C:C ale to pewnie wina mojego kompa lub RMXP'ka.
No cóż bywa i tak D: