Skocz do zawartości

nowy_user

Użytkownicy
  • Zawartość

    191
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Ostatnia wygrana nowy_user w Rankingu w dniu 5 Lipiec

nowy_user posiada najczęściej lubianą zawartość!

Reputacja

17 Dobry człowiek

O nowy_user

  • Tytuł
    Minor User

Previous Fields

  • Użytkownik GameMaker Studio 2
    Nie
  • Użytkownik GameMaker Studio
    Nie
  • Użytkownik GameMaker 8
    Nie
  • Użytkownik GameMaker 7 i wcześniejszych wersji
    Nie
  • Użytkownik Unity
    Nie
  • Uytkownik Godot
    Nie

Ostatnie wizyty

2318 wyświetleń profilu
  1. Temat zbiorczy na drobnostki

    Właściwie to chyba nawet na zamówienie, bo zadałem podobne pytanie na GMC i ten użytkownik też mi tam odpisał... asset działa tylko na Windowsa, a mi zależało też na MAC'u, ale możliwe, że skorzystam z tego programu. Pozdrawiam, nowy_user
  2. Temat zbiorczy na drobnostki

    Hej, mam drobnostkę dotyczącą display_get_width / display_get_height. W przypadku podłączonego monitora do laptopa, program odbiera za pomocą tych funkcji szerokość i wysokość tylko monitora z laptopa, nawet jeśli przeniosę okno z grą na drugi moniotr - znacznie większy. Czy ktoś wie, jakiej funkcji mam użyć, aby window_get_width / window_get_height dotyczyło monitora, na którym okno z grą jest aktualnie wyświetlane? Z góry dzięki za pomoc i pozdawiwam, Dawid Maj
  3. Temat zbiorczy na drobnostki

    Oki, dzięki za informacje, czyli po prostu przed stworzeniem zipa albo instalatora muszę pousuwać zbędne 'Included files' (zwłaszcza te dotyczące assetu GMLive ) oraz niektóre z 'Extensions' . Oby tylko nie zcrashowało mi to apki w najmniej oczekiwanym momencie.
  4. Temat zbiorczy na drobnostki

    Hej mam naprawdę dziwny problem... Ukończyłem projekt w GMS 1.4999, i eksportuję go do .exe (wybieram opcję Single runtime executable.) -eksport na platformę Windows. Do tego momentu wszystko jest w porządku, program eksportuje się do .exe i mam jeden plik - zgodnie z przewidywaniami. Pakuje go do zipa, i wrzucam na serwer. Z ciekawości pobrałem tego zipa na mój inny komuter - Macbook. Oczywiście wiem, że taki plik .exe przygotowany pod Windowsa nie odpali mi się na Macu, ale nie to jest tu sednem problemu. Wyobraźcie sobie, że z ciekawości rozpakowałem tego zipa za pomocą jakiegoś MAC'owskiego odpowiednika Winrara ( jakiś dekompresor) , i.... w co nie mogę do tej pory uwierzyć, rozpakowało mi paczkę w taki sposób, że w folderze pojawił się nie tylko plik .exe , ale także wszystkie included files — dokładnie tak jakbym przy tworzeniu apki wybrał opcję : 'Compressed Applications Zip', a ja przecież wybrałem 'Single runtime executable'. To oznacza, że przy pomocy jakiegoś dekompresora, uzytkownicy mogą mieć dostęp do included files. Czy ja mam jakieś zwidy, czy rzeczywiście można sobie tak łatwo zdekompresować pojedyńczy .exe stworzony w GMS 1.4999 ?
  5. 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.
  6. 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
  7. Panowie, ostatnio GM daje mi się we znaki ( jak to zwykle bywa, tuż przed publikacją produktu, i gdy już skupiałem się na marketingu, nagle zaczęły wyskakiwać mi dziwne bugi ). Niestety, na wskutek tych bugów prawdopodobnie muszę zrezygnować z systemu zapisu danych w chmurze i próbuję robić zapis off-line. Dziś napotkałem na bardzo dziwny bug i nie wiem już, czy to przez nerwy czy raczej GM zachowuje się dziwnie w prostej sytuacji. Proszę o pomoc. Wszystko jest ok gdy próbuję zapisać sobie plik za pomocą kodu: { var _path, _file; _path = get_save_filename("project|*.txt", ""); if (_path != "") { _file = file_text_open_write(_path); file_text_write_string(_file, string(_savedane)); file_text_close(_file); } } Pojawia się okno dialogowe, ja mogę sobie wybrać lokalizację pliku i zapisać go gdzie chcę. Problem pojawia się, gdy chcę zrobić sobie autosave projektu wybranego wcześniej też za pomocą okna dialogowego. Przy wgrywaniu pliku mam kod: var _path, _file, _savedane; _savedane=''; _path = get_open_filename("project|*.txt", ""); if (_path != "") { _file = file_text_open_read(_path); _savedane=file_text_read_string(_file); file_text_close(_file); global.cloudoff_load_result = _savedane global.cloudoff_file_path=_path; room_goto_next(); } Jak widzimy, ten kod zapisuje sobie w zmiennej globalnej global.cloudoff_file_path ścieżkę wybranego przez nas pliku. Jest ona prechowywana, po to, aby właśnie potem, przy autosavie nie otwierać okna dialogowego, tylko aby plik zapisywał się właśnie automatycznie. Używam do tego kodu: { var _path, _file; _path = global.cloudoff_file_path if (_path != "") { _file = file_text_open_write(_path); file_text_write_string(_file, string(_savedane)); file_text_close(_file); } } Jak widać ten kod jest łudząco podobny do tego, który przedstawiłem na początku, różnica jest taka że zamiast _path = get_save_filename("project|*.txt", ""); mamy _path = global.cloudoff_file_path . Pomimo, że w obu przypadkach _path zwraca nam tę samą ścieżkę ( sprawdzałem za pomocą show_debug_message), to w pierwszym przypadku - z oknem dialogowym - plik zapisuje się bezproblemowo, a w drugim wysakuje błąd w oknie compile form : Error! not allowing save with filename Error! not allowing save with filename 'C:\Users\Dawid\Desktop\pulpit\Base_Project_New.txt'.Error! not allowing save with filename ''. ( tu na końcu jest kropka i strzałka w górę narysowana). Czy ktoś ma pomysł , dlaczego tak się dzieje? Z góry dzięki za pomoc nowy_zdesperowany_user
  8. Temat zbiorczy na drobnostki

    Ok postaram się to ogarnąć, najdziwniejsze jest to, że jak próbuję forsować wczytanie danych ( gdy się nie uda to ustawiam alarm[0] na 1 step który ponawia próbę i tak w kółko ) to zaledwnie po kilku próbach wczytuje tego Jsona, nawet jeśli jest on kilkukrotnie dłuższy. Jeśli alarm[0] ustawię na 30 lub 60 stepów, to wtedy nawet po 20 próbach ma problem z wczytaniem tego Jsona , to jest bardzi dziwne ...
  9. Temat zbiorczy na drobnostki

    Ale mi nie ucina znaków, po prostu gdy JSON jest za długi to nie wczytuje go wcale a w debug message mam:http:// *adres strony www */load.php?: Load Failed! RESULT: undefined JSON zapisuje się poprawnie, problem jest z wczytaniem.
  10. Temat zbiorczy na drobnostki

    Ten skrypt wygląda następująco: <?php header("Access-Control-Allow-Origin: *"); // Get config variables require_once 'include/Config.php'; // Get Database functions require_once 'include/DB_Functions.php'; $db = new DB_Functions(); // json response array $response = array("error" => FALSE); if (isset($_POST['unique_id']) && isset($_POST['save_code']) && isset($_POST['slot'])) { // receiving the post params $unique_id = $_POST['unique_id']; $save_code = $_POST['save_code']; $slot = $_POST['slot']; // Get user $info=$db->getUserByUserIdAndSaveCode($unique_id,$save_code); $user=$info[0]; switch ($slot) { case 1: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["save001"]; }else{ // Error $error_info=$info[1]; } break; case 2: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["save002"]; }else{ // Error $error_info=$info[1]; } break; case 3: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["save003"]; }else{ // Error $error_info=$info[1]; } break; case 4: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["save004"]; }else{ // Error $error_info=$info[1]; } break; case 5: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["save005"]; }else{ // Error $error_info=$info[1]; } break; default: $error_info = $slot . " saves slot don't exists!"; } if ($error_info=="") { $response["error"] = FALSE; } else { $response["error"] = TRUE; $response["error_msg"] = $error_info; } echo json_encode($response); } else { if (isset($_POST['share_code']) && isset($_POST['slot'])) { // receiving the post params $share_code = $_POST['share_code']; $slot = $_POST['slot']; // Get user $info=$db->getUserByShareCode($share_code); $user=$info[0]; switch ($slot) { case 1: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["share001"]; }else{ // Error $error_info=$info[1]; } break; case 2: // Check if all went ok if ($info[1]==""){ // All ok $error_info=""; $response["load_data"] = $user["share002"]; }else{ // Error $error_info=$info[1]; } break; default: $error_info = $slot . " save slot don't exists!"; } if ($error_info=="") { $response["error"] = FALSE; } else { $response["error"] = TRUE; $response["error_msg"] = $error_info; } echo json_encode($response); } else { if (isset($_POST['unique_id']) && isset($_POST['save_code']) && isset($_POST['row'])) { // receiving the post params $unique_id = $_POST['unique_id']; $save_code = $_POST['save_code']; $row = $_POST['row']; // Check if allow public if (GLOBAL_PUBLIC_1==FALSE) { // Get user $info=$db->getUserByUserIdAndSaveCode($unique_id,$save_code); $user=$info[0]; // Check if all went ok if ($info[1]=="") { $all_ok=TRUE; } else { $all_ok=FALSE; } } else { // Don't need user $all_ok=TRUE; } // Check if all went ok if ($all_ok){ // All ok $error_info=$db->loadVar($row); $new_value=$error_info["value"]; $error_info=$error_info["error"]; $response["value"] = $new_value; }else{ // Error $error_info=$info[1]; } if ($error_info=="") { $response["error"] = FALSE; } else { $response["error"] = TRUE; $response["error_msg"] = $error_info; } echo json_encode($response); } else { if (isset($_POST['row'])) { // receiving the post params $row = $_POST['row']; $error_info=$db->loadPublic($row); $new_value=$error_info["value"]; $error_info=$error_info["error"]; $response["value"] = $new_value; if ($error_info=="") { $response["error"] = FALSE; } else { $response["error"] = TRUE; $response["error_msg"] = $error_info; } echo json_encode($response); } else { // required post params is missing $response["error"] = TRUE; $response["error_msg"] = "Required parameters are missing!"; echo json_encode($response); } } } } ?>
  11. Temat zbiorczy na drobnostki

    Dokładnie tak, JSON jest czytany z mysql przez PHP i mogę sobię go przejrzeć z poziomu przeglądarki w MyPhpAdmin. Co ciekawe, jeśli ustawię sobie w alarmie, aby ponowić próbę pobrania JSONA ( w przypadku gdy się nie uda za pierwszym razem) , i alarm ustawię np. na 60 stepów, no to co sekundę będzie próbować pobrać Jsona , ale nawet i po 20 powtórzeniach mu się nie uda, jeśli JSON jest długi. Natomiast... co jest mega dziwne.... jesli ustawię alarm na 1 step to dzieje się coś totalnie nieprzewidywalnego, ponieważ pierwsza próba pobrania JSONA jest nieudana ( to jest jeszcze zgodne z przewidywaniami ), ale.... następna jest już ok i pobiera JSONa nawet jeśli jest bardzo długi ! Czasami potrzebuje kilku prób, ale max 5-10 nawet przy bardzo długiej zmiennej... Dziwne jest to, że jak alarm ustawiam na np 60 stepów, to nawet i po kilkudziesięciu próbach nie wczytuje tego JSONa... a przy alarmie ustawionym na 1 step, max kilka prób... nie potrafię tego wytłumaczyć logicznie, ale muszę to zrozumieć, bo to rozwiązanie, które udało mi się wykombinować na chybił trafił zdaje się zbyt niestabilne, i nie chcę żadnych fakapów w przyszłości - zwłaszcza, że będę moją apkę sprzedawać. Czy ktoś ma jakikolwiek pomysł, dlaczego takie dziwne rzeczy się dzieją?
  12. Temat zbiorczy na drobnostki

    Hej, czy serwer może narzucić mi limit długości stringa Json, który mogę wczytać z bazy MySQL? Mam problem, że gdy string Json jest dość długi, ale nie jakoś bardzo, (zawiera 13 500 znaków) to mogę go bez problemu zapisać do bazy MySQL, ale wczytać już nie bardzo. Przy krótszych string’ach działa bez zarzutu. Zastanawiam się, czy problem leży w moim kodzie w GM, czy jednak to serwer i jego ustawienia za to odpowiadają. Czy ktoś ma jakieś wskazówki?
  13. Temat zbiorczy na drobnostki

    To akurat nie jest problem, mam w bazie datę rejestracji , i datę ostatniego logowania, więc mam te dwie daty. Problem w tym, że chcę porównać czy różnica w dniach pomiędzy dwoma datami to 14 dni. Ja wymyśliłem taki skrypt: var day1, month1, year1, day2, month2, year2; day1=25; month1=11; year1=2019; day2=3; month2=12; year2=2019; var difference; difference = ( day2+ceil((month2*30.5))+(year2*365) ) - (day1+ceil((month1*30.5)) + (year1*365) ) Teoretycznie działa, nie jest to super dokładny sposób i czasami, gdy daty są z różnych miesięcy albo lat to skrypt myli się o jeden dzień, ale na razie chyba mi to wystarczy. Gdyby ktoś miał lepszy pomysł to może napisać, w innym wypadku będę korzystał z tego, co sam wykombinowałem. EDIT O rany, pogrzebałem w dokumentacji i znalazłem funkcję: date_day_span(date1, date2); Problem uznaję zatem za rozwiązany
  14. Temat zbiorczy na drobnostki

    Hej, mam pytanie, czy ktoś wie jak wyliczyć dokładną różnicę dni pomiędzy dwoma dniami ( tak żeby nie wskazywało jakichś głupot, gdy porównamy daty z dwóch różnych miesięcy lub dwóch różnych lat) w GM studio? Tworzę system, który ma za zadanie automatycznie zablokować dostęp do mojego programu po 14 dniach ( system trial ) i nie wiem do końca jak to zaimplementować . GM studio ma funkcję date_compare_daytime , ale to zwraca nam tylko informację, czy dana data jest wcześniejsza, czy późniejsza, bez dokładnego określenia różnicy dni pomiędzy nimi.
  15. Przycinki w HTML5 ale FPS jest ok

    Dzięki, działa płynnie ! Pozdrawiam!
×