Skocz do zawartości

Kolizja przy grze mmo


Paqoo

Rekomendowane odpowiedzi

Jak mam zrobić kolizję w grze mmo? Tak żeby działało jak trzeba?

 

Daję COLLISION przy player_self z player_other i co mam wpisać w kodzie?

Jeśli gracze respią się na tym samym miejscu należy wykluczyć możliwość taką, że pojawią się w tym samym momencie. Przy zwykłym speed=0 zblokują się. Jak zrobić przeskok obok w losowym kierunku?

 

 

Co robić jeśli chodzi o inne obiekty i OUTSIDE ROOM?

Chcę to mień najlepiej w kodzie.

Eksperymentowałem dłuższy czas, ale ten komp z którego teraz korzystam jest wolny i ciężko mi jest dalej to robić. Pewnie bym sam na to wpadł po którejś próbie.

 

Mam też drobne pytanko o tilesety. Jeśli są tam drzewka, trawa, mury itp. W niektórych obiektach mam tło. Jak się tego pozbyć? Jak wstawiam do roomu taki tileset to mi pokazuje to tło spod drzewa np. Trawa oczywiście normalnie działa.. :lol2:

 

Muszę tworzyć oddzielne obiekty na te drzewa i inne przedmioty "z dziurami"? :boxed:

Używam sprites do blokowania pozycji. Używam non visible, solid kwadratów do pokrywania tych drzew.

 

Są jakieś maski? Czy jak to zwał? Z tego nie miałem okazji jeszcze korzystać.. O to chodzi?

 

 

Pozdrawiam i czekam na wiadomości.. :thumbsup:

Odnośnik do komentarza
Udostępnij na innych stronach

Mam też drobne pytanko o tilesety. Jeśli są tam drzewka, trawa, mury itp. W niektórych obiektach mam tło. Jak się tego pozbyć? Jak wstawiam do roomu taki tileset to mi pokazuje to tło spod drzewa np. Trawa oczywiście normalnie działa.. lol.gif

Transparent?

 

Co do kolizji trzeba je sprawdzać na serverze ( czyli czy gracze nie są na sobie itp. )

Odnośnik do komentarza
Udostępnij na innych stronach

Jakto zdekompilować? Jak mam plik exe to nic nie zrobią? =.=

 

I takie pytanko:

Czy dobrze będzie działać coś takiego? Jeśli chodzi o kolizję dwóch graczy na resp point?

GML
<if position is not collision free>{

move_random(40,40);}

 

To pomiędzy <> to klocek, a nie kod.

Inne pomysły?

Odnośnik do komentarza
Udostępnij na innych stronach

Jakto zdekompilować? Jak mam plik exe to nic nie zrobią? =.=

Ktoś tam zrobił taki dekompiler do gier zrobionych w game makerze, nawet almore zdekompilowali.

To jest jedna z wad GMLa :(

 

EDIT: A ten kod nie rób na klocku tylko zrób lepiej cały w skrypcie:

GML
if(place_empty(x,y)); //lub place_free

{

move_random(40,40);

}

nie testowałem :P

Odnośnik do komentarza
Udostępnij na innych stronach

Single player to nuda już dla mnie. Mam troche doświadczenia. A MMO to coś fajnego. Każdy lubi MMO. Potrzebuję pomocy z kolizjami.. I komunikacja serwer-klient. Bo nie do końca sobie radzę. Jakoś robie te rzeczy, ale zajmują mi dużo czasu.

Odnośnik do komentarza
Udostępnij na innych stronach

Każdy lubi MMO

Wiesz, ja nie lubie.

Potrzebuję pomocy z kolizjami.. I komunikacja serwer-klient.

A potem? Znów nie będziesz umiał, i znów będziesz pytał o podobne rzeczy?

Jakoś robie te rzeczy, ale zajmują mi dużo czasu.

To jeżeli zajmuje ci to dużo czasu, to po co w ogóle robisz gry?

Odnośnik do komentarza
Udostępnij na innych stronach

Pobrałem aktualną wersję klienta twojej gry i widzę że korzystasz z przykładu Online Engine.

Ale ta gra coś nie działa, moja postać tylko się obraca, a jakaś druga o nicku "o" łazi tak jak wciskam klawisze, ale odwrotnie lewo-prawo prawo-lewo. Coś pomieszałeś <_<

A co do kolizji:

Może najpierw zrób kolizje u gracza nie rób na serwerze jak to jest dla ciebie za trudne.

Zrób object np. kolizja i jak object hero ten którym sterujemy go dotknie to sie zatrzyma.

Użyj tego kodu co podałem ci na początku. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Mam troche doświadczenia.

Trochę to za mało. A jak ty widzisz straszny problem w napisaniu sprawdzania kolizji na serwerze, to nie chcę wiedzieć co będzie potem. Wiesz ile ja nerwów straciłem przy pisaniu innych, o wiele bardziej skomplikowanych rzeczy? ;/

Odnośnik do komentarza
Udostępnij na innych stronach

Jestem uparty i dam rade. Tą wersję, którą pobrałeś to już dawno jej nie aktualizowałem. Teraz to troche inaczej wygląda. Server się popsuł dletego coś tam ci świrowało. Potrafię tworzyć gry i ten temat nie jest na temat mojego doświadczenia tylko konkretnych problemów. Więc jeśli ktoś może pomóc proszę pisać. Odwdzięczę się!

Odnośnik do komentarza
Udostępnij na innych stronach

Mam też drobne pytanko o tilesety. Jeśli są tam drzewka, trawa, mury itp. W niektórych obiektach mam tło. Jak się tego pozbyć? Jak wstawiam do roomu taki tileset to mi pokazuje to tło spod drzewa np. Trawa oczywiście normalnie działa.. :lol2:

Może spróbuj włączyć transparent? :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Ktoś tam zrobił taki dekompiler do gier zrobionych w game makerze, nawet almore zdekompilowali.

To jest jedna z wad GMLa :(

 

EDIT: A ten kod nie rób na klocku tylko zrób lepiej cały w skrypcie:

GML
if(place_empty(x,y)); //lub place_free

{

move_random(40,40);

}

nie testowałem :P

 

i właśnie zrobiłeś move_random() które dzieje się co step, bo postawiłeś znak ; po warunku. Uczulam na to.

 

prawidłowo

 

GML
if(place_empty(x,y)) //lub place_free

{

move_random(40,40);

}

Odnośnik do komentarza
Udostępnij na innych stronach

No tak, ale poprosiłbym o małą pomoc. Bo próbowałem już wszystkich logicznych wyjść i jakoś nie mogę zrobić tak żeby gracz się zatrzymywał przy wychodzeniu z roomu. Zazwyczaj albo się blokuje albo przechodzi dalej.

Odnośnik do komentarza
Udostępnij na innych stronach

i właśnie zrobiłeś move_random() które dzieje się co step, bo postawiłeś znak ; po warunku. Uczulam na to.

 

prawidłowo

 

GML
if(place_empty(x,y)) //lub place_free

{

move_random(40,40);

}

Nie wiedziałem o tym, będę pamiętał na przyszłość thx :)

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...