Penguin Opublikowano 7 Marca 2016 Udostępnij Opublikowano 7 Marca 2016 Witam, mam kolejny problemik z GM'em. Potrzebuję jakiegoś kodu, do anulowania aktywnej akcji, aby nie mieszała się z drugą Jest jeden obiekt, który ma iść atakować dwa obiekty. np: Gdy obiekt ma iść do drugiego obiektu, aby go zniszczyć, obiekt idzie do następnego obiektu, a nie może, bo na początku pierwszej akcji siła(szybkość) była wyższa, nie mogę coś zrobić, aby gdy już obiektu, który został zniszczony, akcja została anulowana, i aby wtedy obiekt szedł w stronę drugiego objektuu obiektu. Za przeczytanie dzięki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 7 Marca 2016 Udostępnij Opublikowano 7 Marca 2016 A jaki teraz masz kod? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Penguin Opublikowano 7 Marca 2016 Autor Udostępnij Opublikowano 7 Marca 2016 Mogę szczerze mówić? No dobra, na razie nie mam żadnego :( . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 7 Marca 2016 Udostępnij Opublikowano 7 Marca 2016 Musisz chyba dokładniej opisać swój problem. I zastanów się czy mówisz o dwóch instancjach czy obiektach, bo to też ma znaczenie. Spróbuj też napisać jakiś pseudokod jak nie wiesz jak to napisać w GMLu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Penguin Opublikowano 7 Marca 2016 Autor Udostępnij Opublikowano 7 Marca 2016 No nie, nie, nie, nie. O dwóch Wydarzeniach C: Jedno się mixuje z drugim Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 7 Marca 2016 Udostępnij Opublikowano 7 Marca 2016 Hm, jeśli wiem o co Ci chodzi, to wystarczy Ci zrobić zmienną kontrolującą. A drugą bardzo ważną rzeczą, jest kolejność wykonywania kodu (begin step, step, end step). Czyli coś takiego, że masz zmienną CO_ROBI. I ustawiasz np. na 1, jeśli teraz idzie atakować wroga. I to jest najważniejsza rzecz. Więc nie ważne co się dzieje, on atakuje wroga. A w czymś innym sprawdzasz co robi przed akcją (czyli if!(CO_ROBI==1)) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 7 Marca 2016 Udostępnij Opublikowano 7 Marca 2016 Musisz zrobić system kolejkowania akcji. Każda gra, w której możesz dawać postaci do wykonania kilka akcji pod rząd ma taki. Ogólnie wygląda to tak, że masz strukturę danych, w której zapisujesz różne dane nt. akcji (np. dla akcji "atakuj wroga" powinieneś podać ID tego wroga). Postać wykonuje akcje po kolei, czyli od akcji podanej najwcześniej do akcji podanej najpóźniej. Najważniejsza część polega na tym, że pewne zdarzenia (np. wróg ginie, zanim postać zacznie wykonywanie akcji, albo postać ma za mało punktów ruchu, aby zaatakować wroga, coś w tym stylu) powinny powodować usunięcie danej akcji z tej struktury, przez co postać nie będzie jej wykonywać. To nie jest prosta rzecz do zrobienia. GM ma do dyspozycji parę prostych struktur (przydatnymi będą ds_queue i ds_grid), ale jak te struktury będą działać, zależy tylko i wyłącznie od programisty, bo to on decyduje, jakie akcje mogą zostać w grze wykonane. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się