Why is my GLOW ESP not working?

Posts 1–15 of 29 · Page 1 of 2
Why is my GLOW ESP not working?
H! So I'm attempting to make a glow ESP (but i wont just write code here) so if anyone could tell me why the players aren't rendering a glow that would be great! BTW I'm rendering every player CT or T the same color for now.

First the offsets I'm using:

m_dwGlowObject: 0x04B6FB7C
m_iGlowIndex: 0x0000BF10

Now the actual hack.

//pseudo
DWORD glowPointer = memory.read(client + glowObject);

then I'm looping through all the players in the game and getting their address (that works).

this is how I'm attempting to glow the players (this is what's wrong I think) [note I'm doing this for all the players in the server]

memory.write((glowPointer) + ((playerAddress * 0x34) + 0x4), r);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x8), g);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0xC), b);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x10), a);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x24), true;
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x25), false);
it's * 0x38 now, they raised it by 4 bytes
it's still not glowing, also I want to know, for the 0x24 and 0x25 why are we setting them to true and false?
Quote Originally Posted by Darky00 View Post
for the 0x24 and 0x25 why are we setting them to true and false?
Hello, copy pasted, why do we do this?
Probably the offsets are wrong, and the 0x34 as another user said must be 0x38 due structure change

This:
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x24), true; //must be 0x38, replace 0x34 with 0x38
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x25), false); //must be 0x38, replace 0x34 with 0x38

Means this:
bool m_bRenderWhenOccluded;
bool m_bRenderWhenUnoccluded;
well I'm just trying to learn :/

- - - Updated - - -

Quote Originally Posted by PhY'z View Post
Probably the offsets are wrong, and the 0x34 as another user said must be 0x38 due structure change

This:
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x24), true; //must be 0x38, replace 0x34 with 0x38
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x25), false); //must be 0x38, replace 0x34 with 0x38

Means this:
bool m_bRenderWhenOccluded;
bool m_bRenderWhenUnoccluded;
instead of true and false, cant it just be 1 and 0 technically?
I have a question in which language programming? vb.net? c#?
Because it seems to me that you have connected several pieces of code.
Quote Originally Posted by KyuubiJaJ View Post
I have a question in which language programming? vb.net? c#?
Because it seems to me that you have connected several pieces of code.
I'm doing this in Java JNA (ik eww) but I'm honestly more comfortable with it and no signatures is nice.
check this
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x4), r);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x8), g);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0xC), b);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x10), a);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x24), true);
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x25), false);
Forgot your add here ")"
memory.write((glowPointer) + ((playerAddress * 0x34) + 0x24), true;
nah that's pseudo code not my actual code
You don't need to do that many WPMs. Just do 1 for each entity.
Quote Originally Posted by k3jl7h View Post
You don't need to do that many WPMs. Just do 1 for each entity.
what do you mean? I have to set RGB
Quote Originally Posted by Darky00 View Post
what do you mean? I have to set RGB
Write it in one call using a struct.

Code:
void Tick ( )
{		
	if ( Settings->GetGlowEnabled ( ) )
	{
		CEngine * Engine;

		CBaseEntity * Local = new CBaseEntity ( Engine->GetLocalPlayer ( ) );

		if ( Local->GetEntityBaseAddress ( ) )
		{
			int GlowObjectCount = Engine->GetGlowCount ( );

			for ( int i = 0; i < GlowObjectCount; i++ )
			{
				GlowStruct Buffer = Memory->ReadMemory < GlowStruct > ( Engine->GetGlowPointer ( ) + ( i * sizeof ( GlowStruct ) ) );

				CBaseEntity * Entity = new CBaseEntity ( Buffer.Entity );

				int ClassID = GetClassID ( Buffer.Entity );
					
				if ( !Entity->GetDormant ( ) )
					{
						if ( ClassID == 35 && ( Settings->GetGlowSetting ( 0 ) || Settings->GetGlowSetting ( 1 ) ) )
						{
							if ( Entity->GetTeamNum ( ) == Local->GetTeamNum ( ) && Settings->GetGlowSetting ( 0 ) )
							{
								Buffer.Red = Settings->GetTeamColor ( ).Red;
								Buffer.Green = Settings->GetTeamColor ( ).Green;
								Buffer.Blue = Settings->GetTeamColor ( ).Blue;
								Buffer.Alpha = Settings->GetTeamColor ( ).Alpha;
								Buffer.RenderWhenOccluded = true;
								Buffer.RenderWhenUnoccluded = false;
								Buffer.FullBloom = false;
							}
							else if ( Settings->GetGlowSetting ( 1 ) )
							{
								Buffer.Red = Settings->GetEnemyColor ( ).Red;
								Buffer.Green = Settings->GetEnemyColor ( ).Green;
								Buffer.Blue = Settings->GetEnemyColor ( ).Blue;
								Buffer.Alpha = Settings->GetEnemyColor ( ).Alpha;
								Buffer.RenderWhenOccluded = true;
								Buffer.RenderWhenUnoccluded = false;
								Buffer.FullBloom = false;
							}
						}
						else if ( ( ClassID == 31 && Settings->GetGlowSetting ( 2 ) ) ||
							 ( ( ClassID == 29 || ClassID == 104 ) && Settings->GetGlowSetting ( 3 ) ) ||
							 ( ( ClassID == 40 || ClassID == 64 || ClassID == 82 || ClassID == 93 || ClassID == 126 || ClassID == 94 || ClassID == 127 || ClassID == 242 ) && Settings->GetGlowSetting ( 4 ) ) ||
							 ( ( ClassID == 1 || ClassID == 7 || ClassID == 39 || ( ClassID >= 197 && ClassID <= 236 ) ) && Settings->GetGlowSetting ( 5 ) ) )
						{
							Buffer.Red = 0.f;
							Buffer.Green = 0.8f;
							Buffer.Blue = 0.f;
							Buffer.Alpha = 1.f;
							Buffer.RenderWhenOccluded = true;
							Buffer.RenderWhenUnoccluded = false;
							Buffer.FullBloom = false;
						}
						else
							continue;
					}
				}

				Memory->WriteMemory < GlowStruct > ( Engine->GetGlowPointer ( ) + i * sizeof ( GlowStruct ), Buffer );

				delete [ ] Entity;
			}
		}

		delete [ ] Local;
	}
}
Struct:
Code:
struct GlowStruct
{
	DWORD Entity;
	float Red;
	float Green;
	float Blue;
	float Alpha;
	uint8_t UnknownData1 [ 16 ];
	bool RenderWhenOccluded;
	bool RenderWhenUnoccluded;
	bool FullBloom;
	uint8_t UnkownData2 [ 14 ];
};
And write it in one call:
Code:
Memory->WriteMemory < GlowStruct > ( Engine->GetGlowPointer ( ) + i * sizeof ( GlowStruct ), Buffer );
Quote Originally Posted by WasserEsser View Post
Write it in one call using a struct.

