Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Głód oraz pragnienie
Autor Wiadomość
Adahosi 




Dołączył: 19 Lut 2013
Posty: 12
Skąd: Elbląg
Wysłany: Sro 20 Lut, 2013 21:33
Głód oraz pragnienie
Witam. Pewnie większość z Was potrafi stworzyć tak prostą rzecz jak głód i pragnienie, albo korzysta już z gotowych skryptów. Mimo wszystko zachęcam do lektury. Zawsze można się czegoś nauczyć, hmm? Pozwólcie jednak, że będę bardzo często używał angielskich nazw. Mam angielską wersję RPG Makera i do takiego nazewnictwa jestem po prostu przyzwyczajony.

Spis treści:

1. Ustawianie wartości głodu i pragnienia (+sposobu wyświetlania).
2. Tworzenie jedzenia i napoju.
3. Sposób zdobywania pokarmu.
4. Złapanie pasożyta.


A więc zacznijmy!

1. Ustawianie wartości głodu i pragnienia (+sposobu wyświetlania).


Najpierw tworzymy event, który pozwoli nam na ustawienie głodu i pragnienia oraz uruchomi proces coraz to większego poczucia głodu i pragnienia.

Powinno to wyglądać mniej-więcej tak:
Spoiler:



Jest to event typu "autorun" co oznacza, że sam się uruchamia. Musi on zawierać drugą zakładkę, która uruchamia się na dźwignię "Aktualizowanie".
Spoiler:


Pozwoli to nam na kontynuowanie gry (w przeciwnym wypadku gra sprawiałaby wrażenie, że się zawiesiła i dalsza gra nie byłaby możliwa.).

Wartości głodu i pragnienia ustawiamy na dowolne. Ja przyjmuję, że wartości te są wyrażane w %, a 100% oznacza nasycenie (bądź całkowite zaspokojenie pragnienia).

Gdy to już mamy zrobione, to klikamy "Database" (albo po prostu F9) i przechodzimy do zakładki "Common Events".
Spoiler:



Najpierw stworzę warunek, który nie pozwoli przekroczyć wartości 100% (pamiętajcie, że te % są umowne. Tak naprawdę to po prostu liczba "100"). Jest to ważne, albowiem nie chcemy, aby można było nażreć się na 1200% i mieć głód z głowy. Wystarczy postawić następujące warunki:
Spoiler:


Warunek jasno nam mówi: "Gdy variable (zmienna) "Głód" będzie większa bądź równa niż (stała liczba) 100, to:
zmienić wartość zmiennej "głód" na 100.

Za zmianę wartości "głód" na 100 odpowiada ten czerwony napis: Control Variables: [0001 : Głód] = 100. Ta komenda ustawia wartość "głód" na 100. Zostanie aktywowana, gdy warunek zostanie spełniony. W sumie to takie podstawy w RPG Makerze, ale nie zaszkodzi o tym wspomnieć.

Mamy jeszcze opcję "else", która jest od tego co się dzieje, gdy ten warunek nie jest spełniony. Ta opcja jest tu zbędna, ale ja nigdy jej nie wyłączam. Drugi warunek mówi dokładnie to samo, ale odnosi się do zmiennej "pragnienie".
Uprzedzam Wasze stwierdzenia: tak, można ustawić warunek na "gdy jest większa" zamiast "gdy jest większa bądź równa". Nie robi to żadnej różnicy.

Dorzucę tu jeszcze opcję, która pozwoli nam na wyświetlenie jak głodni i spragnieni jesteśmy. Postawmy kolejny warunek! Lubię je stawiać.. kto ich nie lubi? Warunek ten wstawmy w tym samym "Common Event" aby nie tworzyć ich za dużo.
Spoiler:



Warunek ten mówi, że gdy wciśniemy klawisz "X" (UWAGA! Tak naprawdę klawisz X jest przypisany klawiszowi "A" na Twojej klawiaturze (domyślnie). Zawsze można to zmienić), to wyświetli nam się tekst:

Głód: \V[0001]%
Pragnienie: \V[0002]%

