MXQ Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 mam problem z moim RTS-em. Mianowicie obiekt idzie do celu "targex" i "targety" za pomocą move_towards_point. W step dałem skrypt odpychający inne jednostki wokół siebie(skrypt Alwina): GML _range=5 _dir=point_direction(x,y,other.x,other.y) _x=(x+other.x)/2 _y=(y+other.y)/2 x=_x-lengthdir_x(_range*2,_dir) y=_y-lengthdir_y(_range*2,_dir) other.x=_x+lengthdir_x(_range*2,_dir) other.y=_y+lengthdir_y(_range*2,_dir) oto problem: jak idzie do celu kilka zaznaczonych jednostek to te ludziki łazikowały wokół tego co doszedł do celu pierwszy i tylko teraz chodzi mi o to żeby się zatrzymywały wokół tego pierszego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Ja mam taki pomysł: 1. Sprawdzać czy targetx=x, a targety=y; 2. Jeśli tak to ustawić dwuwymiarową tablicę globalną, o polach x i y na 1; 3. W każdym obiekcie sprawdzać czy ta tablica o polach targetx i targety jest równa 1, jeśli tak speed=0, czy jak tam chcesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 mógłbym prosić o kod? nie bardzo rozumiem Twój pomysł Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 O.K. nie ma sprawy: 1 i 2. GML if targetx=x and targety=t { global.zajate[x,y]=id() } 3. GML if global.zajete[targetx,targety]!=0 { oder=global.zajete[targetx,targety] if ditance_to_object(x,y,oder)<10//tu jest błąd { targetx=x//zatrzyma się targety=y } } E: Może trochę inaczej, bo teraz zatrzyma się nawet jak jest daleko od celu, zaraz poprawię. E2: Jest tam jeden błąd, bo zapomniałem jaka była funkcja na odległość do obiektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 Error in code at line 1: if global.zajete[targetx,targety]!=0 at position 11: Unknown variable zajete or array index out of bounds Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Zaznacz w game global settings, w zakładce errors dolny tekst. E: Przy zmienianiu targeów daj: GML if global.zajete[x,y]=id() { global.zajete[x,y]=0 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 prawie dobrze, ale zanim ludziki się zatrzymają mija trochę za dużo czasu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Zwiększ liczbę przy tej linijce gdzie napisałem, że jest błąd na trochę większą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 Oo wielkie dzięki! 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ę