Skocz do zawartości

Strzelanie w Multiplayer


OriPL

Rekomendowane odpowiedzi

Poszukaj. Miałem kiedyś ten sam problem, pomogli mi. Zamiast zakładać nowy temat można użyć z tzw. szukajki, nie?

 

EDIT:

 

Ech... Już szukać też nie umieją...

https://forum.gmclan.org/index.php?showtopic=6649&hl=

 

 

 

ok... zrobilem an podstawie wypowiedzi tolmas'a gry wlaczam gre... twszystko jest ok ale jak zaczynam strzelac to w serwerze wyskakuje informacja:

 

unkovn varible bullet.

 

i nie wiem co zrobic...

Odnośnik do komentarza
Udostępnij na innych stronach

moj kod wyglada tak:

 

 

GML
case 5:

//Update position

var bullet;

bullet.x = readshort();

bullet.y = readshort();

bullet.direction = readshort();

bullet.speed = readshort();

clearbuffer();

writebyte(10);

writebyte(value);

writeshort(bullet.x);

writeshort(bullet.y);

writeshort(bullet.direction);

writeshort(bullet.speed);

with(obj_client)

{

sendmessage(tcp);

}

break;

Odnośnik do komentarza
Udostępnij na innych stronach

I zżerasz przez to łącze. Zamiast tworzenia przycisku u graczy wyślij pozycję X, Y oraz kierunek. Na serwerze odbierz te wiadomości i wyślij wszystkim graczom. Na kliencie przy odebraniu tej wiadomości stwórz objekt na danym X i Y i przypisz odpowiedni kierunek. Tyle.

Odnośnik do komentarza
Udostępnij na innych stronach

lol, update'owac pozycje dla kazdego naboju xD. Przecez wysyla sie tylko miejsce w ktorym ma dany naboj powstac oraz jego kierunek i szybkosc (chyba ze jest zawsze stala) i tyle. Ew. Można jeszcze wyslac id gracza ktory ten naboj "stworzyl" żeby potem serwer wiedział kto nim strzelił i kto ew. zabil typa tym pociskiem.

Odnośnik do komentarza
Udostępnij na innych stronach

ZARAZ NIE DAM RADy:/ wyskakuje mi ten blad i juz jestme az zly... napisze caly kod jaki mam awy powiedzcie co mam zle!!

 

 

Bullet Event Create (Client):

 

GML
image_angle = point_direction(x,y,mouse_x,mouse_y);

move_towards_point(mouse_x,mouse_y,2);

clearbuffer();

writebyte(5);

writeshort(x);

writeshort(y);

writeshort(direction);

writeshort(speed);

sendmessage(global.clienttcp);

 

obj_client Event STEP (Sever) :

 

GML
case 5:

//Update position

var bullet;

bullet.x = readshort();

bullet.y = readshort();

bullet.direction = readshort();

bullet.speed = readshort();

clearbuffer();

writebyte(10);

writebyte(value);

writeshort(bullet.x);

writeshort(bullet.y);

writeshort(bullet.direction);

writeshort(bullet.speed);

with(obj_client)

{

sendmessage(tcp);

}

break;

 

ControllerGame event STEP (Client):

 

GML
case 10:

var bul;

bul = instance_create(readshort(), readshort(), bullet);

bul.direction = readshort;

bul.speed = readshort();

break;

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