Skocz do zawartości

Jak zrobic Sztuczna Inteligencje do GM 5.0?


Gość members_display_name

Rekomendowane odpowiedzi

Gość Ksiaze Kukurydzy

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...