Jeremiah Opublikowano 16 Lutego 2014 Udostępnij Opublikowano 16 Lutego 2014 Rozważam przerobienie swojej gierki na wersję dla trzech graczy i póki co zabrałem się za tworzenie najzwyklejszego w świecie menu. Potrzebuję paru wskazówek i informacji. Generalnie połączenie się trzeciego gracza raczej działa. Każdy gracz ma nadane prawidłowe ID, widzi ilu jest graczy na serwerze. "global.otherplayer" czyli gracz, do którego wysyłamy informacje to dla hosta drugi gracz, a dla obydwu graczy host. "global.otherplayer2" to dla hosta i drugiego gracza gracz numer 3, a dla gracza numer 3 gracz numer 2 Gracze wysyłają do siebie prośby o przesłanie ich nicku. Między hostem i drugim graczem oraz hostem i graczem numer 3 jest on wysyłany bezproblemowo. Ale między graczem 2 i 3 nie da się nic wysłać. Założyłem więc, że bez pośrednictwo hosta się to po prostu nie da. Poprawcie mnie, jeśli się pomyliłem w tym założeniu. No to zrobiłem coś takiego, że jeśli host otrzyma od gracza numer 3 informacje o jego nicku (działa bezproblemowo) to wysyła do gracza numer 2 nick gracza numer 3. Tutaj już kompletnie się pogubiłem... z jakichś przyczyn gracz numer 2 chyba nie uznaje tego, by przesłać mu nick gracza numer 3 nawet za pośrednictwem hosta xp przesyłam kod" Host otrzymuje informację o nicku gracza numer 3 i przesyła ją do gracza numer 2: GML case 211: global.gracz3nick=readstring() clearbuffer() writebyte(212) writestring(global.gracz3nick) sendmessage(global.otherplayer) break; Gracz numer 2 otrzymuje tę informację. GML case 212: global.gracz3nick=readstring() break; Nie wiem czemu, ale to nie działa. EDIT coś gdzieś tam zmieniłem i działa, muszę tylko ogarnąć co :D Niemniej pozostaje pytanie: nie da się wysyłać informacji między graczem 2 i 3 bez pośrednictwa hosta? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 16 Lutego 2014 Udostępnij Opublikowano 16 Lutego 2014 Prawdopodbnie się nie da 39dll raczej nie obsługuje połączenia p2p, przynajmniej jak siedzę 6 lat w GM to jeszcze gry p2p nie widziałem może trzeba by było poszukać innego dll albo takiego napisać. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 16 Lutego 2014 Udostępnij Opublikowano 16 Lutego 2014 Żeby Twój sposób, który obrałeś (komunikacja gracz-gracz) zadziałał, dwaj gracze muszą się ze sobą połączyć. Przypuśćmy że host wysyła IP graczy podpiętych do gry, musiałbyś połączyć ich ze sobą, np. wysyłanie pakietów UDP pod dany port, także nadany graczowi przez host - jako ten "wolny" w komunikacji P2P. Pamiętaj jednak o tzw. hole punching. 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ę