void renderPoliceDetector()
{
traceLastFunc("renderPoliceDetector()");
if (gta_menu_active())
return;
if (cheat_state->_generic.cheat_panic_enabled)
return;
// Exit this function and enable samp nametags, if panic key
if (!g_dwSAMP_Addr || !g_SAMP || !g_Players)
return;
// don't run if the CGameSA doesn't exist
if (!pGameInterface)
return;
// don't run if we don't exist
if (isBadPtr_GTA_pPed(pPedSelf))
return;
for (int i = 0; i < SAMP_MAX_VEHICLES; i++)
{
actor_info * playerr = actor_info_get(ACTOR_SELF, NULL);
vehicle_info *vehicle = getGTAVehicleFromSAMPVehicleID(i);
if (!vehicle)
continue;
D3DXVECTOR3 vehicle_pos, player_pos, screenposs, vscreenposs;
CVector mySpinePoss, Vec;
CPed *pPedSelf = pGameInterface->GetPools()->GetPed((DWORD*)playerr);
CVehicle *pVeh = pGameInterface->GetPools()->GetVehicle((DWORD*)vehicle);
pPedSelf->GetBonePosition(BONE_SPINE1, &mySpinePoss);
Vec.fX = vehicle->base.matrix[12];
Vec.fY = vehicle->base.matrix[13];
Vec.fZ = vehicle->base.matrix[14];
float * f_pos = &playerr->base.matrix[4 * 3];
player_pos.x = f_pos[0];
player_pos.y = f_pos[1];
player_pos.z = f_pos[2];
CalcScreenCoors(&player_pos, &screenposs);
float * f_poss = &vehicle->base.matrix[4 * 3];
vehicle_pos.x = f_poss[0];
vehicle_pos.y = f_poss[1];
vehicle_pos.z = f_poss[2];
CalcScreenCoors(&vehicle_pos, &vscreenposs);
if (screenposs.z < 1.f)
continue;
if (vscreenposs.z < 1.f)
continue;
if (bPoliceDetector)
{
if (vehicle->base.model_alt_id == 597
|| vehicle->base.model_alt_id == 526
|| vehicle->base.model_alt_id == 598
|| vehicle->base.model_alt_id == 599
|| vehicle->base.model_alt_id == 601
|| vehicle->base.model_alt_id == 528
|| vehicle->base.model_alt_id == 523
|| vehicle->base.model_alt_id == 497
|| vehicle->base.model_alt_id == 427
)
{
char szMsg[512];
sprintf(szMsg, "Police Car %.0f m.", GetDistance(D3DXVECTOR3(vehicle_pos.x, vehicle_pos.y, vehicle_pos.z)));
pD3DFont_sampStuff->PrintShadow(vscreenposs.x, vscreenposs.y - 20, COLOR_BLUE(255), szMsg);
pD3DFont_sampStuff->PrintShadow(screenposs.x, screenposs.y - 20, COLOR_WHITE(255), "Police is Near");
render->DrawLine(CVecToD3DXVEC(mySpinePoss), CVecToD3DXVEC(Vec), COLOR_BLUE_V2(255));
}
}
}
}