Currently I have to be a certain distance to the enemy team to see the glow and if I'm bhopping it all disappears. However my team will not.
Code:
struct GlowObjectDefinition_t
{
void* pEntity;
float r;
float g;
float b;
float a;
uint8_t unk1[16];
bool m_bRenderWhenOccluded;
bool m_bRenderWhenUnoccluded;
bool m_bFullBloom;
uint8_t unk2[10];
}
DWORD gObjectBase = 0x04FB556C;
DWORD glowIndex = 0xA310;
DWORD LocalPlayer = Mem.Read<DWORD>(Client + dwLocal);
DWORD GlowPointer = Mem.Read<DWORD>(Client + gObjectBase);
for (int i = 0; i < 64; i++)
{
int currentPlayer = Mem.Read<int>(Client + EntBase + ((i - 1) * 16));
int teamNum = Mem.Read<int>(currentPlayer + Team);
int MyTeam = Mem.Read<int>(LocalPlayer + Team);
int healthEnt = Mem.Read<int>(currentPlayer + Health);
bool currentPlayerDormant = Mem.Read<bool>(currentPlayer + Dormant);
int currentPlayerGlowIndex = Mem.Read<int>(currentPlayer + glowIndex);
if (currentPlayerDormant == 1)
continue;
else
{
if ((teamNum != MyTeam)) {
if (healthEnt > 66 && healthEnt <= 100) {
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x4)), 0.0f); // Red
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x8)), 255.0f); // Green
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0xC)), 0.0f); // Blue
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x10)), 0.8f); // Alpha
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x24)), true);
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x25)), false);
}
else if (healthEnt > 33 && healthEnt <= 66) {
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x4)), 255.0f); // Red
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x8)), 187.0f); // Green
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0xC)), 0.0f); // Blue
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x10)), 0.8f); // Alpha
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x24)), true);
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x25)), false);
}
else if (healthEnt > 0 && healthEnt <= 33) {
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x4)), 255.0f); // Red
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x8)), 0.0f); // Green
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0xC)), 0.0f); // Blue
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x10)), 0.8f); // Alpha
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x24)), true);
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x25)), false);
}
}
if ((teamNum == MyTeam))
{
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x4)), 0.0f); // Red
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x8)), 0.0f); // Green
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0xC)), 1.0f); // Blue
Mem.Write<float>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x10)), 0.8f); // Alpha
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x24)), true);
Mem.Write<BOOL>((GlowPointer + ((currentPlayerGlowIndex * 0x38) + 0x25)), false);
}
}
}
};