ediepl Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 Użyj wyszukiwarki, wszysykie pytania które tu zadałeś były już na forum. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Czerwca 2012 Administratorzy Udostępnij Opublikowano 6 Czerwca 2012 Pliki ini, pliki binarne - można. Jest to w dokumentacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 https://gmclan.org/index.php?wiki=article&zm=56 https://gmclan.org/index.php?wiki=article&zm=29. W GM da się zrobić większość rzeczy, a jeśli to nie wystarcza to rozszerzasz funkcjonalność za pomocą bibliotek DLL. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BATOREX Opublikowano 6 Czerwca 2012 Autor Udostępnij Opublikowano 6 Czerwca 2012 Czyli np tworzę clienta gry, oraz serwer. Włączam serwer i podczas pracy serwera jest możliwe zmienianie punktów graczy? Bo jeżeli tak to świetnie bo takiego czegoś potrzebuje ;) A i takie pytanko, nie mogłem znaleźć tego, w jaki sposób dodać grafikę wcześniej już zrobioną aby chodziła wraz z graczem i żeby na niej pisała ilość pkt? Co do ilości pkt to wiem jak porobić takie zmienne, pytam tylko o dodanie grafiki podążającej za graczem :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 RTFM!!!!! To są podstawy! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 GML draw_sprite(spr_obrazek, 0, obj_gracz.x, obj_gracz.y - 10); Nie wiem czy czasem argumentów nie pomyliłem, ale powinno być dobrze. Tak jak napisał ediepl, w grze multiplayer to jest podstawa. Klient nie powinien móc zmieniać ilości punktów, tylko klient wysyła do serwera na ile punktów chciałby zmienić, a serwer sprawdza czy tak można, etc. Serwer wykonuje wszystkie obliczenia, a klient tylko przedstawia wyniki. BTW. Nie bierz się na razie za multiplayer skoro nie potrafisz zrobić tego, o co pytałeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 Raczej chodziło mi o to że poruszanie za graczem to podstawy(jest to nawet w faq) a co do multi to tak jak powiedział utermiko nawet się za to nie zabieraj skoro nie potrafisz porównać zmiennych. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 6 Czerwca 2012 Filar Społeczności Udostępnij Opublikowano 6 Czerwca 2012 Jak zadajesz pytania pokroju tego poprzedniego to nie rzucaj się na multi, w kazdym razie nie po sieci. Jak chodzi o zapisywanie informacji graczy - https://gmclan.org/index.php?wiki=article&zm=29 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 Pozostaje Ci tylko ćwiczyć. Później wszystko zacznie Ci się wydawać banalne, tylko trzeba zacząć myśleć "programistycznie". Moje początki z GM też nie były wcale lepsze, więc się nie załamuj :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BATOREX Opublikowano 6 Czerwca 2012 Autor Udostępnij Opublikowano 6 Czerwca 2012 GML draw_sprite(spr_obrazek, 0, obj_gracz.x, obj_gracz.y - 10); Nie wiem czy czasem argumentów nie pomyliłem, ale powinno być dobrze. Tak jak napisał ediepl, w grze multiplayer to jest podstawa. Klient nie powinien móc zmieniać ilości punktów, tylko klient wysyła do serwera na ile punktów chciałby zmienić, a serwer sprawdza czy tak można, etc. Serwer wykonuje wszystkie obliczenia, a klient tylko przedstawia wyniki. BTW. Nie bierz się na razie za multiplayer skoro nie potrafisz zrobić tego, o co pytałeś. Hehe dzięki to też się przyda, może nie o to mi do końca chodziło, bo chciałbym żeby to razem z oknem szło a nie koniecznie za mną :D A co do serwera, to miałem na myśli to że ja jako administrator mógłbym cokolwiek zmienić w ustawieniach graczy a nie że oni sami :D Jak zadajesz pytania pokroju tego poprzedniego to nie rzucaj się na multi, w kazdym razie nie po sieci. Jak chodzi o zapisywanie informacji graczy - https://gmclan.org/index.php?wiki=article&zm=29 Ahh fajnie by było, no cóż, ale to dopiero chyba mój 6 dzień zabawy w GM więc odstawię sobie to na później. Pozostaje Ci tylko ćwiczyć. Później wszystko zacznie Ci się wydawać banalne, tylko trzeba zacząć myśleć "programistycznie". Moje początki z GM też nie były wcale lepsze, więc się nie załamuj :D Mam nadzieję, bo na początku naprawdę łatwo nie jest ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 No to GML draw_sprite(spr_obrazek, 0, view_xview[0] + 10, view_yview[0] + 10); W sprawie tego serwera, to wiem o co ci chodziło, ale napisałem w jaki sposób działają ogólnie gry online. Tak naprawdę, to wystarczy, że się nauczysz if'a, switch'a, tablic i tych innych podstaw, a reszta to po porostu poznawanie funkcji, czytanie dokumentacji (do czego dana funkcja służy i jak jej użyć). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BATOREX Opublikowano 6 Czerwca 2012 Autor Udostępnij Opublikowano 6 Czerwca 2012 A można wiedzieć co to dokładnie ta tablica? Jakiś link albo coś ;/? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 6 Czerwca 2012 Filar Społeczności Udostępnij Opublikowano 6 Czerwca 2012 https://gmclan.org/index.php?wiki=article&zm=12 Słałem ci przecież link do dokumentacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 Z tego sam nie mogłem się połapać jak byłem nowy, więc ci wytłumaczę. Każda zmienna potrafi przechować jedną wartość, np. ilość punktów. Jako przykład, dam ekwipunek we własnej grze. Każdy slot to będzie oddzielna zmienna, do przechowana ID przedmiotu. Można zrobić tak: GML global.eq0=0; global.eq1=0; global.eq2=0; global.eq3=0; //itd...</span></span></span></span></span></span> Jest to nieco uciążliwe, i jeśli byśmy mieli tych slotów ok. 20, to bez sensu byłoby, np. sprawdzanie w jakimś skrypcie w którym slocie znajduje się dany przedmiot. Z pomocą przychodzą tablice. Są to zmienne, ugrupowane koło siebie pod jedną nazwą, ale pod innym indeksem. Np. GML global.eq[0]=0; Przypisujemy do tablicy "global.eq" do jej ideksu o numerze "0" wartość 0. Podczas inicjacji tablicy nie musimy wypisywać po kolei: GML global.eq[0]=0; global.eq[1]=0; global.eq[2]=0; global.eq[3]=0; tylko można to zrobić za pomocą pętli "for". GML for(i=0; i<10; i+=1) { global.eq=0; } Pętla for jest tj. licznikiem. Pierwszy argument po nawiasie to inicjacja zmiennej, która będzie się zwiększać w każdym przebiegu pętli o, w tym przypadku, 1. Drugi argument to warunek, tzn. że pętla będzie "odliczać" dopóki zmienna licznikowa jest mniejsza od 10. Trzeci argument o jaką wartość ma się zwiększać licznik przy każdym przebiegu pętli. Każdy argument pętli for należy rozdzielać średnikiem (;). Dzięki pętli "for" możemy błyskawicznie zainicjować tablicę. GML for(INICJACJA; WARUNEK; ZWIEKSZANIE) { CIAŁO } Pętla for działa tak: 1. INICJACJA 2. WARUNEK - jeśli jest PRAWDĄ to wykonaj punkt 3, 4 i 5 (po kolei). Jeśli jest FAŁSZEM to wyjdź z pętli. 3. CIAŁO 4. ZWIEKSZANIE 5. Przejdź do punktu 2. Kilku zmiennych nie da się zainicjować w taki sposób, ponieważ zmienne mają inną nazwę, a tablica ma jedną nazwę i pod różnymi jej indeksami są różne liczby. Jeśli nie rozumiesz tablic, to wyobraź sobie to jako taką tablicę do przypinania jakiś karteczek itp. Uznajmy, że karteczka to jest zmienna. Na jednej takiej tablicy (np. korkowej :P) zmieścisz kilka takich karteczek i są one uporządkowane w jednym zbiorze, tzn. na tej tablicy. Kiedy przypniesz karteczkę do ściany, to ta liczba będzie tak jakby "sama". Myślę, że pomogłem :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BATOREX Opublikowano 6 Czerwca 2012 Autor Udostępnij Opublikowano 6 Czerwca 2012 Z tego sam nie mogłem się połapać jak byłem nowy, więc ci wytłumaczę. Każda zmienna potrafi przechować jedną wartość, np. ilość punktów. Jako przykład, dam ekwipunek we własnej grze. Każdy slot to będzie oddzielna zmienna, do przechowana ID przedmiotu. Można zrobić tak: GML global.eq0=0; global.eq1=0; global.eq2=0; global.eq3=0; //itd...</span></span></span></span></span></span></span> Jest to nieco uciążliwe, i jeśli byśmy mieli tych slotów ok. 20, to bez sensu byłoby, np. sprawdzanie w jakimś skrypcie w którym slocie znajduje się dany przedmiot. Z pomocą przychodzą tablice. Są to zmienne, ugrupowane koło siebie pod jedną nazwą, ale pod innym indeksem. Np. GML global.eq[0]=0; Przypisujemy do tablicy "global.eq" do jej ideksu o numerze "0" wartość 0. Podczas inicjacji tablicy nie musimy wypisywać po kolei: GML global.eq[0]=0; global.eq[1]=0; global.eq[2]=0; global.eq[3]=0; tylko można to zrobić za pomocą pętli "for". GML for(i=0; i<10; i+=1) { global.eq=0; } Pętla for jest tj. licznikiem. Pierwszy argument po nawiasie to inicjacja zmiennej, która będzie się zwiększać w każdym przebiegu pętli o, w tym przypadku, 1. Drugi argument to warunek, tzn. że pętla będzie "odliczać" dopóki zmienna licznikowa jest mniejsza od 10. Trzeci argument o jaką wartość ma się zwiększać licznik przy każdym przebiegu pętli. Każdy argument pętli for należy rozdzielać średnikiem (;). Dzięki pętli "for" możemy błyskawicznie zainicjować tablicę. GML for(INICJACJA; WARUNEK; ZWIEKSZANIE) { CIAŁO } Pętla for działa tak: 1. INICJACJA 2. WARUNEK - jeśli jest PRAWDĄ to wykonaj punkt 3, 4 i 5 (po kolei). Jeśli jest FAŁSZEM to wyjdź z pętli. 3. CIAŁO 4. ZWIEKSZANIE 5. Przejdź do punktu 2. Kilku zmiennych nie da się zainicjować w taki sposób, ponieważ zmienne mają inną nazwę, a tablica ma jedną nazwę i pod różnymi jej indeksami są różne liczby. Jeśli nie rozumiesz tablic, to wyobraź sobie to jako taką tablicę do przypinania jakiś karteczek itp. Uznajmy, że karteczka to jest zmienna. Na jednej takiej tablicy (np. korkowej :P) zmieścisz kilka takich karteczek i są one uporządkowane w jednym zbiorze, tzn. na tej tablicy. Kiedy przypniesz karteczkę do ściany, to ta liczba będzie tak jakby "sama". Myślę, że pomogłem :) 14 lat i potrafisz tłumaczyć tak by wszystko było zrozumiałe :D Po prostu szacun :D Jak będę miał czas to spróbuję coś z tą tablicą wykombinować :) Dzięki wielkie naprawdę :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Czerwca 2012 Administratorzy Udostępnij Opublikowano 6 Czerwca 2012 Nikt nie mowi, ze petla sie musi zwiekszać. Może się zmniejszać, dzielić, mnożyć... for (<wyrazenie1>; <warunek>; <wyrazenie2>) {<wyrazenie3>} Kroki: Pierwsze wyrażenie jest wykonywane. Sprawdzany jest warunek - jeśli jest prawidłowy, wykonywane jest wyrazenie3, potem wyrazenie 2 i wracamy do kolejności warunek-wyrazenie3-wyrazenie2 tak długo, jak warunek zwraca prawdę Dobrym przykładem jest moja implementacja foreach: https://forum.gmclan.org/index.php?showtopic=27852 GML for( each('tablica',10); as; key_value()) Wciąż prawidłowa pętla ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 6 Czerwca 2012 Udostępnij Opublikowano 6 Czerwca 2012 @BATOREX Jeśli zrozumiałeś to się cieszę :) @gnysek Wiem o tym, ale początkującemu lepiej zrozumieć najpierw to ze zwiększaniem się licznika. Kiedy już to dobrze zrozumie, to może zobaczyć inne (zresztą można się samemu domyślić :P). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BATOREX Opublikowano 19 Czerwca 2012 Autor Udostępnij Opublikowano 19 Czerwca 2012 Cześć! Znowu ja, da się może rysować obiekty na oknie gry które wraz z nim się poruszają? Chciałbym zrobić coś w formie przycisku, np że naciskam prawym i kupuje mi przedmiot. Z tym kupowaniem sobie poradzę tylko o te rysowanie pytam bo nie wykombinowałem nic :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Czerwca 2012 Udostępnij Opublikowano 19 Czerwca 2012 Poczytaj co to view, albo najlepiej dla wszystkich przeczytaj całą dokumentację. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 19 Czerwca 2012 Udostępnij Opublikowano 19 Czerwca 2012 Skoro dla obiektu to: GML //STEP TEGO OBIEKTU x=x+view_xview[0]; y=y+view_yview[0]; Choć lepiej byłoby to zrobić, że rysujesz sprite na ekranie i sprawdzasz czy najechano na niego i obsługujesz kliknięcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Czerwca 2012 Udostępnij Opublikowano 19 Czerwca 2012 Lol serio po tobie Utermiko bym się tego nie spodziewał :jezor: . Poprawka: GML //STEP TEGO OBIEKTU x=odleglosc_od_ekranu_w_pionie+view_xview[0]; y=odleglosc_od_ekranu_w_poziomie+view_yview[0]; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 20 Czerwca 2012 Udostępnij Opublikowano 20 Czerwca 2012 Lol serio po tobie Utermiko bym się tego nie spodziewał :jezor: . Poprawka: GML //STEP TEGO OBIEKTU x=odleglosc_od_ekranu_w_pionie+view_xview[0]; y=odleglosc_od_ekranu_w_poziomie+view_yview[0]; No ale jak stworzy obiekt na x=10, y=20 to x tego obiektu będzie miało 10 i y tego obiektu będzie miało 20 GML x=10+view_xview[0]; y=20+view_yview[0] Więc na to samo wychodzi. Nawet z ciekawości sprawdziłem i działało. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 20 Czerwca 2012 Udostępnij Opublikowano 20 Czerwca 2012 view=100,100 step 0 x=10 y=20 step1 x=110 y=120 step2 x=210 y=220 ... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 20 Czerwca 2012 Udostępnij Opublikowano 20 Czerwca 2012 Eh... Sorki za wprowadzanie w błąd. Sprawdziłem jeszcze raz i mieliście rację :P (czasem się jakieś głupie błędy zdarzają :P) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się