Makary155 Opublikowano 15 Kwietnia 2010 Udostępnij Opublikowano 15 Kwietnia 2010 W mojej grze zbudowałem sobie system Ai na zasadzie kolejek. Jak to działa? Tworzę sobie ds_stack i listuję sobie specjalnie przygotowane skrypty czynności, np Move(x,y) a w nim GML move_towards_point(argument0,argument1, 5) if x=argument0 and y=argument1 { return 1 } else { return 0 } jeżeli skrypt zwróci 1 to jest usuwany z listy i wykonywany następny, jeżeli 0 to wykonuje się znowu. mogę tak uzyskać patrolowanie dowolnego kształtu jak w takim systemie mogę zaimplementować aktywną pauzę, że moge pododawać jednostkom rozkazów do kolejki, ale one same zaczną je wykonywać dopiero gdy wyłącze pauzę? Creditsy gwarantowane. edit: nie wiem jak to zrobił Marek, nawet nie widziałem jego przykładu o programowaniu ruchu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Kwietnia 2010 Udostępnij Opublikowano 15 Kwietnia 2010 zgaduję że zwracanie 0 oznacza że ma nadal wykonywać dany skrypt, a 1 że może przejść do kolejnego zadania? GML if( global.pause ) return 0 // zwróci 0 czyli wciąż ma wykonywać ten skrypt ale w rzeczy samej akcji nie wykona, czyli jest pauza move_towards_point(argument0,argument1, 5) if x=argument0 and y=argument1 { return 1 } else { return 0 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 15 Kwietnia 2010 Autor Udostępnij Opublikowano 15 Kwietnia 2010 No tak, zapomniałem że użycie returna kończy działanie skryptu xd, dzięki Psych. 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ę