Losowe przedmioty skrzyni
Witajcie. Przedstawię wam uproszczoną wersję skryptu [zdarzeniowego] na losowy drop ze
skrzyń. Sprawa jest bardzo prosta. Do wykonania tego systemu będziemy potrzebowali:
- Grafika skrzynki [cała animacja otwierania] - RTP posiada taką
- Dźwięki SE - Otwierania skrzyni jak i wypadanych przedmiotów (opcjonalne / kosmetyka)
- 3 zmienne
- 1 przełącznik
- 1 typowe zdarzenie
Zaczynamy od stworzenia zmiennych (ich ID nie ma znaczenia, u mnie natomiast one są następujące):
01: LosowyDrop
02: PoziomTrudności
03: LosoweZłoto
Teraz przełącznik (ponownie ID przełącznika nie ma znaczenia):
01: KoniecAnimacji
Typowe zdarzenie (tak jest, ID ma znaczenie tylko podczas odwoływania się do niego):
01: LosowyDropGlobalny
Poniższe obrazki pokazują co trzeba zrobić, by skrypt działał prawidłowo:
Zacznijmy od stworzenia naszej skrzynki, którą później będzie można kopiować
i nic nie będziecie musieli zmieniać, ani w niej ustawiać, bo ona
zawsze będzie losowała przedmioty jakie umieścicie w typowym zdarzeniu.
- Wybieramy grafikę skrzynki => ustawiamy Brak ruchu => Normalnie =>
Najwyższa => Naciśnięcie przycisku => Blokada obrotu (tak jak na obrazku)
Instrukcja okazująca krok po kroku, jak wykonać zdarzenie skrzyni.
Szczegółowy opis kroków można znaleźć niżej.
Krok 01: Ustawiamy pętlę, by skrzynka w trakcie jej aktywacji weryfikowała to,
czy jest już otwarta, czy może jeszcze nie. Jest to ważne o tyle, by uniknąć
śmiesznych błędów. Ustawiamy warunek przełącznika odpowiadającego za
"KoniecAnimacji" - ON i po spełnieniu warunku wyłączamy przełącznik
i "złam pętlę".
Krok 02: Trzeba sprawić, by animacja otwierania się skrzynki była
płynna i nic nie mogło jej powstrzymać. Wykorzystujemy "Ruszaj
zdarzeniem: To zarzenie i ignorujemy ruch". Pozwala nam to na wpływanie
jak aktywowany event się zachowuje, w tym na podmianę jego grafik w
czasie rzeczywistym - co oczywiście czynimy. Wykorzystując komendę
"Grafika" ustawiamy kolejne klatki animacji otwierania się skrzynki po czym
ustawiamy po każdej klatce "czekaj: 3", by animacja była widoczna dla oka.
(Można tam również odegrać dźwięk "SE" otwierającej się skrzynki). Po
zdefiniowaniu wszystkich klatek animacji dodajemy pod koniec zmianę przełącznika
"KoniecAnimacji" - ON i to koniec w operowaniu ruchem zdarzenia. Na końcu ustawiamy
komendę "Czekaj na koniec ruchu zdarzenia" by nic się nam nie popsuło.
Krok 03: Uruchamiamy nasze typowe zdarzenie [trzeba wybrać:
01: LosowyDropGlobalny] - to co ustawiałeś przed chwilą :)
Krok 04: Nowa Strona
Kolejne dwa nowe kroki dla zdarzenia skrzyni, należy stworzyć nową
stronę (zakładkę dla zdarzenia), a następnie poprawnie ustawić.
Krok 05: Dodajesz wiadomość jaka ma się wyświetlić, gdy gracz będzie chciał
ponownie otworzyć skrzynię, ale tym razem już otwartą.
Krok 06: Ustaw grafikę otwartej skrzynki i resztę ustawień tak jak na obrazku
pamiętając o "Przełącznik własny [zdarzeniowy] A"
Skrzynka jest gotowa. Teraz zajmijmy się "Typowym zdarzeniem", które
jest jeszcze puste. Skrzynia posiada już animacje i odwołuje się do skryptu,
który ma odpowiadać za to, co znajdzie się w środku.
Typowe zdarzenie, które będzie odpowiadało za losowanie pieniędzy oraz przedmiotów.
Krok 07: Ustaw na samym początku zmienną:
Ustawienia zmiennej: "01: LosowyDrop"
Typ operacja: (=) Ustaw
Operacja: Losowa liczba między 0-2 [Można ustawić więcej wariantów. Na
potrzeby pokazania mechaniki kodu zrobiłem tylko 3]
Krok 08: Ustawiamy warunki poziomu trudności 0, 1, 2 i w każdym z nich operujemy następującą zmienną:
Ustawienia zmiennej: "03: LosoweZłoto"
Typ operacja: (=) Ustaw
Operacja: Losowa liczba między 75-100:warunek zmiennej=0 / 50-75:warunek zmiennej=1 / 25-50:warunek
zmiennej=2 [Można ustawić więcej wariantów. Na potrzeby pokazania mechaniki kodu zrobiłem tylko 3]
Ten prosty kod odpowiada za to, że gra w zależności od ustawień poziomu trudności losuje odpowiednią
ilość złota w skrzynce. Same ustawienia poziomu trudności można łatwo zmienić ustawiając event z
ustawieniami i [zmień zmienną "02: PoziomTrudności" na 0 [łatwy] / 1 [średni] / 2 [trudny].
Krok 09: Ustawmy nasze warunki "01: LosowyDrop" =0,1,2 i wpychamy tam komendy "Zmień ilość pieniędzy" =>
zmienna "03: LosoweZłoto". Dodajemy do tego krótką wiadomość tekstową, która odnosi się do wartości
zmiennej [pieniędzy] + można dodać jakieś opcjonalne przedmioty. Każdy nowy warunek losowego dropu,
to nowy wariant możliwości, że wypadnie coś nowego. Nawet jeśli macie na mapie już skrzynki porozstawiane,
to z łatwością możecie zmienić drop w nich wszystkich edytując tylko jedno typowe zdarzenie w bazie danych.
Dziękuję i życzę miłego makerowania HGS. Niedługo pojawi się więcej takich patentów. Ten
skrypt jest kompatybilny z ekwipunkiem w bazie danych jak i ekwipunkiem na mapach [zbudowanym na
podstawie - przedmiotem jest zmienna]
Poniżej także została zamieszczona gra demonstracyjna z zastosowaniem powyższej metody.
Aby było nieco ciekawiej, to można wykonać, że za każdym razem skrzynie losują ilość
pieniędzy oraz dodatkowy przedmiot. Wszystko oczywiście zostało oparte o liczby losowe
oraz wybrany poziom trudności. Jakby były jakieś problemy to zawsze można pytać.
Autor: HGS
email:
pogromcapustkiteam@gmail.com
Pobierz:
Gra demonstracyjna: Losowe przedmioty skrzyni (by Reptile)