Wygląda dziwnie? Już tłumaczę. Komenda \V[0001] pokazuje nam naszą zmienną o numerze #0001 - czyli nasz "głód". Tak więc gdy tylko wciśniemy klawisz "A" na klawiaturze, to wyświetli nam się tekst informujący nas o tym jak bardzo głodni i spragnieni jesteśmy. Dopisałem "%", albowiem umownie te wartości pokazują %.

To chyba najgorszy sposób wyświetlania, ale lepszego nie potrafię zrobić.

Pamiętajcie, aby w opcji "Trigger" zaznaczyć "Parallel Process" aktywowany na dźwignię "Aktualizowanie". Opcja "trigger" mówi o tym JAK i czy w ogóle aktywować ten Common Event. Parallel Process świadczy o tym, że ten Common Event jest ciągle aktywny. My sobie gramy, a on ciągle działa. Aktywowany zostaje na dźwignię "Aktualizowanie", która została uruchomiona poprzez event "autorun".

Zajmijmy się teraz jedną z najważniejszych rzeczy : odejmowaniem "głodu" i "pragnienia". Jest to banalne. Tworzymy dwa kolejne "Common Events", które wyglądają następująco:

Spoiler:



Ten Common Event również jest jako "parallel process" i również aktywowany za pomocą dźwigni "Aktualizowanie". To samo tyczy się trzeciego Common Event'a: pragnienie. Jest on identyczny, ale odnosi się do zmiennej #2, czyli do "pragnienia". UWAGA: Różni się tylko wartością "wait", która wynosi 450. To dlatego, że pragnienie powinno "uciekać" szybciej niż "głód".

Wiem, że nie muszę, że już się mocno rozpisałem.. że to jest oczywiste. Ale kilka dodatkowych liter nie zaszkodzi, hmm? ;)

Omówmy teraz jak dochodzi do tego, że "głód" (i pragnienie) są "odejmowane" (w sumie to dosłowne są odejmowane).

Niebieski napis "Loop" i "Repeat Above" to funkcja pętli. Czyli lecąc w dół od "Loop" :
Control Variables: [0001 : Głód] -= 1. - ta komenda odejmuje stałą liczbę "1" od zmiennej "Głód".

Wait: 900 frame(s) - jest to komenda "wait", a więc zanim zejdziemy niżej, to musimy odczekać 900 klatek. Ile to w przeliczeniu na sekundy? Jest to 15 sekund.

Repeat Above - ta funkcja przenosi nas pod napis "Loop" i tak non-stop. Reasumując: zmienna "Głód" będzie co 15 sekund zmniejszać się o "1". Zawsze można skrócić bądź wydłużyć ten czas manipulując komendą "Wait".

Okey - z miarą upływu czasu nasz głód (pragnienie szybciej, skoro pragnienie ma w "Wait" ustawioną wartość 450) sięgnie zera. Co wtedy?? Tworzymy kolejny Common Event!
Spoiler:



Za dużo chyba nie muszę wyjaśniać, hmm? "Less than or Equal" oznacza "mniej niż bądź równy". Czyli: gdy mamy poniżej 15% (% umownie - pamiętajcie) głodu, bądź pragnienia, to co 300 klatek nasza bohaterka She traci 80HP. Zaznaczamy opcję (w komendzie decydującej o odebraniu tego HP) "Allow knockout". Dzięki temu nasza bohaterka umiera z głodu. W przeciwnym wypadku jej HP nie spadnie poniżej 1HP.

2. Tworzenie jedzenia i napoju.

Na wstępie napiszę: nie mam zamiaru opisywać jak gotować, smażyć itp. Taki tutorial istnieje już na tym forum, po co się powtarzać? Zamiast tego nasza bohaterka będzie wpierniczała surowe ryby. Co kto lubi...

Stwórzmy zatem przedmiot:
Spoiler:


Jest to rybka, którą będziemy mogli złowić. Jak widzicie jest i robaczek - robiący za przynętę:

Spoiler:



Pamiętaj aby dokładnie pozaznaczać poszczególne opcje np. "Occasion".

