LolikZabijaka Opublikowano 21 Lipca 2019 Udostępnij Opublikowano 21 Lipca 2019 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Lipca 2019 Administratorzy Udostępnij Opublikowano 22 Lipca 2019 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 Więcej opcji udostępniania...
LolikZabijaka Opublikowano 22 Lipca 2019 Autor Udostępnij Opublikowano 22 Lipca 2019 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Lipca 2019 Administratorzy Udostępnij Opublikowano 22 Lipca 2019 Yyyy przecież obie nazwy zmiennej są te same. Tablica staje się nie tablicą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 22 Lipca 2019 Udostępnij Opublikowano 22 Lipca 2019 2 godziny temu, LolikZabijaka napisał: bron = bron[ active ] Na gm8 wszystko działało Na szczęście od GM:S już to poprawili. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabijaka Opublikowano 22 Lipca 2019 Autor Udostępnij Opublikowano 22 Lipca 2019 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę