Morro Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 Nie potrafię za cholerę zrobić dobrze to, żeby: Mob po zobaczeniu biegł do mnie (ciągle collision line jest false bo nic mu nie przerywa) ale jeśli znikne mu z oczu (collision line jet true, bo weszłem za jakąś ścianę) gonił mnie przez np. sekundę po czym rezygnował. Doszłem do czegoś takiego ale to jest stek bzdur ale komuś może pomoże w zrozumieniu. GML //STEP if collision_line(enemx,enemy,o_herohead.x,o_herohead.y,o_wall,false,false) widzi=0 else widzi=1 if niewidzi=1 if widzi = 1 goni=1 if niewidzi=0 { if collision_line(enemx,enemy,o_herohead.x,o_herohead.y,o_wall,false,true) niewidzi=1 widzi=0 alarm[1]=5 } if goni=1 mp_potential_step(o_herohead.x,o_herohead.y,spd-slow,1); //ALARM if niewidzi=1 { goni=0 niewidzi=0 } else alarm[1]=150 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hudy0070 Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 GML if collision_line(enemy.x,enemy.y,hero.x,hero.y,o_wall,1,1) { niewidzi = 1; widzi = 0; goni = 0; } else { niewidzi = 0; widzi = 1; goni = 1; } if goni=1 mp_potential_step(hero.x,hero.y,4,1); a alarm[0] zostaw jak jest Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 jak przypisujesz te zmienne enemx i enemy? według mnie powinno być tak: GML [create] widzi = false goni = false [step] if ( collision_line( x, y, o_herohead.x, o_herohead.y, o_wall, false, false ) > 0 ) widzi = false else widzi = true if ( widzi == true ) goni = true if ( goni == true ) { mp_potential_step( o_herohead.x, o_herohead.y, 3, false ) if ( widzi = false ) if ( alarm[ 0 ] = -1 ) alarm[ 0 ] = room_speed //1sek } [Alarm0] goni = false Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Morro Opublikowano 19 Kwietnia 2009 Autor Udostępnij Opublikowano 19 Kwietnia 2009 te zmienne są tak if instance_exists(o_enemy1) { enemx=self.x enemy=self.y } ale ten twój sposób nie trybi bo gonią w nieskończoność a hudego nie przestaje gonić po czasie tylko momentalnie gdy straci z oczu EDIT: Moja skucha - alarm dałem zamiast 1 to 0 i dlatego nie stopował EDIT 2 : działa jak należy , DZIĘKI Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 Ty pomyliłeś cyferki, a ja tu główkuje co może być nie tak :P Osz TY! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 Przeczytałem: "Golenie" ;d A ja nie wiem co jest z tym collision_line bo on tu ma ze if collision_line[...] samo a przeciez chyba trzeba dać noone? Mi ktos kiedys powiedzial ze trzeba noone albo !noone jak sie chce collision_line i inne sprawdzic bo na false i true nie działa.. to czemu jemu działa? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 a czy ja sprawdzam false/true? collision_line zwraca id obiektu, więc sprawdzam czy wartość jest > 0 bo w innym przypadku wynosiła by -4, czyli Twoje noone W sumie jeden pies. 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ę