ESP doesn't show

Posts 1–4 of 4 · Page 1 of 1
ESP doesn't show
With recent patches my esp became outdated and request an update.

Code:
GetMeIdxInPlayerInfoList
56 8B F1 0F B6 86 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 83 C4 04 84 C0 75 04
Code:
___:5DAAAFB0 sub_5DAAAFB0    proc near               ; CODE XREF: sub_5D0B7560+D2p
___:5DAAAFB0                                         ; sub_5D0BC3C0+68p ...
___:5DAAAFB0                 push    esi
___:5DAAAFB1                 mov     esi, ecx
___:5DAAAFB3                 movzx   eax, byte ptr [esi+1FCh] // IClientShellStub offset
___:5DAAAFBA                 push    eax
___:5DAAAFBB                 call    sub_5DB00080
___:5DAAAFC0                 add     esp, 4
___:5DAAAFC3                 test    al, al
___:5DAAAFC5                 jnz     short loc_5DAAAFCB
___:5DAAAFC7                 or      al, 0FFh
___:5DAAAFC9                 pop     esi
___:5DAAAFCA                 retn
___:5DAAAFCB ; ---------------------------------------------------------------------------
___:5DAAAFCB
___:5DAAAFCB loc_5DAAAFCB:                           ; CODE XREF: sub_5DAAAFB0+15j
___:5DAAAFCB                 movzx   eax, byte ptr [esi+1FCh]
___:5DAAAFD2                 imul    eax, 0D80h // CPlayerInformation class size
___:5DAAAFD8                 mov     al, [eax+esi+204h]
___:5DAAAFDF                 pop     esi
___:5DAAAFE0                 retn
___:5DAAAFE0 sub_5DAAAFB0    endp
Code:
class CPlayerInformation
{
public:
	HOBJECT Object;
	char ClientId;
	char Team;
	char Name[12];
char _0x0012[2];
	int unk;
	int Slot;
	int Unknown1;
	bool C4;
	int  CallState;
	int  Rank;
	int  Unknown2;
	int  Unknown3;
	short Health;
	short Kills;
	__int32 Deaths;
char spacer[0xD80 - 0x3C];

	bool IsValid() const
	{
		if (Object != nullptr) {
			return (true);
		}

		return (false);
	}

	bool IsAlive() const
	{
		if (Health > 0)	{
			return (true);
		}

		return (false);
	}
};

class IClientShellStub
{
public:
char pad_0x0004[0x1FC-4];
	CPlayerInformation Clients[16];
};
Maybe also trouble with DrawTest, but should not be the case.
Code:
void Esp::DrawTest()
{
	for (int PlayerId = 0; PlayerId < 16; PlayerId++)
	{
		const CPlayerInformation PlayerInfoIterator = Engine::EngineSingleton().GetPlayerInfoById(PlayerId);
		if (!Engine::EngineSingleton().IsObjectValid(PlayerInfoIterator.Object) || !Engine::EngineSingleton().IsPlayerValid(PlayerInfoIterator)) {
			continue;
		}
		//if (Engine::EngineSingleton().IsPlayerLocal(PlayerInfoIterator)) {
		//	continue;
		//}

		LTVector PlayerPosMin3D = Engine::EngineSingleton().GetObjectBoxMins(PlayerInfoIterator.Object);
		LTVector PlayerPosMin2D;
		if (!WorldToScreen(Engine::EngineSingleton().GetDirect3DDevice(), PlayerPosMin3D, PlayerPosMin2D)) {
			continue;
		}

		ToolkitRenderer::GetToolkitRenderer().Text(PlayerPosMin2D.x, PlayerPosMin2D.y, DT_CENTER, 0xffff0000, PlayerInfoIterator.Name, false);
	}
}
Quote Originally Posted by s0l3x View Post
With recent patches my esp became outdated and request an update.

Code:
GetMeIdxInPlayerInfoList
56 8B F1 0F B6 86 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 83 C4 04 84 C0 75 04
Code:
___:5DAAAFB0 sub_5DAAAFB0    proc near               ; CODE XREF: sub_5D0B7560+D2p
___:5DAAAFB0                                         ; sub_5D0BC3C0+68p ...
___:5DAAAFB0                 push    esi
___:5DAAAFB1                 mov     esi, ecx
___:5DAAAFB3                 movzx   eax, byte ptr [esi+1FCh] // IClientShellStub offset
___:5DAAAFBA                 push    eax
___:5DAAAFBB                 call    sub_5DB00080
___:5DAAAFC0                 add     esp, 4
___:5DAAAFC3                 test    al, al
___:5DAAAFC5                 jnz     short loc_5DAAAFCB
___:5DAAAFC7                 or      al, 0FFh
___:5DAAAFC9                 pop     esi
___:5DAAAFCA                 retn
___:5DAAAFCB ; ---------------------------------------------------------------------------
___:5DAAAFCB
___:5DAAAFCB loc_5DAAAFCB:                           ; CODE XREF: sub_5DAAAFB0+15j
___:5DAAAFCB                 movzx   eax, byte ptr [esi+1FCh]
___:5DAAAFD2                 imul    eax, 0D80h // CPlayerInformation class size
___:5DAAAFD8                 mov     al, [eax+esi+204h]
___:5DAAAFDF                 pop     esi
___:5DAAAFE0                 retn
___:5DAAAFE0 sub_5DAAAFB0    endp
Code:
class CPlayerInformation
{
public:
	HOBJECT Object;
	char ClientId;
	char Team;
	char Name[12];
char _0x0012[2];
	int unk;
	int Slot;
	int Unknown1;
	bool C4;
	int  CallState;
	int  Rank;
	int  Unknown2;
	int  Unknown3;
	short Health;
	short Kills;
	__int32 Deaths;
char spacer[0xD80 - 0x3C];

