...: Strona :...
News
Archiwum
Redakcja
Chat ( 12 )
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 RPG95 || Zgłoś nowe materiały
RPG Maker :: RPG Maker 95

Zmienna w RM95


Jak zrobić zmienną w RM95 - 3 sposoby.
Dzień Dobry, dzisiej chcę wam przedstawić 3 sposoby na zrobienie zmiennej w grze w RM95. Poukładam je od najprostszego do najtrudniejszego - ale w drugą stronę od bardzo widocznego dla gracza do niezauważalnego. No ale dobra, a po co nam w ogóle zmienna w RM95? Zmienne przydają się do wielu rzeczy, dzięki nim będziemy mogli zrobić proste zadanie przyniesienia X tych samych rzeczy kamuś ale też np sprawić, że po określonej liczbie stoczonych walk nasz bohater dostanie jakąś umiejętność. No dobra to po kolei:

SPOSÓB I - zmienna to ilość pieniędzy. Bardzo ograniczony i najlatwiejszy sposób na zmienną, niestety tylko jedną. Wadą jest, że tracimy wtedy mechanikę pieniędzy z gry, a wartość naszej zmiennej jest cały czas widoczna w MENU (chyba że jakoś w hexach to wywalimy z game.exe). Ale też są i zalety - możemy wywoływać zdarzenia warunkiem: posiada tyle lub więcej pieniędzy - co pozwala nam prosto wywołać to co chcemy gdy nasza zmienna ma wartość X lub wyższą. Samo użycie zmiennej jeśli pogodzimy się z faktem braku pieniędzy w naszej grze (i brakiem standartowych sklepów) jest bardzo proste, po prostu zerujemy wartość pieniędzy, co zrobienie cząstkowej czynności dodajemy 1 a w warunku sprawdzamy czy mamy np 10 lub więcej - i tyle. W akcji ten sposób został wykorzystany w grze Pallete.

SPOSÓB II - zmienna to przedmiot Podobny sposób do tego powyższego, ale działa zupełnie odwrotnie. Dobra od początku - pierwsze przeznaczamy 1 albo parę przedmiotów na nasze zmienne. Polecam robić to od końca listy przedmiotów. Usuwamy im nazwy i dajemy typ na special. I już uwidacznia się wada tego rozwiązania - nadal będziemy widzieć wartości naszych zmiennych w MENU - dlatego też polecam robić to z ostatnimi przedmiotami - bo wtedy te spadają na dół listy więc nie będą aż tak zauważalne, a tutaj niestety raczej nie ma możliwości tak jak w poprzednim sposobie by wywalić to jakoś z game.exe hexami... Drugą wadą tego rozwiązania jest ograniczona wartość do 100 (255 - można do tylu rozszerzyć grzebiąc w plikach .dat gry), pieniędzy mogliśmy mieć znacznie więcej. A no i wiadomo że tyle ile będziemy mogli mieć maksymalnie przedmiotów danego typu w plecaku taki max ma i nasza zmienna - a to można ustawić we właściwościach gry. Dobra a teraz jak użyć przedmiotów jako zmienna? Ano odwrotnie jak zwykle. Jak można zauważyć w efentach mamy warunek, że gracz posiada przedmiot, ale nie ma tam możliwości określenia ile ma mieć tych przedmiotów - czyli jak ma 1, 10 i 20 to jest to samo - a to nas tak średnio interesuje, bo zmienna która może przyjmować 2 stany to jest przełącznik. A więc tu trzeba pomyśleć odwrotnie - to stan posiadania przez naszą postać danego przedmiotu będzie odczytywany jako warunek nie spełniony naszej zmiennej. Może najprościej będzie to wyjaśnić na przykładzie: mamy zadanie zabić np 10 potworów i w tym momencie podczas dawania nam tego zadania ustawiamy ilość przedmiotu-zmiennej na 10, a zabijając każdego potwora odejmujemy od tego po 1. Teraz stawiając nasz efent który sprawdza czy zrobiliśmy już to co mieliśmy - dajemy mu dwie strony, na pierwszej bez żadnych warunków, dajemy to co ma nam mówić gdy wykonamy dobrze nasze zadanie, a na następnej z warunkiem że posiadamy przedmiot-zmienną - to co ma nam mowić gdy jeszcze nie zrobiliśmy tego co mieliśmy. Działać to będzie tak - dostajemy zadanie, nasza zmianna ustawia się na 10. Idziemy sprawdzić czy wykonaliśmy zadanie - mamy przedmiot więc odpala nam się strona że nie. Zabijając każdego potwora mamy o 1 mniej przedmiotu aż w końcu będziemy mieć zero - więc odpali nam się strona nagrody. Sprytne i lepsze rozwiązanie bo przedmiotów mamy 100 więc można parę poświęcić na zmienne bez większych poświęceń mechaniki gry.

Dodatek do drugiego sposobu. Ktoś może powiedzieć że skoro przedmioty to przecież nie trzeba nic ukrywać tylko po prostu zrobić tak, że gracz będzie myślał, że tak miało być - a dokładniej np dać zadanie że zabijając potwory mamy przynieść jako dowód np ich skórę czy coś. Co jest dobrym rozwiązaniem bo nic nie wygląda dziwnie w menusach a nadal mamy X czynności do zrobienia. Ale jak to zrobić skoro warunek sprawdza czy mamy dany przedmiot bez względu na jego ilość... Ano jest pewne rozwiązanie, trochę zawiłe, ale istnieje. Niestety efent który będzie to sprawdzał będzie trochę bardziej rozbudowany i nie może sobie działać po prostu w tle (poprzednie sposoby mogły działać w tle i aktywować spełnienie warunku z auto startu). No więc jak to zrobić. Potrzebować i tak będziemy dwóch pustych przedmiotów, ale nie będzie on cały czas u gracza w plecaku więc nie będzie nic widział. Teraz gdy podchodzimy do efentu sprawdzającego musimy pierwsze policzyć nasze przedmioty, a robimy to tak:

