-
Postów
9 812 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
141
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez gnysek
-
Teraz patrzę, że padbar i levelup zamknięte, coś jeszcze takiego jest ?
-
Nawet nie zajrzałeś w artykuły które Ci podlinkowano. Tam byś zauważył, że masz stare SDK, bo nowe inaczej się instaluje.
-
HTML5 nie lubi się ze złymi programistami
-
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).
-
Jeśli będzie więcej niż jeden utwór można pomyśleć
-
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();".
-
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.
-
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
-
nie bierzesz udziału w tym konkursie to musi być osoba trzecia
-
On ma działać, czy tylko prototyp to ma być ?
- 7 odpowiedzi
-
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).
-
Mój kandydat na cytat do CA 2018. 200% GMCLANowej ironii
-
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);
-
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.
-
Nie będzie konfliktu, ale i tak bym ręcznie gm skasował bo szkoda miejsca.
-
[Głosowanie] CA2017 - Screen / Film / GIF Roku
gnysek odpowiedział(a) na Chell temat w Nagrody doroczne - Community Awards 2019
Facet ze spluwą, bo ręcznie. -
[Głosowanie] CA2017 - Użytkownik Roku
gnysek odpowiedział(a) na Chell temat w Nagrody doroczne - Community Awards 2019
To ja na Uzjela, za materiały na youtube i że pomógł wyciągnąć serwis od Ranmy -
Rozumiem to są wszystko demówki? https://www.yoyogames.com/showcase
-
Tylko patrzeć jak TeeGee jednak wskrzesi Magi 2
-
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
-
względnie with (id10) { if opn = 0 sound_play(snd_1) } które jest tożsame (with sprawdza czy instancja istnieje)
-
Pewnie już lepiej na godota czy constructa się przerzucić niż wspierać enigmę
-
YoYoGames nie upadnie, bo nie jest już firmą - należy do Playtecha Mogą zamknąć ten dział firmy najwyżej.
-
Maskowana tekstura
gnysek odpowiedział(a) na gnysek temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
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. -
Maskowana tekstura
gnysek opublikował(a) temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
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.