Bedziom Opublikowano 25 Lipca 2012 Udostępnij Opublikowano 25 Lipca 2012 A co, też se zrobię zbiór! 1. Robię dla bota trzy punkty orientacyjne, do których ma podchodzić. Gdy już podejdzie do któregoś, ma sobie z pozostałych wybrać jeden i do niego iść. Kod w kolizji jednego z takich punktów z botem: GML if kol=0 {kol=1 alarm[0]=1*room_speed // tam jest po prostu "kol=0" other.cel=choose(1,2) A w bocie w Step: GML if cel=1 {mp_potential_step(cel1.x,cel1.y,4,0) // etc z każdym celem</span> Problem jest taki, że bot nie idzie do przykładowego cel1, tylko się zatrzymuje przy poprzednim i już tak stoi. Gdzie tu błąd? 2. Czy jak robię path to mogę ustawić w obiekcie, który się po nim porusza, aby gdy coś mu stoi na przeszkodzie, ominął taki obiekt i potem wrócił do patha? Jeśli tak, to jak? Ofc napiszę później więcej pytań. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 25 Lipca 2012 Udostępnij Opublikowano 25 Lipca 2012 1. Spróbuj może po mp_potential_step dać cel =-1. Możliwe że się zacina bo ciągle każesz mu zaczynać wędrówkę. ;P 2. Chyba nie ścieżka to ścieżka jak przerwiesz ją to nie możesz jej kontunuować ale nie jestem tego pewien. ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Lipca 2012 Udostępnij Opublikowano 25 Lipca 2012 2. Chyba nie ścieżka to ścieżka jak przerwiesz ją to nie możesz jej kontunuować ale nie jestem tego pewien. ;P Można wznawiać ścieżki. O tak: GML position = path_positionprevious; path_start( jakis_path, speed, endaction, absolute ); path_position = position; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 25 Lipca 2012 Udostępnij Opublikowano 25 Lipca 2012 Co do 1 Zapamiętuj id waypointa i jeżeli wylosuje się w następnym losowaniu powtórz je. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 26 Lipca 2012 Administratorzy Udostępnij Opublikowano 26 Lipca 2012 Skoro są 3 punkty, czemu losuje 2? I czemu cel1 nie ma zmienianej wartości? Poza tym, 1 i 2 to nie są ID obiektów do których można iść, te zaczynają się od większych liczb... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 26 Lipca 2012 Autor Udostępnij Opublikowano 26 Lipca 2012 @up bo po co ma w punkcie trzecim losować punkt trzeci? cel1 to obiekt, cel to zmienna @Uzjel ok, spróbuję. @Huder dzięki. @Lechu no nie wiem, ale jeszcze sprawdzę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 26 Lipca 2012 Udostępnij Opublikowano 26 Lipca 2012 kolizja z obj_cel (wystarczy jeden obiekt, nie musisz miec cel1,cel2,cel3,cel4 itd) GML if(kol==0){ while(other.cel==id){ other.cel=instance_find(obj_cel,irandom(instance_number(obj_cel)-1)) } kol=1 alarm[0]=30 } with(other){ move_toward_point(cel.x,cel.y,3) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 26 Lipca 2012 Autor Udostępnij Opublikowano 26 Lipca 2012 Nie działa, i tak stają w miejscu :C Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 26 Lipca 2012 Udostępnij Opublikowano 26 Lipca 2012 https://gmclan.org/up7221_12_for_bedziom.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 26 Lipca 2012 Autor Udostępnij Opublikowano 26 Lipca 2012 Nie kumam, w Twoim przykładzie działa, a u mnie - nie, a wkleiłem to samo, poza zmianą move_towards_point na mp_potential_step. Ew. jak zmieniłem na to move_... to dalej się zacina, aczkolwiek wtedy lata z obracaniem się na wszystkie strony. Na debugu odpaliłem i x, y i hspeed mu cały czas lata. Żadna inna akcja w tym oWrog nie korzysta ze zmiennej cel, nie ma jej też żaden inny obiekt. Dafaq? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 7 Sierpnia 2012 Autor Udostępnij Opublikowano 7 Sierpnia 2012 O, siema znowu. Mam akcję, że gracz spawnuje samolot, który w odległości 48px od niegp ma zrzucić spadochron. Samolot normalnie przelatuje przez planszę nad graczem, ale cholernego spadochronu nie zrzuca. Create: GML direction=point_direction(x,y,o_playah.x,o_playah.y) speed=16 alarm[0]=0.5*room_speed // tam jest to samo, co w pierwszej linijce</span> Step: GML if distance_to_object(o_playah)=48 {instance_create(x,y,oParachute)} if distance_to_object(o_playah)=1500 {indes()} // instance_destroy()</span> Why? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 7 Sierpnia 2012 Udostępnij Opublikowano 7 Sierpnia 2012 Zamiast znaku równa się daj <=. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 7 Sierpnia 2012 Autor Udostępnij Opublikowano 7 Sierpnia 2012 Ok, danke schön. 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ę