Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Teraz patrzę, że padbar i levelup zamknięte, coś jeszcze takiego jest ?
  2. Nawet nie zajrzałeś w artykuły które Ci podlinkowano. Tam byś zauważył, że masz stare SDK, bo nowe inaczej się instaluje.
  3. HTML5 nie lubi się ze złymi programistami
  4. ja bym zrobił tak, że w kodzie PHP dajesz: <?php $key = 'azs123123'; echo json_encode(array('time'=>time(), 'hash' => md5(time() . $key)); a po stronie GMa, jak odbierasz dane: //result to ds_mapa już po json_decode var time = result[? "time"]; var hash = result[? "hash"]; var key = "azs123123"; var check = md5( time + key); if (check == hash) { // czas z serwera jest niesfałszowany } Tak długo, jak ktoś nie znajdzie klucza w skompilowanej grze, tak długo system jest bezpieczny (bo hash z serwera będzie trudny do odczytania nawet z tablic tęczowych).
  5. Jeśli będzie więcej niż jeden utwór można pomyśleć
  6. Puszczasz request przez PC, ustawiasz przekierowanie domeny na 127.0.0.1 w pliku hosts, robisz skrypt php który zwraca inny czas - oszukane. Tak samo jak przy zmianie zegara w telefonie. A czas z serwera pobierasz tak, że robisz skrypt PHP który go zwraca - nie pamiętam czy GMS potrafi czytać czas unixowy, wtedy wystarczy "echo time();".
  7. ja bym zapisał poza czasem, jego hash + jakaś sól np. md5('tajne' + string(time)); a potem przy odczycie porównał, to dopiero dekompilacja źródła by pomogła obejść takie coś jak ktoś podmieni czas, to policzymy mu 0 sekund.
  8. Wznawiam temat. Może przy okazji Pixel Heaven ? Wtedy praktycznie wypada też 15 lat jak istnieje hmt.pl, więc dla mnie to jest osobiste święto (15 lat programowania w ogóle). 8 - 10 czerwca, byśmy napadli jakiś Padbar albo inną grową imprezownię w której nie ma afterparty PH akurat
  9. nie bierzesz udziału w tym konkursie to musi być osoba trzecia
  10. gnysek

    GAMEMAKER LABO

    On ma działać, czy tylko prototyp to ma być ?
  11. Jeśli to gra na androida, to ja bym po prostu raz na sekundę zapisywał w pliku INI obecny czas, a potem jak odpalasz grę odczytywał ten czas, odejmował od obecnego i wykonał skrypt dodający zasoby na podstawie czasu np.: GOLD = floor(sekundy/120); // 1 złoto co 2 sekundy WOOD = floor(sekundy/240); // 1 drewno co 4 sekundy Argument, że można zhackować jest słaby, bo nawet jakbyś przes sieć przesyłał czas, to można zhackować request np. przepuszczając go przez PC który udaje router (udostępnianie internetu).
  12. Mój kandydat na cytat do CA 2018. 200% GMCLANowej ironii
  13. instance_deactivate_object(obj_drzewo); instance_activate_region(x-100,y-100,x+100,y+100,true,true) ; jedno po drugim. obiekty są deaktywowane na koniec eventu step, więc się nie zdążą deaktywować w tej sytuacji Jeśli chcesz deaktywować wiecej obiektów na raz, stwórz obj_rodzic i ustawiaj każdemu z obiektów jakie chcesz deaktywować Parent=>obj_rodzic (w kodzie albo klikając na oknie właściwości obiektów w pole "Parent"). Zamień tylko na instance_deactivate_object(obj_rodzic);
  14. Ale do jakiegoś konkretnego programu ? Ogólnie po prostu zapisujesz jako pliki np. PNG, a samo generowanie textur, to albo program bodaj ShoeBox, albo większość programów do tworzenia gier sama buduje takie tekstury.
  15. Nie będzie konfliktu, ale i tak bym ręcznie gm skasował bo szkoda miejsca.
  16. To ja na Uzjela, za materiały na youtube i że pomógł wyciągnąć serwis od Ranmy
  17. Rozumiem to są wszystko demówki? https://www.yoyogames.com/showcase
  18. Tylko patrzeć jak TeeGee jednak wskrzesi Magi 2
  19. No to bez projektu chyba nie pomożemy, musisz mieć gdzieś jakąś literówkę, albo wielkość liter gdzieś się nie zgadza, albo dwa zasoby mają taką samą nazwę (np. zmienna i sprite). Nie ma możliwości, żeby to nie działało, tak jak napisał Ignatus - zrobił nowy projekt i jest ok, zatem masz bałagan którego nie widzisz
  20. względnie with (id10) { if opn = 0 sound_play(snd_1) } które jest tożsame (with sprawdza czy instancja istnieje)
  21. Pewnie już lepiej na godota czy constructa się przerzucić niż wspierać enigmę
  22. YoYoGames nie upadnie, bo nie jest już firmą - należy do Playtecha Mogą zamknąć ten dział firmy najwyżej.
  23. Wydaje mi się, że tak, trzeba by jednak w globalnej zmiennej trzymać numer klatki i ręcznie go zwiększać. Można też zrobić shader, trzeba tylko wtedy ten skrypt kończący przepisać (dookoła draw_sprite_tiled) - niestety tutaj jest problem, bo w skrypcie nie da się odczytać na jakim layerze jesteśmy, żeby zrobić jakiegoś fajnego switcha (albo auto animację) i trzeba kopiować skrypty, więc jest lekki bałagan Ale już to zgłosiłem.
  24. Hej. Bawiłem się przykładem masek z tutoriala YYG - https://www.yoyogames.com/blog/430/dynamic-rendering-masks i przerobiłem go tak, że jak ustawimy na layerze jakieś sprity, to w ich miejscu będzie się rysowała wybrana przez nas tekstura (za pomocą draw_sprite_tiled). Link do pobrania: https://gmclan.org/up23_18_layers_alpha.html W teorii GMS sam odrzuca sprity z layerów które są poza ekranem, a draw_sprite_tiled rysuje też tylko w widocznej częsci więc powinno to być optymalne - nie rysować wiele więcej niż widać. Poniżej zrzut pokazujący o co chodzi - z lewej mamy room, w którym są dwa layery typu asset (do ustawiania spritów), a z prawej jak to wygląda jak gra ruszy - w miejscu tych spritów pojawia się tekstura, zachowując parametry alpha layera. Nie do końca rozumiem czemu to działa (metodą prób i błędów zaczęło), polecam więc oryginalny przykład, może ogarniecie bardziej niż ja - wygląda to po prostu tak, że mnożymy kanały alpha w pamięci przy rysowaniu. W przykładzie można PPM i LPM tworzyć obiekt na jednym z dwóch layerów, który po czasie zanika.
×
×
  • Dodaj nową pozycję...