#include <iostream>
#include "ProcMem.h"
#include <Windows.h>
ProcMem Mem;
void Trigger();
using namespace std;
int main() {
Mem.Process("csgo.exe");
while (true) {
Trigger();
Sleep(5);
}
}
// + I NEED TO CHANGE THESE AFTER UPDATES //
const DWORD LocBase = 0xA844DC;
const DWORD EntBase = 0x4A9F6D4;
const DWORD CrossHairOS = 0xAA44;
// - I NEED TO CHANGE THESE AFTER UPDATES //
// + I DON'T NEED TO CHANGE THESE - EVER //
const DWORD TeamOS = 0xF0;
const DWORD healthOS = 0xFC;
const DWORD EntLoopDist = 0x10;
// - I DON'T NEED TO CHANGE THESE - EVER //
DWORD ClientDll = Mem.Read<DWORD>(Mem.Module("client.dll"));
DWORD Player = Mem.Read<DWORD>(ClientDll + LocBase);
int LocTeam = Mem.Read<int>(Player + TeamOS);
int crossHid = Mem.Read<int>(Player + CrossHairOS);
void Trigger() {
DWORD EnemyInCH = Mem.Read<DWORD>(ClientDll + EntBase + ((crossHid - 1) * EntLoopDist));
int EnemyHealth = Mem.Read<int>(EnemyInCH + healthOS);
int EnemyTeam = Mem.Read<int>(EnemyInCH + TeamOS);
if (LocTeam != EnemyTeam && EnemyHealth > 0) {
cout << "should shoot now" << endl;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(1000);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(100);
cout << "shot" << endl;
}
}