Skocz do zawartości

Wysyłanie pozycji


Rekomendowane odpowiedzi

Siemka,

Wysyłanie pozycji w mojej grze wciąż nie działa :(

Mianowicie:

Gdy na drugim kompie sie poruszam to obrazek nie wykonuje animacji :(

I czasem jest błąd ;[.

Nie wiem czy wystarczy wam tyle informacji, jak coś to piszcie :P

Aa i zapomniałem jak obydwoma komputerami podchodzę do "potwora" to on atakuje Ply_Self Tylko! Czyli Mnie a na drugim kompie też mnie:/

Proszę o pomoc :)

Pozdro!

Odnośnik do komentarza
Udostępnij na innych stronach

Mniejsza z tym ;p... Ale co z wysyłaniem pozycji:

GML
//Wysyłanie pozycji od Player_Self

clearbuffer();

writebyte(2);

writebyte(global.myid);

writeshort(x);

writeshort(y);

writeshort(sprite_index);

writeshort(Spr_Glowa);

writeshort(Spr_Hero);

writeshort(Spr_Miecz);

writeshort(image_angle);

writeshort(image_speed);

writeshort(image_index);

writeshort(direction);

sendmessage(global.clienttcp);

 

//Powtóreczka

alarm[0] = 1;

GML
//Client

value = readbyte();

player = players[value];

player.x = readshort();

player.y = readshort();

player.sprite_index = readshort();

player = readshort(Spr_Glowa);

player = readshort(Spr_Hero);

player = readshort(Spr_Miecz);

player.image_angle = readshort();

player.image_speed = readshort();

player.image_index = readshort();

player.direction = readshort();

break;

Co źle?

 

PS: Dzięki za ten pod tym Wkurzonym bratem... (niebieskie xDD)

Ej zmieńcie mi to na Cadet xD

Odnośnik do komentarza
Udostępnij na innych stronach

GML
player = global.players[value];

player.x = readshort();

player.y = readshort();

player.Spr_Glowa = readshort();

player.Spr_Hero = readshort();

player.Spr_Miecz = readshort();

player.image_angle = readshort();

player.image_speed = readshort();

player.image_index = readshort();

clearbuffer();

writebyte(5);

writebyte(value);

writeshort(player.x);

writeshort(player.y);

writeshort(player.sprite_index);

writeshort(player.image_speed);

writeshort(player.image_index);

Łap xD

Odnośnik do komentarza
Udostępnij na innych stronach

Walki ?? Czy raczej AI?

AI:

GML
// skromne AI

if(instance_exists(obj_player_self))

if(point_distance(x,y,obj_player_self.x,obj_player_self.y)<256)

{

px=obj_player_self.x

py=obj_player_self.y

}

if(instance_exists(obj_player_self))

if(point_distance(x,y,obj_player_self.x,obj_player_self.y)<48)

if(reldir_attack_mov=0)

reldir_attack_mov=1

 

// atak i obrazenia

var val;

if(instance_exists(obj_player_self))

if(point_distance(x,y,obj_player_self.x,obj_player_self.y)<48)

{

px=x

py=y

direction=point_direction(x,y,obj_player_self.x,obj_player_self.y)

if(can_dam)

if(obj_player_self.reldir_attack_mov!=0)

{

val=max(obj_player_self.attack-defence+obj_player_self.item_attack,0)

val=round(random(val))

hp-=val

if(val>0)

show_disappear_text(x,y,'-'+string(val),0.01,0.75,c_red)

can_dam=0

alarm[1]=dam_time

}

}

 

// poruszanie

if(point_distance(x,y,px,py)>spd+1)

{

mp_potential_step(px,py,spd,0)

reldir_move_mov+=reldir_move_rate

}

if!(point_distance(x,y,px,py)>spd+1)reldir_move_mov=0

 

if(reldir_attack_mov!=0)reldir_attack_mov+=reldir_attack_rate

if(reldir_attack_mov>180)reldir_attack_mov=0

reldir_move=sin(degtorad(reldir_move_mov))*reldir_move_max

reldir_attack=sin(degtorad(reldir_attack_mov))*reldir_attack_max

if(reldir_attack_mov=0)image_angle=direction+reldir_move

if!(reldir_attack_mov=0)image_angle=direction+reldir_attack

 

if(hp<0)

{

instance_destroy()

}

 

if (obj_player_self.Wal=0)

{

can_dam=0

alarm[1]=room_speed

}

xD

Odnośnik do komentarza
Udostępnij na innych stronach

To powiedz jak to zrobić... Skopiować je poprostu tak Duplikaty?? Bo ja nie wiem jak...

poza tym przeniesienie ich na serwer to nie takie hop-siup - trzeba to sobie zaplanować i napisać

...że tak powiem. Trzeba napisać to w podobny sposób jak to jest z innymi graczami, wykonują walkę i ruch na serwerze a wyniki tych działań wysyłane są do klienta no =P

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