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

- Download -
Programy
Gry
Zasoby
Music
Sound
Inne

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

- Projekty -
Virtua Twierdza
Pogromca II

- Krypta -
Kompendium
Scenariusze
Questy
Artykuły

...: Buttony :...
Dragon Ball Nao
M.U.G.E.N Samouczek
Pokemon Valhalla
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


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

Tytuł: [RPGME] Ruchu zdarzenia i polecenia
Opracował: Reptile
Email: reptile@o2.pl

Cel eksperymentu
Określenie konkretnego sposobu działania dwóch poleceń (kontynuuj poruszanie, zatrzymaj wszystko), jak i poprawne ich nazwanie. Polecenia te występują tylko w RPG2000 i RPGME, od RPGVX te polecenia zostały zmodyfikowane. Poniżej będzie omówione różnice tych poleceń między wersjami programu oraz kilka przykładów.
~Reptile


Przykładowy obrazek

Obrazek, który posłuży się do omówienia przykładów, bohater, dziewczyna i zwierzątka: pies, kot, kura. Pamiętaj, że każdy przykład zostaje jakoby zresetowany i omawiany od początku tego obrazka.

Przeprowadzony eksperyment odnosi się dwóch poleceń zdarzeń:
  • P1) Kontynuuj poruszanie/Poruszaj wszystko (Ang: Wait for all movement)
  • P2) Zatrzymaj wszystko (Ang: Stop all movement)
Od zawsze te dwa polecenia posiadały jakieś dziwaczne tłumaczenia z tego co sobie przypominam i nazwy tych poleceń tak na poważnie nigdy nic nie sugerowały. Wiemy tyle, że odnosi się do ruchu i w zasadzie tyle. Aby się w tym nie pogubić, to polecenia będę nazywać P1 (kontynuuj poruszanie) i P2 (zatrzymaj wszystko), gdyż przy nowym tłumaczeniu te polecenia będą inaczej nazwane.


P1: Czekaj na koniec ruchu zdarzeń (nowe tłumaczenie)
To by było najodpowiedniejsze tłumaczenie dla tego polecenia. Opcja czekaj na koniec ruchu zdarzenia od wersji RPGVX znajduje się w opcjach dodatkowych polecenia ruszaj zdarzenia.

Polecenie te (bardzo łatwo jest się teraz domyślić), wstrzymuje ruch bohatera do momentu, aż jakieś zdarzenie przy pomocy ruszaj zdarzeniem dojdzie do końca swojej ścieżki. To są w zasadzie te same polecenia, robią to samo, ale nie do końca. Posłużę się tutaj kilkoma przykładami, może nie najlepszymi, ale chodzi o ukazanie sposobu działania polecenia P1.

Przykład 1
Popatrz się na obrazek. Mamy bohatera, dziewczynę, psa, kota i kurę. Wszystko to będzie się odbywać w zdarzeniu dziewczyny. Zagadujemy do dziewczyny i ona pogania zwierzątka. Każde zwierzątko wykonuje 100 kroków do góry. Następnie jest ustawione P1, no i na końcu jakaś wiadomość, że zwierzątka dobiegły do końca.
    Co się stało?
    Zwierzątka idą do góry, a gracz czeka, aż zwierzątka wykonają te 100 kroków (czyli dojdą do końca swojej ścieżki). Zwierzątka doszły do końca, no to zdarzenie zaczyna działać dalej. OK, nie ma wielkiej filozofii, w każdej wersji RPG Makera można to wykonać.

Przykład 2
Ta sama sytuacja, ten sam obrazek ale drobna różnica: bohater pogoni zwierzątka. Jak zagada z psem, no to piesek idzie 100 kroków do góry, zagada z kotkiem, no to kotek idzie 100 kroków do góry, zagada z kurą, no to kura idzie 100 kroków do góry. Następnie zagada z dziewczyną, która posiada tylko P1 oraz wiadomość końcową, że zwierzątka dobiegły do końca.
    Co się stało?
    Jak wszystkie zwierzątka zaczną wykonywać ruch do góry, bohater zagada z dziewczyną, to dziewczyna czeka, aż właśnie WSZYSTKIE zwierzątka dojdą do końca swojej ścieżki. Czyli P1 czeka, aż WSZYSTKIE zdarzenia, które zostały wprowadzone w ruch przy pomocy polecenia ruszaj zdarzeniem, dojdą do końca. Jak przy przykładzie 1 dałoby radę zrobić we wszystkich wersjach RPG, tak ten przykład już nie bardzo.

    W nowszych wersjach programu, opcja czekaj na koniec ruchu odnosi się do konkretnego zdarzenia. Jednego zdarzenia. W RPG2000 oraz ME te polecenie odnosi się do WSZYSTKICH zdarzeń. Patrz więcej: każde z tych zdarzeń (kot, pies, kura) zostały uruchomione przez bohatera, nie ważne w jakim czasie. Dziewczyna też, nie posiada jakiś specjalnych odwołań do zmiennych, czy licznika czasu mierzącego kiedy zwierzątka ukończą swoje kroki.

