[VX] Nie działają mi komendy z ABS - Wersja do druku
Ultima Forum
[VX] Nie działają mi komendy z ABS - Wersja do druku

+- Ultima Forum (https://forum.ultimateam.pl)
+-- Dział: RPG Maker (/Forum-RPG-Maker)
+--- Dział: Wsparcie (/Forum-Wsparcie)
+--- Wątek: [VX] Nie działają mi komendy z ABS (/Thread-VX-Nie-dzia%C5%82aj%C4%85-mi-komendy-z-ABS)



Nie działają mi komendy z ABS - Kokiel - 12-04-15 00:26

Moi drodzy, pomóżcie, bo nie wiem co się dzieje.

Zacznijmy od tego, że wgrałem do swojego projektu system walki w czasie rzeczywistym z tej strony http://www.ultimateam.pl/viewtopic.php?t=2072

Następnie zacząłem się nim bawić i... nie wiem czy ja coś źle wpisuje czy nie, ale niektóre komendy mi działają, a niektóre nie.

Lista komend w skrypcie to

By stworzyć przeciwnika, umieść poniższe komentarze w zdarzeniach na mapie.

# Enemy ID - Zmień ID na ID potwora widniejącego w bazie danych;
# Die Erase - Usuń przeciwnika, gdy został pokonany;
# Die Self Switch A - Włącza Self Switch A, gdy przeciwnik został pokonany;
# Die Self Switch B - Włącza Self Switch B, gdy przeciwnik został pokonany;
# Die Self Switch C - Włącza Self Switch C, gdy przeciwnik został pokonany;
# Die Self Switch D -Włącza Self Switch D, gdy przeciwnik został pokonany;
# Die Self Switch X - Włącza Switch X, gdy przeciwnik został pokonany;
# Die Variable X - Zwiększa Zmianną X o +1;
# Follow X - Zmień X na zasięg wzroku przeciwników.
# Kill With Weapon X - Przeciwnik zginie zaatakowany tylko z broni X
# Kill With Skill X - Przeciwnik zginie zaatakowany tylko z umiejętności X
# Kill With Item X - Przeciwnik zginie zaatakowany tylko przedmiotem X
# Divide EXP - Dzieli po równo zdobyte doświadczenie wszystkim członkom drużyny
# Object - Przeciwnik staje się obiektem 'nieśmiertelnym'.
# Puzzle - Przeciwnik może zostać zabity, ale bohaterowie za nim nie podążają. Ponadto nie wyświetlają się jego paski życia i magii.
# Boss - Pokazuje pasek życia bosa.


Tak, bo chodzi tylko o tworzenie przeciwników. Załóżmy teraz, że chciałem, aby postać pojawiła się, albo raczej event się włączył po zabiciu 13 przeciwników. Więc daję do nich komendę, aby zmienne dodały się, w każdym po jednym i... to nie działa. Próbowałem to wpisywać na wszystkie sposoby, nie wiem o co chodzi. Tak samo jest, gdy na przykład chcę włączyć dźwignię "A". Również to samo, ale jeżeli chodzi o ustawienia "Enemy" itp do samego bicia, to jest ok. Proszę, powiedzcie jak mam wpisywać komendy "Die Variable" "Die Self Swich" itp. aby ten skrypt je czytał.

Przykładowy skrypt, który nie działa

Die Variable duch - nie działa, a powinno dodać zmienną +1
Die Enemy 2 - działa
Die Erase - również działa

Niech ktoś rozpracuje za mnie ten system, bo ja już nie mogę ;c najwyżej pobawię się jeszcze jutro. Z góry dzięki za pomoc.


RE: Nie działają mi komendy z ABS - Ayene - 12-04-15 00:47

Kokiel napisał(a):Die Variable duch - nie działa, a powinno dodać zmienną +1
Bo powinno być:
Kod:
Die Variable NR_ZMIENNEJ
np. w poniższym przykładzie zwiększona o 1 będzie zmienna nr 5.
Kod:
Die Variable 5



RE: Nie działają mi komendy z ABS - Kokiel - 12-04-15 11:29

Być może źle wpisuje nadal te zmienne, bo źle to rozumiem. Jeżeli ustawiłem np. zmienną 0002:duch, to powinno być "Die variable 2" żeby dodało zmienną? wpisuje tak, i nadal nic. Możesz mi powiedzieć jak czytać te zmienne, w sensie jak wiedzieć jaki numer wpisać jeżeli ja to robię źle?

Wpisywałem również "Die variable 0002", "Die variable 0002:duch" i nic nie działało.

A może trzeba inaczej ustawić to w ewencie, który ma się włączyć, kiedy będzie miał określoną liczbę zmiennych, bo ja wklepałem tam to normalnie po lewej zaznaczając variables i ustawiając liczbę.


RE: Nie działają mi komendy z ABS - Ayene - 12-04-15 12:05

OK, już rozumiem w czym rzecz. Skrypt nie przewiduje sytuacji, gdy w jednym zdarzeniu będzie zarówno usunięcie zdarzenia, jak i zmiana przełącznika / zmiennej. Więc trzeba fragment (od ok. 1130):
Kod:
elsif @switch > 0 and
        if $game_switches[@switch] == false
          $game_switches[@switch] = true
        elsif $game_switches[@switch] == true
          $game_switches[@switch] = false
        end
    elsif @variable > 0      
      $game_variables[@variable] += 1
    end
zmienić na:
Kod:
end
    if @switch > 0
       $game_switches[@switch] = !$game_switches[@switch]
    end
    if @variable > 0      
      $game_variables[@variable] += 1
    end
Tylko się nie pomyl z linijkami :aww:


RE: Nie działają mi komendy z ABS - Kokiel - 12-04-15 13:57

Ok, sytuacja po zmianie wygląda tak. Gdy pisze się "Die Erase" nadal nie działa, jednak gdy ustawi się

Die Enemy X
Die Follow X
DIE SELF SWICH A!
Die Variable X

To postać i tak znika i się nie odraza, a zmienna poprawnie się dodaje, więc niby problem został zażegnany, gdyż po przełączeniu się dźwigni, na puste pole, jak wiadomo w rpg makerze zdarzenie znika.

A przy okazji, mogę ci zgłosić baga, bo widzę, że to ty pracowałaś przy tym ABS'ie. Czasem, gdy zabije się potwora postać idzie cały czas w prawo. Sprawdziłem, czy to przez to, że coś źle napisałem, ale po restarcie zabijam go znów i błąd się nie powtarza, także warto chyba trochę ten system zaktualizować, bo jest bardzo fajny i łatwo się go ogarnia, a nie tylko ja mogę mieć z nim takie problemy.

W każdym razie BARDZO dziękuję za pomoc, bo sam bym na to nie wpadł ;D.