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

- Download -
Programy
Gry
Zasoby
Music
Sound
ICO

- RPG Maker -
RPGMV
RPGVXAce
RPGVX
RPGXP
RPGME
Sim RPG 95
RPG95

- Projekty -
Virtua Twierdza

- Krypta -
Kompendium
Scenariusze
Questy
Artykuły

...: Buttony :...
Anime Gakure
Polska Manga
Dragon Ball Nao
Słodki Flirt - gra o randkach
Radio Aoi - najlepsze radio z muzyką azjatycką
Alchemic
M.U.G.E.N Samouczek
Pokemon Valhalla
Tsukuru Archive
Crasher World
Pillars of Eternity POLSKA — największy portal Pillars of Eternity (Project Eternity)
fallout walkthrough, fallout playground, video game walkthrough, playground, walkthrough, games
Kroniki Fallathanu - Prawdziwy mmoRPG w przeglądarce
Modules -  the greatest and ultimate place for every tracked-music sympathizer


Informacje || Zgłoś nowe materiały
Krypta >> Kompendium

Tytuł: Warunki, oraz ich rodzaje w zdarzeniu.
Opracował: Reptile
Email: reptile@o2.pl

Słowo wstępne od autora
Warunki to swego rodzaju systemy sprawdzające założenia twórcy. Jest to jedno z poleceń, które można wykorzystać przy tworzeniu różnego rodzaju questów, łamigłówek, mini gierek. Niestety, tworzenie warunków zazwyczaj wiąże się to z dodatkową pracą, określeniem dwóch ścieżek: co się stanie, jeżeli warunek się spełni, oraz co się stanie, jeżeli warunek się nie spełni.
~Reptile


Opanowanie warunków jest proste, a przy tym bardzo przydatne, gdyż otwiera szereg możliwości w tworzeniu gry. Można tworzyć wiele ciekawych questów, zagadek, skomplikowanych zadań, w połączeniu z przełącznikami i ze zmiennymi.

Czym jest warunek? Najprościej można powiedzieć, że to jest pewien mechanizm, który sprawdza czy konkretne czynniki są spełnione. Definiowanie, czym jest warunek, może kazać się nieco skomplikowane, ale w codziennym życiu mamy pełno przykładów (zazwyczaj warunek raczej kojarzy się nie za przyjemnie, ale postarajmy się wyobrazić sobie nieco przyjemniejszą sytuację).

W programie można wyróżnić kilka warunków, najwięcej jest ich przy tworzeniu zdarzenia:
1) Warunek zdarzenia - aby zdarzenie pojawiło się na mapie, muszą zaistnieć pewne czynniki (warunki). Jeżeli nic nie jest zaznaczone, to zdarzenie ZAWSZE będzie pokazane na mapie, ale można zrobić zdarzenie, jak np. specjalna skrzynka, która będzie widoczna, jeżeli bohater będzie miał specjalny przedmiot do wykrywania skarbów. Bez tego przedmiotu bohater nie znajdzie skrzynki (bo się nie wyświetli).

2) Warunek startu (zdarzenia) - metoda uruchomienia zdarzenia, domyślnie ustawiona jest na Naciśnięcie przycisku. Więcej na ten temat można znaleźć w rozdziale Stawianie zdarzeń w kompendium.

3) Ustaw warunek (w poleceniach zdarzenia) - opcja sprawdzająca założenia, czy bohater wykonał zadanie, czy ten określony przez nas współczynnik jest spełniony czy też nie. Jeżeli jest spełniony, to trzeba w programie ustalić, co się dzieje dalej. Jeżeli nie jest spełniony, to w zasadzie też trzeba ustalić, co się stanie w takim przypadku.

4) Warunek podczas walki - praktycznie to samo, co wyżej, tyle że odnosi się to do walki (Baza danych >> horda). Można ustalić warunek taki, że np. minęło 5 tur i walka się kończy.

Dokładniej chciałbym omówić trzeci przypadek, gdzie ustala się warunki, gdyż pierwsze dwa są w zasadzie proste to opanowania.

Może jakiś przykład z życia wzięty, może być ten (nieco zmodyfikowany) z kursu o zmiennych:
- Mamo, czy mogę wyjść z kolegami?
- Dobrze, pod warunkiem, że nazbierasz 5 jabłek.

Chyba większość osób się zetknęła z takimi samymi (albo podobnymi) sytuacjami. Czyli [chcemy coś osiągnąć], ale żeby to osiągnąć, to [musimy coś zrobić]. W powyższym przykładzie chcemy otrzymać pozwolenie, aby spokojnie wyjść z kolegami (ba, chcemy wyjść z domu!). To pozwolenie otrzymamy, jeżeli nazbieramy 5 jabłek. Zatem zbieramy 5 jabłek i możemy wyjść, brzmi prosto, jednak trochę jest z tym zabawy.

Jak to wygląda w programie? Pozwólcie, że opiszę krok po kroku, co należy zrobić.
1)Mama (czy inna osoba), która najpierw daje nam zadanie, najlepiej zrobić jakieś zdarzenie autostart, w którym jest ta cała historyjka (zapytanie o pozwolenie - nie, bo masz pozbierać najpierw jabłka). Przełącznik, aby wyłączyć zdarzenie autostart.

