Dzisiejszym tekstem zaczynam serię poradników poświęconych różnym ciekawym rozwiązaniom technicznym, które pojawiły się w dungeonach w grze Lufia II. Produkcja ta jest pełna świetnych pomysłów, które stosunkowo łatwo wykonać w RPG Makerze.
Przygotowanie
Istota omawianego skryptu polega na tym, że gracz po wejściu na określone pole, spada w określonym miejscu piętro niżej, na inną mapę. Dzięki odpowiedniemu designowi lokacji możemy ten prosty motyw wykorzystać do urozmaicenia zazwyczaj nudnych terenów. Dla przykładu, robimy dwie mapy – parter oraz piętro. Na parterze znajduje się miejsce, które na pierwszy rzut oka wydaje się niedostępne.
Gracz powinien wykombinować, że jeśli wybierze właściwe miejsce na piętrze, spadnie w niedostępnej wcześniej części na parterze.
Skrypt w wersji mini
Wersja absolutnie podstawowa tego skryptu jest banalna. Robimy na piętrze kilka eventów w postaci czarnych dziur, których Trigger to Player Touch, a Priority – Below Characters. W komendach wstawiamy podstawowe polecenia odpowiedzialne za teleport.
Teraz ustawiamy kilka takich dziur prowadzących w różne miejsca pamiętając, by co najmniej jedna kończyła się lądowaniem w niedostępnym rejonie mapy. W moim przykładzie, gdy gracz otworzy skrzynię, usunie także blokującą przejście przeszkodę.
Zapadająca się podłoga
Sami przyznacie, że powyższy przykład jest banalnie prosty. Żeby go urozmaicić, możemy nieco utrudnić graczowi odnalezienie właściwego miejsca do zeskoku. W tym celu zamiast czarnej kratki wstawiamy grafikę sugerującą, że podłoga jest nadpęknięta. Nie ma takiej w RTP, więc użyję po prostu rozrzuconych kamieni, ale narysowanie kilku rys nie powinno stanowić większego problemu. Następnie możemy odtworzyć jakiś dźwięk, a po zeskoku włączamy przełącznik na ON i nową stronę, aktywowaną na ten przełącznik, ustawiamy z czarną kratką jak poprzednio.
Jeśli pamiętaliście o tym, by dla każdego takiego eventa dać odrębny przełącznik, osiągnęliśmy zamierzony cel – gracz może w dowolnej kolejności spadać przez przygotowane dziury, a dopiero po ich wykorzystaniu fragmenty kamienia zmienią się w czarny kwadrat.
Spadnięcie na przełącznik
Świetnym urozmaiceniem przedstawionego rozwiązania jest doprowadzenie do sytuacji, w której gracz może aktywować jakiś przełącznik tylko spadając na niego. Zaczynamy od stworzenia przełącznika na parterze, który nic nie będzie robił po wejściu na niego przez gracza. Następnie modyfikujemy kafelek na piętrze odpowiadający miejscu, w jakim znajduje się przełącznik, w ten sposób:
Co w zasadzie zrobiliśmy? Odegraliśmy dźwięk włączania przycisku, zmieniliśmy nowy przełącznik na ON i daliśmy graczowi sygnał, że udało mu się tego dokonać. Teraz wystarczy tylko dorobić nowe strony w eventach na parterze – zmienić wygląd przycisku na włączony i usunąć barierę oddzielającą gracza od skarbu. Gotowe!
Michał „Michu” Wysocki
Co prawda to najbardziej podstawowa wersja tego skryptu, jednak można z niego wyciągnąć o wiele więcej po dodaniu dodatkowych elementów, typu zrzucanie kamieni przez dziury, z których użytek można zrobić na niższym poziomie, albo kreatywny sposób na zmniejszanie czasu trwania podróży.
Dokładnie, skrypt ma duże możliwości. Największym wyzwaniem tutaj jest imo fakt, że eventy zerują swoje położenie po zmianie mapy i trzeba przygotowywać nowe.
Akurat to nie jest aż takie problematyczne, wystarczy nieco zmodyfikować teleporty z i do lokacji. W momencie wyjścia trzeba poprzypisywać współrzędne X i Y zdarzeń, które można przesuwać do zmiennych, a na zdarzeniach wejścia włączać przełącznik, który uruchomi autostart teleportujący zdarzenie względem pozycji X i Y (set event location) odczytanych ze zmiennych.
W sumie to nie jest głupi pomysł. Można nawet pokusić się o rozwiązania z wykorzystaniem common eventów, aczkolwiek nie mam innego pomysłu niż kopiowanie na każdej mapie eventów o tym samym ID, do których odnosiłyby się komendy z common eventa.
Ja mam za to głupie pytanie – w 2000/2003 jest opcja zapamiętywania pozycji względem współrzędnych? Używałam tego w VX Ace do jednego skryptu, ale nie jestem pewna, jak to wykorzystać w starszych programach.