Gość Ksiaze Kukurydzy Opublikowano 13 Maja 2005 Udostępnij Opublikowano 13 Maja 2005 Jak zrobic Sztuczna Inteligencje do GM 5.0? Chce zrobic bijatyke ze jak wrog do mnie podejdzie to uderzy (najlepiej losowym ciosem) ? Jak zrobic zebym ja go uderzyl (mam ze jak nacisne jakis przycisk to on sie zmienia np. na 300 minisekund) ? Jak zrobic pasek energii? Jak zrobic zeby po uderzeniu wrogowi odbieralo z paska energi? :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 13 Maja 2005 Udostępnij Opublikowano 13 Maja 2005 Wiesz, AI to trochę algorytmów itp jednak, więc nie jest to takie proste, a co do paska energii: https://gmclan.org/index.php?plik=65 https://gmclan.org/index.php?plik=42 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ajot Opublikowano 14 Maja 2005 Udostępnij Opublikowano 14 Maja 2005 Marmot, jeśli chodzi mu o takie AI jak napisał to bułka z masłem :P if ((distance_to_object(player)<=100) and (attackCan=true)) { actualAttack=round(random(global.liczbaCiosów)) // Losowanie ataku - Przykładowo, zmienna globalna LiczbaCiosów ma wartość 4 attackCan=false; // Zmiana wartości zmiennej alarm[0]=30; // Ustawienie alarmu 0 na 1 sekundę if (attackCan=false) { // Sprawdza czy atak został zadany, ponieważ przy każdym ataku zmienna attackCan= zmienia swoją wartośc na false. if (actualAttack=0) { sprite_index=attack1_spr; } // 0 ponieważ round(random) losuje liczby od 0 a nie 1 if (actualAttack=1) { sprite_index=attack2_spr; } if (actualAttack=2) { sprite_index=attack3_spr; } if (actualAttack=3) { sprite_index=attack4_spr; } if (actualAttack=4) { sprite_index=attack5_spr; } } speed=0; // Zatrzymanie się przeciwnika } Alarm[0] move_towards_pointplayer.x,player.y,1); // Podążanie za Graczem attackCan=true; // Zwrócenie Wartości zmiennej attackCan Tak więc mamy atak przeciwnika. Teraz Gracz : kolizja z obiektem Wróg if (wrog.actualAttack=0) { // Jeżeli zmienna actualAttack, w obiekcie wróg ma wartość... hp-=10; // tracisz życie speed=0; // postać się zatrzymuje sprite_index=playerHPLose1_spr; // Zmiana Sprite'a alarm[0]=20; // Ustawienie Alarmu moveCan=false; // Zmiana wartości zmiennej moveCan; } if (wrog.actualAttack=0) { hp-=10; speed=0; sprite_index=playerHPLose1_spr; alarm[0]=20; moveCan=false; } if (wrog.actualAttack=1) { hp-=5; speed=0; sprite_index=playerHPLose2_spr; alarm[0]=10; moveCan=false; } if (wrog.actualAttack=2) { hp-=50; speed=0; sprite_index=playerHPLose3_spr; alarm[0]=25; moveCan=false; } if (wrog.actualAttack=3) { hp-=10; speed=0; sprite_index=playerHPLose4_spr; alarm[0]=20; moveCan=false; } if (wrog.actualAttack=4) { hp-=10; speed=0; sprite_index=playerHPLose5_spr; alarm[0]=20; moveCan=false; } Alarm[0] moveCan=true; Teraz poszczególne eventy do chodzenia [ Dam tylko < i > ] Keyboard Check(Vk_Left) if (moveCan=true) { // jezeli zmienna Movecan jest prawdziwa x-=4; // Obiekt ma przesunąć się 4 pixele w lewo } Keyboard Check(Vk_Right) if (moveCan=true) { x+=4; } Teraz do wszystkich użytkowników - Kod był napisany tak... prosto, aby Książe Kukurydzy zdołał go w jakiś sposób zrozumieć.... oczywiście Ksąże, musisz wszystkie zmienne utworzyć w Create Obiektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 14 Maja 2005 Udostępnij Opublikowano 14 Maja 2005 No ładnie napisane, tylko czy książe to zrozumie. Ja bym proponował przejrzeć kilka przykładów z GMclanu lub z gamemaker.nl. Mogą pomuc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bruce Opublikowano 14 Maja 2005 Udostępnij Opublikowano 14 Maja 2005 no ładnie napisane jak bedzie mi sie chcialo zrobić przykład to może zrobie :D 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ę