maslak3 Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 na początek od razu mówię ze dopiero zaczynam , chciałbym zrobic coś takiego że jak punkty zmieniają sie na -10 to gra wyświetla nowy ROOM z podliczonym czasem ( mam licznik czasu i punktów ) punkty zrobiłem tak : create// global.punkty = 0 ; Deaw// draw_text (x,y,global.punkty) i to wyświetla punkty moje a, chce ze jak ulegnie zmianie na -10 to gra automatycznie przeniesie na iny ROOM i podliczy czas a czas zrobilem tak : Create// global.licz = 0 step// global.licz += 1/room_speed Draw// draw_text (x,y, global.licz) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PatrykPlayingPOLSKA Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 Używaj tego do pisania kodu na forum. [gml ] [/gml ] GML if global.punkty = -10 { room_goto(nazwa_roomu) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 Jemu raczej chodziło o to: GML if(global.punkty >= -10) { room_goto(nazwa_roomu); } Różnica jest taka, że w jego kodzie przejdzie Ci tylko do następnego roomu przy 10 punktach(czyli jeżeli więcej zdobędzie np 11 to już nie przejdzie) a w moim przejdzie przy co najmniej 10 ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dester Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 Różnica jest taka, że w jego kodzie przejdzie Ci tylko do następnego roomu przy 10 punktach Nic nie przejdzie. Błąd w kodzie. Powinno być tak: GML if global.punkty == -10 { room_goto(nazwa_roomu) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 Dester nie polecam poprawiać innych. Nie wychodzi Ci to. Żadnego błędu nie było w tym co napisał MaxGaming. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 Całkiem zabawne. Przyłączę się : D Threef nie polecam poprawiać innych. Nie wychodzi Ci to. [No hard feelings pls] PatrykPlayingPOLSKA podał na samy początku poprawną odpowiedź( chyba że gm już nie pozwala używac pojedyńczego porównania ) Dlaczego? Autor wątku w create global.punkty ustawia na 0 a wiec nie mozna użyć znaku >= bo przejdzie natychmiast dalej : ) Po za tym napisał że kiedy punkty zmienią się na -10 to ma się zmienić co sugeruje że jest to forma flagi i jest pewny że wartość tyle bedzie wynosić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 15 Sierpnia 2016 Autor Udostępnij Opublikowano 15 Sierpnia 2016 no dobra działa mi na -10 a jak zrobić żeby ogólnie od-10 w dół , no i też 2 część pytania jak zrobić podliczanie na koniec tabele wyników (oczywiście dzienkuje za zainteresowanie i tak) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 15 Sierpnia 2016 Udostępnij Opublikowano 15 Sierpnia 2016 zamiast = -10 zrób <= -10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 15 Sierpnia 2016 Autor Udostępnij Opublikowano 15 Sierpnia 2016 no dobra wszystko jeżeli chodzi o 1 część a reszta ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 16 Sierpnia 2016 Udostępnij Opublikowano 16 Sierpnia 2016 To może zacznij od pisania zrozumiale. Interpunkcja, wielkie znaki, tworzenie sensownych zdaniań. Nie pisz wszystkego w jednym może? Nikt nie może Cię zrozumieć. Gry za Ciebie też nie zrobimy, rusz łepetyną to będziesz miał tablicę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 16 Sierpnia 2016 Autor Udostępnij Opublikowano 16 Sierpnia 2016 Sory :D . wiec chciałbym coś takiego : że po tym jak upłynie te "-50 punktów" to czas który się naliczył, zostanie pokazany na innym Roomie. Ze dopiero zaczełem w to bawić kombinuje chociaż nad skrinem , ze jak te "-50 " upłynie to skrin sie robi ale mam problem z miejscem zapisu skrina (niepotrafie go zmienic). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Sierpnia 2016 Udostępnij Opublikowano 16 Sierpnia 2016 Całkiem zabawne. Przyłączę się : D Threef nie polecam poprawiać innych. Nie wychodzi Ci to. :( Przyznaję się. Chyba za szybko siadłem do komputera po tym weekendzie. no i też 2 część pytania jak zrobić podliczanie na koniec tabele wyników To nie jest proste, ale nie jest też zbyt trudne. Musisz pierw wiedzieć kiedy i jakie punkty zapisać. Wiedząc to będziesz mógł w odpowiednim miejscu kodu użyć funkcji highscore_add(). Podajesz w niej imię gracza i liczbę punktów. Dzięki tej funkcji GM zapamięta 10 najlepszych wyników. Drugim zadaniem jest wyświetlenie tabeli wyników. Tu także musisz wiedzieć gdzie to zrobić. Pewnie będziesz chcieć zrobić sobie specjalny room do tego. Wyniki pobierasz w 2 krokach, a oba są opcjonalne i możesz pominąć który chcesz. Pierw możesz pobrać liczbę punktów funkcją highscore_value(). Argument to pozycja w tabeli wyników czyli: highscore_value(0) to najlepszy wynik, highscore_value(1) to drugi, highscore_value(9) to ostatni. Oczywiście musisz sobie sam narysować ten wynik na ekranie którąś z funkcji draw_text*() więc odsyłam Cię do dokumentacji. highscore_name() to funkcja która zwróci imię zapisane z wynikiem. Tak samo highscore_name(0) to najlepszy wynik. Ale jak pisałem przed momentem. Możesz sobie wybrać czy chcesz wyświetlać same wyniki, same imiona, albo imiona z wynikiem. W razie czego jest też funkcja która czyści tabele wyników highscore_clear(). Powodzenia! P.S.: Jeżeli chcesz zrobić coś inaczej, na przykład zapisać więcej niż 10 wyników, zrobić kilka tabel wyników dla osobnej mapy, albo przechowywać czasy, to czeka Cię jeszcze więcej kombinowania bo tych funkcji wtedy nie użyjesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 16 Sierpnia 2016 Autor Udostępnij Opublikowano 16 Sierpnia 2016 jeszcze jedno pytanie (z tabelą powoli idzie ) ale da sie zmienić miejsce zapisu skrina? bo ja kombinuje i nie wychodzi :/. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Sierpnia 2016 Udostępnij Opublikowano 16 Sierpnia 2016 jeszcze jedno pytanie (z tabelą powoli idzie ) ale da sie zmienić miejsce zapisu skrina? bo ja kombinuje i nie wychodzi :/. Nie. Nie możesz zmienić miejsca zapisywania danych chyba że gracz wskaże sam to miejsce przy pomocy funkcji get_save_filename(). Możesz co najwyżej utworzyć nowy folder w miejscu zapisywania danych i w nim zapisywać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 17 Sierpnia 2016 Autor Udostępnij Opublikowano 17 Sierpnia 2016 GML if(global.punkty <= -50 ) { screen_save(working_directory + "\Screens\Screen"+".png") } zrobiłem coś takiego , ale nie wiem jak zrobić żeby robił sie + 1 skrin ( bo z tg co napisałem w gml to robi sie 1 i wiecej nie ). tak wiem ide na skróty :D , ale da sie zrobić cos takiego ze zapisany skrin wyświetla sie w nowym roomie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 17 Sierpnia 2016 Udostępnij Opublikowano 17 Sierpnia 2016 Twój warunek najwidoczniej spełnia się wiele razy. To powoduje że zapisuje on wiele screenów. Jeżeli chcesz wyświetlić screen gdzieś indziej to są na to 2 sposoby. 1. Zapisać screen na dysku tak jak to teraz robisz. Potem przy pomocy sprite_add() wczytać screen na surface i go rysować. 2. Stworzyć surface, zapisać na nim zawartość screena a potem go wyświetlać. Ten sposób jest lepszy jeżeli ten screen ma być tylko na chwilę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 17 Sierpnia 2016 Udostępnij Opublikowano 17 Sierpnia 2016 Jemu raczej chodzi o to żeby zapisać więcej screenów bo teraz mu się nadpisują. Zrób sobie licznik i sprawdzaj czy plik istnieje za pomocą file_exists() jeśli nie istnieje to wtedy zapisz. Pamiętaj że jak ten kod będziesz miał w step i cały czas -50 punktów to zapiszą Ci się tysiące screenów, zrób sobie jakiś przerywnik. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 17 Sierpnia 2016 Udostępnij Opublikowano 17 Sierpnia 2016 Aj no tak. Chyba nie jestem pierwszym który ma problem z rozczytaniem się tu. @maslak3 tworzysz jeden screen po ciągle go nadpisujesz. Każdy jaki tworzysz ma tę samą nazwę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 17 Sierpnia 2016 Autor Udostępnij Opublikowano 17 Sierpnia 2016 dobra no wybaczcie ze tak chaotycznie jest. ale wiecie wszystko tak wprowadzam i się uczę wszystkiego, staram sie ogarnąć choć odrobinę "gml" . tak pytam ciągle ale wszystko co każdy pisze przydaje mega, czasem nie rozumiem ale posiedzę poczytam i mam. wiele poradników (czytanych bo na yt same dzieci) i taki znalazłem na początek ale niedziała GML 1. score = 0; 2. lives = 3; 3. action_set_caption(true,"Monety: ",true,"Zycia:",false,"health: "); // to niedziała :/</span> i nie wiem może to na jakąś starszą wersje ? tak samo GML 1. highscore_show(score); 2. game_end(); tez nie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kordians Opublikowano 17 Sierpnia 2016 Udostępnij Opublikowano 17 Sierpnia 2016 W tutorialach, które można ściągnąć przy otwieraniu GM:S, pownien być poradnik o GML'u. Co prawda po angielsku ale da się zrozumieć, nawet jak ktoś jest tak beznadziejny z anglika jak ja. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 17 Sierpnia 2016 Autor Udostępnij Opublikowano 17 Sierpnia 2016 dobra ale to nie odpowiedz może to co napisałem w gml jest zastompione czymś nowym co ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 17 Sierpnia 2016 Udostępnij Opublikowano 17 Sierpnia 2016 A co chcesz zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 17 Sierpnia 2016 Udostępnij Opublikowano 17 Sierpnia 2016 Funkcje których używasz nie są już wspierane. Musisz napisać ręcznie przy pomocy funkcji rysujących wszystko. Poczytaj w dokumentacji o funkcjach draw_* Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 17 Sierpnia 2016 Autor Udostępnij Opublikowano 17 Sierpnia 2016 A co chcesz zrobić? jak widać zwykłą tabele "highscore" ( działającą ) ale no poczytam może znajde coś co mnie olśni juz tyle nowego nauczyłem a to jedno szukam :/ . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
maslak3 Opublikowano 17 Sierpnia 2016 Autor Udostępnij Opublikowano 17 Sierpnia 2016 kolejne pytanie :D jak w kodzie np gdzie liczy punkty zrobić żeby był napis?? normalny wyswietlany? jeszcze pytanie takie jak wstawiam powiedzmy gif ustawiam ze ma być szybkoś pomiedzy zdj 1 ( room ma 30) a jak daje do roomu to zapierdziela jak niewiem ( jak to naprawic )? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dester Opublikowano 18 Sierpnia 2016 Udostępnij Opublikowano 18 Sierpnia 2016 jak wstawiam powiedzmy gif ustawiam ze ma być szybkoś pomiedzy zdj 1 ( room ma 30) a jak daje do roomu to zapierdziela jak niewiem ( jak to naprawic )? Jeśli chodzi ci o tę prędkość w edytorze sprita, to ona jest tylko do podglądu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 18 Sierpnia 2016 Udostępnij Opublikowano 18 Sierpnia 2016 Zamykam temat jako że problem został rozwiązany, a pojawiają się teraz nie związane z nim pytania. W razie kolejnych pytań zapraszam do założenia nowego tematu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi