Skocz do zawartości

System walki


Koky

Rekomendowane odpowiedzi

Witam!

Mam pewien problem...Chcę zrobić system walki :) Lecz nie wiem jak się do tego zabrać.Prosze was o pomoc.

 

Mój system walki powinien mieć możliwości:

-Życie pierwszego oraz drugiego gracza.

-"Jeśli nacisne spacje , to strzała poleci do odpowiedniego przeciwnika i zabierze mu 20 health" (Nie wiedziałem jak to innaczej ująć ale można powiedzieć ,że animacja strzału i zabranie health)

-System "Hotkeys" czyli jeśli nacisne F1 to pojawi się animacja na moim bohatrze i doda pkt. health.

-"Jeśli przeciwnik umrze, zamien go na nieruchomy sprite." (Czyli poprostu zamiana przeciwnika w trupa.)

 

Wiem, że są to trudne zagadnienia i będą wymagały dużo pisania , ale tak jak mówiłem , sam nie dam rady i nie wiem jak sie do tego zabrać :(..(Musiał bym się uprzednio z pół roku uczyć C++..W zasadzie mam zamiar , ale dopiero po stworzeniu tej minigierki :])

 

Z góry dziękuje , jeśli ktoś czegoś nie zrozumie spróbuje wytłumaczyć szerzej :)

Pozdrawiam , Koky.

Odnośnik do komentarza
Udostępnij na innych stronach

:P

 

1.

GML (Create)
hp = 100;

 

//...teraz będziesz mógł odejmować i dodawać komuś punkty życia...

hp -= 10; //Odejmuje 10

hp += 50; //Dodaje 50

//I sprawdzenie wartości

if(hp >= 50)

{

//Ten kod wykona się tylko, jeśli będę miał minimum 50 życia

}

 

2.

GML (Step)
//Nie wiem do końca, o co Ci chodzi, ale coś takiego:

if(keyboard_check(vk_space))

{

ins = instance_create(x, y, obj_strzala); //Tworze strzałę, przypisuję jej id do zmiennej ins

ins.direction = point_direction(x, y, mouse_x, mouse_y); //point_direction() obliczą kąt od bohatera do myszy. Przypisuje ten kąt nowo utworzonej strzale

ins.speed = 5; //Predkosc strzaly

}

 

if(place_meeting(x, y, obj_strzala)) //Jesli koliduje ze strzala

{

hp -= 20;

}

 

3.

GML (Step)
//Znowu nie czaję dokładnie... :P

if(keyboard_check_pressed(vk_space)) //Jesli wciskam spacje, czy co tam chcesz...

{

hp += 1;

}

 

4.

GML (Step)
if(hp <= 0) //Jesli hp jestmneijsze lub owne zero...

{

sprite_index = spr_martwy; //Ustawiam sprite

image_speed = 0; //Ustawiam predkosc obrazka (wylaczam animacje)

}

 

Nie wiem do końca, o co ci chodziło z "strzała leci do odpowiedniego przeciwnika", także dałem do myszki :P Jeszcze bajery typu blokada strzału co stepa itp, ale to już ciut bardziej skomplikowane niż to :D

Odnośnik do komentarza
Udostępnij na innych stronach

Oooo! Wielkie dzięki ziomuś!

Prawie dokładnie mi to "Stworzyłeś" :]

 

Tylko chcial bym jeszcze o dodanie:

 

Do punktu 2. Żeby strzała która leci napozycje myszki , leciała automatycznie do przeciwnika(gracza2).

i

 

Do punktu 3.Aby był dodany sprite(animacja) która trwa załóżmy 1 sek. ,dodaje ze 40 hp i potem znika.

 

Dzięki za wszystko, nie spodziewałem się ,że ktoś tak szybko mi odpowie :)

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Z tego co ja umiem to sie TROCHE posłógiwać klockami...

 

2-ójki nadal nie rozumiem.

 

a 3. pokombinuje

 

Pozdrawiam :).

 

Edit:

Każdy z początku nie był super GM masterem :/

Edit2:

W zasadzie ta gra to sie opiera na Arenie , i waleniu sie miedzy 2 graczami , nie wiem czy mozna to nazwać grą , ja to robie żeby popykać z kumplami ; ]

Odnośnik do komentarza
Udostępnij na innych stronach

Rośnie nam nowe pokolenie twórców gier. ODROBINA wiedzy o klockach nie spłodzi niczego ciekawego, poczytaj faq i przejrzyj jakieś przykłady. Gotowe, podane na tacy rozwiązania wcale nie pomagają, uwierz mi. Swoją drogą "macją rzutu macą" w sygnaturze wygląda obiecująco ; >

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie mówie ,że chce robić "mega joł wypas gejm" , prosze tylko o pare kodów.Tak jak wyżej mówiłem , C++ zaczne sie uczyć po tej gierce , bo zamierzam sie brac do poważnego projektu.A "macja rzutu macą" to mały błędzik , zabrakło słówek -ani.

Faq czytałem , za duzo mi nie pomogło...

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Japanstache: Mówisz dobrze, ale jakoś tak, no, jakbyś się nad nim nie wiem jak wywyższał...

 

2.

GML
...

 

ins.direction = point_direction(x, y, obj_player_2.x, obj_player_2.y);

 

...

 

3. Nadal do końca ie rozumiem :P Ale chyba coś takiego:

GML (Moment smierci)
sprite_index = sprite_umierajacego_goscia;

image_speed = 1; //Prędkość animacji. Może być oczywiście inna :)

alarm[0] = 30; //Ustawiam alarm o numerze 0 na 30. Jak zapewne wiesz, kod Step w twojej grze wykona się (ew. możesz zmienić) dokładnie 30 razy w ciągu sekundy. Co 1 klatkę wartość tego alarmu będzie się zmniejszała o 1. Aż wreszcie osiągnie wartość zero, wtedy wykona się kod:

GML (Alarm 0)
sprite_index = sprite_umarlego_goscia;

image_speed = 0;

Ja to zrozumiałem tak: Kiedy gościu ginie, to mamy animację, jak powiedzmy pada na ziemię. I jak już padnie, czyli po tej sekundzie, zmienia sprite na gościa, który już umarł.

 

Proszę :)

Odnośnik do komentarza
Udostępnij na innych stronach

Zapytałeś się o same podstawy. Przeczytaj najpierw FAQ, potem pytaj. To że umiesz cośtam z klockami to nic nie znaczy. Sam na początku potrzebowałem pomocy, sam na początku umiałem tylko pare klocuszków bo nie zajmuje się gramni w roku szkolnym. W kodach się nie orientuje bo ich nie umiem ale sam czytając FAQ radziłem sobie z tak na pozór banalnymi problemami.

 

Po polsku: Przeczytaj FAQ

 

EDIT: Z tego co pamietam pasek zycia i strzelanie jest w FAQ :):)

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