Skocz do zawartości

Strzelający wróg


Niety

Rekomendowane odpowiedzi

  • Odpowiedzi 105
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

nie, zostaw w spokoju health

GML
//w create:

zycie=100

 

//w kolizji z pociskiem

if zycie>0 zycie-=25 //jeśli hp jest większe od zera odejmujemy 25

else instance_destroy() //jeśli nie to niszczymy wroga

with(other) instance_destroy() //niszczymy pocisk kolidujący</span></span>

 

zmienną ZAZWYCZAJ definiujesz w create i przypisujesz jej daną wartośc a później się do niej odnosisz

 

EDIT: Kurcze nie zobaczyłem kolejnych postów, sorry

Odnośnik do komentarza
Udostępnij na innych stronach

taaa tylko ja stworzyłem nowy obiekt do tego;p

ale mniejsza o to

teraz mam takie oto cudowne pytanie:

jeśli mam taki kod:

if hp>0 hp-=10 //jeśli hp jest większe od zera odejmujemy 10

else instance_destroy() //jeśli nie to niszczymy wroga

with(other) instance_destroy() //niszczymy pocisk kolid

 

to co do niego dodać żeby za każde rozwalenie dodawało 10 punktów

(próbowałem set score relative to 10 ale jest jakiś błąd)

 

Edit:bo gdy wklej w draw u gracza lub przeciwnika ten obiekt znika i chodzisz paskiem życia

Odnośnik do komentarza
Udostępnij na innych stronach

Chce zrobić tak że gdy się naciska strzałkę w dół gdy się szło w lewo to pojawia mi się

mój gość z tarczą ustawiony w lewo a jak się idzie w prawo i naciśnie się strzałkę w dół

to żeby był ustawiony z tarczą w prawo.A więc mam sprity i w evencie keyboard pressed down

daje taki kod:

if keyboard_check_pressed left draw_sprite(playertarczal)

if keyboard_check_pressed right draw_sprite(playertarczar)

 

co jest w nim nie tak???

Odnośnik do komentarza
Udostępnij na innych stronach

yp, tak zrobil.

 

Niety, skoro nie chcesz, zeby sie poruszal to:

a) mniemam, iz masz tak: if keyboard_check(vk_left)hspeed=-2(albo x-=2, albo w evencie trzymania). to zrob tak:

if keyboard_check(vk_left)and sprite_index<>playertarczalewo x-=2

if keyboard_check(vk_left)and sprite_index<>playertarczaprawo x+=2

B) mozesz tez dodac:

if !keyboard_check(vk_down){

if keyboard_check_pressed(vk_left) sprite_index=playertarczalewo

if keyboard_check_pressed(vk_right) sprite_index=playertarczaprawo

}

 

Bodajże najlepszy bedzie sposob b.

Odnośnik do komentarza
Udostępnij na innych stronach

Nowy problem ;p :

Mam tam kilka broni na mapie zadają różne obrażenia itp. ale gdy zbiorę broń i nacisnę np.

klawisz 1 to chciałbym żeby ona się pojawiała na postaci (użyłem opcji wyszukaj znalazłem kilka tematów

ale we wszystkich było to rozwiązanie: instance_create(player.x,player.y,karabin) ale wtedy gdy

nastąpi kolizja z karabinem zawisa w powietrzu niedaleko koło mnie i gdy do niego doskoczę przyczepia

się do mojej głowy ale tylko na czas lotu, po spadnięciu znowu zawisa).

Odnośnik do komentarza
Udostępnij na innych stronach

ludzie proszę was o pomoc mam ten kod:

 

// jezeli mamy wybrana jakas bron, wcisniemy LPM i bron jest zaladowana, znak != oznacza 'różne' ( nie jest równe )

if ( mouse_check_button( mb_left ) && ( aktywna_bron != -1 ) && zaladowane )

{

// sprawdzamy ktora bron jest aktywna

switch ( aktywna_bron )

{

case pistolet:

 

// sprawdzamy pod jakim kontem trzeba strzelic by trafic pociskiem tam gdzie celuje myszka

var _dir, _inst;

_dir = point_direction( x, y, mouse_x, mouse_y );

 

_inst = instance_create( x, y, pocisk ); // tworzymy pocisk

_inst.direction = _dir; // nadajemy mu kierunek lotu

_inst.speed = 10; // nadajemy mu predkosci

zaladowane = false; // nie mozna juz strzelac dopuki bron zostanie ponownie naladowana

alarm[0] = szybkosc_broni[ aktywna_bron ]; // odpalamy czas po ktorym bron bedzie mogla znowu strzelac

break;

 

case karabin:

 

var _dir, _inst;

_dir = point_direction( x, y, mouse_x, mouse_y );

_inst = instance_create( x, y, pocisk2 );

{

if(ammo>0)ammo-=1;

}

_inst.direction = _dir;

_inst.speed = 15;

zaladowane = false;

alarm[0] = szybkosc_broni[ aktywna_bron ];

if _dir = point_direction( x, y, mouse_x, mouse_y )

break;

};

}

 

// zmiana broni ----------------------------------

 

// jezeli wcisniemy 1 i posiadamy pistolet to

if ( keyboard_check_pressed(ord('1')) && bron[ pistolet ] == true )

{

// ustaw pistolet jako okatywna bron

aktywna_bron = pistolet;

 

// po zmianie broni ladujemy ja na nowo

zaladowane = false;

alarm[0] = 10;

 

}

// jezeli wcisniemy 2 i posiadamy karabin to

if ( keyboard_check_pressed(ord('2')) && bron[ karabin ] == true )

{

// ustaw karabin jako okatywna bron

aktywna_bron = karabin;

 

// po zmianie broni ladujemy ja na nowo

zaladowane = false;

alarm[0] = 10;

}

 

 

 

 

I otóż chce wiedzieć co zrobić gdy wyczerpie się ammo to żeby tylko karabin przestał strzelać a colt dalej, help.

Odnośnik do komentarza
Udostępnij na innych stronach

case karabin:

if(ammo>0){

var _dir, _inst;

_dir = point_direction( x, y, mouse_x, mouse_y );

_inst = instance_create( x, y, pocisk2 );

ammo-=1;

_inst.direction = _dir;

_inst.speed = 15;

zaladowane = false;

alarm[0] = szybkosc_broni[ aktywna_bron ];

}

break;

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