Skocz do zawartości

Alarmy - problem


Rekomendowane odpowiedzi

Witam!

Tworzę grę typu Tyrian(chyba wiecie o co chodzi) i zrobiłem już cały jeden typ samolotów i cały ich system, więc wziąłem się za robienie drugiego typu samolotów. Ustaliłem w skryptach, że kiedy gracz będzie miał 120 punktów to pojawi się pierwszy samolot drugiego typu, a jak będzie miał 160, to pojawi się drugi samolot tego typu, a do tego zniszczą się wszystkie samoloty pierwszego typu. Chciałem aby się zniszczyły, bo nie chciałem, żeby tych samolotów latało zbyt dużo w roomie.

Po zrobieniu tego wszystkiego, wziąłem się za robienie systemu pojawiania się samolotów typu drugiego. Stworzyłem taki skrypt w obiekcie controller_wrogs2, w którym pojawi się samolot typu drugiego po upływie 10 sekund jeśli ilość jego instance'ów jest większa/równa 1.

GML
with(samolot2)

 

if (instance_count>1) or (instance_count=1) then alarm[1]= 10*room_speed; // Nie wiem do jakiego eventa to wrzucić. Wrzuciłem do eventa "ctrl" bo jest to klawisz strzału, więc komputer co chwila będzie sprawdzał, czy ilość instance'ów jest większa/równa 1. Wiem, że to dość głupie, więc poradźcie do jakiego eventa to mogę wrzucić.</span>

 

A w evencie Alarm 1:

GML

instance_create(random(570),random(-200),samolot2)

alarm[1]=10*room_speed;

Myślałem, że wszystko spokojnie zadziała, ale choćbym czekał 2 godziny na pojawienie się tego samolotu to nic nie działa...

Proszę o pomoc!!!

PS: Jakby co to object controller_wrogs2 jest w roomie.

Odnośnik do komentarza
Udostępnij na innych stronach

Ales porobil...

Zeby samoloty pojawialy sie w roomie co 10 s, wystarczy w evencie Create obiektu controler_wrog2:

GML
event_perform(ev_alarm,0)

A w evencie Alarm 0 tego obiektu:

GML
if(punkty > 120)&&(punkty <= 160) instance_create(random(570),random(-200),samolot1_typ2) //Nie wiem, jakie nazwy maja te samoloty

else if(punkty > 160)

{

with(samolot1_typ2) instance_destroy()

instance_create(random(570),random(-200),samolot2_typ2)

}

alarm[0]=10*room_speed

 

Oczywiscie usun skrypty, ktore Ty wpisales :)

Nie gwarantuje, ze bedzie dzialalo, nie wiem, jak Ty tam masz to zrobione, ale powinno.

Odnośnik do komentarza
Udostępnij na innych stronach

Ales porobil...

Zeby samoloty pojawialy sie w roomie co 10 s, wystarczy w evencie Create obiektu controler_wrog2:

GML
event_perform(ev_alarm,0)

A w evencie Alarm 0 tego obiektu:

GML
if(punkty > 120)&&(punkty <= 160) instance_create(random(570),random(-200),samolot1_typ2) //Nie wiem, jakie nazwy maja te samoloty

else if(punkty > 160)

{

with(samolot1_typ2) instance_destroy()

instance_create(random(570),random(-200),samolot2_typ2)

}

alarm[0]=10*room_speed

 

Oczywiscie usun skrypty, ktore Ty wpisales :)

Nie gwarantuje, ze bedzie dzialalo, nie wiem, jak Ty tam masz to zrobione, ale powinno.

Ale dlaczego w tym drugim skrypcie masz po with(samolot2), instance_destroy()?

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