...: Strona :...
News
Archiwum
Redakcja
Chat ( 0 )
Forum
Księga Gości
Imprezy
Linki
Wymiana
Radio

- Download -
Programy
Gry
Zasoby
Music
Sound
Inne

- RPG Maker -
RPGUNITE
RPGMZ
RPGMV
RPGVXAce
RPGVX
RPGXP
RPGME
SimRPG95
RPG95
WRPGE

- Projekty -
Commander
Eden Universe
Pogromca II
Virtua Twierdza

- Krypta -
Kompendium
Scenariusze
Questy
Artykuły

...: Buttony :...
Goniec RM (Archiwum)
Dragon Ball Nao
M.U.G.E.N Samouczek
Pokemon Crystal PBF
Pillars of Eternity POLSKA - największy portal Pillars of Eternity (Project Eternity)
Kroniki Fallathanu - Prawdziwy mmoRPG w przeglądarce



Modules -  the greatest and ultimate place for every tracked-music sympathizer
Dragon Ball Great


Informacje || Problemy z RPGXP || Zgłoś nowe materiały
RPG Maker :: RPG Maker XP

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)


  • Twierdza RPG Maker || RPG Maker Polska
    2002-2024