Fix aimZ invisible - katursis/Pawn.RakNet GitHub Wiki
Variant 1: ignoring bad packet
#if !defined IsNaN
#define IsNaN(%0) ((%0) != (%0))
#endif
const AIM_SYNC = 203;
IPacket:AIM_SYNC(playerid, BitStream:bs)
{
new aimData[PR_AimSync];
BS_IgnoreBits(bs, 8); // ignore packetid (byte)
BS_ReadAimSync(bs, aimData);
if (IsNaN(aimData[PR_aimZ])) {
return 0; // ignore bad packet
}
return 1;
}
Variant 2: rewrite and continue packet processing
#if !defined IsNaN
#define IsNaN(%0) ((%0) != (%0))
#endif
const AIM_SYNC = 203;
IPacket:AIM_SYNC(playerid, BitStream:bs)
{
new aimData[PR_AimSync];
BS_IgnoreBits(bs, 8); // ignore packetid (byte)
BS_ReadAimSync(bs, aimData);
if (IsNaN(aimData[PR_aimZ])) {
aimData[PR_aimZ] = 0.0;
BS_SetWriteOffset(bs, 8);
BS_WriteAimSync(bs, aimData); // rewrite
}
return 1;
}