So I still have a veeery basic knowledge of C++ (can do a program which has ADVANCED FEATURES LIKE CIN AND COUT, nothing else :/) and I want to modify it so the glow color changes when player spotted.
Also I'm wondering if you could make the esp print the player's name on the esp.
Don't laugh at me, but I tried it like this D:
#include "Game.h"
#pragma region offsets
DWORD offLocalPlayer;
DWORD offEntityList;
const DWORD offEntityTeam = 0xF0;
DWORD offSpotted;
DWORD offGlow;
#pragma endregion
#pragma region globalVars
PModule modClient;
PMemory mem;
#pragma endregion
[junk_enable /]
[enc_string_enable /]
#pragma region hotKeys
int whichKeyIsPressed() {
while (true) {
for (int i = 1; i < 255; i++) {
if (GetAsyncKeyState(i) & 0x8000) {
while (GetAsyncKeyState(i) & 0x8000) {
Sleep(50);
}
return i;
}
}
Sleep(10);
}
}
int keyGlowToggle;
#pragma endregion
void ReadData(Player* p) {
p->team = mem.Read<int>(p->dwBase + offEntityTeam);
}
int main() {
std::cout << "PolyHack GlowESP - By Merccy\n\n";
std::cout << "Waiting for csgo.exe...";
while (!mem.Attach("csgo.exe")) {
std::cout << ".";
Sleep(500);
}
modClient = mem.GetModule("client.dll");
std::cout << "\nFound\n\n";
std::cout << "Getting offsets...";
// Glow offset
offGlow = 0x04afef74;
// Entity list
offEntityList = 0x049ee2e4;
// Local player
offLocalPlayer = 0x00a4ca5c;
offSpotted = 0x935;
std::cout << "\nDone\n\n";
std::cout << "Hotkeys: \n";
std::cout << "Toggle glow: ";
keyGlowToggle = whichKeyIsPressed();
std::cout << keyGlowToggle << "\n";
std::cout << "\n";
bool glowEnabled = false;
Player me;
Player players[64];
while (!GetAsyncKeyState(VK_END)) {
if (GetAsyncKeyState(keyGlowToggle) & 0x8000) {
while (GetAsyncKeyState(keyGlowToggle) & 0x8000) {
Sleep(50);
}
glowEnabled = !glowEnabled;
std::cout << "Glow ESP is now ";
if (glowEnabled) {
std::cout << "enabled\n";
}
else {
std::cout << "disabled\n";
}
}
if (glowEnabled) {
me.dwBase = mem.Read<DWORD>(modClient.dwBase + offLocalPlayer);
ReadData(&me);
for (int i = 1; i < 64; i++) {
players[i].dwBase = mem.Read<DWORD>(modClient.dwBase + offEntityList + i * 0x10);
ReadData(&players[i]);
}
DWORD pointerGlow = mem.Read<DWORD>(modClient.dwBase + offGlow);
int objectCount = mem.Read<int>(modClient.dwBase + offGlow + 0x4);
if (pointerGlow != NULL) {
for (int i = 0; i < objectCount; i++) {
DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
GlowObjectDefinition_t glowObj = mem.Read<GlowObjectDefinition_t>(mObj);
if (glowObj.pEntity != NULL) {
int f_i = -1;
for (int j = 1; j < 64; j++) {
if (glowObj.pEntity == players[j].dwBase) {
int r = 0, g = 255, b = 0;
if (players[j].team == me.team) {
r = 0;
b = 255;
}
if (offSpotted == 1) {
r = 255;
b = 0;
}
mem.Write<float>(mObj + 0x4, r / 255);
mem.Write<float>(mObj + 0x8, g / 255);
mem.Write<float>(mObj + 0xC, b / 255);
mem.Write<float>(mObj + 0x10, 1.0f);
mem.Write<BOOL>(mObj + 0x24, true);
mem.Write<BOOL>(mObj + 0x25, false);
}
}
}
}
}
}
}
return 0;
}
Maybe I should just start learning the language

D