RPG Maker 2003
Advertisement

Źródło: Tsukuru Archive Autor: Michu

1. Przygotowania

W zasadzie jedyną rzeczą potrzebną do stworzenia obrazkowej liczby HP na mapie będzie zestaw dziesięciu cyfr (od 0 do 9), oczywiście w formie picture. Warto się również zastanowić, w którym miejscu ekranu chcielibyście umieścić liczbę punktów życia.

2. Ustawianie picture

Przed wykonaniem właściwego skryptu pamiętajcie, by ustalić w którym miejscu mają pojawiać się cyfry. Pamiętacie może z matematyki wykresy rysowane w układzie współrzędnych? Sprawa z obrazkami wygląda podobnie. Po kliknięciu na Show Picture wybieramy jego numer (im wyższy numer ma pic, tym 'wyżej' będzie położony, tzn. będzie zasłaniał obrazki o niższym numerze), grafikę, i zmienne X oraz Y. No właśnie, tak samo jak z układem współrzędnych! Zmienna X to oś odciętych, odpowiadająca za poziome położenie obrazka. Zmienna Y natomiast to oś rzędnych - porusza obrazkiem w pionie. Pamiętajcie, im mniejsze X, obrazek jest bliżej lewej strony ekranu. Jeżeli mniejsze jest Y - pic znajduje się bliżej góry. Potrzebne będą nam trzy miejsca ponieważ zakładamy, że maksymalne HP naszego bohatera to 999. Pierwsza cyfra od lewej to liczba setek. Ustawiam ją na pozycji X=79 Y=12. Następna będzie cyfra dziesiątek. I teraz UWAGA! Jest jeden prosty sposób na odpowiednie dopasowanie do siebie cyfr. Mianowicie Y pozostaje bez zmian (jeżeli chcecie, by cyfry w jednym rzędzie się znajdowały), a X zwiększyć o tyle, ile wynosi szerokość w pixelach obrazka prezentującego cyfrę. Moje wszystkie obrazki mają szerokość równą 8 pixeli, także X cyfry oznaczającej dziesiątki wyniesie 87, a cyfry oznaczającej jedności 95. Aha – pamiętajcie, że każdy kolejny obrazek musi mieć inny numer, inaczej mogą pojawić się pewne problemy =]. Skoro już mamy ustalone, gdzie znajdują się odpowiednie obrazki – przejdźmy do skryptowania!

3. Czas na skrypt właściwy

Wszystko będzie się odbywało w jednym Common Evencie. Ustawiamy zdarzenie na Parallel Process. Pierwsza komenda to Variable Operations. Wybieramy sobie jedną, Operation = Set Equal. W dolnej części okienka bierzemy "Hero -> ty wstawiamy bohatera, którego HP chcecie zobaczyć na planszy -> HP". Teraz wybieramy Conditional Branch -> zmienna HP (ta co wcześniej) -> Greater then or Equal to 900. Zaznaczamy ELSE(Ostatnia opcja na dole). W środku warunku wstawiamy komendę Show Picture i ustawiamy 9 na pierwszym wcześniej ustalonym miejscu. Następnie w ELSE warunku znów wstawiamy podobny, tylko zamiast 900 dajemy 800, a zamiast 9 wybieramy 8. Później w ELSE 8 wstawiamy to samo, tylko zmieniamy 800 na 700 itd... Teraz rzecz najważniejsza! Następna komenda (już nie w ELSE) to Variable Operations. Wybieramy zmienną HP, a w polu Operation zaznaczamy Modulus, natomiast w Operand -> Number -> 100. Dzięki temu zmienną zredukowaliśmy o liczbę setek. Po tej operacji wstawiamy warunek taki jak poprzednie, tylko tym razem cyfry ustawiamy na drugim miejscu, a zamiast 900 i 800 dajemy 90, 80, itd... Następnie powtarzamy cały poprzedni akapit zmieniając w Modulus 100 na 10. Cyfry ustawiamy na 3 miejscu, a w warunkach zamiast dziesiątek dajemy jedności. Gotowe!

4. Koniec

To tylko najbardziej uproszczona wersja pokazująca aktualne HP postaci. Jeżeli chcielibyście w tym samym momencie pokazać również maksymalną ilość punktów życia - zróbcie podobne zdarzenie w Common Event zmieniając na początku HP na Max HP(oczywiście pozycje obrazków też trzeba zmienić). No tak, przecież takie rozwiązanie tworzy bardzo duże lagi prawda? Są dwa wyjścia z tej sytuacji. Albo Common Eventa ustawicie na Call i będziecie go aktywować ręcznie np. po walce, albo na jego końcu dacie komendę Wait na około 5 sekund.

Download

Advertisement