	bool IsValid() const
	{
		if (Object != nullptr) {
			return (true);
		}

		return (false);
	}

	bool IsAlive() const
	{
		if (Health > 0)	{
			return (true);
		}

		return (false);
	}
};

class IClientShellStub
{
public:
char pad_0x0004[0x1FC-4];
	CPlayerInformation Clients[16];
};
Maybe also trouble with DrawTest, but should not be the case.
Code:
void Esp::DrawTest()
{
	for (int PlayerId = 0; PlayerId < 16; PlayerId++)
	{
		const CPlayerInformation PlayerInfoIterator = Engine::EngineSingleton().GetPlayerInfoById(PlayerId);
		if (!Engine::EngineSingleton().IsObjectValid(PlayerInfoIterator.Object) || !Engine::EngineSingleton().IsPlayerValid(PlayerInfoIterator)) {
			continue;
		}
		//if (Engine::EngineSingleton().IsPlayerLocal(PlayerInfoIterator)) {
		//	continue;
		//}

		LTVector PlayerPosMin3D = Engine::EngineSingleton().GetObjectBoxMins(PlayerInfoIterator.Object);
		LTVector PlayerPosMin2D;
		if (!WorldToScreen(Engine::EngineSingleton().GetDirect3DDevice(), PlayerPosMin3D, PlayerPosMin2D)) {
			continue;
		}

		ToolkitRenderer::GetToolkitRenderer().Text(PlayerPosMin2D.x, PlayerPosMin2D.y, DT_CENTER, 0xffff0000, PlayerInfoIterator.Name, false);
	}
}
Player Object is 0x4
Code:
struct CPlayer
{
	char Spacer00[4];
	union//0x0004
	{
		cObject* Object;
		__int32* iObject;
	};
	int8_t  ClientID;//0x8
	int8_t  Team;//0x9
	char Name[12];//0xA
	char Spacer01[2];//0x16
	CharFx* CharacterFX;//0x18
	char _0x001C[8];//0x1C
	int32_t  Has_C4;//0x24
	int State;//0x28
	int Rank;//0x2C
	int unkstruct2;//0x30
	int unkstruct3;//0x34
	char _0x0038[8];//0x38
	int16_t  Health;//0x40
	int16_t  Kills;//0x44
	__int32 Deaths;
	__int32 HeadShots;
	__int32 TeamID;
	__int32 Ping;

};
Update cCharacterFX

Code:
class cCharacterFX
{
public:
	//WeaponMgr
	CWeaponMgr* GetWeapon() //credits: dreek
	{
		return *reinterpret_cast<CWeaponMgr**>((uintptr_t)this + 0xEEF8);//Updated
	}
And CPlayer

Code:
struct CPlayer // by ramoxo
{
	char Spacer00[4];
	//CObject* Object;
	union//0x0004
	{
		cObject* Object;
		__int32* iObject;
	};
	char ClientID;//0x8
	char Team;//0x9
	char Name[12];//0xA
	char Spacer01[2];//0x16
	cCharacterFX* cCharacterFX;//0x18
	//int PlayerSlotTeam;
	//int unkstruct1;
	char _0x001C[8];//0x1C
	bool got_C4;//0x24
	int State;//0x28
	int Rank;//0x2C
	int unkstruct2;//0x30
	int unkstruct3;//0x34
	char _0x0038[8];//0x38
	short Health;//0x40
	short Kills;//0x44
	__int32 Deaths;
	__int32 HeadShots;
	__int32 TeamID;
	__int32 Ping;
};
100%100 Working after add this
Quote Originally Posted by Anger5K View Post
Update cCharacterFX

Code:
class cCharacterFX
{
public:
	//WeaponMgr
	CWeaponMgr* GetWeapon() //credits: dreek
	{
		return *reinterpret_cast<CWeaponMgr**>((uintptr_t)this + 0xEEF8);//Updated
	}
And CPlayer

Code:
struct CPlayer // by ramoxo
{
	char Spacer00[4];
	//CObject* Object;
	union//0x0004
	{
		cObject* Object;
		__int32* iObject;
	};
	char ClientID;//0x8
	char Team;//0x9
	char Name[12];//0xA
	char Spacer01[2];//0x16
	cCharacterFX* cCharacterFX;//0x18
	//int PlayerSlotTeam;
	//int unkstruct1;
	char _0x001C[8];//0x1C
	bool got_C4;//0x24
	int State;//0x28
	int Rank;//0x2C
	int unkstruct2;//0x30
	int unkstruct3;//0x34
	char _0x0038[8];//0x38
	short Health;//0x40
	short Kills;//0x44
	__int32 Deaths;
	__int32 HeadShots;
	__int32 TeamID;
	__int32 Ping;
};
100%100 Working after add this
Thanks It's working!
Posts 1–4 of 4 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us