Skocz do zawartości
LolikZabijaka

Przesiadka na GMS - Crash

Rekomendowane odpowiedzi

Witam, postanowiłem przenieść swój projekt na GMS(chwilowo korzystam z wersji 1.4, tej najnowszej nie ogarniam, jest cholernie nieczytelna)

Niestety nie udało mi się przenieść całej zawartości, jedynie sprity, dźwięki, tła, obiekty, te kluczowe przenoszę ręcznie, o ile AI i inne efekty przeszły bezproblemowo, to problem pojawił się przy obiekcie gracza, w dwóch kluczowych dziedzinach, czyli strzelanie i zmiana broni,

 

Oto kod na zmianę broni:


if ( not laduj ) exit

i = 0
while( true )
{
    active -= 1
    if ( active < 1 ) active = count 
    if ( ammo_wmagazynku[ bron[ active ]]  > 0 or ammo_zapasowe[ bron[ active ]] > 0 ) break
    if ( i = count ) break else i += 1

}
trzyma=true 
celowanie=0
broni = bron[ active ]
//zmiana broni

Rolka myszy w górę, gra wywala do pulpitu, pokazując taki komunikat:

############################################################################################
FATAL ERROR in
action number 1
of Mouse Event for Mouse Wheel Down
for object o_gracz:

trying to index a variable which is not an array
 at gml_Object_o_gracz_MouseWheelDown_1 (line 11) -     if ( ammo_wmagazynku[ bron[ active ]]  > 0 or ammo_zapasowe[ bron[ active ]] > 0 ) break
############################################################################################

 

Drugi crash następuje przy oddaniu strzału, postać wydaje dźwięk, pocisk się pojawia, ale od razu pokazuje się to:

 

############################################################################################
FATAL ERROR in
action number 1
of Draw Event
for object o_gracz:

trying to index a variable which is not an array
 at gml_Object_o_gracz_DrawEvent_1 (line 8) -     if ( ammo_wmagazynku[ bron[ active ]]  > 0 or ammo_zapasowe[ bron[ active ]] > 0 and shoot=false   )
############################################################################################

Jak na moje, to wygląda na to, że GMS nie odróżnia od siebie zmiennych na zasadzie "strzał=strzał", w GM8 tego problemu nie było.

KOD w DRAW bohatera:



if trzyma=false and laduj=true {
draw_sprite_ext(sprite_bron[bron],image_index,x-5,y+5,image_xscale, image_yscale,direction ,c_black,0.5)

if ( shoot == true )
{
    if ( ammo_wmagazynku[ bron[ active ]]  > 0 or ammo_zapasowe[ bron[ active ]] > 0 and shoot=false   )
     draw_sprite_ext( sprite_bron[ bron ],image_index,x,y,image_xscale, image_yscale, direction , image_blend,image_alpha)
     
     else
     draw_sprite_ext( sprite_strzal[ bron ],image_index,x,y,image_xscale, image_yscale,direction , image_blend,image_alpha)
}
else
draw_sprite_ext( sprite_bron[ bron ],image_index,x,y,image_xscale, image_yscale,direction , image_blend,image_alpha)
}


       



if ( shoot == false and trzyma=true and laduj=true  )
{
    if ( shoot=false  )
       draw_sprite_ext(sprite_trzyma[bron],image_index,x-4,y+4,image_xscale, image_yscale,direction ,c_black,0.5)
     draw_sprite_ext( sprite_trzyma[ bron ],image_index,x,y,image_xscale, image_yscale, direction , image_blend,image_alpha)
   
     }
     
if laduj=false{

 draw_sprite_ext(load_sprite[bron],image_index,x-4,y+4,image_xscale, image_yscale,direction ,c_black,0.5)
     draw_sprite_ext( load_sprite[ bron ],image_index,x,y,image_xscale, image_yscale, direction , image_blend,image_alpha)
     }

Co tu się gryzie, jeden tego typu problem naprawiłem, ale tutaj nie mam pojęcia.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
trying to index a variable which is not an array
No to ja na 99% obstawiam, że w create nie robisz z tego tablicy, albo próbujesz odczytać tablicę zanim to się tablicą faktycznie stało.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W create mam po prostu wpisane to:

bron = bron[ active ]

Na gm8 wszystko działało, co tu trzeba zmienić? Tablicy w create nie ruszałem.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Yyyy przecież obie nazwy zmiennej są te same. Tablica staje się nie tablicą.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dobra, na modelu testowym problem zlikwidowany. Druga sprawa, po konwersji na GMS gra wygląda do dupy, wszystkie obiekty są rozpixelowane(nawet przy daniu wygładzenia krawędzi) całość wygląda, jakby była na najniższych ustawieniach, grafika stała się zniekształcona i zakrzywiona? Ustawiłem View na 1280x720, na poprzedniej wersji wyglądało dobrze, a tu taka kaszana, gdzie to ustawić ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×