Szpital (brak Game Overa)
Zapewne każdy kto zrobił swoj± grę w RMXP denerwuje się tym, że po każdej ¶mierci musi zaczynać grę od nowa (chyba że zrobił save ^^ ).
Mnie też to denerwowało aż w końcu postanowiłem co¶ z tym zrobić. Udało mi się !! I teraz się chcę podzielić z wami jak tego dokonać...
Wymagania:
-mapa (szpital, ¶wi±tynia itp) [ja nazwałem szpital]
Na pocz±tek wchodzimy w edytor skryptów. To jest najprostrza rzecz, je¶li kto¶ sobie nie poradził niech nie czyta dalej,
wogle niech wył±czy komputer bo jeszcze co¶ zepsuje ;) Idziemy dalej...
Chcemy zrobić żeby po ¶mierci gracz miał wybór: 1. bohater (drużyna) idzie na mapę szpital. 2. Kończymy grę. W tym celu do skryptu odpowiedzialnego za wy¶wietlenie
okna Game Over dodamy okienko wyboru (po kliknięciu enteru). Starczy teorii. PrzejdĽmy do czynów...
Odnajdujemy po lewej stronie skrypt Scene_End (gdy podczas gry wcisniemy ESC
pojawia nam się okienko za które odpowiedzialny jest ten skrypt). Klikamy na niego
prawym przyciskiem myszy i wybieramy opcję Kopiuj.
Zjeżdżamy na sam dół listy i znowu prawym przyciskiem na skrypt Main,
ale tym razem klikamy wklej.
Ale nie mog± być 2 skrypty o tej samej nazwie, więc nazwę skryptu zmieniamy na
Scene_Nowa. Otwieramy teraz nasz skrypt. I co widzimy ?
class Scene_End
teraz musimy zmienić nazwę skryptu tam gdzie jest napisane class. Zmieniamy j± na Scene_Nowa.
Idziemy dalej, a dokładnie jdo lini 13... interesuj± nas tylko te linie 13-16
s1 = "Ekran powitalny"
zmieniamy na co¶ co nam bardziej odpowiada np:
s1 = "IdĽ do szpitala"
s2 = "Windows"
tak samo. co bardziej odpowiada np:
s2 = "Koniec gry"
s3 nam nie będzie potrzebne bo chemy mieć tylko 2 pozycje do wyboru tak więc kasujemy
cał± linię 15. Następny krok to edytowanie lini 16 widzimy w nawiasie kwadratowym
[s1, s2, s3] ponieważ wcze¶niej skasowali¶my s3 to tu robimy to samo. Kasujemy s3 razem ze
spacj± i przecinkiem po s2. Idziemy dalej.
Chodzimy do lini 64: command_to_title, zmieniamy na command_szpital
a linię 67 i 68 czyli
(when 2 # ???
command_cancel)
kasujemy całkowicie.
Znowu chodzimy dalej, znajdujemy linię 76
def command_to_title
zmieniamy tak jak przed chwil± na
def command_szpital
kasujemy linie 79-83
a linię 84
zmieniamy na
Skończyli¶my edycję tego skryptu.
Żeby wam ułatwić... Tak powinnien wygl±dać skrypt po przeróbkach.
Teraz na li¶cie skryptów odnajdujemy skrypt
Scene_Map. Kopieujemy go i wklejamy tak jak ostatnio...
Gdy już wkleimy ten skrypt oczywi¶cie musimy zmienić jego nazwę.
Nazywamy go Scene_Szpital
Znowu zmieniamy: class Scene_Map, na class Scene_Szpital
idziemy do lini 81 gdzie widzimy takei co¶:
musimy to zmienić na
pod spodem dodajemy takie co¶
już tłumaczę o co chodzi
$game_temp.gameover=(false) - Wrpowadza do pamięci gry że żyjemy
$game_map.setup($data_system.start_map_id=3) - zmienia mapę (zamiast 3 należy wpisać numer mapy)
$game_player.moveto($data_system.start_x=17, $data_system.start_y=7) - współżedne na nowej mapie z których wystartuje bohater (mozna podac dowolne liczby zamiast 17 i 7)
dalej...
$scene = Scene_Gameover.new, zmieniamy na $scene = Scene_Map.new
Ten skrypt w cało¶ci powinnien (po przeróbkach) wygl±dać tak:
Ostatni± rzecz± jak± musimy zrobić to edytować skrypt Scene_Gameover
Otwieramy go.
Schodzimy do lini 56: $scene = Scene_Title.new, zmieniamy na $scene = Scene_Nowa.new
I to wszystko :D
Teraz uruchomcie grę dajcie się zabić jakiemu¶ stworkowi i sprawdzcie czy działa...
Je¶li nie działa zacznijcie od pocz±tku pewnie się gdzie¶ zgubili¶cie ^^
W razie jakich kolwiek problemów piszcie na gg 8581693
albo na maila akws@o2.pl
Autor: Arrgon
Email:
akws@o2.pl
Inny kontakt: GG#8581693