Code:
void Tick ( )
{		
	if ( Settings->GetGlowEnabled ( ) )
	{
		CEngine * Engine;

		CBaseEntity * Local = new CBaseEntity ( Engine->GetLocalPlayer ( ) );

		if ( Local->GetEntityBaseAddress ( ) )
		{
			int GlowObjectCount = Engine->GetGlowCount ( );

			for ( int i = 0; i < GlowObjectCount; i++ )
			{
				GlowStruct Buffer = Memory->ReadMemory < GlowStruct > ( Engine->GetGlowPointer ( ) + ( i * sizeof ( GlowStruct ) ) );

				CBaseEntity * Entity = new CBaseEntity ( Buffer.Entity );

				int ClassID = GetClassID ( Buffer.Entity );
					
				if ( !Entity->GetDormant ( ) )
					{
						if ( ClassID == 35 && ( Settings->GetGlowSetting ( 0 ) || Settings->GetGlowSetting ( 1 ) ) )
						{
							if ( Entity->GetTeamNum ( ) == Local->GetTeamNum ( ) && Settings->GetGlowSetting ( 0 ) )
							{
								Buffer.Red = Settings->GetTeamColor ( ).Red;
								Buffer.Green = Settings->GetTeamColor ( ).Green;
								Buffer.Blue = Settings->GetTeamColor ( ).Blue;
								Buffer.Alpha = Settings->GetTeamColor ( ).Alpha;
								Buffer.RenderWhenOccluded = true;
								Buffer.RenderWhenUnoccluded = false;
								Buffer.FullBloom = false;
							}
							else if ( Settings->GetGlowSetting ( 1 ) )
							{
								Buffer.Red = Settings->GetEnemyColor ( ).Red;
								Buffer.Green = Settings->GetEnemyColor ( ).Green;
								Buffer.Blue = Settings->GetEnemyColor ( ).Blue;
								Buffer.Alpha = Settings->GetEnemyColor ( ).Alpha;
								Buffer.RenderWhenOccluded = true;
								Buffer.RenderWhenUnoccluded = false;
								Buffer.FullBloom = false;
							}
						}
						else if ( ( ClassID == 31 && Settings->GetGlowSetting ( 2 ) ) ||
							 ( ( ClassID == 29 || ClassID == 104 ) && Settings->GetGlowSetting ( 3 ) ) ||
							 ( ( ClassID == 40 || ClassID == 64 || ClassID == 82 || ClassID == 93 || ClassID == 126 || ClassID == 94 || ClassID == 127 || ClassID == 242 ) && Settings->GetGlowSetting ( 4 ) ) ||
							 ( ( ClassID == 1 || ClassID == 7 || ClassID == 39 || ( ClassID >= 197 && ClassID <= 236 ) ) && Settings->GetGlowSetting ( 5 ) ) )
						{
							Buffer.Red = 0.f;
							Buffer.Green = 0.8f;
							Buffer.Blue = 0.f;
							Buffer.Alpha = 1.f;
							Buffer.RenderWhenOccluded = true;
							Buffer.RenderWhenUnoccluded = false;
							Buffer.FullBloom = false;
						}
						else
							continue;
					}
				}

				Memory->WriteMemory < GlowStruct > ( Engine->GetGlowPointer ( ) + i * sizeof ( GlowStruct ), Buffer );

				delete [ ] Entity;
			}
		}

		delete [ ] Local;
	}
}
Struct:
Code:
struct GlowStruct
{
	DWORD Entity;
	float Red;
	float Green;
	float Blue;
	float Alpha;
	uint8_t UnknownData1 [ 16 ];
	bool RenderWhenOccluded;
	bool RenderWhenUnoccluded;
	bool FullBloom;
	uint8_t UnkownData2 [ 14 ];
};
And write it in one call:
Code:
Memory->WriteMemory < GlowStruct > ( Engine->GetGlowPointer ( ) + i * sizeof ( GlowStruct ), Buffer );
I am going to write it using a struct but first I want to just glow everyone to test if it even works which is not happening atm. Plus memory are bytes right? So how are we writing true/false to bytes?
Quote Originally Posted by Darky00 View Post
I am going to write it using a struct but first I want to just glow everyone to test if it even works which is not happening atm. Plus memory are bytes right? So how are we writing true/false to bytes?
A byte is a permutation of 8 bits, one bit is can contain either 1 or 0.
Posts 1–15 of 29 · Page 1 of 2
This thread is closed for replies.

Similar Threads

Talk with us