rendered paste bodyLocalPlayer:
VectorSet(ViewCoord,Player->ViewMatrix->vXPos,Player->ViewMatrix->vYPos,Player->ViewMatrix->vZPos);
VectorSet(myAngle,Player->Info->PlayerInfo->pPITCH,Player->Info->PlayerInfo->pYAW,0);
VectorNormalize(myAngle);
EnemyPlayer:
VectorSet(AimCoord, Player->Info->PlayerInfo->px,Player->Info->PlayerInfo->py,Player->Info->PlayerInfo->pz);
if(isEnemyAimingAtYou(myAngle,AimCoord,ViewCoord,4.0f))
{
...do whatever
}
bool EspCheat::isEnemyAimingAtYou(float* viewAngles, float* ePosition, float* myPosition, float buffer)
{
float up[3], look[3], right[3], localVec[3], viewSpace[3];
AngleVectors(viewAngles, look, right, up);
VectorNormalize(ePosition);
VectorNormalize(myPosition);
//localize vector
VectorSubtract(ePosition, myPosition, localVec);
//convert from their world to their view space
viewSpace[0] = -DotProduct(localVec, right);
viewSpace[1] = DotProduct(localVec, up);
viewSpace[2] = DotProduct(localVec, look);
// myMenu.DrawConString(200,200,255,0,0,255,"[%f] [%f]",viewSpace[0],viewSpace[1]);
if((viewSpace[2] > 0) && // not behind
(viewSpace[0] > -buffer) && (viewSpace[0] < buffer) && //within range on x
(viewSpace[1] > -buffer) && (viewSpace[1] < buffer)) //within range on y
return true;
else
return false;
}