MXQ Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Cześć! Mam malutki problem, otóż w moim RTS-ie obiekt podąża za zmienną "TargetX" i "TargetY". I co zrobić żeby zatrzymywał się w kratce, no nie wiem np. 24x24? Dodatkowo jak stoi tam inny obiekt to ten co tam idzie pójdzie na pole 24x24 obok? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Zmienne kratki docelowej powinny być przybliżone do wielokrotności 24. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 jak tak przybliżyć? prosiłbym o kod Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Masz to w FAQ, ale : GML x=x div 24 y=y div 24 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 nie działa ;\ jakby co mam 7 PRO ludzik idzie do x24 i do y24 w roomie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Ale wywala błąd? Bo jeśli tak to spróbuj zamiast div dać mod, lub modulo, nie pamiętam dokładnie jak było reszta z dzielenia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 sry x i y ludzika jest równe "x i y/24" po prostu dzieli się przez 24 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 A nie reszcie z dzielenia? Bo jeśli tak to tylko pomnożyć przez coś i może wyjdzie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 @up tylko przez co pomnożyć :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Muszę trochę pomyśleć ;) E:Spróbuj przez x/y. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 TargetX = floor(mouse_x/24)*24; Analogicznie do TargetY Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 @up nie działa ;\ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Nie ma szans żeby działało, najpierw podzieliłeś przez 24, potem pomnożyłeś, a na koniec zaokrągliłeś do całości w dół, z czego dwa pierwsze się znoszą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 to ja już nie wiem jak, ale to mi jest mega potrzebne :crying: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 To trzeba pomyśleć jeszcze raz. :thumbsup: E: A co Ci wychodzi jeśli GML TargetX=x div 24*x? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 wiesz to ja tu pytam a wy odpowiadacie ;) @up ludzik idzie wtedy gdzieś tam na dół ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Czyli nie działa? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 nie :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Już wiem zamiast ostatniego x, daj 24, bo wtedy pomnoży resztę z dzielenia x\24 przez 24. E: Przykład, 50\24= 2 r.2 2*24=48 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 teraz ludzix po prostu ustawia się na grid, ale nie idzie do targetu :( @edit: MEGA THX!!! już wszystko OK! Teraz tylko potrzebuje kodu, który sprawi, że jeśli na tym klocku do którego idzie jest inny koleś to ten obiekt idze do najbliższego pustego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Czyli jak źle czy dobrze? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 Teraz ok :thumbsup: Teraz tylko potrzebuje kodu, który sprawi, że jeśli na tym klocku do którego idzie jest inny koleś to ten obiekt idze do najbliższego pustego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 A do najbliższego pustego ma pójść obiekt, który idzie, czy ten co już stoi? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 ten co idzie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 Czyli po prost mija ten obiekt i ustawia się za nim? Bo jeśli tak to wystarczy dodać 24 do x, bądź y. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 tak tylko w losowy kierunek i robi tą czynność zanim tam dojdzie, żeby nie szedł do tego ludzika a potem się wracał na puste pole. Dodatkowo naokoło tego obiektu mogą już stać inni kolesie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 A może być tak, że najpierw sprawdza czy po lewej ma wolne, jeśli tak to wchodzi tam, a jeśli nie to sprawdza czy ma wolne u góry itd, czy musi być losowo, że nie wiadomo gdzie pójdzie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 najlepiej byłoby losowo Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 18 Stycznia 2011 Udostępnij Opublikowano 18 Stycznia 2011 To trzeba by zrobić tak: 1.Sprawdzić czy pole jest wolne. 2a.Jeśli tak pójść tam. 2b.Jeśli nie sprawdzić wszystkie strony dookoła zajętego. 3.Z pośród wolnych wylosować tą w którą chce się pójść. 4. I tam pójść. W edicie dam kod. GML if place_free(TargetX,TargetY) { //kod na dojście } else { if place_free(TargetX+24,TargetY) { lewo=1 } //itd. if lewo=1 and prawo=1 and gora=1 and dol=1 dir=choose(90,270,180,0) if lewo=1 and prawo=1 and gora=1 and dol!=1 dir=choose(90,180,0) //itd.</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 18 Stycznia 2011 Autor Udostępnij Opublikowano 18 Stycznia 2011 @up problem w tym, że kiedy idzie na te puste pole może tam stać inny koleś oraz też chodziło mi bardziej żeby gdy w tej samej kolejności idą do targetu kilka obiektów to żeby od razu wykryły gdzie iść (na puste pola) 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ę