OriPL Opublikowano 7 Maja 2011 Udostępnij Opublikowano 7 Maja 2011 Witam dzisiaj mój problem polega na tym że nie wiem jak zsynchronizować skrzynki na mapie... mam na planszy np 4 skrzynie które może kontrolować gracz poprzez przepychanie je... no ale jak popchnę jedną skrzynke i wyśle dane że zostałą ona popchnieta to w drugim kliencie jak przypisać odpowiednią skrzynie ?? Może trochę prościej... mamy 4 skrzynie na mapie, jedna na północy, druga na południu i kolejne na wschodzie i zachodzie... i teraz popycham sobie tą północną i jak przypisać wysłane dane północnej skrzynce bo to właśnie ona a nie cała reszta przesunęła się u drugiego gracza na drugim końcu świata (albo chociaż w drugim pokoju ^^) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 7 Maja 2011 Udostępnij Opublikowano 7 Maja 2011 dodaj po prostu, ktora skrzynia zostala przesunieta... Edit: albo wytłumaczę... W creacie obiektu od połączenia tworzysz skrynie, zapisując je w tablicy: GML skrzynia[0]=instance_create( /* argumenty chyba znasz */ ); //wschod skrzynia[1]=instance_create( /* argumenty */ ); //zachod skrzynia[2]=instance_create( /* argumenty */ ); //polnoc skrzynia[3]=instance_create( /* argumenty */ ); //poludnie</span></span></span> Wysyłajac dane dodajesz: GML // twoje costam z id wiadomosci writebyte( /*id skrzyni (nasze 0, 1, 2, 3)*/ ); // dane dot. nowego polozenia skrzyni przesuwanej</span></span> Tylko potem nie zapomnij odczytac po odbiorze :) GML var idskrzyni; idskrzyni=readbyte(); // to, co masz na przesuwanie, tylko zamiast nazwy obiektu skrzyni uzywasz skrzynia[idskrzyni]</span></span></span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OriPL Opublikowano 7 Maja 2011 Autor Udostępnij Opublikowano 7 Maja 2011 no własnie... ale jak ;o jak wszystkie skrzynki to te same skrzynki (w sensie obiekty) a jak dam w kodzie with(obj_box) {x = read... y = read...} to wszystkie skrzynki warpną mi sie do tego puktu... bo zadziała na wszystkie... a mnie własnie chodzi o to żeby je rozdzielić... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 7 Maja 2011 Udostępnij Opublikowano 7 Maja 2011 Czytaj edit; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OriPL Opublikowano 7 Maja 2011 Autor Udostępnij Opublikowano 7 Maja 2011 Ohhh dzięki za podpowiedz, rozwiązałem to mniej wiecej po twojemu tyle że nie tworzyłem żadnych tablic tylko poprostu przesyłam "ID" danego obiektu, jako iż te obiekty są już na mapie i raczej nie ma szans zeby coś zmieniło ich id wiec wszystko będzie działać :) Dziex jak by było jakieś THX to bym dał :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 7 Maja 2011 Udostępnij Opublikowano 7 Maja 2011 id jest duze... potrzebujesz writeshort(); natomiast liczby calkowite z przedziału 0-255 przesyłasz przy pomocy writebyte()... to oznacza 50% oszczędności :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OriPL Opublikowano 7 Maja 2011 Autor Udostępnij Opublikowano 7 Maja 2011 wiem ^^ taki głupi jeszcze nie jestem :) dzięki za pomoc zamykam ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi