Specjalne uruchomienie typowego zdarzenia.
Aktualny czas: 29-07-26, 08:44 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[XP] Specjalne uruchomienie typowego zdarzenia.
Shadi Offline
*


Liczba postów: 21
Dołączył: 05-05-13

Pomógł: 0



Post: #1
Specjalne uruchomienie typowego zdarzenia.

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ł?
01-06-13 14:47
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Wiadomości w tym wątku
Specjalne uruchomienie typowego zdarzenia. - Shadi - 01-06-13 14:47

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.