![]() |
|
[XP] Specjalne uruchomienie typowego zdarzenia. - Wersja do druku +- Ultima Forum (https://forum.ultimateam.pl) +-- Dział: RPG Maker (/Forum-RPG-Maker) +--- Dział: Wsparcie (/Forum-Wsparcie) +--- Wątek: [XP] Specjalne uruchomienie typowego zdarzenia. (/Thread-XP-Specjalne-uruchomienie-typowego-zdarzenia) |
Specjalne uruchomienie typowego zdarzenia. - Shadi - 01-06-13 14:47 Witam. Mam pewien problem. Pewnie mnie ludzie kojarzą, bo nie pierwszy raz piszę na tym forum z prośbą o pomoc, ale w razie gdyby na nowej wersji tak nie było napiszę że tworzę już od paru lat grę o pokemonach i obecnie zetknąłem się z pewnymi błędem, którego od jakiegoś czasu próbuję naprawić. Najpierw wyjaśnienie - w mojej grze początkowo dzikie pokemony( w trawie i wodzie) bazowały na zdarzeniach na mapie. Miało to istotną wadę, ponieważ spowolniało grę i to znacznie na większych mapach. Poza tym było to mało opłacalne, trzeba było kopiować zdarzenia i kopiować. Jakiś czas temu przeszedłem na typowe zdarzenia. Pojawił się jednak istotny problem - jak za pomocą typowych zdarzeń zrobić tak żeby pokemony dzikie nie wyskakiwały co chwila a co jakąś ilość kroków, najlepiej losową. GameBoy napisał mi bardzo fajny skrypt na to, a wygląda on tak: Kod: def increase_stepshttps://dl.dropboxusercontent.com/u/10678415/zdarzenietypowewybor.png Po każdej walce z dzikim pokemonem umieściłem reset zmiennej 235 losowo pomiędzy 15 a 35. Teraz chciałbym aby to typowe zdarzenie sterujące innymi uruchamiało się kiedy zmienna o id 235 osiągnie wartość zero. Przy czym uruchamiało się jednocześnie zawsze kiedy ten warunek będzie spełniony i zarazem jednorazowo - żeby zmienna 235 ZDĄŻYŁA się wylosować. Ma ktoś na to jakiś pomysł? RE: Specjalne uruchomienie typowego zdarzenia. - SaE - 01-06-13 16:19 Próbowałeś w typowym zdarzeniu ustawić warunek jeżeli zmienna jest równa 0 to losujesz ją na nowo? RE: Specjalne uruchomienie typowego zdarzenia. - Shadi - 02-06-13 16:57 Zrobiłem coś innego - którekolwiek ze zdarzeń dzikich pokemonów ma startować kiedy zmienna = 0 i kiedy zostanie wywołane przez zdarzenie wyboru - te https://dl.dropboxusercontent.com/u/10678415/zdarzenietypowewybor.png zatem po każdej walce wywołanej typowym zdarzeniem umieściłem losowanie zmiennej pomiędzy 15 a 35. Widzę jednak że zwróciłeś uwagę na poboczny problem. W tej chwili chciałbym się dowiedzieć jak uruchomić typowe zdarzenie wyboru( do którego screena link wyżej) zawsze kiedy zmienna = 0. W condition switchach można wybrać tylko przełącznik, więc trzeba chyba trzeba zrobić to skryptami. Przy ten problem poboczny też jest istotny - czyli żeby to zdarzenie nie uruchamiało się w nieskończoność tylko raz zostaje wykonane po osiągnięciu przez zmienną wartości 0 i do momentu ponownego osiągnięcia wartości 0 tak się nie działo. Wydaje mnie się że skoro umieszczam w każdym zdarzeniu pokemonów wywoływanych przez to zdarzenie którego obrazek masz losowanie zmiennej, to tak nie powinno być. Ale jestem zapobiegawczy i dlatego naświetliłem od razu jeszcze by ten problem nie występował. RE: Specjalne uruchomienie typowego zdarzenia. - Shadi - 16-06-13 17:41 Witam. Postanowiłem sam coś jeszcze zrobić i napisałem sam coś takiego na podstawie systemu na zdarzeniach, którego nie umiałem odpalić wtedy "kiedy zmienna = 0". Kod: if $game_variables[235] = 0RE: Specjalne uruchomienie typowego zdarzenia. - Ayene - 16-06-13 17:50 '$gmae_temp'? Tutaj masz literówkę. No i jeśli chcesz jedynie sprawdzić wartość to dajesz podwójny znak równości, czyli np. Kod: if $game_variables[235] == 0RE: Specjalne uruchomienie typowego zdarzenia. - Shadi - 16-06-13 19:16 Dziękuję. Poprawiłem to i kod teraz wygląda tak: Kod: if $game_variables[235] == 0Mimo to wyskakuje błąd line 1 NoMethod error occured. Żeby było bardziej jasne objaśnię zmienne i przełączniki: Cytat:Przełącznik 235 - licznik kroków ( z każdym kolejnym odejmuje 1 aż nie dojdzie do 0. Po każdej walce ma ustawione, żeby się resetował losowo od 15 do 35).Z góry dziękuję za dalszą pomoc. |