Alright so I'm writing a glow ESP for the heck of it, and for some reason it just is not working. I'm pretty sure I'm doing things right (looked at a few glow ESP's)
Code:
DWORD glowOffset = 0x04B2CD44;
I'm using that offset like this:
Code:
void ESP(){
while (!GetAsyncKeyState(panicKey)){
if (espEnabled){
if (!aimbotEnabled){
me.base = mem.Read<DWORD>(dwBase + playerOffset);
ReadData(&me);
for (int i = 1; i < 64; i++){
players[i].base = mem.Read<DWORD>(dwBase + entityListOffset + i * 0x10);
ReadData(&players[i]);
}
}
DWORD dwGlow = mem.Read<DWORD>(dwBase + glowOffset);
int GlowCount = mem.Read<int>(dwBase + glowOffset + 0x4);
if (dwGlow != NULL){
for (int i = 0; i < GlowCount; i++){
DWORD glowObject = dwGlow + i * sizeof(GlowingObject);
GlowingObject object = mem.Read<GlowingObject>(glowObject);
if (object.base != NULL){
for (int p = 1; p < 64; p++){
if (object.base == players[p].base){
cout << players[p].health << " " << object.base << endl;
cout << p << endl;
int red = 1;
int green = 1;
int blue = 255;
if (players[p].team != me.team){
red = 255;
green = 1;
blue = 1;
if (SpottedByMe(&players[p])){
red = 255;
green = 255;
blue = 1;
}
}
mem.Write<float>(glowObject + 0x4, red / 255);
mem.Write<float>(glowObject + 0x8, green / 255);
mem.Write<float>(glowObject + 0xC, blue / 255);
mem.Write<float>(glowObject + 0x10, 1.0f);
mem.Write<BOOL>(glowObject + 0x24, true);
mem.Write<BOOL>(glowObject + 0x25, false);
}
}
}
}
}
std::this_thread::sleep_for(std::chrono::milliseconds(15));
}
}
}
It's finding the players correctly because if I print out their HP and stuff, it's all correct.
However, when I start iterating through the glow objects, only 1 will match to a player base. is it an offset problem or am I doing something else wrong?
also sometimes, it'll say I found a match (I used a cout to check past the if statement that matches), it won't glow, even though I write to the memory. It only glows sometimes.