LolikZabijaka Opublikowano 8 Maja 2008 Udostępnij Opublikowano 8 Maja 2008 Siema chcę alby ktoś pomógł mi w : -stworzeniu obiektu Niemca patrolującego las (chcę żeby chodził i zawracał o 180 stopni) -gdy patrolujący Niemiec zobaczy Mnie w promieniu 200 pixeli rozpocznie pościg za mną i zacznie do mnie strzelać) - żeby za każdym razem Niemiec zawracał kilka pikseli od końca ekranu (rooma) -aby moi sprzymierzeńcy podążali w stronę obiekty Niemca i nieudolnie lub udolnie próbowali zabić Niemcą (on ich też) -żeby i Niemcy i moi sprzymierzeńcy płynnie obracali się przy każdej zmianie kierunku :) jeśli można prosił bym o jakiś przykład takiej inteligencji. Za pomoc z góry dzięki i dam creditsy :D Zły dział. I to już nie pierwszy raz. Yoda Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 8 Maja 2008 Udostępnij Opublikowano 8 Maja 2008 1. If x >= ileśtam { direction = 0; speed = 4; } else { if x <= ileśtam { direction = 180; speed = 4; } } 2. If distance_to_object(obj_bohater) <= 200 { point_direction(obj_boh.x,obj_boh.y) speed = 4; } 3. WTF? 4. Nie rozumiem 5. Też nie rozumiem I dlaczego w Zaawansowanych. Btw, dałem ci taki kod, bo nie podałeś rzutu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabijaka Opublikowano 8 Maja 2008 Autor Udostępnij Opublikowano 8 Maja 2008 jest to perspektywa od góry Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 8 Maja 2008 Udostępnij Opublikowano 8 Maja 2008 -żeby i Niemcy i moi sprzymierzeńcy płynnie obracali się przy każdej zmianie kierunku smile.gif 1. If x >= ileśtam { direction = 0; speed = 4; } else { direction = 180; speed = 4; } Ale super płynność xD. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 9 Maja 2008 Udostępnij Opublikowano 9 Maja 2008 aby moi sprzymierzeńcy podążali w stronę obiekty Niemca i nieudolnie lub udolnie próbowali zabić Niemcą (on ich też) Step obj_sprzymierzeniec GML cel=instance_nearest(x,y,obj_niemiec); if (distance_to_object(x,y,cel)<=jakaś tam odległość) { alarm[1]="jakis tam czas"; } Wstawiasz klocka Step Avoiding x: cel.x y: cel.y speed: jakaś tam predlkość Alarm1 obj_sprzymierzeniec GML czy_trafi=random(100); // prawdopodobieństwo trafienia if (czy_trafi<50) { pudło(); } alarm[1]=jakis tam czas; else if (czy_trafi>=50)&&(czy_trafi<90) { celny_strzał(); cel.life=cel.life-round(random(jakiaś wartość życia)); alarm[1]=jakis tam czas; } else if (czy_trafi>=90) { head_shoot(); instance_destroy(cel); } Dla niemca podobnie Nie testowałem ale powinno działać ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 9 Maja 2008 Udostępnij Opublikowano 9 Maja 2008 Harv: Potwierdza się moja teoria, że umiesz mniej niż w toalecie. Co to ma być na pierwszym '-.- Wiesz, co ten kod zrobi? W takiej formie, jak jest teraz będzie szedł w prawo do usra*** śmierci, jeśli byś zamiast ">" dał "<" to by drgał w miejscu <_< Nie będzeimy ci pisać takiego kodu. Lepiej wyjaśnię kilka funkcji... GML direction = 7; //wartość od 0 do 360. Oznacza kąt bohatera. 0 jest w prawo - inne wartości sprawdź se sam :) speed = 4; //prędkość bohatera. Ile pixeli na klatkę pokonuje... sprawdź se... image_angle = 0; //kod odpowiada za ustawienie sprita. Wartości jak w direction I to w sumie wszystko. Zmienne chyba znasz <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 9 Maja 2008 Udostępnij Opublikowano 9 Maja 2008 No co, nie można sie pomylić już? Lol, poprawiłem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 9 Maja 2008 Udostępnij Opublikowano 9 Maja 2008 kod odpowiada za ustawienie sprita. Chyba za kąt obrotu. Jak już. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabijaka Opublikowano 9 Maja 2008 Autor Udostępnij Opublikowano 9 Maja 2008 a mogę prosić o przykład bo nie mam pojęcia co jak i gdzie w tym kodzie :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Opisek Opublikowano 1 Grudnia 2013 Udostępnij Opublikowano 1 Grudnia 2013 Dołączam się do pytania, też mi to jest potrzebne, ale tylko skrypt strzelania do gracza, gdy jest w jakiejś odległości. Ten if: GML if (distance_to_object(x,y,cel)<=100) nie działa, więc nie mogę dalej robić, chociaż dalej to łatwo: Istance create dla kamienia, pocisku (czy czegoś tam). I lot pocisku w stronę gracza. No więc proszę o tego naprawionego ifa, lub podpowiedź jak go zrobić. ------------- Odkryłem w czym problem. Dla dociekliwych powinno być: GML if distance_to_object(o_bohater)<=100 { alarm[0]=5; } (Przynajmniej u mnie działa) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Grudnia 2013 Udostępnij Opublikowano 1 Grudnia 2013 jak masz pytanie, nowy kolego, to zrób nowego posta, bo nekrofilia to nieprzyjemny społecznie czyn ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 1 Grudnia 2013 Udostępnij Opublikowano 1 Grudnia 2013 patrol mozesz zrobic trzeba tak GML Information about object: o_enemy Sprite: sprite1 Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: // start _x1=50; _x2=50; // end _y1=100; _y2=150; // direction _ruch=1; // speed _spd=3 Step Event: execute code: if (_ruch==0) {/*stoji na miesjscu, mozna dac jakis kod*/}; else if (_ruch==1) { // ruch do x2,y2 x+=_spd*(x<_x2); y+=_spd*(y<_y2); //jesli dotarl do x2,y2 zmien kierunek ruchu do x1,y1 if ((x>=_x2) && (y>=_y2) ) { _ruch=-_ruch; }; } else if (_ruch==-1) { // ruch do x1,y1 x-=_spd*(x>_x1); y-=_spd*(y>_y1); //jesli dotarl do x1,y1 zmien kierunek ruchu do x2,y2 if ((x<=_x1) && (y<=_y1) ) { _ruch=-_ruch; }; }; fajne je to ze mozesz kierowac traso zmienajoc x1, y1 a x2, y2, lub zatrzymac niemca jak ma podejrzenie :D by sie mogl rozglodac( fajne by poszerzyl mu sie zasieg detekcji kdy stoji) jesli instancja jest mimo droge patrolu to sama jodzie najkrotso traso na trase jest maly minus jesli _spd jest napr 3, trasa na x1 x2 na 50 a instancja na 52 to w stepu instancja jest na 49 a nie 50. jezeli to vazne bezdie trza poprawka :) cos w stylu GML if (_ruch==0) {/*stoji na miesjscu, mozna dac jakis kod*/}; else if (_ruch==1) { // ruch do x2,y2 x+=_spd*(x<_x2); y+=_spd*(y<_y2); //jesli dotarl do x2,y2 zmien kierunek ruchu do x1,y1 if ((x>=_x2) && (y>=_y2) ) { _ruch=-_ruch; x=_x2; // dokladnosc trasy na 1 pix y=_y2; }; } else if (_ruch==-1) { // ruch do x1,y1 x-=_spd*(x>_x1); y-=_spd*(y>_y1); //jesli dotarl do x1,y1 zmien kierunek ruchu do x2,y2 if ((x<=_x1) && (y<=_y1) ) { _ruch=-_ruch; x=_x1; y=_y1; }; }; ale mozliwosci jest duzo 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ę