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. Nie jestem ekspertem, ale chyba nie do końca się tak dzieje. Nawet jeśli wyeksportujemy sobie programik do pliku executable, to wciąż working direcotry to : Z jednej strony chciałbym cię do tego jak najbardziej zachęcać - ze swoich egoistycznych względów- ale moje dobre serce bierze tu górę więc napiszę Ci tak: To nie jest takie proste jak się zdaje, zrobienie text_input z tymi funkcjonalnościami o których wspomniałem wymaga naprawdę dużej wiedzy, i nie jeden raz przeklniesz GMa oraz siebie, że się za to zabrałeś. Wierz mi, wiem co mówię, bo sam myślałem przed tym zadaniem , że będzie to kaszka z mlekiem , a nabawiłem się sporo frustracji. Lepiej zastanów się dwa razy, zanim sie za to zabierzesz. Żeby nie było, że nie ostrzegałem. :)
  2. Z opcjami takimi jak zaznaczanie, wklejanie tekstu itd? To naprawdę wymaga olbrzymiej wiedzy gml, nic dziwnego że w markecie taki program kosztuje prawie 70 zł. A co do Execute Shell to tak, używam w Gm Studio, ale może on nie jest rzeczywiście do niego przystosowany i stąd te kwiatki. ---edit--- GML Po drugie working_directory to folder w którym jest plik exe z grą i na 100% ten co podaje jest ok. To byłoby piękne, niestety wraz z końcem ery gm 8.1 to się zmieniło, i teraz working_directory oznacza folder w jakiejś wariackiej lokalizacji C:\Users\User\AppData\Local\ Wszystko dlatego, że nasi kochani twórcy naszego ulubionego programu wymyślili sobie, że gry w GMie będą sandboxowane. I co poradzisz, tak sobie wymyślili i na nic protesty użytkowników.
  3. Gmstudio 1.4 proffesional Niestety mam problem z tym wszystkim. Problem wynika z tego , że chcę stworzyć prosty program polegający na następującej rzeczy: Program z kilkoma lub kilkunastoma kwadratami, które są w zasadzie polami tekstowymi. Po kliknięciu lewym przyciskiem myszy na dany kwadrat, chcę aby: Program otworzył ( a wcześniej utworzył, jeśli go jeszcze nie ma) plik tekstowy, który ma w nazwie to samo id co dany obiekt. Następnie mogę sobie uzupełnić notatnik , zapisać wyłączyć, i chcę aby zaktualizował się tekst w polu tekstowym, w sensie takim , żeby było to samo w tym kwadracie co w notatniku Aby to zrobić , korzystam z Execute Shell. Niestety następuje zgrzyt ponieważ wygląda na to , że Execute Shell co innego uważa za working directory: taki kod: GML ExecuteShell("notepad.exe" + working_directory + string(id)+".txt",0); nie tworzy danego pliku w a zamiast tego tworzy mi jakiś dziwny folder gmtt60107, spójrzcie na tę ścieżkę : I przez to wszystko się rypie. Taka prosta sprawa , a tak mi psuje krew... do Gma trzeba mieć cierpliwość, oj trzeba... ---edit--- Tak BTW, to oczywiście wolałbym nie bawić się w żadne notatniki itp, tylko lepiej byłoby po prostu stworzyć taką opcję, że jak klikam na ten kwadrat to mogę sobie w nim od razu pisać itd, ale stworzenie funkcjonalnego programu typu text_input, z możliwością kopiowania i wklejania tekstu, z możliwością przechodzenia pomiędzy literkami za pomocą strzałek klawiatury, możliwość korzystania z takich kombinacji klawiszy jak ctrl+end itp, to robota na długie zimowe wieczory, a i tak nie mam pewności że w gmie jest to wykonalne. Dlatego próbuję to obejść korzystając z Execute Shell , ale jak sami widzicie , tu piętrzą się z kolei inne problemy.
  4. Dziękuję za odpowiedź, wszystko działa cacy nawet wtedy , gdy ustawiłem sobie, aby zamiast okna dialogowego z wyborem pliku tekstowego, odczytywało mi odrazu dany plik ( plik który ma w nazwie id obiektu). I nawet wszystko działało cacy, dopóty dopóki pliki znajdowały się w "working directory", kod wtedy wyglądał tak: GML var PlikTekstowy = file_text_open_read(working_directory + string(id)+".txt");; //Otworz plik "Plik" i zapisz ID otwartego pliku do zmiennej "PlikTekstowy" //Od teraz bedziemy sie poslugiwac uchwytem otwartego pliku czyli PlikTekstowy aby korzystac z zawartosci otwartego pliku. ZawartoscPliku = ""; //To zmienna typu string w ktorej bedziemy zapisywac zawartosc pliku while(!file_text_eof(PlikTekstowy)){ //Dopoki nie dojdziemy do konca pliku tekstowego ZawartoscPliku += file_text_readln(PlikTekstowy); //Dopisz do zmiennej "ZawartoscPliku" linie tekstu z "PlikTekstowy" } file_text_close(PlikTekstowy); //Zamknij otwarty plik. Bardzo wazne zeby zamykac pliki ktorych juz nie potrzeba uzywac, bo moze byc tylko 32 otwarte na raz Nawet nie wiecie jak bardzo się ucieszyłem, że po tylko godzinach walki wreszcie to zadziałało. Niestety.... Gdy tylko chciałem zmienić ścieżkę z working directory na :C:\Users\User\Desktop\folder\"+ string(id) +"txt" < gdzie byłem na sto procent pewien że ten plik tam jest , to pojawiał się ten wkurzający błąd : Na początku myślałem, że Gamemaker wogóle nie może operować na innych folderach niż working directory, ale to mylne założenie, bo np.jestem w stanie za pomocą execute shell utworzyć plik notatnikowy w jakimkolwiek tylko folderze sobie zapragnę. Dziwne to, doprawdy dziwne...
  5. Hej i ja również mam drobny problem. Mam ustawioną akcje przy evencie jednego kliknięcia prawym przyciskiem myszy. Czasami jednak akcja wykonuje się dopiero po dwukrotnym kliknięciu. Sprawdzałem na różnych myszkach , i to nie wina sprzętu. Zauważyłem, że za każdym razem gdy do tego dochodzi w CompileForm pojawia się taka wiadomość: Dodam, że nie mam w żadnym innym obiekcie ustawionego kodu aktywującego pauze. hmmm , dziwna sprawa.
  6. Generalnie to mój problem jest chyba nieco głębszy, Przede wszystkim bardziej chciałem aby kliknięciem lewym przyciskiem myszy na dany obiekt , utworzył się i włączył plik tekstowy o nazwie takiej jakie jest id obiektu, tak aby każdy obiekt miał swój plik txt. (zrobiłem to za pomocą Execute Shell) i to fajnie działa. Teraz chciałem zrobić dodatkową rzecz tzn. klikając prawy przycisk myszy na dany obiekt chciałbym aby tekst z pliku tekstowego pojawił się na obiekcie ( obiekt ma kształt kwadratu- ramki, właściwie jest to takie pole tekstowe) , czyli chce aby już bez okna dialogowego, odczytał plik tekstowy, który ma w nazwie id obiektu, i zaktualizował napis na obiekcie na taki sam jaki jest w notatniku. I tu zaczynają się schody. Musiałem zamienić zmienne var na zwykłe zmienne, bo inaczej wyskakiwał mi błąd, zadeklarowałem je w create i dostosowałem nieco kod na następujący: GML if file_exists(working_directory + "\"+string(id)+".txt") { Plik = file_text_open_read(working_directory + "\"+string(id)+".txt"); while(file_text_eof(Plik)){ ZawartoscPliku += file_text_readln(Plik); } file_text_close(Plik); } Następnie proboje drawować ZawartoscPliku, ale niestety nie wyświetla mi tekstu tego , który jest w pliku w notatniku . A błąd o który pytasz no chyba teraz zaczaiłem, chodziło o zmienną ZawartoscPliku , to nie jest zmienna tymczasowa. EDIT: Ale tak teraz jeszcze raz patrzę to nawet jak używam twojego kodu , i wszystko daje w create to nie bardzo mi się ten tekst z notatnika wyswietla (pomimo że mam ustawioną komendę draw_text(x,y,ZawartoscPliku) .... już się trochę zamotałem, chyba muszę trochę odpocząć od GMa ;)
  7. Dziękuję za wyczerpującą wypowiedź. Kod jest super, ale jest problem, jeśli wstawiam go gdzie indziej niż w create, wyskakuje mi błąd, że zmienne nie są zadeklarowane. To bardzo dziwne, bo zmienne var są lokalne i nie potrzebują deklaracji w Create. Muszę nad tym posiedzieć żeby zrozumieć w czym tkwi błąd.
  8. Tak wiem, ale co mam wpisać dalej ? draw_text(0,0, string(....i co tutaj? , jeśli wpiszę nazwę pliku.txt, to niestety nie wyświetla się) ) EDIT Próbowałem też w step: GML ini_open(string(id)) text=ini_read_string("","","") ini_close() i w evencie draw: GML draw_text(0,0,text) but nope, it's still not working. :(
  9. Hej , jak zrobić w gm studio drawowanie całego tekstu z danego pliku w notatniku? Mam np. jakiś tekst w notatniku i chce go jota w jotę drawować w gmie. Czy nasz program ma taką funkcję? Pozdrawiam, Nowy_user!
  10. Dziękuję za odpowiedź, rzeczywiście racja leży po Twojej stronie :) Dziękuję za pomoc. Od razu mam drugie pytanie, nie chciałbym oczywiście nadużyć cierpliwości, ale czy w GM mogę od tak otworzyć sobie plik np tekstowy, tak że uruchamia się z domyślnego programu? Np. mam w folderze z grą plik notatnik readme i chciałbym aby po kliknięciu np danego klawisza on się otwierał. Wiem , że jest coś takiego domyślnie dla F1 , wtedy otwiera się game info, ale czy mogę zrobić to ręcznie dla pliku, który sam stworzę?
  11. Witam, przykład był bardzo pomocny i jeszcze raz dziękuję, ale zastanawiam się jaki kod zastosować, aby móc wpisywać polskie znaki? Czy jest to do zrobienia w GMie? EDIT I od razu drugie pytanie: Czy można zrobić tak aby kliknąć myszą w połowie danego formularza i zacząć pisanie tekstu np. w połowie napisanego już zdania? I analogicznie, czy da się zrobić tak, aby strzałki na klawiaturze przesuwały nas np. do połowy napisanego wcześniej wyrazu? Chodzi mi o takie funkcjonalności jaki są w notatniku, wordzie i innych edytorach tekstu. EDIT 2 I od razu 3 pytanie, czy można stworzyć funkcję ctrl +c oraz ctrl+v aby działała przy formularzu?
  12. niestety próbuję użyć też funkcji : GML draw_text_ext_transformed i wygląda na to że niestety ta funkcja nie do końca działa tak jak trzeba. Mogę ustawić w niej transofrmacje wielkości czcionki - i fajnie, ale ta tranfsormowana czcionka działa bardzo dziwnie na zmienną : w The maximum width in pixels of the string before a line break. Niestety wychodzi po za ramkę albo ucina tekst w jej połowie.
  13. Wybaczcie, że jeden post pod drugim , ale mam problem z tym kodem. Jeśli dany wyraz jest tak długi że sam jeden mieści się w jednej linijce, to niestety wychodzi za ramkę. Czy można zrobić tak, aby skrypt dzielił taki wyraz na dwa mniejsze i drugi z nich napisał od następnej linijki? Albo jeśli się tego nie da, to może dałoby się zmniejszyć czcionkę jeśli taka sytuacja następuje?
  14. Hej, wie ktoś czy w kodzie można ustawić event: global mouse check button? Tzn w eventach jest dostępne takie coś natomiast jeśli chce sobie to zakodzić to już niestety nie ma.
  15. Witajcie, Jak wiemy w dzisiejszych czasach wszystko musi być smart: smart phone, smart watch, smart dom itd. Niesiony na fali tego trendu chciałbym zastosować funkcję smart draw_text , tzn taką , która sama "domyśliłaby się" , że jeżeli w jednej linijce zostanie osiągnięta określona liczba znaków, lub jeśli dana literka wyjdzie poza linię specjalnego okienka, to przerzuca ostatni wyraz do następnej linii, i kolejne słowa pisze już w następnej linii. Wiecie, coś jak w przygodówkach, gdzie jest dużo dialogów, np. jak w Cinders, okienko z dialogami jest na dole, ale tekst jest tam wyświetlany elegancko i nic nie wychodzi poza ramkę. Podejrzewam, że ani TeeGee , ani inni specjaliści z MoaCube nie siedzieli przy każdym dialogu postaci, zastanawiając się w którym momencie uciąć tekst by przenieść go do następnej linijki, a zamiast tego mieli pewnie elegancki silniczek, kod, który sam się domyślał, i był na pewien sposób inteligentny :) . W ten sposób specjaliści od fabuły mogli się skupić na pisaniu dialogów a nie obliczaniu długości ciągów znaków. Bardzo proszę o poratowanie mnie kodem, który mam użyć, lub skierowaniem mnie na właściwe tory myślenia. Pozdrawiam i życzę szalooonego weekendu :) nowy_user
  16. SSL dla bezpieczeństwa... A co jeśli baza danych jest lokalna ? ( Rozumiem, że w tym wypadku różnica pomiędzy globalną a lokalną jest to , że ta pierwsza jest dostępna on-line a druga off line tak?) Czy w przypadku lokalnej bazy danych możemy to wykonać używając najnormalniejszych w świecie tablic zmiennych wbudowanych w GM bez odwoływania się do C# ?
  17. globalna. Własciwie to chodziło mi o to że mamy np . 100 profilów i każdy możemy sobie wybrać z listy rozwijalnej lub wpisując jego nazwę do formularza, a potem wyświetlają się jego statsy
  18. Witajcie, Przeszukałem uploadery różnych użytkowników naszego portalu i niestety nie znalazłem żadnego przykładu bazy danych. Chciałbym stworzyć prosty system CRM , niestety ciężko mi się za to zabrać, ponieważ nigdy nie tworzyłem baz danych w GM. Czy ktoś może dysponuje takim przykładem? BTW. Mam nadzieję że nie zasypuje was ostatnio zbyt dużą ilością pytań, ale dostałem takiego zapału, że nie mogę przestać myśleć o GM-Studio. Pozdrawiam, nowy_user
  19. Panowie z Frozen District - wielki szacun za tę grę jak i pierwszą część! Wygląda to wszystko rewelacyjnie i już nie mogę się doczekać pełnej wersji. Dzięki takim grom jak wasza, które osiągają komercyjny sukces, mogę z dumą powiedzieć, że korzystam z GMa, nie czując się przy tym jak programista drugiej kategorii :) Trzymam kciuki i oby zapał nigdy was nie opuścił!
  20. Dziękuję za cenną uwagę, niestety nie posiadam GMS2, ale miło słyszeć, że programiści yoyo robią coś w kierunku zarządzania pamięcią, gdzieś przeczytałem , że to była przez długi czas pięta achillesowa GMa. Czy jest jakaś inna funkcja w GMS1 która również pozwala zwalniać co nieco pamięć?
  21. Tak, masz rację, na strony związane z GMem wchodziłem już od dawna i zaglądałem co jakiś czas jako gość, ale nigdy nie miałem na tyle zapału żeby wziąć się na poważnie za tworzenie gier. Teraz ten zapał mam, ale co chwile pojawiają się jakieś przeszkody... :( I zdaję sobie sprawę , że nagrody Tymony nie są już rozdawane, a Mark nie ma już prawdopodobnie nic wspólnego z GMem, ale poniosła mnie trochę fantazja w poprzednim poście, wybaczcie proszę :-) Wracając jednak do sedna sprawy: Znalazłem ciekawy temat na forum yoyogames: https://forum.yoyogames.com/index.php?threa...ikey-49697.598/ Jak widać nie tylko my się z tym problemem zmagamy. Zwłaszcza ostatni post wyraża dokładnie te same obawy co moje: No nic, postaram się jeszcze potestować na innych urządzeniach z windowsem 10 i z różnymi antywirusami. Może spróbuję z wersją instalacyjną, i ta będzie bardziej stabilna. Jak problem będzie się powtarzał to napisze do Yoyo, a co mi szkodzi. Jeszcze raz dzięki wszystkim za udzielone odpowiedzi i zaangażowanie :) Pozdrawiam, i miłego weekendu życzę! nowy_user! Edit BTW, a myślicie że takie detale, jak ten, że nie używam new audio engine , mogło wpłynąć na to , że program jest rozpoznawany jako zagrażający? Wiem że to dość głupie skojarzenie, ale może ten stary audio engine jest jakoś...nie wiem.... nie rozpoznawany przez windowsa? Edit 2 Btw, przeskanowałem plik używając strony virustotal i wyniki są całkiem dobre, tylko 2 antywirusy (na 61 wszystkich) coś tam wykryły Naprawdę nie wiem już co jest grane.
  22. Dziękuję za wszystkie odpowiedzi. Niestety, żadna nie rozwiązała w 100% mojego problemu, ponieważ problem wcale nie polega na tym, że mi program nie działa, tylko na tym, że potencjalnym klientom nie będzie działał oraz że pojawi się dyskredytujący komunikatu o zainfekowanym pliku. Zamierzam stworzyć program, który będzie sprzedawany do trochę innej grupy niż młodzież która wie o komputerach prawie wszystko. Wyobraźcie sobie jak zareaguje 60 letni Eryk lub 58 letnia Kunegunda. No oczywiście zamknie program, przerażona że jej komputer zaraz wybuchnie. W związku z tym muszę mieć pewność że ten komunikat nie pokaże się nikomu. To, że mi się ewentualnie pojawia i mogę to zmienić w panelu sterowania to małe piwo. Gorzej, że komunikat pojawia się u innych, mniej świadomych. Pojawia się u ludzi, którzy w życiu nie przeczytali ani jednej strony GMclanu; ludzi, którzy nie mają bladego pojęcia o istnieniu naszego cudownego programu; ludzi, którym nigdy nie śnił się nawet stary GMclan ( ten w drewnianej odsłonie) ; ludzi, którzy nie potrafią wymienić ani jednego laureata TYMONÓW 2016... tacy ludzie też istnieją, i naszym zadaniem jest sprawić, aby w momencie odpalenia naszej gry odczuwali przyjemność lub nawet lekkie uczucie rozkoszy, a nie strach i podejrzliwość. Spróbujmy znaleźć rozwiązanie, od tego zależy dobre imię GMclanu i naszego kochanego Marka Overmarsa. Pozdrawiam i spokojnej nocy
  23. Hej napisałem dziś takiego shouta: Z tego co się dowiedziałem, GM taki po prostu jest i już. Pewnie można obchodzić ten problem, powyłączać jakieś zapory itd. ale pomyślcie jak to wygląda z perspektywy usera , który nie ma pojęcia o tym, że gra jest zrobiona w Gamemakerze lub nie, po prostu chce on uruchomić program. Od razu zrazi się do programu , i poprosi lub co gorsza zażąda zwrotu pieniędzy ( a ludzie z USA wytoczą pozew i zażądają wielkich odszkodowań) Czy ktoś znalazł na to sposób? Niestety nie dysponuję na codzień komputerem z Windows 10 więc nie mam jak regularnie to sprawdzać, ale przeczytałem w internecie że nawet eksportowanie gry do instalatora zamiast do aplikacji exe nie pomaga. JAkieś pomysły, szanowni koledzy? Pozdro! już nie taki nowy_user!
  24. Wiecie co zrobiłem, odhaczyłem opcję new audio engine i odtwarzam dźwięki opcją sound_play i działa. Póki co :)O
×
×
  • Dodaj nową pozycję...