Oba te przedmioty są na razie bezużyteczne. Co prawda możemy zjeść rybkę, ale nie da ona nam żadnego efektu. Zmieńmy to!

Tworzymy taki oto Common Event:
Spoiler:



Po aktywowaniu tego Common Event'u usłyszymy dźwięk "Absorb1" i zmienna "głód" wzrośnie o 32 (pamiętaj aby zaznaczyć opcję "add" zamiast "set" w Control Variables). Dźwięk "Absorb1" W OGÓLE tam nie pasuje, ale pamiętaj o dodaniu dźwięku konsumpcji.

UWAGA!! Zauważ, że ten Common Event w opcji "Trigger" ma zaznaczone : None. Czyli nie zostaje uaktywniony.. jak zatem go aktywować? Wracamy do naszej rybki (Items) i w "Effects" dajemy takie coś:
Spoiler:



Dzięki temu Common Event odpowiedzialny za dodanie nam głodu uruchomi się po zjedzeniu rybki. Ważne jest, aby rybka miała zaznaczone "Yes" w opcji "Consume". W innym wypadku rybka nie zniknie z naszego plecaka i będziemy mogli rozkoszować się jej smakiem w nieskończoność zaspokajając tym samym nasz głód.

Skoro możemy już się najeść, to ja bym proponował przejść do pragnienia. Tworzymy dwa przedmioty: butelkę pełną wody i pustą butelkę.
Spoiler:



Od razu stworzyłem do butelki z pełną wodą Common Event.

WAŻNE!! Zauważ, że butelka z wodą w "Consume" ma zaznaczoną opcję "No", czyli teoretycznie po użyciu tego przedmiotu nie zniknie nam on z plecaka. ALE! Przy jego użyciu zostaje aktywowany common event, który nie dość, że odtwarza nam dźwięk siorbania (teoretycznie.. w praktyce jest to dźwięk "Attack1") i gasi pragnienie o 41% (umownie), to jeszcze zabiera nam z ekwipunku jedną butelkę wody (tą, którą wypiliśmy) i dodaje jedną pustą butelkę.

Pusta butelka wygląda następująco:
Spoiler:



Czyli tak naprawdę nie robi NIC poza zajmowaniem miejsca w ekwipunku. Ale spokojnie! Sprawmy, aby ta butelka była użyteczna.

3. Sposób zdobywania pokarmu.

Skoro już jesteśmy przy tych butelkach i wodzie, to zajmijmy się najpierw pozyskiwaniem wody pitnej.

Na mapie stwórzmy studnię, a na niej Event o takich właściwościach:
Spoiler:



Ważna jest opcja "Priority". Musi być ona ustawiona na "Same as Characters". W przeciwnym wypadku nie aktywujemy tego eventu.

Ale co tak naprawdę mówi ten event? Na początek mamy dwie opcje:

Nalać wody do butelki?
Nic nie rób.

Po wybraniu pierwszej opcji na naszej drodze stoi warunek: jeżeli posiadamy butelkę w ekwipunku, to dostaniemy 1 butelkę pełną wody, jednak zabierze nam pustą butelkę. Odtworzy się dźwięk nabierania wody do butelki oraz wyświetli się tekst o dokonanej czynności. Jeżeli nie mamy pustej butelki, to wyświetli się wiadomość w której She opiernicza Cię słowami: "Nie posiadam pustej butelki. Nie mam do czego nalać wody!"

Dzięki tej prostej metodzie możemy gasić pragnienie i napełniać z powrotem nasze puste butelki. Oczywiście jest możliwość napełnienia wszystkich pustych butelek za jednym zamachem, bądź też wyczerpać studnię.. jest to proste. Wystarczy użyć zmiennych (variables). Ale nie o tym tu mowa. Przejdźmy teraz to jedzenia.

Nasza bohaterka ma ochotę na rybkę. Na szczęście nasza gra oferuje tylko i wyłącznie ryby! Co prawda surowe, ale zawsze coś. Złówmy zatem jakąś:
Spoiler:



