» Najnowsze projekty

Strona Główna Tutoriale Charset zależny od noszonego ubrania.
Charset zależny od noszonego ubrania.
Redaktor: Fatata    Dodano: 30/06/2009 - 17:57
W niniejszej instrukcji pokażę jak zrobić, by grafika chodzącego bohatera była uzależniona od noszonego ubrania. Czyli jeśli ubierzemy gracza w zbroję, to po mapie będzie chodzić w zbroi. Jeżeli w suknię - to w sukni. Jest to bardzo przyjemna w odbiorze (dla gracza) opcja, która wbrew pozorom jest bardzo prosta w stworzeniu, dzięki komendom dostępnym w programie.

Standardowo stosuję przełączniki, zmienne oraz komendy ogólnie dostępne w każdej wersji RPG Makera, czyli bez względu na to w jakim programie tworzysz - powinieneś sobie poradzić. W niniejszym poradniku przedstawiam przykłady na screenach z RPG Makera 2000, ale w pozostałych programach prawie wszystko jest analogiczne.

Do dzieła!
Przed przystąpieniem do realizacji takiego 'skryptu' w swojej grze, musisz wcześniej wiedzieć w co będzie mógł być ubrany bohater. W moim przykładzie niech będą cztery różne stroje: zwykłe ubranie, lśniąca zbroja, piękna suknia oraz peleryna supermena. Musimy w takim razie posiadać cztery różne charsety naszego bohatera w każdym z tych ubrań:




(W podwójnym powiększeniu - dla celów dydatktycznych)


Pamiętamy oczywiście, że nie kopiujemy charsetu do folderu z grą, tylko importujemy przez opcję dostępną w programie! To tak tylko w ramach przypomnienia. Bierzemy się za skryptowanie.

Najpierw musimy stworzyć odpowiednie ubrania w bazie danych, czyli otwieramy ją (F8) i przechodzimy na zakładkę "Przedmioty"/"Items". Tutaj tworzymy trzy ubrania. Musimy jedynie pamiętać, że ich "Klasyfikacja"/"Classification" musi być ustawiona na "Zbroja"/"Armor". Pozostałe informacje takie jak nazwa, opis, koszt czy odpowiednie właściwości ustawiamy już wedle własnych potrzeb.




Teraz tylko krótko skomentuję czemu stworzyliśmy tylko trzy ubrania, a nie cztery. Otóż zakładam, że pierwsze, standardowe ubranie będzie podstawowym ubraniem naszego bohatera, bez żadnych specjalnych właściwości. Po prostu nie mając na sobie założonego żadnego ubrania (w menu "Ekwipunek"/"Equipment" w grze) to będzie w grafice zwykłych ciuszków. Jeżeli chciałbym mieć możliwość zdjęcia także i ich, to musiałbym mieć przygotowany jeszcze jeden charset bohatera, a mianowicie - golasa! :) No i oczywiście wtedy musiałbym do "Przedmiotów"/"Items" dodać dodatkowe ubranie - zwykłe ubranie. W naszym przypadku rezygnujemy z grafiki golaska ustawiając standardową grafikę poruszania na ubranego w zwykłe ubranie bohatera:



Posiadając już stworzone ubrania przechodzimy na zakładkę "Typowe zdarzenia"/"Common Events". Tutaj praktycznie wszystko oskryptujemy. Ale najpierw ogólna zasada działania, która brzmi banalnie:
"Jeżeli bohater ma na sobie odpowiednie ubranie, to ustawiamy odpowiednią grafikę dla bohatera"
A odpowiedzialne są do tego praktycznie... tylko dwie komendy w jednym typowym zdarzeniu! (użyte oczywiście razy 3, bo tyle mamy ubrań).
Pierwsza komenda to "Warunek"/"Fork Condition" (angielska nazwa dla RPG Makera 2000):
"Ustaw warunek 'jeśli bohater jest ubrany w Zbroję' a także 'jeśli nie jest w nią ubrany' (Else)" (odpowiedni screen poniżej)




W środku tego warunku ustawiamy drugą komendę, a mianowicie "zmianę grafiki bohatera"/"Set Hero Walk GFX" (W RPG Maker 2000). Oczywiście tutaj wstawiamy grafikę bohatera w zbroi:



Dla "Else" ustawiamy podobnie grafikę bohatera ubranego w zwykłe ubranie. Już tłumaczę dlaczego: Po założeniu stroju program zapamięta że go założyliśmy. Natomiast nie ma zaprogramowanego "co się stanie jeśli zdejmiemy ubranie. Niestety nie mamy opcji warunku "Jeśli bohater zdejmie dany strój" dlatego ustawiliśmy co się stanie jeśli w dany strój nie będzie wyposażony. Stąd to "Else". Dla tych którzy jeszcze nie zrozumieli: przeczytajcie jeszcze raz ten akapit z uwzględnieniem różnicy jaka jest pomiędzy "zdjąć" a "nie być wyposażonym" :) Mam nadzieję że jest już jasne.

No dobra, teraz wystarczy jeszcze powtórzyć akcję 2 razy dla każdego ubrania. Upewniamy się również czy to typowe zdarzenie jest "Zdarzeniem równoległym"/"Parallel Process", ponieważ chcemy aby gra reagowała na zmianę ubrania w każdym momencie gry. Całość powinna wyglądać mniej więcej tak:




W tym momencie mamy praktycznie gotowy skrypt! Pozostaje tylko ustawić w grze miejsca, gdzie możemy zdobyć odpowiednie ubrania. Może to być kupno w sklepie, znalezienie w skrzyni, zdobycie po zabiciu potwora lub po prostu otrzymanie od jakiegoś NPC. Przydatna komenda to oczywiście "Dodaj przedmiot"/"Add Item":



A teraz kilka wskazówek: oczywiście zmiana grafiki postaci gracza nie musi być związana tylko ze strojem. Możemy ustawić różną grafikę uzależnioną od tego czy bohater nosi hełm na głowie, dzierży miecz/laskę/topór w dłoni, czy tarczę. Musimy jednak pamiętać że potrzebujemy wtedy grafiki każdej kombinacji. w naszym przykładzie potrzebowalibyśmy jeszcze 4 charsety bohatera w tych ubraniach trzymających miecz, ale bez hełmu i tarczy. Następnie 4 charsety bohatera w hełmie, ale bez miecza i tarczy. Potem bohatera z mieczem i tarczą ale bez hełmu. Itd, itd... Jak widzicie nie mało by tego było, ponieważ nie wiemy w jaką konfigurację zażyczy sobie być wyekwipowany gracz. A pamiętajmy że przecież dochodzą różne bronie, różne tarcze, różne hełmy itp! Nie wspominając o tym, ile skryptowania w "Typowych zdarzeniach"/"Common Events" musielibyśmy na to przeznaczyć. Jedno jest pewne - nawet z niewielką ilością konfiguracji gra zyskałaby w oczach graczy, ponieważ jak na razie bardzo niewiele jest obecnie gier na RPG Makera wykorzystująy taki mechanizm (do głowy w tym momencie przychodzi mi jedynie "Komnata" stworzona przez BeVoo, chociaż tam wykorzytana była grafika tylko uzależniona od kilku rodzajów "broni").

No i to by było na tyle. Teraz po zdobyciu odpowiedniego ubania i założeniu go na siebie, grafika bohatera zmieni się automatycznie na taką, jaką utawiliśmy dla danego stroju.

Proste? Banalne! W razie jakichkolwiek problemów - forum czeka!

:Fatata