Przykład 3
Ponownie ten sam obrazek. Ponownie bohater pogania zdarzenia, zagaduje do psa i pies idzie 100 kroków do góry, zagaduje do kota i kot idzie 100 kroków do góry, zagaduje do kury i kura też idzie 100 kroków do góry. Zagaduje do dziewczyny i ta ma P1. Powiedzmy że kura wykona 50 kroków i napotka przeszkodę jakąś (więc nie może wykonać 100 kroków).
    Co się stało?
    Jeżeli została ustawiona opcja Ignoruj ruch niemożliwy to dziewczyna uznaje, że ruch zdarzenia się zakończył i zaczyna przetwarzać zdarzenie dalej. Natomiast jeżeli opcja Ignoruj ruch niemożliwy nie została zaznaczona, to po prostu dziewczyna czeka, aż ta kura wykona te 100 kroków. Jeżeli kura nie będzie w stanie przejść przez przeszkodę, no to gra się zawiesi (dziewczyna będzie czekać na tę kurę, która nigdy nie dojdzie do końca).
Tak więc tym sposobem wiemy jak działa polecenie P1. Co w przypadku gdy ruszymy psa, kota, kurę - 100 kroków w górę i chcemy zatrzymać jedno ze zwierzątek? Tutaj już trzeba będzie się zabawić zmiennymi, przełącznikami, obliczeniami itp, aby wywołać polecenie zatrzymania, albo przyblokowania ruchu tego wybranego zwierzątka.


P2: Wstrzymaj ruch zdarzeń (nowe tłumaczenie)
Tłumaczenie też nie jest do końca poprawne, gdyż P2 odwołuje się do zatrzymania WSZYSTKICH zdarzeń, które zostały wprowadzone w ruch za pomocą polecenia ruszaj zdarzenie. Najlepiej omówić wszystko na przykładach.

Przykład 1
Nasz obrazek. Bohater zagaduje do zwierzątek no i one zaczynają galopować 100 kroków w górę. Bohater zagaduje do dziewczyny, i ta ma polecenie P2 oraz wiadomość: Zwierzątka stop!
    Co się stało?
    Zwierzątka które ruszyły do góry, nie ważne ile kroków wykonały, po prostu przez polecenie P2, zatrzymują się. Proste, oczywiście.
Przykład 2
Nasz obrazek. Jednak drobne zmiany. Do tej pory zwierzątka stały w miejscu i się ruszyły jak bohater do nich zagadał. Teraz zrobimy tak, każde ze zwierzątek posiada swój własny ruch, np. pies-krąży za bohaterem, kot-krąży lewo-prawo, a kura-losowy kierunek. Bohater zagaduje do zwierzątek no i te zaczynają iść 100 kroków do góry. Bohater zagaduje do dziewczyny, a ta P2 i wiadomość: Zwierzątka stop!
    Co się stało? Kiedy bohater zagadał do zwierzątek, one ruszyły 100 kroków do góry. W momencie gdy zagadał do dziewczyny i dziewczyna uruchomiła P2, to wynik będzie taki, że zwierzątka powrócą do swoich pierwotnych ustawień.

    Pies będzie krążył za bohaterem, kot będzie krążyć lewo-prawo, a kura będzie chodzić w losowym kierunku.
Czyli ponownie jak widać polecenie P2 odnosi się tylko i wyłącznie do polecenia ruszaj zdarzeniem.


Wnioski: Przy pomocy tego eksperymentu i prostego przykładu, zauważyliśmy w jaki sposób działają polecenia czekaj na koniec ruchu zdarzeń (nasze P1) oraz wstrzymaj ruch zdarzeń (nasze P2). Polecenia te odwołują się tylko i mają powiązanie z poleceniem ruszaj zdarzeniem i nie mają wpływu na pierwotny ruch zdarzenia.

Przy pomocy polecenia P1, jakieś konkretne zdarzenia (z przykładu: dziewczyna), dokładnie wie kiedy inne zdarzenia (pies, kot, kura), zakończą wykonywać swój ruch. Nie potrzeba się odnosić do zmiennych, przełączników, liczników, opcji czekania. Bardzo przydatna funkcja, która ponownie w nowszych wersjach programu została zmodyfikowana

Być może te polecenia będą przydatne podczas tworzenia systemów ABS, CBS, czy czegoś innego. Nie trzeba będzie teraz po poleceniu ruszaj zdarzeniem wprowadzać polecenia czekaj i liczyć ile należy poczekać czasu (ależ oczywiście tak też można).