2)Drzwi, abym mógł wyjść z domu. Musimy założyć, że są jakieś przednie drzwi prowadzące do wyjścia z domu, no i jakieś boczne prowadzące do ogródka, gdzie są jabłka (bo tak będzie prościej). Zatem drzwi przednie powinny sprawdzać czy mamy pozwolenie aby wyjść (np. czy przełącznik: pozwolenie -jest ON). Warunek pozwolenie jest ON, no to teleport na inną mapę i cieszymy się życiem. W innym wypadku (czyli jeżeli pozwolenie jest OFF) można dać tekst od mamy Chopie złoty, pieronie, miałeś mi przynieść te jabłka.. Tym sposobem zablokujemy wyjście do momentu wypełnienia zadania.

3)Zdarzenia, jak powinny wyglądać jabłka:
- wiadomość: o znalazłem jabłko
- zmień zmienną: np.0001:Jabłka, dodaj, wartość: 1
- usuń zdarzenie.

Takich zdarzeń wypada zrobić 5, tak jak to było pokazane przy zmiennych.

4) Powrót do zdarzenia mamy (czy tej innej osoby), co ma dać pozwolenie. To jest w zasadzie kilka poleceń. Najpierw należy dać polecenie USTAW WARUNEK. Pytanie, co chcemy sprawdzić? Ano, czy bohater posiada 5 jabłek. Ten przykład opiera się na zmiennej, dlatego sprawdzamy czy zmienna JABŁKO = 5, oraz wypada zaznaczyć opcję inny warunek, jeżeli się nie spełni.

Można zobaczyć, że program w zdarzeniu nam zrobi pewne wcięcie, gdzie w jednym pokazuje, co ma się stać, jeżeli warunek się spełni (czyli bohater będzie miał te 5 jabłek), oraz inne (czyli jeżeli bohater będzie miał mniej jabłek lub wcale).

W zasadzie to już nie powinno być problemu, gdyż jeżeli warunek się spełni, to wystarczy dać polecenia: -Wiadomość typu: O, dziękuję za śliczne jabłuszka -zmień przełącznik pozwolenie-ustaw na ON

A pod warunkiem (pod tym inne), wystarczy dać polecenie, wiadomość typu: - wiadomość: ale najpierw pozbieraj jabłka.

Koniec, problem załatwiony.

Sumując - polecenie USTAW WARUNEK sprawdza, czy pewnego rodzaju kryteria (jakie chcemy) są spełnione. Można sprawdzić, czy np. bohater ma jakąś ilość pieniędzy? Albo czy ma konkretne przedmioty (w posiadaniu, albo założone na sobie), czy konkretny bohater jest w drużynie. Warunków możliwych do ustalenia jest dość sporo, wystarczy przeszukać polecenia dostępne na innych zakładkach. Ciekawe są warunki typu: gracz nacisnął przycisk np. góra. Co wtenczas się stanie?

Należy jednak pamiętać, że podczas warunku mamy zawsze dwa razy więcej roboty, gdyż trzeba ustalić, co się dzieje jeżeli warunek się spełni, i co się dzieje, jeżeli nie zostanie spełniony.





Klopotliwe pytania:
1. Chcę zrobić tak, że bohater potrzebuje drewna, aby zbudować tratwę. Jak to zrobić?
Tak samo, jak to zostało podane w przykładzie z jabłkami. Zamiast jabłek dajesz po prostu drewno. Podejdziesz do kogoś, ten sprawdzi, czy masz odpowiednie materiały, no i zrobi ci tratwę. Ale powiedzmy, że nie rozumiesz zmiennych (jak funkcjonują). Czy można to wykonać bez zmiennych? Tak, można. Zamiast polecenia ZMIEŃ ZMIENNĄ dajesz ZMIEŃ PRZEDMIOT, gdzie dodajesz bohaterowi do plecaka znaleziony przedmiot (w tym przykładzie będzie to drewno). Koleś, który ma zrobić dla bohatera tratwę, sprawdza w warunku czy gracz posiada PRZEDMIOT, drewno. Jeżeli je ma, to mu buduje i już.

2. Mam warunek spełniony, ale on nie działa. Co jest grane?!
W zasadzie, TOBIE się zdaje, że jest spełniony, program to widzi nieco inaczej, dlatego jest jak jest. Jest możliwość jakiegoś błędu, owszem, ale zazwyczaj problem leży po stronie użytkownika. Jeżeli masz w warunku zaznaczone ustaw inne zdarzenie jeżeli warunek się nie spełni. Podejrzewam, że zostały w tym warunku użyte jakieś skomplikowane operacje, w których po prostu twórca może się zgubić. Dla odnalezienia się możesz użyć polecenia wiadomości typu: WARUNEK SIĘ SPEŁNIŁ! Hura!, a w tym innym dać też polecenie wiadomości typu: NIE, SORRY, YOUR PRINCESS IS IN ANOTHER CASTLE.

Oczywiście rozwiązanie takie jest do duszy, no ale jedna z tych wiadomości się wyświetli. Wydaje mi się, że to dobry krok na rozpoczęcie wyszukiwania, w czym leży problem przy warunkach.