Skocz do zawartości

jak zrobić amunicje laserową i system teleportacji


edox

Rekomendowane odpowiedzi

cześć mam pytanie jak zrobić amunicje laserowe oraz teleportacje.

najpierw zaczniemy od laserów mam tak zrobiony damage.

GML
globalvar lf1;

globalvar mp1;

globalvar lf2;

globalvar lf3;

lf1=0

mp1=4

lf2=0

lf3=0

damage=(lf1*40)+(mp1*60)+(lf2*100)+(lf3*150)

narazie chce dodać amunicje x1 x2 x3 x4 plus jeżeli nacisnę klawisz od 1 do 4 to mi zmieni ammo.

potem dodam przyciski w hud :P amunicja się zużywa narazie dam 2 na strzał, amunicja daje zmiany damage damage np x1 damage normalne x2 damage*2 itd.

każda amunicja ma inny sprite i też mam problem z player.

GML
if(atack && reload)

{

reload=false;

 

alarm[1]=15;

if (atack == true)

{

 

 

if (image_index < 1 )

{

instance_create(obj_player.x+92,obj_player.y-63.5,obj_laser)

instance_create(obj_player.x+92,obj_player.y+63.5,obj_laser)

}

 

if (image_index > 1 && image_index <= 2 )

{

instance_create(obj_player.x+77,obj_player.y-73,obj_laser)

instance_create(obj_player.x+106,obj_player.y+41,obj_laser)

}

bo mam wybrany już obj_laser i jak zrobie żeby tworzył np obj_laserx2?

a co do teleportacji chodzi o to żeby był portal ma 2 klatki. plus 3 kiedy skacze nim i sound skoku animacja po której przenosi player na mapę docelową odgrywajac sound po przeskoczeniu. jeden port działa w dwie strony a na mapie może być ich np 3

będzie je tworzyć z moich wybranych x,y .

Odnośnik do komentarza
Udostępnij na innych stronach

GML (create)
globalvar lf1, mp1, lf2, lf3, modyfikatorAmunicji, iloscAmunicji;

modyfikatorAmunicji = 1;

iloscAmunicji[0] = 1000; // ilosc amunicji dla typu 1

iloscAmunicji[1] = 1000; // ilosc amunicji dla typu 2

iloscAmunicji[2] = 1000; // ilosc amunicji dla typu 3

iloscAmunicji[3] = 1000; // ilosc amunicji dla typu 4

lf1=0

mp1=4

lf2=0

lf3=0

 

 

GML (strzelanie)
if ( iloscAmunicji[modyfikatorAmunicji-1] > 0 )

{

// jest amunicja strzelaj

iloscAmunicji[modyfikatorAmunicji-1] -= 2; // odjecie 2 naboi

iloscAmunicji[modyfikatorAmunicji-1] = max( 0, iloscAmunicji[modyfikatorAmunicji-1] ) // amunicja nie zejdzie ponizej 0

damage = ( (lf1*40)+(mp1*60)+(lf2*100)+(lf3*150) ) * modyfikatorAmunicji;

}

else

{

// brak amunicji nie mozna strzelac

}

 

GML (step)
// jezeli przycisniemy klawisz zmiany broni i jest do niej amunicja to zmien typamunicji

if ( keyboard_check_pressed("1") && iloscAmunicji[1] > 0 ) modyfikatorAmunicji = 1;

if ( keyboard_check_pressed("2") && iloscAmunicji[2] > 0 ) modyfikatorAmunicji = 2;

if ( keyboard_check_pressed("3") && iloscAmunicji[3] > 0 ) modyfikatorAmunicji = 3;

if ( keyboard_check_pressed("4") && iloscAmunicji[4] > 0 ) modyfikatorAmunicji = 4;

 

GML (zmiana sprita laserow)
// wyglad laserow zmieniaj na podastawie zmiennej modyfikatorAmunicji

switch ( modyfikatorAmunicji )

{

case 1: draw_sprite( ); break;

case 2: draw_sprite( ); break;

case 3: draw_sprite( ); break;

case 4: draw_sprite( ); break;

}

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki nie chodziło dokładnie o to bo chciałem tak że np na start mam x1_ammo=1000 itd i wybiorę amunicje x2 to mam tego dmg razy 2.

wgl mam bałagan w kodzie i wszystko prowizorycznie jest :( np lasery miały być do kupienia i ekwipunek gdzie wkładam wyciągam lub sprzedaje wyposażenie może ktoś pomógł by mi ogarnąć mój bałagan i pomoc zrobić np wyposażenie??

Odnośnik do komentarza
Udostępnij na innych stronach

w tej amunicji sę pogubiłem :D narazie nie dodam ilosci ammo bo taki bałagan targeting jest już przerobiony tak że masakra jak by dwa były :D jeden to sprite i jakiś element a drugi to ten co za dmg odpowiada id bo bez niego by hp każdemu zabrało :D

a co z portalami??

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