Skocz do zawartości

Zagadnienie związane z online


Rekomendowane odpowiedzi

Witam, znalazłem w necie przykład gry wyścigowej online, jakiś czas temu odłożyłem pracę na dalszy czas z racji tego, że mam problem z niektórymi zagadnieniami technicznymi, chodzi o to że w tym przykładzie podczas grania online nie widzę, kiedy kolega obraca się i kiedy on rozwala jakieś obiekty zamieszczone w roomie. Wrzucę tu przykład, czy możecie pomóc mi z naprawieniem tych że problemów?

 

Gra

Odnośnik do komentarza
Udostępnij na innych stronach

1: sprawdziłem ten przykład

i z tym obracaniem jest tak ze nie jest wysyłane Image Angle wiec nie ma jak się obrócić (lub direction chociaż)

a z tym niszczeniem to ja nie widzę żeby to tam coś do zniszczenia było

 

żeby zrobić grę online trzeba wysyłać pakiety o każdej czynności

 

czyli

jak naciśniesz klawisz odpowiadający za prędkość to ta wartość musi trafić do innego gracza i ona musi zostać odebrana

 

jak masz kolizje z jakimś obiektem i i jest tam jakaś akcja to to tez musi zostać wysłane

 

 

Ten przykład jest porostu zły ;]

Odnośnik do komentarza
Udostępnij na innych stronach

OriPL, ależ jest wysyłane image_angle, ale tylko z klienta do serwera,, ten zaś wcale tego nie odbiera i nie przesyła dalej do innych klientów.

 

 

tak sie sklada ze patrzylem tylko do Servera :D:D i nie widzialem tam ani Direction ani Image_angle

 

innego przykładu racera online nie znalazłem emot11.gif

 

 

ja posiadam inny przykład racera.. na tym samym silniku ;]

 

dam linka w edicie tylko napisz na PW jak sciagniesz;] bo chce usunac;]

 

Edit:

 

Trzymajta:

https://gmclan.org/up3309_4_Racer_Online_Example.html

Odnośnik do komentarza
Udostępnij na innych stronach

program Server obiekt obj_client i STEP:

GML
switch(messageid)

{

case 2:

//Update position

var player, value;

value = readbyte();

//script_addline(string(global.players[value]),c_black);

player = global.players[value];

player.x = readshort();

player.y = readshort();

player.sprite_index = readshort();

player.image_speed = readshort();

player.image_index = readshort();

player.image_angle = readshort();

clearbuffer();

writebyte(5);

writebyte(value);

writeshort(player.x);

writeshort(player.y);

writeshort(player.sprite_index);

writeshort(player.image_speed);

writeshort(player.image_index);

writeshort(player.image_angle );

with(obj_client)

{

sendmessage(tcp);

}

break;

 

bende tak mily ze koda dam ;]

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ę...