Skocz do zawartości

odzielny reload do poszczególnej broni


Rekomendowane odpowiedzi

cześć mam WIELKI problem odkryłem w swojej grze że przy zmiennej "laduj" zamiast ładować trzymaną przeze mnie broń ładuję wszystkie bronie teraz pokaże wam jak wygląda kod który dostałem :

Zmienne początkowe poszczególnych broni :

GML
mabron[0]=0 //nic nie mam w rekach

mabron[0]=1 // colt 1911

mabron[0]=2 // rewolwer

mabron[0]=3 // tommy gun

 

Zmienna na ładowanie :

GML
if mabron[0]=1

{

if ( magazynek[0]< magazynek_max[0] && ammo[0]!=0 && laduj=false)

{

laduj=true

alarm[1]=35

sound_play(s_reload)

instance_create(x,y,object64)

sprite_index=(sprite132)

}

}

 

ammo[0] i magazynek [0] to zmienne dotyczące amunicji i zapasu sa podzielone na ammo[1] itd

 

Alarm1

GML
if !( magazynek[0] < magazynek_max[0] ) exit

if ammo[0] = 0 exit

 

laduj=false

 

if ( ammo[0] >= magazynek_max[0] )

{

ammo[0] -= magazynek_max[0]

magazynek[0] = magazynek_max[0]

}

else

{

magazynek[0] = ammo[0]

ammo[0] = 0

}

 

jeśli nie rozumiecie mojego problemu proszę pisać bo chodzi mi o to że jesli jest np mabron1 to zeby ładowało tylko ammo[0] i magazynek [0] a nie wszystko

Odnośnik do komentarza
Udostępnij na innych stronach

Na moje lepiej bronie jako tablice:

 

GML
bron[0]=0 //nic nie mam w rekach

bron[1]=1 // colt 1911

bron[2]=0 // rewolwer

bron[3]=0 // tommy gun

 

W tym momencie postać ma wyekwipownego colta 1911 przy zmianie broni ta którą postać ma wyekwipowaną ustawiasz na 1 resztę na 0.

 

Jeżeli chodzi o amunicje to:

 

GML
bron[1,0]=30 // amunicja colt 1911

bron[2,0]=47 // amunicja rewolwer

bron[3,0]=32 // amunicja tommy gun

 

Oczywiście podałem przykładową ilość amunicji. Dopasuj to do swojego skryptu.

Przy dodawaniu czy odejmowaniu amunicji traktujesz tablice jako zmienną. Można jeszcze to bardziej komplikować żeby bardziej "zautomatyzować" kod no ale to już Twoja w tym głowa ;]

Odnośnik do komentarza
Udostępnij na innych stronach

a nie ma innej metody na przykład nadać numery zmiennej "ładuj" ??

Jeżeli tak bardzo chcesz na zmiennych, to bronie zapisuj do zmiennych tak, jak Ci napisał Nobody.

A amunicję

GML
ammo0=20 //amunicja dla pierwszej broni

ammo1=40 //i dla drugiej

//itd

i na nich sobie operuj przy strzelaniu i ładowaniu i będzie dobrze ;)

Odnośnik do komentarza
Udostępnij na innych stronach

a co nie jest tak nie widzicie kodu wszystko jest ponumerowane :P

 

 

To są wartości a nie zmienne... Trudno zrobić oddzielne ładowanie musisz użyć wtedy dużo warunków... Najlepiej na tablicach mówię Ci to to samo jakbyś używał kilku zmiennych ponumerowanych... nawet lepsze...

 

 

 

Edit:

Patrze na ten Twój kod i chciałeś użyć tablic ale źle je wykorzystałeś troszkę... Może zrobię zaraz przykład jak będę miał czas....

 

 

Masz: https://gmclan.org/up603_12_przyklad_przeladowanie.html

 

Taki niekompletny przykład jeżeli chodzi o inne sprawy ale przeładowanie dla poszczególnych broni jest ;]

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