mouse_event aimbot weird behavior
Last night I tried to make a aimbot which used mouse_event instead of WPM. I came up with this code:
When I press aimkey close to an enemy, it creates a static box which I cannot surpass. I cannot move my mouse over the edge of the invisible box. Does anyone know why this is happening? I can provide video if someone wants.
Code:
void GetPixels(Vector viewAngles, Vector vAngle, float& pixelsY, float& pixelsX)
{
Vector delta = { viewAngles.x - vAngle.x, viewAngles.y - vAngle.y, 0.f };
pixelsY = (delta.x * -1.f) / (0.022f * 1.3f * 1.f);
pixelsX = delta.y / (0.022f * 1.3f * 1.f);
}
int main()
{
DWORD pId;
HWND hwnd = FindWindow(NULL, "Counter-Strike: Global Offensive");
GetWindowThreadProcessId(hwnd, &pId);
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, NULL, pId);
DWORD clientDll = getDll(pId, "client.dll");
DWORD engineDll = getDll(pId, "engine.dll");
while (true)
{
if (GetAsyncKeyState(0x05) & 0x8000 || GetAsyncKeyState(0x01) & 0x8000)
{
float pixelsY, pixelsX;
Vector localPosition = { Player.getPosition(hProc, clientDll).x, Player.getPosition(hProc, clientDll).y, (Player.getPosition(hProc, clientDll).z + Player.getEyePosition(hProc, clientDll).z) }; //get local eye position.
Vector viewAngles = Player.getViewAngle(hProc, engineDll); //get local viewangles
int closestEnemy = GetClosestEnemy(hProc, clientDll, engineDll, localPosition, viewAngles); //get closest entity to crosshair
if (closestEnemy > 0 && closestEnemy < 64) // check if entity is valid
{
Vector closestHead = Entity.getHeadPos(hProc, clientDll, closestEnemy); //get head pos of entity
closestHead = VelocityComp(hProc, clientDll, closestEnemy, closestHead); //velocity compensation
Vector vAngle = CalcAngle(localPosition, closestHead);pos
RCS(vAngle, hProc, clientDll); //rcs
Normalize(vAngle);
vAngle = SmoothAngle(viewAngles, vAngle, 50.f); //smooth
GetPixels(viewAngles, vAngle, pixelsY, pixelsX);
mouse_event(MOUSEEVENTF_MOVE, pixelsX, pixelsY, 0, 0);
}
}
Sleep(1);
}
}