1 efent
2 strona efentu - start na przycisk albo dotknięcie
warunek - tutaj możemy dać przełącznik który ustawiliśmy na on po zleceniu zadania
ustaw pusty przedmiot na ilość która ma być spełnieniem warunku zadania
przełącznik 1 on

2 efent
1 strona
2 strona - autostart
warunek - przełącznik 1 jest on
przełącznik 3 on
3 strona efentu - autostart
warunek - posiada przedmiot i przełącznik 1 jest on
odejmnij przedmiot
odejmnij pusty przedmiot 1
dodaj pusty przedmiot 2
przełącznik 2 on
4 strona efentu - autostart
warunek - przełącznik 2 jest on
przełącznik 2 off

3 efent
1 strona
2 strona - autostart
warunek - przełącznik 3 on
robimy to co ma się dziać gdy warunek zadania jest spełniony
3 strona
warunek - posiada pusty przedmiot 1 i przełącznik 3 on
robimy to co ma się dziać gdy nie spełniliśmy warunku zadania
przełącznik 4 on
4 strona

4 efent
1 strona
2 strona - autostart
warunek - przełącznik 4 jest on
tutaj należy zaoofować wszystie przełączniki i wrócić do stanu sprzed efentu 1
3 strona - autostart
warunek - przełącznik 4 on i posiada pusty przedmiot 2
odejmnij pusty przedmiot 2
dodaj przedmiot
przełącznik 5 on
4 strona - autostart
warunek - przełącznik 5 on
przełącznik 5 off

Jak widać przeliczanie i sprawdzanie warunków w takim przypadku musiałem rozbić aż na 4 zdarzenia - ale na szczęście 1 efent czyli to do czego podchodzi gracz i wciska przycisk wykorzystuje tylko 1 stronę co pozostawia nam jeszcze 3 strony interakcji z nim, więc nie jest tak źle. Ale po za tym i tak widać, że sprawdzanie trochę trwa (warto zablokować gracza) i raczej nie sprawdzi się jako działanie w tle...

SPOSÓB III: zmienna to kupa przełączników.
Najlepsza a zarazem najmniej wygodna metoda. Wymagająca kupy efentów, ale mogąca spokojnie działać w tle, do tego nie widoczna i nie odczuwalna dla gracza, ale im wyższa wartość naszej zmiennej tym trudniejsza do zrealizowania. Do tego nie nadaje się do wszystkiego. Ale jak to zrobić? No sposób jest prosty i nadal odwrotny. Cała sztuczka polega na tym aby na początku ustawić X przełączników na ON a potem je OFFować. A efenty układać w sposób że 3 strony są na start przełącznik on a pierwsza która nie ma warunku jest tym co ma się dziać gdy będziemy mieli spełnione nasze zadanie. Przykład: mamy zebrać 3 rzeczy, no to 3 przełączniki na ON
efent
1 strona - to co ma się dziać gdy będzie ok
2 strona - przełącznik 1 on - no nie udało się
3 strona - przełącznik 2 on - no nie udało się
4 strona - przełacznik 3 on - no nie udało się
Jeśli mamy mieć więcej jak 3 przedmioty to musimy dać drugiego efenta np mamy mieć 5 czegoś.
1 efent - taki sam jak poprzedni
2 efent
1 strona - ustaw przełącznik 3 off
2 strona - przełącznik 4 on - no nie udało się
3 strona - przełącznik 5 on - no nie udało się
4 strona - przełącznik 5 on - no nie udało się

Należy zauważyć że w tym przypadku przełącznik 3 nie może być przełącznikiem aktywowanym po zebraniu czegoś, bo służy tylko aby sprawdzić czy wszystkie rzeczy z 2 efenta zostały zebrane. Więc wartości naszej zmiennej maksymalne będą potrzebowały efentów według wzoru - po 2 rzeczy na 1 efent + 3 w ostatnim. Innym ograniczeniem jest że np zbieranych przedmiotów w grze nie może być więcej, tylko tyle ile mamy zebrać. Ogólnie metoda trochę zawiła, ale w specyficznych przypadkach się sprawdza.

Słowo na koniec: Ogólnie polecam sposób 2 (3 jak się tylko da i nie sprawia wielu problemów). Należy też pamiętać, że nie ma czegoś takiego jak ograniczenie zmiennych i przełączników na grę - jest ograniczenie dla ich użycia w danym momencie, ale nikt nie broni nam wracać do starych 'zużytych' już przełączników i zmiennych kiedy gracz nie ma i tak fizycznej możliwości w trakcie gry powrotu już do map gdzie były one wykorzystywane - to taka mała rada i nagle się okazuje że te 1000 przełączników w RM95 i parę przedmiotów jako zmienne mogą nam poslużyć do zrobienia na prawdę długiej i skomplikowanej gry.

Tyle tutaj, jakby ktoś miał jakieś pytania, rady, pomysły itp to może śmiało do mnie pisać. Nie wymieniłem też innych mniej wygodnych sposobów jak np wykorzystanie HP bohaterów jako zmienna, bo są jeszcze bardziej problematyczne jak te 3 sposoby jakie wymieniłem, ale kto wie może kiedyś dla ciekawych je opiszę...


Autor: Dragon Kamillo
Email: k.maciejewski@poczta.onet.pl


Twierdza RPG Maker || RPG Maker Polska
2002-2024