Античит который защитит ваш сервер от такого рода чита:
Сам чит будет удалять ваше туловище при прицеливание из любого оружия.
Так же при прицеливание у вас не будет виден ник, что позволит усложнить возможность спалить ид читера.
Защита реализована на RakNetManager, и собственно вот она:
C++:
enum stAimData
{
byteCamMode,
Float:vecAimf1[3],
Float:vecAimPos[3],
Float:fAimZ,
byteCamExtZoom,
byteWeaponState,
bUnk
};
new Struct[MAX_PLAYERS][stAimData];
public OnPlayerReceivedPacket(playerid, packetid, BitStream:bs)
{
if(packetid == 203) // 203 - ID_AIM_SYNC
{
BS_IgnoreBits(bs, 8);
BS_ReadValue(bs, RNM_INT8, Struct[playerid][byteCamMode],
RNM_FLOAT, Struct[playerid][vecAimf1][0],
RNM_FLOAT, Struct[playerid][vecAimf1][1],
RNM_FLOAT, Struct[playerid][vecAimf1][2],
RNM_FLOAT, Struct[playerid][vecAimPos][0],
RNM_FLOAT, Struct[playerid][vecAimPos][1],
RNM_FLOAT, Struct[playerid][vecAimPos][2],
RNM_FLOAT, Struct[playerid][fAimZ],
RNM_INT8, Struct[playerid][byteCamExtZoom],
RNM_INT8, Struct[playerid][byteWeaponState],
RNM_INT8, Struct[playerid][bUnk]);
if (Struct[playerid][byteCamMode] != 53 && Struct[playerid][byteCamMode] != 55 &&
Struct[playerid][byteCamMode] != 65 && Struct[playerid][byteCamMode] != 7 && Struct[playerid][byteCamMode] != 7)
return true;
if(Struct[playerid][fAimZ] != Struct[playerid][fAimZ]) return SendClientMessageToAll(-1, "Invalid AimZ");
}
return true;
}
Отдельное спасибо за помощь в тестировании и самой идеи пофиксить чит Nexius, за видео RyanKing
Последнее редактирование: