-raymond-
Известный
- 110
- 9
из-за чего краш?
C++:
bool CALLBACK hookBullet(stRakNetHookParams *params)
{
if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
{
if (set.status_saim)
{
stBulletData data = { 0 };
byte packet;
int iID = GetPlayerTarget(set.fview);
float TargetPos[3], Spread[3];
for (short x = 0; x < 3; x++)
TargetPos[x] = SF->getSAMP()->getPlayers()->pRemotePlayer[iID]->pPlayerData->fOnFootPos[x];
CalculateSpreadOffset(iID, TargetPos, Spread);
params->bitStream->ResetReadPointer();
params->bitStream->Read(packet);
params->bitStream->Read((PCHAR)&data, sizeof(stBulletData));
params->bitStream->ResetReadPointer();
data.fTarget[0] = TargetPos[0];
data.fTarget[1] = TargetPos[1];
data.fTarget[2] = TargetPos[2];
data.fCenter[0] = Spread[0];
data.fCenter[1] = Spread[1];
data.fCenter[2] = Spread[2];
data.byteType = 1;
data.sTargetID = iID;
params->bitStream->ResetWritePointer();
params->bitStream->Write(packet);
params->bitStream->Write((PCHAR)&data, sizeof(stBulletData));
}
};
return true;
};
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_PACKET, hookBullet);