Skocz do zawartości

Inteligencja przeciwników i walka w grze typu RPG


Syrius

Rekomendowane odpowiedzi

Chodzi ogólnie o to, że nie potrafięzrobić systemu walki w grze RPG.Jeżeli chodzi o samą walkeę(obrażenia) to umiem to zrobić, ale trzeba jeszcze dodać parowanie ciosów, pudło...Chyba najgorsze jest jednak z tą inteligencjąprzeciwników.Chyba nikt nie uwierzy, że wilk będzie stał nieruchomo..I nic nie robił..Dopiero jak gracz podejdzie na pole znajdujące się przy polu, na którym stoi wilk..Wilk będzie atakował..To byłoby beznadziejne..Proszę o pomoc! :crying: Już próbowałem jakoś to rozwiązać, ale nie wychodziło mi..Przeciwnik powinien podejść do bohatera omijając przeszkody i zadawać mu obrażenia..Najlepiej byłoby rozwiązać to w turach. :(

 

PROSZĘ O W MIARE SZYBKĄ ODPOWIEDŹ! :sp_ike:

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

A można wiedzieć czemu wziął się za RPG? Przecież do takich gier trzeba dużego doświadczenia z GML, bo inaczej, to przy każdym duperelu będziesz leciał i pytał na forum. :/ A widzę, że na GML znasz się bardzo mało jeśli nie w ogóle. Najpierw porób jakieś łatwiejsze gierki.

 

Poza tym znowu nie poszukałeś informacji przy pomocy wyszukiwarki forum. Wpisz point_distance i wyskoczy Ci wiele tematów. W niektórych jest opis jak robić by przeciwnik od pewnego dystansu od gracza coś robił.

 

A z tym wilkiem, to łatwizna. Dajesz w create:

alarm[0] = 30; //tak przykladowo

 

Potem w event alarm[0] dajesz:

alarm[0] = round( random( 100 ) ) + 30; //taki losowy czas ponownego wywowalania eventa alarm[0]

 

A dajesz to juz jakies akcje, np:

akcja = round( random( 5 ) ); //losujemy liczbe calkowita z przedzialu od 0 do 5

 

//struktura kontrolna switch (wiecej w helpie):

switch( akcja ) //zaleznie od wartosci zmiennej akcja podejmujemy wybor

{

case 0:

{

direction = 90;

speed = 5;

sprite_index = wilk_idzie_w_gore;

image_speed = 0.5;

break;

}

case 1:

{

direction = 270;

speed = 5;

sprite_index = wilk idzie_w_dol;

image_speed = 0.5;

break;

}

case 2:

...

tutaj uzupelniamy jak chcemy

...

case 5:

{

image_speed =0;

speed = 0; //wilk stoi

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Może się wydaje, że się nie znam..Ale coś umiem.Pare gierek już spod moich rąk wyszło.Tylko, że to było dobry rok temu(jeżeli nei dwa..).Teraz musze sobie wszystko poprzypominać..Ale to co mi mówisz pochodzi "lekko" z C++, a na tym sie trochu znam.GML jest bardzo podobny składnią do C++, tyle że według mnei dużo łatwiejszy..Pod względem tego, że łatwiej się robi akcje krótkie - nie trzeba tyle kodu pisać, np:

global.zdrowie_bohatera = 15;

A nie jakiś tam kawałek kodu, którego nie zaprezentuję.:0

Dzięki za ten kod..Na pewno mi się przyda. :thumbsup:

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ę...