diff --git a/source/src/client.cpp b/source/src/client.cpp index da990e7d..065e0815 100644 --- a/source/src/client.cpp +++ b/source/src/client.cpp @@ -278,7 +278,7 @@ void c2sinfo(playerent *d) // send update to the server putint(q, (int)(d->vel.y*DVELF)); putint(q, (int)(d->vel.z*DVELF)); // pack rest in 1 int: strafe:2, move:2, onfloor:1, onladder: 1 - putint(q, (d->strafe&3) | ((d->move&3)<<2) | (((int)d->onfloor)<<4) | (((int)d->onladder)<<5) ); + putuint(q, (d->strafe&3) | ((d->move&3)<<2) | (((int)d->onfloor)<<4) | (((int)d->onladder)<<5) | ((d->lifesequence&1)<<6)); enet_packet_resize(packet, q.length()); sendpackettoserv(0, packet); diff --git a/source/src/clients2c.cpp b/source/src/clients2c.cpp index 8125c775..173de0c0 100644 --- a/source/src/clients2c.cpp +++ b/source/src/clients2c.cpp @@ -79,9 +79,9 @@ void parsepositions(ucharbuf &p) vel.x = getint(p)/DVELF; vel.y = getint(p)/DVELF; vel.z = getint(p)/DVELF; - int f = getint(p); + int f = getuint(p), seqcolor = (f>>6)&1; playerent *d = getclient(cn); - if(!d) continue; + if(!d || seqcolor!=(d->lifesequence&1)) continue; d->o = o; d->yaw = yaw; d->pitch = pitch;