Zapomniałem dodać dźwięk plusku wody, czy coś w tym stylu (taki dźwięk akurat jest domyślnie w RPG Maker VX Ace) przy udanym połowie, ale to tylko szczegół (gdyby to nie był tutorial, to byłaby to istotna rzecz).
Można się czepiać "po co jej robak skoro i tak łowi gołymi rękami?" - to tylko kwestia dorobienia kolejnego przedmiotu (bądź też broni kto jak woli). Poza tym można zrobić za pomocą zmiennych (variables) prawdziwe losowanie czy połów się uda, czy też nie. Nie skupiajmy się na tym. Ważne jest, że udało nam się pozyskać jedzenie. Nie umrzemy z głodu!

Pamiętaj aby dokładnie wyznaczyć miejsce połowu. Wystarczy takie coś:
Spoiler:



Nie zapomnij zaznaczyć "Stepping Anim" aby animacja tej wody była aktywna w miejscu. Ten event nie zawiera nic w sobie, jest tylko do ozdoby i oznaczenia miejsca połowu.

4. Złapanie pasożyta.

Każdy wie, że jedzenie surowego mięsa jest ryzykowne. Sprawmy, aby w naszej grze również takie było.
Przechodzimy do zakładki "States" i tworzymy status pasożyta:
Spoiler:



Teraz przechodzimy do zakładki "Items" i edytujemy naszą rybkę.
Spoiler:



Jak widzicie - przy zjedzeniu rybki mamy 45% szans na otrzymanie statusu "Pasożyt".

Teraz wystarczy przejść do Common Events:
Spoiler:



Jak widzicie: ten Common Event aktywuje się już na samym początku, ale odejmuje głodu (bardzo szybko, bo co 150 klatek) dopiero wtedy, gdy nasza bohaterka złapie pasożyta.

No dobra.. mamy już pasożyta. Ale jak się go pozbyć?! Wystarczy stworzyć kolejny przedmiot:

Spoiler:



Taką prostą metodą możemy się wyleczyć z pasożyta.



To by było na tyle. Metody pozyskiwania jedzenia oraz wody zależą tylko i wyłącznie od Twojej wyobraźni. Tak samo statusy i przedmioty, których użyjesz do zdobycia pokarmu (wędka, oszczep, pułapka).

Dobry efekt daje połączenie zaspokajania głodu z leczeniem HP. Wystarczy dodać formułę przy przedmiocie i zaznaczyć opcję "HP Recover".

Jeżeli ktoś chce udostępnić ten tutorial (w co wątpię), to prosiłbym go o odesłanie go na tą stronę.

- Adahosi
 
 
 
makerowiec64 




Preferowany:
RPG Maker 95

Pomógł: 2 razy
Dołączył: 02 Wrz 2012
Posty: 181
Skąd: się tu wziąłem?
Wysłany: Sob 02 Mar, 2013 15:14
Nie chce mi sie tego czytac :-P Tak czy siak tut rozbudowany (BARDZO)
I w miare estetycznie pisany.
________________________
99 % świrów czyta mój podpis z ręką na myszce.
Nie odchylaj ręki - jest już za późno :haha:

Wiem,to mogłem zrobić w większym rozmiarze.Przypatrz się bardziej!
 
 
 
cj2 




Preferowany:
RPG Maker VXAce

Ranga RM:
1 gra

Pomógł: 6 razy
Dołączył: 07 Mar 2010
Posty: 261
Skąd: Gliwice
Wysłany: Sro 06 Mar, 2013 06:16
Dobry tutorial, przyda się z pewnością. 93/100 (bo kto mi zabroni wystawiać takie głupie oceny?)
________________________
Porady dla twórców gier
Nie ma śniegu, a zgubiłem normalny avatar :I
 
 
sled 




Preferowany:
RPG Maker VXAce

Pomógł: 7 razy
Dołączył: 23 Kwi 2010
Posty: 93
Skąd: Inowrocław
Wysłany: Sob 09 Mar, 2013 11:36
Chyba jeden z lepszych tutów jakie tu się ukazały :-> Naprawdę-świetna robota! ;-)
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene