Skocz do zawartości

Cała aktywność

Kanał aktualizowany automatycznie     

  1. Dzisiaj
  2. Przesiadka na GMS - Crash

    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.
  3. Wczoraj
  4. 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.
  5. czemu strona główna nie działa ?

     

  6. Ostatni tydzień
  7. Szukam programu

    Ja nagrywam gify tak: if(keyboard_check(vk_f9)) { screen_save("rec/"+string(100000000000+(get_timer()/1000))+".png") } A montuję tak: mencoder.exe "mf://*.png" -mf fps=30 -o output.avi -ovc xvid -xvidencopts bitrate=9999999 Potrzebny Ci tylko mencoder.exe który jest ogólnie dostępny
  8. Nad czym aktualnie pracujesz?

    To jest całkiem dobra gra
  9. Nad czym aktualnie pracujesz?

    pierwotnie miała to być platformówka, ale kiepski ze mnie level designer i pomyślałem, że zamiastu unikać przeszkód, trzeba będzie na nie wskakiwać i zabić liska. Później dotarło do mnie, że nic nowego nie wymyśliłem, bo faktycznie grałem kiedyś w mr. karoshi. Część poziomów będzie bardziej logiczna, część zręcznościowa. Zastanawiam się czym zastąpić te monety (bo zdają mi się być troche oklepane) i nad tytułem - najpierw "This fox wanna die", ale chyba "Kill the fox" lepiej brzmi. Jak myślicie?
  10. Nad czym aktualnie pracujesz?

    Mi przypomina inną gmową gierkę - Mr. Karoshi
  11. Nad czym aktualnie pracujesz?

    Spoko to wygląda, całkiem zjuicowane
  12. Nad czym aktualnie pracujesz?

    Bardzo ładna grafika i efekty, chętnie zagram:) Gra inspirowana tą? https://store.steampowered.com/app/318430/
  13. Nad czym aktualnie pracujesz?

    feedback please
  14. Krabonszcz

    oj jak mi się podobają te kolorkiii no i tutaj jak jeszcze chyba w żadnej wcześniejszej Twojej pracy widać taką odwagę w kształtach
  15. Wcześniej
  16. Krabonszcz

    Z racji tego, że będę brał udział w wystawie pt. "Erotica" która odbędzie się w Oslo, w Norwegii, to postanowiłem namalować jakiś erotyk. Tak powstała ta praca.
  17. Brzmi jak... Problem z kartą graficzną. Daj komuś innemu do sprawdzenia, dla porównania.
  18. Witajcie, mam do czynienia z dziwną sytuacją. Co jakiś czas w moim projekcie dochodzi do spadków FPS z 60 do ok 35. Na ogół kilka minut po wejściu do rooma. Dzieje się tak czasami, nawet gdy nic nie robię w aplikacji. Spadek FPS trwa różnie - czasami 30 sekund czasami minutę lub dwie. Potem, na ogół, wraca do normy. Zdarza się, że restart roomu pomaga. Nie jestem w stanie zdiagnozować co jest przyczyną problemu ( nie tworzą się żadne nowe obiekty, bo mam ciągle wyświetlaną ilość aktywnych obiektów.), raczej to też nie problem ze strukturami danych — używam raptem dwóch list, które zawsze po użyciu są usuwane. Nie mam pojęcia, w jaki sposób mogę zdiagnozować przyczynę problemu, czy ktoś ma jakiś pomysł , jak dokonać diagnostyki tego nieoczekiwanego spadku FPS? Pozdrawiam, nowy EDIT Zmieniłem w ustawieniach sleep marigin z 1ms na 10 ms - nic to nie dało.
  19. Glorious: Companions

    Wleciał nowy update 'AI Reworked', w którym przerobione zostało AI i doszedł system dnia i nocy do bitew ('real' czas upływa wraz z turami). Więcej info i obrazków tutaj: https://steamcommunity.com/games/1001040/announcements/detail/1598132368371045229
  20. Cześć wszystkim, Próbuje rozwiązać problem z nadpisującym się wynikiem do highscore po ukończeniu gry. Wygląda to tak,że cały czas jest tylko jeden wpis,a powinno być top 10 najlepszych wyników. Dziwna sytuacja...bo np jeśli zapisze grę i załaduje z load game gre i nastepnie jak skończe grę i nastąpi zapis do highscore to tworzy się niżej nowy rekord zapisu... Tylko dlaczego przy wyborze gry od nowa nadpisuje się rekord w highscore? Nie będę tu wszystkiego wklejał żeby nie robić bałaganu. obj_game_controller step if (global.life <= 0) { if (can_finish == false) { if (alarm[0] == -1) { // zacznij tylko gdy jeszcze się nie odlicza alarm[0] = 120; // 150 to 5 sekund } } else { if (global.pScore >= 500) //Sprawdz czy wynik nadaje sie do highscore,ale musi zostac spelniony warunek punktowy { var s=highscores[| ds_list_size(highscores) - 1]; //Czy punkty kwalifikuja sie na top 10 if (ds_list_size(highscores) < 10 || s[?"score"] <= global.pScore) { room_goto(rm_save_score); exit; // zakoncz wykonywanie eventu step w tej klatce } } room_goto(rm_game_over); } } obj_highscore create global.pScore=0 globalvar highscores; highscores=ds_list_create() //Wczytaj punkty z dysku var f=file_text_open_read("highscore.dat") if(f>-1) { var s=file_text_read_string(f) //show_debug_message(s) s=json_decode(s) if(s!=-1 && ds_exists(s, ds_type_map) && ds_map_exists(s,"default")) { var m=s[?"default"]; for(var _i=0; _i<ds_list_size(m); _i++) { if(ds_exists(m[|_i], ds_type_map)) { var _m=ds_map_create(); ds_map_copy(_m, m[|_i]) ds_list_insert(highscores, _i, _m) ds_list_mark_as_map(highscores, _i) } } } ds_map_destroy(s) file_text_close(f) } scrypt score_add ///score_add(name,score) if(ds_exists(highscores, ds_type_list)) { var m=ds_map_create(); m[?"name"]=argument0 m[?"score"]=argument1 ds_list_add(highscores, m) ds_list_mark_as_map(highscores, ds_list_size(highscores)-1) score_sort() if(ds_list_size(highscores)>10) { ds_list_delete(highscores,10) } }
  21. Szukam programu

    Ja używam LICEcap ale nie jest idealny
  22. Szukam programu

    Macie jakiś program który nagrywałby zrzut ekranu do *.gif? Próbowałem "Gifcam" i "Screen to gif" ale gify mają opóźnienie, a chce żeby było 60fps w czasie rzeczywistym nagrane. Ewentualnie jak inaczej to zrobić?
  23. Galeria Grafik

    Green Book?
  24. Znana gra w innym wydaniu

    Dobrze, a więc 1 września (Niedziela) zakończenie konkursu^^ Przypominajmy sobie nawzajem, bo ja też lubię zapominać
  25. Znana gra w innym wydaniu

    mnie by pasowało, tylko niech ktoś mi przypomni xd
  26. Galeria Grafik

    Fajne toto, będzie wybór dodatków do stroju takich? Tymczasem zrobiłem model już cały, bez cieniowania chyba najlepiej się prezentuje. @EDIT: pierwsze próby animacji
  27. Zdaje mi się, że kod/klatka się zatrzymuje na czas zapisu. Więc nie musisz nic czekać. Możesz też tak jak wyżej - przypominam, że ostatni GM nie wymaga już sandboxa (jak się go wyłączy - nie testowałem), więc wtedy kod mógłby sam wczytać backup jakby coś poszło źle.
  28. A czy zapis/odczyt pliku nie jest przypadkiem synchroniczny? BTW. Często też widziałem metodę, która chroniła stary zapis gry tworząc plik tymczasowy na czas zapisu i dopiero po wykonaniu zapisu usuwał stary plik i podmieniał nazwy.
  29. Dzięki, teraz jest to jasne EDIT.... Przy okazji, wiesz może @gnysek czy mogę dostać jakoś informację zwrotną od GMa, gdy zapis do pliku tekstowego zostanie już wykonany? Wiem , że istnieje funkcja file_exists ale jeśli nadpisuję plik, który już istnieje, to formuła if file_exists tu nie zadziała... Pytam, ponieważ chciałem ustawić zapis gry przy wyłączeniu, i dotychczas ustawiałem alarm na chybił trafił np.2 sekundy po odpaleniu kodu do zapisu gry , gra się wyłączałą. Tylko co, jeśli plik będzie na tyle duży albo komputer będzie zajęty jakimiś innymi procesami w tle, i zapis zabierze mu więcej niż te 2 sekundy? Wówczas gra się zamknie, a plik nie zdąży zostać zapisany. Niestety w GMie nie ma żadnej funkcji typu if file_save_is_done albo coś w tym stylu... może da się to jakoś sprytnie obejść? Pozdrawiam
  1. Pokaż więcej aktywności
×