Caterpillar

Wszystko o RPG Makerze.

Moderator: Moderatorzy

ODPOWIEDZ
Awatar użytkownika
mac402
Game Maker
Posty: 136
Rejestracja: pn sty 14, 2008 3:14 pm

Caterpillar

Post autor: mac402 »

Krótki wstęp. Jak ktoś ma jeszcze rpg makera 95 to wie, że tam postacie z drużyny chodziły za bohaterem i były widoczne na ekranie. W wersji 2000 i wyżej widzimy tylko pierwszą postać z drużyny. Oczywiście można spróbować zrobić sobie tę funkcję za pomocą skryptów (nie mylić z Ruby).

Powiedziałem, że napiszę jak to się robi. No więc tak:

- robimy sobie eventa, który będzie za nami podążał
- dajemy mu grafikę, ustawiamy "priority type: common character above"
- "movement type" robimy "by its route", klikamy poniżej na create route i tam dajemy step toward hero, repeat action zostawiamy zaznaczone, move frequency dajemy na 8 (max)
- teraz jeszcze tylko zmieniamy "movement speed" na normal (z 1/2) aby nasz poplecznik nadążał za głównym bohaterem i już prawie gotowe
- na koniec warto zrobić jeszcze zabezpieczenie przed "zablokowaniem" bohatera przez ten event. Aby to zrobić trzeba zmienić event start condition na "at hero touch" i w karcie event commands dodać komendę "set chara movement" i dajemy start slip through, step toward hero, end slip through; dzięki temu kiedy "najdziemy" na podążający za nami event on niejako ustąpi nam drogi i wejdzie za nasze plecy

To tylko najprostszy sposób robienia caterpillara, dobry jedynie dla 1 podążającej postaci. No i należy pamiętać, że ten event musi być na wszystkich mapach gdzie ma za nami podążać.

Później napiszę kilka bardziej zaawansowanych tricków z caterpillarem. Na końcu zamieszczam jak to działa w praktyce (bez rpg_rt.exe bo zajmuje dużo miejsca)

http://www.sendspace.com/file/qjgwta
Awatar użytkownika
BH Daimaouji
SSJ 5
Posty: 6009
Rejestracja: czw gru 02, 2004 6:04 pm

Post autor: BH Daimaouji »

OK dzieki Mac , potem to sprobuje
Piszcie do mnie BH , nie BH Daimaouji

"100% JBH !!" - Nie wiem o co ci chodzi astarot , ale jesli to ma być obraza , to chyba miałeś SIEBIE na myśli

Angela Mioduńska Buga 2008-2014
Ayla Mioduńska 2003-2019
Awatar użytkownika
mac402
Game Maker
Posty: 136
Rejestracja: pn sty 14, 2008 3:14 pm

Post autor: mac402 »

A to trochę bardziej skomplikowane tworzenie caterpillara (bo wymaga znajomości zmiennych[variable]), ale za to można stworzyć tyle podążąjących postaci ile się chce.

Potrzebujemy 2 zmiennych, które śledzą pozycję bohatera na mapie (x,y) np.

Char1-X
Char1-Y

oraz tak samo 2 zmiennych dla każdego kolejnego podążającego obiektu.

Tworzymy eventa (pamiętając by zmienić jego prędkość na normal) o event start condition "parallel process". W oknie events commands dajemy
Cycle //mimo że to parallel process
Wait 0.1s //żeby dać przerwę procesorowi
Variable Op: Set [Char1-X] Hero X pos //śledzi pozycję bohatera
Variable Op: Set [Char1-Y] Hero Y pos
Variable Op: Set [Char2-X] this event X pos //śledzi swoją pozycję
Variable Op: Set [Char2-Y] this event Y pos
Fork Optn: Varbl [Char2-Y]-[Char1-Y] Large than //jeśli bohater jest nad nami
Set Chara's Movement: this event, StartSlipTro, Up, StopSlipTro //to idzie w górę
:End Case
Fork Optn: Varbl [Char2-X]-[Char1-X] Large than //jeśli na zachód
Set Chara's Movement: this event, StartSlipTro, Left, StopSlipTro //idzie w lewo
:End Case
Fork Optn: Varbl [Char2-X]-[Char1-X] Small than //jeśli na wschód
Set Chara's Movement: this event, StartSlipTro, Right, StopSlipTro //idzie w prawo
:End Case
Fork Optn: Varbl [Char2-Y]-[Char1-Y] Small than //jeśli pod nami
Set Chara's Movement: this event, StartSlipTro, Down, StopSlipTro //idzie w dół
:End Case
:End Cycle //koniec cyklu
dla kolejnych podążających postaci (trzeciej,czwartej itd.) skrypt jest identyczny tylko, że porównujemy (Char3-X,Char3-Y) z (Char2-X,Char2-Y) itd.

Efekt jest taki, że mamy ładnie rozwijający się rząd postaci kiedy idziemy, a kiedy stoimy wszystkie wchodzą w jedno miejsce.

Tu jest pokaz praktyczny:
http://www.sendspace.com/file/ydtxxb

--------------------------------------------------------------------------------------------------------
i na koniec kilka rzeczy, które warto mieć na uwadze przy caterpillarze:
- caterpillar a zależność od osób, które są w drużynie
- teleportowanie do innego miejsca
- używanie wehikułów

nie będę się tu rozpisywał jak sobie z nimi radzić, ale na końcu zamieszczam plik, który pokazuje zaawansowany caterpillar z rozwiązaniami tych problemów (obejrzyjcie zmienne, zdarzenia typowe itd.).

http://www.sendspace.com/file/pffhnz
ODPOWIEDZ