Skocz do zawartości

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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
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.
Odnośnik do komentarza
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ć ?

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