My aimbot code is below, can anyone please suggest why this aimbot does not seem to aim directly at the head? it feels like it gets close, then the dx and dy being passed to mouse_event appear to be too small for mouse_event to register any movement?

C++:

```
// Determine Target
int target = -1;
float maxDist = 500.0f;
float minDist = maxDist;
std::vector<float> screenCoords;
POINT mPos;
GetCursorPos(&mPos);
for (int i = 0; i < MAX_PLAYERS; i++)
{
if (m_players[i].memIndex == 0)
continue;
if (m_players[i].GetDormant())
continue;
if (m_players[i].GetAlive())
continue;
if (!m_players[i].IsEnemy())
continue;
screenCoords = GetScreenPosBone(i, 4);
if (screenCoords[0] == -1.0f || screenCoords[1] == -1.0f)
{
continue;
}
float x = screenCoords[0] - mPos.x;
float y = screenCoords[1] - mPos.y;
float dist = sqrt2(x*x + y*y);
if (dist < 200 && dist < minDist)
{
minDist = dist;
target = i;
}
}
if (target == -1)
return;
// Now, if we have a target aim at them.
if (target > -1)
{
GetCursorPos(&mPos);
int targetBone = 4;
screenCoords = GetScreenPosBone(target, targetBone);
if (screenCoords[0] == -1.0f || screenCoords[1] == -1.0f)
return;
float dx = ((screenCoords[0] - mPos.x) * minDist/maxDist * 1/minDist)* 65535 / 1920;
float dy = ((screenCoords[1] - mPos.y) * minDist/maxDist * 1/minDist)* 65535 / 1080;
dx /= 1;
dy /= 1;
std::string test = std::to_string(dx) + ", " + std::to_string(dy);
mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_VIRTUALDESK, dx, dy, NULL, NULL);
}
```