Skocz do zawartości

Problem z amunicją.


Jack D.

Rekomendowane odpowiedzi

Witam, to znowu ja z kolejnym problemem.

Chciałem zrobić by każdy rodzaj broni, miał inną amunicję, ale broń mimo to że mam amunicję nie strzela?

 

Kod na strzelanie:

 

Global Left Button:

GML
if ready=1

if bron=1

if amunicja_pistolet >0

{

instance_create(x,y,obj_pocisk)

ready=0;

amunicja_pistolet-=1;

alarm[0]=40;

}

else

if bron=2

if amunicja_uzi >0

{

instance_create(x,y,obj_pocisk)

ready=0;

amunicja_uzi-=1;

alarm[0]=20;

}

else

if bron=3

if amunicja_karabin >0

{

instance_create(x,y,obj_pocisk)

ready=0;

amunicja_karabin-=1;

alarm[0]=5;

}

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if (ready)

{

switch (bron)

{

case 1:

if (amunicja_pistolet > 0)

{

instance_create(x,y,obj_pocisk);

ready=false;

amunicja_pistolet-=1;

alarm[0]=40;

}

break;

 

case 2:

if (amunicja_uzi > 0)

{

instance_create(x,y,obj_pocisk);

ready=0;

amunicja_uzi-=1;

alarm[0]=20;

}

break;

 

case 3:

if (amunicja_karabin > 0)

{

instance_create(x,y,obj_pocisk)

ready=false;

amunicja_karabin-=1;

alarm[0]=5;

}

break;

}

}

 

I zamiast ready = 1 zrób ready = true.

Odnośnik do komentarza
Udostępnij na innych stronach

Wątpię żeby coś pomogło, a w ogóle to można by to było zrobić 3x prościej.

GML
if ready=1

{

if bron=1

{

if amunicja_pistolet >0

{

instance_create(x,y,obj_pocisk)

ready=0;

amunicja_pistolet-=1;

alarm[0]=40;

}

}

else

if bron=2

{

if amunicja_uzi >0

{

instance_create(x,y,obj_pocisk)

ready=0;

amunicja_uzi-=1;

alarm[0]=20;

}

}

else

if bron=3

{

if amunicja_karabin >0

{

instance_create(x,y,obj_pocisk)

ready=0;

amunicja_karabin-=1;

alarm[0]=5;

}

}

}

EDIT: Chyba się spóźniłem xD

Odnośnik do komentarza
Udostępnij na innych stronach

Pojawił się kolejny problem, gdy przechodzę do kolejnego roomu, zmienne resetują się jak temu zapobiec?

P.S. Przyczynę problemu znam, jest to wpisane w create bohatera:

GML
global.bron=1

global.uzi=0

global.karabin=0

global.amunicja_pistolet=50

global.amunicja_uzi=10

global.amunicja_karabin=10

Nie wiem jednak jak zastąpić ten kod.

Odnośnik do komentarza
Udostępnij na innych stronach

1. dajesz w game_start w jakimś kontrolerze

2.

w tym create:

GML
if(!variable_global_exists("global.bron")){

global.bron=1

global.uzi=0

global.karabin=0

global.amunicja_pistolet=50

global.amunicja_uzi=10

global.amunicja_karabin=10

}

 

najprawdopodobniej walnąłem się z nazwą funkcji variable_ ale bedzie podobna

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