Skocz do zawartości

nowy_user

Użytkownicy
  • Postów

    235
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    5

Treść opublikowana przez nowy_user

  1. Hej, mam pytanie, chciałbym zapisać sobie pewne statsy do pliku txt, z możliwością wyboru folderu, gdzie plik zostanie zapisany. Używam następującego kodu: var _file; _file = get_save_filename("project|*.txt", ""); if _file != "" { file_text_open_write(_file) file_text_write_string(_file, _savedane); file_text_close(_file); } } Program jednak crashuje z informacją: Nie rozumiem, zrobiłem wszystko tak jak jest przedstawione w manualu... czy o czymś zapomniałem? Pozdrawiam, nowy
  2. Działa, że też na to sam nie wpadłem Dzieki Gnysek !
  3. Witajcie, Tworzę aplikację, w której do tej pory miałem zaimplementowany system savów oparty na pliku ini zawierającym szereg zmiennych, które były zaczytywane przy kolejnym uruchomieniu aplikacji. Jak wiecie przy użyciu funkcji ini_read_string oraz ini_read_real podajemy 3 wartości: (section, key, default). Ta ostatnia - default - jest prawdziwym zbawieniem, ponieważ w przypadku braku możliwości zaczytania danej wartości ( np. Z powodu usunięcia pliku, albo co bardziej istotne - z powodu aktualizacji aplikacji, gdzie dochodzą nowe zmienne) przypisuje wartość którą sobie ustalimy wcześniej. Działało to wyśmienicie i byłem zadowolony z mojego systemu. Muszę ten system jednak zmienić, ponieważ chce przechowywać dane w chmurze, i najlepszy do tego jest skorzystanie z ds_map i wygenerowanie stringa json. Problem pojawia się, gdy próbuję odczytać dane. Po użyciu funkcji json_decode otrzymujemy ds_mapę, z której możemy dowolnie sczytywać zmienne, ale niestety funkcja ds_map_find_value(id,key) , nie daje możliwości wpisania zmiennej default. Okazuje się, że gdy nie uda się znaleźć danego ‘key’ to przypisana wartość to ‘undefined’ co ma druzgocące skutki i potem crashuje aplikację. I teraz pytanie, czy ja muszę ręcznie , po wczytaniu zmiennych pozmieniać wszystkie ‘undefined’ czyli napisać kod w stylu: var _default=0; If zmienna1 == null zmienna = _default; If zmienna2 == null zmienna2 = _default; If zmienna3 itd.. Czy może jest jakiś szybszy sposób na przypisanie domyślnej wartości dla zmiennej, która nie znalazła ‘keya’ przy wyszukiwaniu z mapy?
  4. Wygląda na to, że działa! obyło się bez setInterval - samo setTimeout wystarczyło Wielkie dzięki za pomoc! Teraz już nikt nie wyłączy mojej aplikacji przypadkowo pozdrawiam nowy_user
  5. hm.. otworzyłem konsolę, i wpisałem window.onbeforeunload, wyszło coś takiego: Jak dla mnie to losowy ciąg znaków, ale może Gnysek ty coś więcej tu widzisz?
  6. @gnysek , sprawdziłem konsolę, mam coś takiego : Rzeczywiście dopisało do </script> == $0 . Co to może oznaczać?
  7. Robiłem testy, niestety ale ten kod: <!-- Run the game code --> <script type="text/javascript" src="html5game/f1_mobile.js?NLHYB=419161947"></script> <script>window.onload = GameMaker_Init;</script> sprawia, że kod z wyświetlającym się okienkiem nie pojawia się przy kliknięciu wstecz... czy mam jakieś alternatywy dla tego rozwiązania? Pozdrawiam, nowy_user
  8. ale ja testuję nawet na chromie desktopowym i jest to samo, gdy kod jest wpisany do pustego pliku indexu, to pop-up jest, jak wpisuje kod do pliku index z całym inwentarzem wygenerowanym przez GMa, to wtedy pojawia się problem i okienko się nie wyświetla
  9. Mi też działa, jak nie ma tam GMowej gry, też ten pop-up się pojawia. Problem gdy kod chcę umieścić w pliku index stworzynym przez GMa, wtedy przeglądarka nie reaguje na ten kod
  10. Hmm no to nie wiem co jest nie tak, przedstawiam poniżej kod: <!DOCTYPE html> <html lang="en"> <head> <!-- Generated by GameMaker:Studio http://www.yoyogames.com/gamemaker/studio --> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="pragma" content="no-cache"/> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name ="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta charset="utf-8"/> <!-- Set the title bar of the page --> <title>Created with GameMaker: Studio</title> <!-- Set the background colour of the document --> <style> body { background: #000000; color:#cccccc; margin: 0px; padding: 0px; border: 0px; } canvas { image-rendering: optimizeSpeed; -webkit-interpolation-mode: nearest-neighbor; -ms-touch-action: none; margin: 0px; padding: 0px; border: 0px; } :-webkit-full-screen #canvas { width: 100%; height: 100%; } div.gm4html5_div_class { margin: 0px; padding: 0px; border: 0px; } /* START - Login Dialog Box */ div.gm4html5_login { padding: 20px; position: absolute; border: solid 2px #000000; background-color: #404040; color:#00ff00; border-radius: 15px; box-shadow: #101010 20px 20px 40px; } div.gm4html5_cancel_button { float: right; } div.gm4html5_login_button { float: left; } div.gm4html5_login_header { text-align: center; } /* END - Login Dialog Box */ :-webkit-full-screen { width: 100%; height: 100%; } </style> </head> <body> <div class="gm4html5_div_class" id="gm4html5_div_id"> <!-- Create the canvas element the game draws to --> <canvas id="canvas" width="1511" height="850"> <p>Your browser doesn't support HTML5 canvas.</p> </canvas> </div> <!-- Run the game code --> <script type="text/javascript" src="html5game/f1_3.js?NWHAC=158296150"> </script> <script>window.onload = GameMaker_Init;</script> <script> function myConfirmation() { return 'Are you sure you want to quit?'; } window.onbeforeunload = myConfirmation; </script> </body> </html> Tutaj dodałem ten kod prawie na samym końcu, ale próbowałem też na samym początku i bez skutku...
  11. Niestety kod nie działa, wpisałem go do sekcji <script> do strony index.html (tej która jest tworzona przy generowaniu gry w HTMLu), następnie wrzuciłem na serwer i cóż... wciskam wstecz i normalnie przechodzi mi do wcześniejszej storny.
  12. Hej tworzę sobie dla rozluźnienia gierkę w module HTML5 (gm 1.4) i mam jeden problem. Korzystając ze smartfona i otwierając gierkę na stronce, bardzo łatwo jest nieopatrznie kliknąć przycisk wstecz (ten wbudowany w telefonie, w prawym dolnym rogu urządzenia) i stracić cały zapis gry . Czy jest jakiś sposób, aby zablokować taką możliwość, albo aby pojawił się pop-up w stylu: “Czy na pewno chcesz cofnąć stronę? “Albo coś w tym stylu? Podejrzewam, że nie , bo to już zależy od oprogramowania telefonu, ale warto zapytać. Innym sposobem byłoby zapisanie stanu gry, i nawet niechcący klikniemy sobie wstecz, to szybko moglibyśmy pwrócić do poprzedniego momentu, ale problemem jest to, że gierkach htmll5 nie można zapisać stanu gry
  13. Aż dziwne, że jest taka rozbieżność pomiędzy GameDevami, a resztą programistów. Jak przeglądam Linkedina, to jeśli chodzi o programistów to widzę tam tylko oferty z widełkami 15k - 20k na miesiąc lub więcej (ja sam niestety nie jestem z zawodu programistą, więc mogę o takich zarobkach pomarzyć ).Także szacun dla tych, którzy crunchują za te 2.5k - 6k, bo pewnie gdyby chcieli, to spokojnie mogliby się przebranżować na inżynierów oprogramowania i żyć w dostatku. Ale to są pasjonaci, zwykły Kowalski tego nie zrozumie. Dla nich, stworzenie gry to coś więcej niż tylko sposób na zarobek. To są życiowi poszukiwacze, tak jak Propaganja , Japanstache czy też Quetzacotl, którzy nie poszli stabilną i wygodną ścieżką utartą przez Tymona czy Marmota, ale poszli szukać swojego powołania. Równie dobrze, mogliby zamieszkać w beczce niczym diogenes, spożywać tylko suchy chleb ze słoną wodą, a i tak - gdyby mieli możliwość tworzyć gry przez cały dzień - byliby szczęśliwi.
  14. Tak, przy konfiguracji wysyłki muszę podać następujące dane: define("MAIL_SYSTEM", "1"); // 1,2,3,4,5 define("MAIL_DEBUG", TRUE); define("MAIL_HOST", "smtp.gmail.com"); define("MAIL_SECURITY", "ssl"); // ex ssl or tls define("MAIL_PORT", 465); // ex 465 or 587 define("MAIL_USERNAME", " nowy_user@gmail.com"); define("MAIL_PASSWORD", "ToNieJestMojePrawdziweHaslo"); define("MAIL_REGISTER_EMAIL", " nowy_user@gmail.com"); define("MAIL_REGISTER_EMAIL_NAME", "nowy_user Robot"); define("MAIL_REPLY_EMAIL", "nowy_user@gmail.com"); define("MAIL_REPLY_EMAIL_NAME", "nowy_user Robot"); Wszystko powinno działać, i działa na dhostingu ale w przypadku devilnetu niestety nie wysyła. Dopiero gdy zmienię adres mailowy na ten z końcówką usermd.net to maile są wysyłane, ale trafiają do spamu.
  15. Właściwie to na razie utknąłem na etapie wysyłki maila testowego — tu jest problem. Ich serwer nie chce mi wysyłać maili z konta gmail ( przy użyciu PHP'owego skryptu ). Maile są wysyłane tylko wtedy, jeśli ustawię skrzynkę wysyłającą na tę, którą mam domyślnie ustawioną od MyDevil ( z końcówką usermd.net) ... to nie byłby problem , gdyby nie fakt, że maile z tej właśnie skrzynki trafiają z automatu do spamu Co może być problematyczne zważywszy na to, że są to bardzo ważne maile jak np. aktywacja konta albo reset hasła i nie chciałbym, aby klienci je przeoczyli... Ktoś ma jakiś pomysł, jak sprawić , aby te maile nie trafiały do spamu tylko do skrzynki odbiorczej ?
  16. Próbuję skonfigurować bazę danych pod GM Web-api i niestety mam problem w przypadku hostingu MyDevil (na dhosting działa bez zarzutu). Podejrzewam , że kwestia dotyczy błędnego hosta bazy danych. W panelu MyDevil pokazuje mi coś takiego: ale podejrzewam, że znak '%' to jakiś skrót myślowy i dlatego nie działa. Ktoś wie, jaki jest może host do baz danych mysql w MyDevil?
  17. @ANtY ,na codzień pracujesz jako programista czy zupełnie coś niepowiązanego?
  18. Szkoda, że tak szybko odszedłeś z YoYo, po odejściu Mike’a byłbyś prawą ręką Russela.
  19. Oki dzięki za odpowiedź, całe szczęście przed chwilką zerknąłem do panelu PHP i przejrzałem bazę danych, autor Web-API pomyślał o wszystkim i hasła są domyślnie zaszyfrowane. Niemniej jednak dziękuję za odpowiedź, dobrze wiedzieć, że w razie czego to nie jest aż tak skomplikowane, żeby zrobić to samemu. Pozdrawiam!
  20. O nie! Wybacz mi @gnysek ten double post, ale właśnie się zorientowałem , że to nie będzie kilkanaście minut roboty, ponieważ w addonie, z którego korzystam: Web-API, reset hasła dzieje się poprzez stronkę ze skryptem PHP , a nie przez aplikację. O ile z rejestracją i logowaniem nie ma problemu ( bo wszystko dzieje się w programie i mogę użyć szyfrowania: https://www.gmlscripts.com/forums/viewtopic.php?id=2069 ) to kłopoty pojawią się, gdy ktoś właśnie będzie chciał zresetować hasło, ponieważ wtedy, w specjalnym formularzu na www, użytkownik podaje nowe hasło. Jeśli to nowe hasło nie będzie w ten sam sposób zaszyfrowane, to potem, w ekranie logowania w aplikacji, gdy komputer porówna wpisywane hasło do zaszyfrowanego hasła to nie będzie zgodności i osoba nie będzie mogła się zalogować. Czy jedyne, co mogę zrobić w tej sytuacji to napisać taki sam algorytm szyfrowania w PHP czy jest jakieś inne wyjście z tej sytuacji ? Będę wdzięczny za wskazówki.
  21. Oki dzięki, wygląda na to, że mając algorytm (jak np. ten, który podesłałem wcześniej ) to będzie to kilka-kilkanaście minut roboty Uff co za ulga.
  22. I am lord, ja stworzyłem aplikację desktopową więc nie da rady jej wrzucić na Google Play. Co do szyfrowania haseł, to nie do końca wiem co mógłbym tu zrobić. Rejestracja odbywa się w programie, po pobraniu ( a nie na stronie internetowej) . Tekst, który jest wpisywany do fomularza nie może być skopiowany ( specjalnie wyłączyłem tę funkcję) , czyli nie można go skopiować i wrzucić do jakiegoś zewnętrznego programu aby go rozszyfrować. Nie ma też zapamiętywania sesji. Czy to wystarczy? A może pisząc o szyfrowaniu miałeś bardziej na myśli to w jaki sposób hasło jest przechowywane w bazie danych mysql? EDIT W międzyczasie znalazłem taki kod: https://www.gmlscripts.com/forums/viewtopic.php?id=2069 . Niestety, z tego, co widzę to jest to szyfrowanie, ale potem , gdy użytkownik będzie się logować muszę jakoś to hasło odszyfrować... autor niestety nie zamieścił kodu do odszyfrowania, więc to raczej mi nie pomoże
  23. Hej, prace nad aplikacją poszły mocno do przodu i niebawem będę chciał ją opublikować. Mam już zaimplementowany prosty system rejestracji, natomiast nie przygotowałem jeszcze regulaminu i warunków współpracy, więc nie mam tego checkboxa ‘I agree on terms and services’ . Nie mam również info o RODO i innych takich, ponieważ na razie nie zamierzam jeszcze sprzedawać programu , ani go nawet intensywnie promować — po prostu chciałem aby ludzie go przetestowali. Czy w związku z tym mogę wrzucić apkę na landing page w takiej formie jakiej jest tj. Bez regulaminu i wzmiance o Rodo przy formularzu rejestracji? Jedyne dane, jakie zbieram to adres e-mail, hasło i nazwa użytknownika (nie musi to być imię i nazwisko). Nie mam też swojej firmy, powiedzmy, że na razie to działalność hobbystyczna Mam nadzieję, że mogę to wrzucić w takiej formie, jakiej jest, proszę utwierdźcie mnie tylko w tym przekonaniu.
  24. Dzięki za info, nie ma zatem sensu kupować dns anycast. Chcę po prostu jak najszybciej kupić domenę i stworzyć szybki landing page, żeby ludzie mogli testować mój program Do zrobienia landingu prawdopodobnie skorzystam z WP i z rozszerzenia Elementor.
  25. Hej, mam pytanko, czy wie ktoś jaki jest GMLowy odpowiednik kliknięcia w przycisk 'Maksymalizuj' w oknie? Chodzi mi o ten przycisk: Ten przycisk sprawia, że okno się rozszerza , przy uwzględnieniu paska zadań. Okno jest więc prawie na całym ekranie, ale jest dopasowane do naszego paska zadań, niezależnie od tego, czy pasek jest na dole, czy z boku. Niestety, GMLowska funkcja window_set_fullscreen sprawia, że okno maksymalizuje się totalnie, wchodzi w stan full screen, i pasek zadań nie jest widoczny. Próbowałem funkcji window_set_size i display_get_width/height , ale niestety efekt nie jest taki sam jak przy kliknięciu przycisku 'Maksymalizuj'
×
×
  • Dodaj nową pozycję...