Dzisiaj chciałbym zaprezentować
wam, jak w łatwy sposób zrobić limit przedmiotów połączony z obciążeniem postaci. Oczywiście ograniczenie będzie dotyczyło standardowego menu.
1. Na start
Liczbę przedmiotów będziemy zapisywać do zmiennej, z którą później można zrobić wiele ciekawych rzeczy. Na początek
tworzymy zdarzenie w zakładce Common Event i ustawiamy je na Call. Na potrzeby skryptu w bazie danych zrobiłem 11 przedmiotów, choć oczywiście można tę ilość dowolnie zwiększać lub zmniejszać. Na początku naszego zdarzenia wybieramy komendę Variable Operations i ustawiamy jedną ze zmiennych na 0 (powiedzmy, o nazwie 'itemy'). Teraz czas na właściwą część.
2. Licznik
Poniżej wstawiamy warunek sprawdzający, czy gracz posiada przedmiot i wybieramy pierwszą rzecz z rozwijanej listy. Odznaczamy opcję ELSE. W środku warunku ponownie dajemy komendę Variable Operations i zwiększamy zmienną 'itemy' o jeden. Następnie pod tym warunkiem robimy
kolejny, tylko z listy wybieramy
inny przedmiot (operację zmienną zostawiamy nienaruszoną, czyli +1). W ten oto sposób uzyskaliśmy narzędzie do sprawdzania ilości różnych przedmiotów w naszym plecaku.
3. Wykorzystanie limitu.
Powiedzmy, że limit miejsc w plecaku to 10, a przed bohaterem znajduje się skrzynia z 11 przedmiotem, którego jeszcze nie posiada. Na karcie zdarzeń takiej skrzynki pierwszą komendą powinno być wywołanie zdarzenia stworzonego wcześniej. Później prosty warunek - jeżeli zmienna 'itemy' jest równa lub większa 10, postać nie może zabrać przedmiotu ze schowka. W takim wypadku jedynym wyjściem jest zrobienie skryptu na możliwość wyrzucania przedmiotów (o tym następnym razem) lub sprzedaż części swojego ekwipunku w sklepie i tym samym zwolnienie miejsca w plecaku. No tak, ale podczas kupowania w standardowym sklepie nie będziemy mogli wywołać licznika i jest szansa, że postać posiądzie więcej niż 10 przedmiotów. Tutaj czas na drugą część tekstu - obciążenie postaci znane chociażby z serii Baldurs
Gate.
4. Zwolnił czas
W zakładce Common Event robimy zdarzenie 'grubas' ustawione na parallel process. Tam wstawiamy warunek, czy zmienna 'itemy' jest większa niż 10, włączamy opcję ELSE. W środku tego warunku wstawiamy kolejny - czy przełącznik 'Spowolnienie' jest na OFF. W środku tego drugiego ustawiamy wszystko co ma się dziać podczas przeciążenia bohatera (spowolnienie ruchów, zmniejszenie zręczności itd), a na koniec zmieniamy wspomniany przełącznik na OFF. Teraz w polu ELSE pierwszego warunku również wstawiamy kolejny, tym razem sprawdzający, czy przełącznik 'Spowolnienie' jest włączony. W środku ustawiamy komendy 'przywracające' stan sprzed przeciążenia i na koniec zmieniamy przełącznik na
OFF.
Oczywiście skrypt nie jest doskonały i w
miarę wcielania go do gry stanie przed wami wiele trudności. O kilku z nich opowiem już w następnym numerze. Udanego skryptowania!
A tutaj
gotowy skrypt (bez RPG_RT.exe),
gdyby ktoś się pogubił.
|