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:
def increase_steps
super
id = 235
tag = 0
# If move route is not forcing
unless @move_route_forcing
x = $game_system.map_interpreter.get_character(-1).x
y = $game_system.map_interpreter.get_character(-1).y
if $game_map.terrain_tag(x,y) != tag
if $game_variables[id] > 0
$game_variables[id] -= 1
end
end
# Increase steps
$game_party.increase_steps
# Number of steps are an even number
if $game_party.steps % 2 == 0
# Slip damage check
$game_party.check_map_slip_damage
end
end
end
I wszystko byłoby ok, gdyby nie to, że zanim zmienna 235 zostanie wylosowana, zdarzenie dzikich pokemonów zdołało uruchomić się ponownie i tak w nieskończoność. Przebudowałem więc typowe zdarzenia dzikich pokemonów, (jest ich kilka w zależności od środowiska i nie tylko) i zrobiłem typowe zdarzenie nimi sterujące wyglądające tak:
https://dl.dropboxusercontent.com/u/1067...ewybor.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ł?