karolo320 Opublikowano 9 Maja 2011 Udostępnij Opublikowano 9 Maja 2011 Siema. W step obiektu "sciezka" mam taki kodzik: GML droga=mp_grid_path(global.lol,pt,630,54,qniec.x,qniec.y,true) if droga=0{ with(global.ostatni){instance_destroy()} mp_grid_clear_all(global.lol) mp_grid_add_instances(global.lol,wieza,false) show_message('Nie znaleziono drogi') } No i teraz jeżeli nie wyszukało drogi to ma wywalić ostatnio postawiony obiekt (ten, przez który nie wyszukuje scieżki), potem wyczyścić patha i uzupełnić go od nowa, i wyświetlić ładne info. Ale teraz stawiam gościa przecinającego patha i najpierw wywala message (a ten ostatni jeszcze stoi co według mnie nie powinno mieć miejsca) klikam ok i znów wywala message, ale tym razem ostatnia wieża jest już wywalona. I teraz moje pytanie: dlaczego wywala message 2 razy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 9 Maja 2011 Udostępnij Opublikowano 9 Maja 2011 Według mnie wiadomość powinna pojawić się raz, może gdzieś masz podwójną linijkę z tym samym kodem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 9 Maja 2011 Autor Udostępnij Opublikowano 9 Maja 2011 No właśnie nie, pomyśle jutro. A czy tabelki (wiadomości) nie powinno wywalić już po wywaleniu tego global.ostatni? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 9 Maja 2011 Udostępnij Opublikowano 9 Maja 2011 Obiektu nie powinno już być, po pokazaniu się wiadomości. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 9 Maja 2011 Udostępnij Opublikowano 9 Maja 2011 GML droga=mp_grid_path(global.lol,pt,630,54,qniec.x,qniec.y,true) if droga=0{ with(global.ostatni){instance_destroy()} mp_grid_clear_all(global.lol) mp_grid_add_instances(global.lol,wieza,false) show_message('Nie znaleziono drogi') } To jest kompletnie nieoptymalne. Po co usuwać wszystkie komórki siatki i od nowa je dodawać, skoro można użyć mp_grid_clear(global.lol,kom_x,kom_y)? mp_grid_clear i mp_grid_add nie czyści/uzupełnia patha, a jedynie tworzy mapę przeszkód, które path ma omijać. Ta podwójnie wyświetlana wiadomość może mieć coś wspólnego z pewnego rodzaju bugiem w GM-ie (nie znam jego natury, trzeba się powołać na bardziej doświadczonych). Zdarzało mi się tak np. gdy źle używałem funkcji real()/string(). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 10 Maja 2011 Autor Udostępnij Opublikowano 10 Maja 2011 mp_grid_clear_cell(global.lol,global.ostatni.x div 16,global.ostatni.y div 16) tak? bo w ogóle nie czyści tej komórki, a wielkość komórek to 16 mp_grid_clear i mp_grid_add nie czyści/uzupełnia patha, a jedynie tworzy mapę przeszkód, które path ma omijać. Wiem, miało być czyści,uzupełnia siateczkę. E: Juz dziala. Rozwiązaniem było mp_grid_clear_rectangle(global.lol,x-8,y-8,x+8,y+8) bo wiezyczka miała rozmier 32x32, a komórka w gridzie 16x16 E2: I po zmienieniu kodu z usuwająco wszystko a potem zapisaniu od nowa na kasujący pojedyncze komórki przestał pojawiać się bug z podwójną tabelką Pozdro! ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 11 Maja 2011 Autor Udostępnij Opublikowano 11 Maja 2011 piszem next post bo next problem ;d Muuuuuczek-sensei! W Twoim przykładzie znajdowaniedrogimoje.gmk jak zrobić, że mobki ładnie będą patrzeć sięprzed siebie? Bo zrobiłem w stepie GML image_angle=point_direction(xprevious,yprevious,x,y) i nic sie nie dzieje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 11 Maja 2011 Udostępnij Opublikowano 11 Maja 2011 Bo jeśli mobek stoi to xprebious i yprevious będą takie same jak x i y? Czy to nie jest logiczne? Masz 2 wyjścia. Albo skorzystać z langhdirów, albo zapisywać do zmiennej poprzednią pozycję jeśli nie jest taka sama a npc się rusza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 11 Maja 2011 Autor Udostępnij Opublikowano 11 Maja 2011 mobek rusza się nieustannie :) I próowałem z lengtdirami, ale nie wiem jak to zrobić... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 11 Maja 2011 Udostępnij Opublikowano 11 Maja 2011 Z tego co pamiętam to chyba wystarczy: GML image_angle = direction Jeśli używasz jakiejś gmowej funkcji która kontroluje ruch npc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 11 Maja 2011 Autor Udostępnij Opublikowano 11 Maja 2011 tak :D ale jak wyliczyć direction jeżeli obiekt porusza się po pathu? bo jak zrobie point_dir(popszedni,teraz) to nie działa(stoją w prawo) E: Pomoże ktoś? Bo głupio to wygląda, a nie potrafię tego zrobić. 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ę