y0mike
Active member
Code:
struct actor_info *self = actor_info_get(ACTOR_SELF, ACTOR_ALIVE);
if (cheat_state->_generic.bullets2)
{
for (int v = 0; v < SAMP_MAX_VEHICLES; v++)
{
if (g_Vehicles->iIsListed[v] == NULL) continue;
if (g_Vehicles->pSAMP_Vehicle[v] == NULL) continue;
if (g_Vehicles->pSAMP_Vehicle[v]->pGTA_Vehicle == NULL) continue;
int car_id = (int)(((DWORD)g_Vehicles->pGTA_Vehicle[v]) - (DWORD)pool_vehicle->start) / 2584;
struct vehicle_info *vinfo = vehicle_info_get(car_id, 0);
int iSAMPVehicleID = getSAMPVehicleIDFromGTAVehicle(vinfo);
if (iSAMPVehicleID == g_Players->pLocalPlayer->sCurrentVehicleID) continue;
float fPos[3];
float speed[3];
stInCarData sync;
memset(&sync, 0, sizeof(stInCarData));
BitStream bsVehicleSync;
vect3_copy(&vinfo->speed[3], speed);
sync.fMoveSpeed[0] = speed[0] += 222;
sync.fMoveSpeed[1] = speed[1] += 222;
sync.fMoveSpeed[2] = speed[2] += 222;
bsVehicleSync.Write((BYTE)ID_VEHICLE_SYNC);
bsVehicleSync.Write((PCHAR)&sync, sizeof(stInCarData));
g_RakClient->Send(&bsVehicleSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
g_RakClient->RPC(RPC_ExitVehicle, &bsVehicleSync, HIGH_PRIORITY, RELIABLE_SEQUENCED, 0, false);
}
}