HelpESP e Telekill bugados

Posts 1–14 of 14 · Page 1 of 1
ESP e Telekill bugados
Acabei de adicionar ESP e Telekill na minha base, e até que funciona, mas se o esp tiver ligado e alguem entrar no jogo, a lista de players fica igual à quando eu entrei e o esp não funciona nos players que entram depois. Sobre o telekill, ele fica mudando a posição entre a minha e a do alvo, resumindo: ele não para a posição no player selecionado.
Codigos:
ESP:
Code:
VOID ESP(INT Names, INT Lines, INT Distances, INT Boxes, LPDIRECT3DDEVICE9 pDevice)
{
	pDevice->SetRenderState(D3DRS_ZENABLE, FALSE);

	INT CenterX = (GetSystemMetrics(0) / 2) - 1;
	INT CenterY = (GetSystemMetrics(1) / 2) - 1;

	CHAR CName[50], CDistance[50], CVida[50];

	if((*(BYTE *)GameStatus == 1) && (Names || Lines || Distances || Boxes ))
	{
		GetPlayerByIndex = (lpGetPlayerByIndex)ADDR_PLAYERBYINDEX;
		unsigned long ulThis = *(unsigned long *)ADDR_CLIENTINFOMGR;
		GetLocalPlayer = (lpGetLocalPlayer)ADDR_LOCALPLAYER;
		cGameClientShell *pGameClientShell = *(cGameClientShell **)ADDR_GCS;
		for(INT i = 0; i < 24; i++)
		{
			PlayerInfo *pLocal = GetLocalPlayer(ulThis);
			PlayerInfo *pPlayer = GetPlayerByIndex(ulThis, i, 0);
			cCharacterFX *PlayerFX = (cCharacterFX *)pGameClientShell->GetSFXMgr()->SFXList[0x18].List[i];
			if(pPlayer != 0 && pPlayer->Object != 0 && pPlayer->pIsDead == false && pLocal->pIsDead == false)
			{
				D3DXVECTOR3 vPos, vFootScreen, vScreen;
				vPos.x = pPlayer->Object->Pos.x;
				vPos.y = pPlayer->Object->yBound2;
				vPos.z = pPlayer->Object->Pos.z;
				if(WorldToScreen(pDevice, vPos, &vScreen))
				{
					if(pPlayer->pTeam != pLocal->pTeam)
					{
						if(Names)
						{
							sprintf(CName, "%s", pPlayer->pName);
							DrawString(vScreen.x, vScreen.y, Vermelho, pFont, CName);
						}

						if(Lines)
						{
							DrawLine2(CenterX, CenterY, vScreen.x, vScreen.y, Vermelho, pDevice);
						}

						if(Distances)
						{
							sprintf(CDistance, "%0.0f M", GetDistance(pLocal->Object->Pos, pPlayer->Object->Pos));
							DrawString(vScreen.x, vScreen.y + 23, Verde, pFont, CDistance);
						}

						if(Boxes)
						{
							vPos.x = pPlayer->Object->Pos.x;
							vPos.y = pPlayer->Object->yBound1;
							vPos.z = pPlayer->Object->Pos.z;
							if(WorldToScreen(pDevice, vPos, &vFootScreen))
							{
								INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y));
								#pragma warning(push)
								D3DRECT rectBoxes[10] =
								{
									{vScreen.x - BoxDist, vScreen.y    , vScreen.x - BoxDist + 1, vFootScreen.y}, 
									{vScreen.x - BoxDist, vFootScreen.y, vScreen.x + BoxDist + 1, vFootScreen.y + 1},
									{vScreen.x + BoxDist, vScreen.y    , vScreen.x + BoxDist + 1, vFootScreen.y},
									{vScreen.x - BoxDist, vScreen.y    , vScreen.x + BoxDist, vScreen.y + 1}
								};
								#pragma warning(pop)
								pDevice->Clear(10, rectBoxes, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, Vermelho, 1.0f, 0);
							}
						}

					}
					if(pPlayer->pTeam == pLocal->pTeam)
					{
						if(Names)
						{
							sprintf(CName, "%s", pPlayer->pName);
							DrawString(vScreen.x, vScreen.y, Verde, pFont, CName);
						}

						if(Lines)
						{
							DrawLine2(CenterX, CenterY, vScreen.x, vScreen.y, Verde, pDevice);
						}

					
						if(Distances)
						{
							sprintf(CDistance, "%0.0f M", GetDistance(pLocal->Object->Pos, pPlayer->Object->Pos));
							DrawString(vScreen.x, vScreen.y + 23, Verde, pFont, CDistance);
						}

						if(Boxes)
						{
							vPos.x = pPlayer->Object->Pos.x;
							vPos.y = pPlayer->Object->yBound1;
							vPos.z = pPlayer->Object->Pos.z;
							if(WorldToScreen(pDevice, vPos, &vFootScreen))
							{
								INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y));
								#pragma warning(push)
								D3DRECT rectBoxes[10] =
								
								{
									{vScreen.x - BoxDist, vScreen.y    , vScreen.x - BoxDist + 2, vFootScreen.y}, 
									{vScreen.x - BoxDist, vFootScreen.y, vScreen.x + BoxDist + 2, vFootScreen.y + 1},
									{vScreen.x + BoxDist, vScreen.y    , vScreen.x + BoxDist + 2, vFootScreen.y},
									{vScreen.x - BoxDist, vScreen.y    , vScreen.x + BoxDist, vScreen.y + 1}
								};
								#pragma warning(pop)
								pDevice->Clear(10, rectBoxes, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, Verde, 1.0f, 0);
								
							}
						}
					}
				}
			}
		}
	}
}
TeleKill
Code:
void TeleKillFull(int Kill, LPDIRECT3DDEVICE9 pDevice)
{
		DWORD posptr, PositionY;
		GetPlayerByIndex = (lpGetPlayerByIndex)ADDR_PLAYERBYINDEX;
		unsigned long ulThis = *(unsigned long *)ADDR_CLIENTINFOMGR;
		GetLocalPlayer = (lpGetLocalPlayer)ADDR_LOCALPLAYER;
		posptr = (DWORD) GetModuleHandle("ClientFX.fxd");
		posptr += ClientFX;
		memcpy(&PositionY, (VOID *) (posptr), 4);
		for (int i = 0; i < 16; i++) {
			PlayerInfo *pPlayer = GetPlayerByIndex(ulThis, i, 0);
			PlayerInfo *pLocal = GetLocalPlayer(ulThis);
			if (pPlayer != 0 && pPlayer->Object != 0 && pPlayer->pIsDead == false) {
				if (Kill) 
				{
					if (pPlayer->pTeam != pLocal->pTeam) {
						Sleep(5);
						*(FLOAT *) (PositionY + 0xC8) = (pPlayer->Object->Pos.x + 20.0f);
						*(FLOAT *) (PositionY + 0xCC) = (pPlayer->Object->yBound2);
						*(FLOAT *) (PositionY + 0xD0) = (pPlayer->Object->Pos.z);
				}
			}
		}
	}
}
As classes tão todas atualizadas, até pq senão não ia ativar os esps.
Quote Originally Posted by Megaloco View Post
Usa essas ESP que esta funcionando normalmente -> http://www.mpgh.net/forum/showthread...=whit+base+esp
Essa base mesmo que eu usei, eu andei testando os esps e eles tão ok, só demora um pouco pra sumir a caixa quando o player morre.
O maior problema é o TeleKill, que não consegue me manter na posição do outro player.
O meu está funcionando normalmente e está com esse código...poucas diferenças do seu !

Code:
void TeleKillFull(int Kill, LPDIRECT3DDEVICE9 pDevice)
{
		DWORD posptr, PositionY;
		GetPlayerByIndex = (lpGetPlayerByIndex)PlayerByIndex;
		unsigned long ulThis = *(unsigned long *)ClientInfoMgr;
		GetLocalPlayer = (lpGetLocalPlayer) LocalPlayer;
		posptr = (DWORD) GetModuleHandle("ClientFX.fxd");
		posptr += ClientFX;
		memcpy(&PositionY, (VOID *) (posptr), 4);
		for (int i = 0; i < 16; i++) 
		{
			cPlayerInfo *pPlayer = GetPlayerByIndex(ulThis, i, 0);
			cPlayerInfo *pLocal = GetLocalPlayer(ulThis);
			if (pPlayer != 0 && pPlayer->Object != 0 && pPlayer->pIsDead == 0) 
			{
				if (Kill) 
				{
					if (pPlayer->pTeam != pLocal->pTeam) {
						Sleep(1);
						*(FLOAT *) (PositionY + 0xC8) = (pPlayer->Object->Pos.x + 25.0f);
						*(FLOAT *) (PositionY + 0xCC) = (pPlayer->Object->yBound2);
						*(FLOAT *) (PositionY + 0xD0) = (pPlayer->Object->Pos.z);
				}
			}
		}
	}
}
@Megaloco Testei aqui e continua bugado, dps eu testo no windows xp ve se roda ok.
Update: não funciona nem no win xp.
Code:
#define M_PI				3.14159265358979323846f
#define DegToRad(degree)	((degree) * (M_PI / 180.0f))
#define PITCH				0
#define YAW					1
#define ROLL				2

#define SubtractVector(v1, v2, v3) ((v3[0] = v1[0] - v2[0]), (v3[1] = v1[1] - v2[1]), (v3[2] = v1[2] - v2[2]))

class cPlayerMgr;
class cPlayerInfo;
class CILTDrawPrim;
class cCharacterFX;
class cGameClientShell;
class cClientWeaponMgr;

typedef cPlayerInfo *(__thiscall *lpGetLocalPlayer)(unsigned long ulThis);
lpGetLocalPlayer GetLocalPlayer;

typedef cPlayerInfo *(__thiscall *lpGetPlayerByIndex)(unsigned long ulThis, INT index, INT unk);
lpGetPlayerByIndex GetPlayerByIndex;

class cSFXList
{
public:
	DWORD unknown1; //0x0000 
	DWORD* List; //0x0004 
	DWORD unknown2; //0x0008 
	__int32 Num; //0x000C 
};//Size=0x0010

class cSFXMgr
{
public:
	cSFXList SFXList[0x3D]; //0x0000 
};//Size=0x00F4

class cGameClientShell
{
public:
	virtual void Function0();
	virtual void Function1();
	virtual void Function2();
	virtual void Function3();
	virtual void Function4();
	virtual void Function5();
	virtual void Function6();
	virtual void Function7();
	virtual void Function8();
	virtual void Function9();
	virtual void Function10();
	virtual void Function11();
	virtual void Function12();
	virtual void Function13();
	virtual void Function14();
	virtual void Function15();
	virtual void Function16();
	virtual void Function17();
	virtual void Function18();
	virtual void Function19();
	virtual void Function20();
	virtual void Function21();
	virtual void Function22();
	virtual void Function23();
	virtual void Function24();
	virtual void Function25();
	virtual void Function26();
	virtual void Function27();
	virtual void Function28();
	virtual void Function29();
	virtual void Function30();
	virtual void Function31();
	virtual void Function32();
	virtual void Function33();
	virtual void Function34();
	virtual void Function35();
	virtual void Function36();
	virtual void Function37();
	virtual void Function38();
	virtual void Function39();
	virtual void Function40();
	virtual void Function41();
	virtual void Function42();
	virtual void Function43();
	virtual void Function44();
	virtual void Function45();
	virtual void Function46();
	virtual void Function47();
	virtual void Function48();
	virtual void Function49();
	virtual void Function50();
	virtual void Function51();
	virtual void Function52();
	virtual void Function53();
	virtual void Function54();
	virtual void Function55();
	virtual void Function56();
	virtual DWORD GetClientInfoMgr();
	virtual DWORD GetInterfaceManager();
	virtual DWORD GetPlayerManager();
	virtual void Function60();
	virtual void Function61();
	virtual void Function62();
	virtual void Function63();
	virtual void Function64();
	virtual void Function65();
	virtual cSFXMgr* GetSFXMgr();
};

struct __Object
{
public:
	DWORD Unknown;
	float xBound1;
	float yBound1;
	float zBound1;
	float xBound2;
	float yBound2;
	float zBound2;
	char unknown0[172];
	D3DXVECTOR3 Pos;
	D3DXMATRIX Rot;				//0x00D4
	char unknown1[180];
	D3DXMATRIX Vel;				//0x00D4
	char unknown2[4];
	D3DXVECTOR3 origin;
};

class cPlayerInfo
{
public:
	__int32 pPing; //0x0000 
	__int32 Index; //0x0004 
	__int32 ID; //0x0008 
	char unknown2[8]; //0x000C 
	char pName[20]; //0x0014 
	char unknown3[4]; //0x0028 
	__Object *Object;  //0x002C  
	__int32 Kills; //0x0030 
	__int32 Deaths; //0x0034 
	char unknown4[44]; //0x0038 
	__int32 HeadShots; //0x0064 
	char unknown5[12]; //0x0068 
	__int32 pTeam; //0x0074 
	char unknown6[4]; //0x0078 
	BYTE pIsDead; //0x007C 
	char unknown7[655]; //0x007D 
	cPlayerInfo* PlayerPrev; //0x0300
	cPlayerInfo* PlayerNext; //0x0304  
};

class cPlayerMgr
{
public:
	char _0x0000[24];
	cClientWeaponMgr * WeaponMgr; //0x0018 
	char _0x001C[16];
	__int32 playerFlags; //0x002C 
	char _0x0030[24];
	float Pitch; //0x0048 
	float Yaw; //0x004C 
	float Roll; //0x0050 
	char _0x0054[236];
	__int32 * CameraObject; //0x0140 
	char _0x0144[60];

};//Size=0x0180

class CILTDrawPrim
{
public:
	char unknown1[16184]; //0x0000 
	D3DVIEWPORT9 ViewPort; //0x3F38 
	D3DXMATRIX World; //0x3F50 
	D3DXMATRIX View; //0x3F90 
	D3DXMATRIX Projection; //0x3FD0 
};

class cCharacterFX//
{
public:
	char _0x0000[16];
	__int32 * Object; //0x0010 
	char _0x0014[44];
	__int32 IsPlayer; //0x0040 
	char _0x0044[1293];
	BYTE bIsDead; //0x0551 
	BYTE bSpawnSheild; //0x0552 
	char _0x0553[41];
	__int32 hHitbox; //0x057C 
	char _0x0580[60];
	WORD wHealth; //0x05BC 
	WORD wArmor; //0x05BE 
	char _0x05C0[44];
	__int32 Index; //0x05EC 
	char _0x05F0[2640];

};//Size=0x1040
Code:
VOID ESP(INT Names, INT Lines, INT Distances, INT Boxes, LPDIRECT3DDEVICE9 pDevice)
{
	pDevice->SetRenderState(D3DRS_ZENABLE, FALSE);


	CHAR CName[50], CDistance[50];

	if ((*(BYTE *) GameStatus == 1) && (Names || Lines || Distances || Boxes))
	{
		GetPlayerByIndex = (lpGetPlayerByIndex) PlayerByIndex;
		unsigned long ulThis = *(unsigned long *) ClientInfoMgr;
		GetLocalPlayer = (lpGetLocalPlayer) LocalPlayer;
		cGameClientShell *pGameClientShell = *(cGameClientShell **) GCS;
		for (INT i = 0; i < 24; i++)
		{
			PlayerInfo *pLocal = GetLocalPlayer(ulThis);
			PlayerInfo *pPlayer = GetPlayerByIndex(ulThis, i, 0);
			cCharacterFX *PlayerFX = (cCharacterFX *) pGameClientShell->GetSFXMgr()->SFXList[0x18].List[i];
			if (pPlayer != 0 && pPlayer->Object != 0 && pPlayer->pIsDead == 0 && pLocal->pIsDead == 0)
			{
				D3DXVECTOR3 vPos, vFootScreen, vScreen;
				vPos.x = pPlayer->Object->Pos.x;
				vPos.y = pPlayer->Object->yBound2;
				vPos.z = pPlayer->Object->Pos.z;
				if (WorldToScreen(pDevice, vPos, &vScreen))
				{
					if (pPlayer->pTeam != pLocal->pTeam)
					{
						if (Names)
						{
							sprintf(CName, "%s", pPlayer->pName);
							Directx.Texto(vScreen.x, vScreen.y, Red, TCenter, Directx.pFont, CName);
						}

						if (Lines)
						{
							DrawLine(GetSystemMetrics(0) / 2, GetSystemMetrics(1), vScreen.x, vScreen.y, NULL, Red);
						}

						if (Distances)
						{
							sprintf(CDistance, "%0.0f M", GetDistance(pLocal->Object->Pos, pPlayer->Object->Pos));
							Directx.Texto(vScreen.x, vScreen.y + 23, Red, TCenter, Directx.pFont, CDistance);
						}

						if (Boxes)
						{
							vPos.x = pPlayer->Object->Pos.x;
							vPos.y = pPlayer->Object->yBound1;
							vPos.z = pPlayer->Object->Pos.z;
							if (WorldToScreen(pDevice, vPos, &vFootScreen))
							{
								INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y));
#pragma warning(push)
								D3DRECT rectBoxes[10] =
								{
									{ vScreen.x - BoxDist, vScreen.y, vScreen.x - BoxDist + 1, vFootScreen.y },
									{ vScreen.x - BoxDist, vFootScreen.y, vScreen.x + BoxDist + 1, vFootScreen.y + 1 },
									{ vScreen.x + BoxDist, vScreen.y, vScreen.x + BoxDist + 1, vFootScreen.y },
									{ vScreen.x - BoxDist, vScreen.y, vScreen.x + BoxDist, vScreen.y + 1 }
								};
#pragma warning(pop)
								pDevice->Clear(10, rectBoxes, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, Blue, 1.0f, 0);
							}
						}


					}
					if (pPlayer->pTeam == pLocal->pTeam && pPlayer->index != pLocal->index)
					{
						if (Names)
						{
							sprintf(CName, "%s", pPlayer->pName);
							Directx.Texto(vScreen.x, vScreen.y, Yellow, TCenter, Directx.pFont, CName);
						}

						if (Lines)
						{
							DrawLine(GetSystemMetrics(0) / 2, GetSystemMetrics(1), vScreen.x, vScreen.y, NULL, White);
						}


						if (Distances)
						{
							sprintf(CDistance, "%0.0f M", GetDistance(pLocal->Object->Pos, pPlayer->Object->Pos));
							Directx.Texto(vScreen.x, vScreen.y + 23, Red, TCenter, Directx.pFont, CDistance);
						}

						if (Boxes)
						{
							vPos.x = pPlayer->Object->Pos.x;
							vPos.y = pPlayer->Object->yBound1;
							vPos.z = pPlayer->Object->Pos.z;
							if (WorldToScreen(pDevice, vPos, &vFootScreen))
							{
								INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y));
#pragma warning(push)
								D3DRECT rectBoxes[10] =

								{
									{ vScreen.x - BoxDist, vScreen.y, vScreen.x - BoxDist + 2, vFootScreen.y },
									{ vScreen.x - BoxDist, vFootScreen.y, vScreen.x + BoxDist + 2, vFootScreen.y + 1 },
									{ vScreen.x + BoxDist, vScreen.y, vScreen.x + BoxDist + 2, vFootScreen.y },
									{ vScreen.x - BoxDist, vScreen.y, vScreen.x + BoxDist, vScreen.y + 1 }
								};
#pragma warning(pop)
								pDevice->Clear(10, rectBoxes, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, Yellow, 1.0f, 0);

							}
						}
					}
				}
			}
		}
	}
}

As classes tão ok. O unico problema é que o esp não mantem a posição em cima do player.
Quote Originally Posted by RatoAtmico View Post
As classes tão ok. O unico problema é que o esp não mantem a posição em cima do player.
Use o telekill da base do Gellin, não é muito difícil de retirar da base
Quote Originally Posted by Coder.Fail View Post
Use o telekill da base do Gellin, não é muito difícil de retirar da base
Code:
void cESP::TeleKill( int OnOff, int AimAtTeam, int SpawnCheck )
{
 	if( OnOff > 0 && !local.bDead )
 	{
		if( GetAsyncKeyState( menu->iTeleKey ) < 0 )
		{
			cSFXMgr* SFXMgr = engine->GetGameClientShell()->GetSFXMgr();

			if( engine->ValidPointer( SFXMgr ) )
			{
				for ( int i = 0; i < SFXMgr->SFXList[SFX_CHARACTER].Num; i++ )
				{
					cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[SFX_CHARACTER].List[i];

					if( engine->ValidPointer( fx ) && engine->ValidPointer( fx->Object ) )
					{
						Transform HeadTransform;
						unsigned int HeadResult = engine->GetLTModel()->GetNodeTransform( fx->Object, 8, &HeadTransform,  true );

						if( HeadResult != 0 || local.Object == fx->Object )
							continue;

						if( local.iGameMode == 5 )
						{
							if( !fx->IsPlayer )
								continue;

							engine->SetLocalPlayerPosition( HeadTransform.Pos );
						}
						else
						{
							c_player* client_info = engine->GetClientInfoMgr()->GetClientByID( fx->Index );

							if( engine->ValidPointer( client_info ) && !client_info->isDead )
							{
								if( AimAtTeam == 0 )
									if( client_info->TeamID == local.iTeam )
										continue;

								if( SpawnCheck == 1 )
									if( esp->Players[i].bSpawnShield )
										continue;

								if(	client_info->ClientID == local.iIndex )
									continue;

								engine->SetLocalPlayerPosition( HeadTransform.Pos );
							}
						}
					}
				}
			}
		}
	}
}
Quote Originally Posted by Megaloco View Post
Code:
void cESP::TeleKill( int OnOff, int AimAtTeam, int SpawnCheck )
{
 	if( OnOff > 0 && !local.bDead )
 	{
		if( GetAsyncKeyState( menu->iTeleKey ) < 0 )
		{
			cSFXMgr* SFXMgr = engine->GetGameClientShell()->GetSFXMgr();

			if( engine->ValidPointer( SFXMgr ) )
			{
				for ( int i = 0; i < SFXMgr->SFXList[SFX_CHARACTER].Num; i++ )
				{
					cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[SFX_CHARACTER].List[i];

					if( engine->ValidPointer( fx ) && engine->ValidPointer( fx->Object ) )
					{
						Transform HeadTransform;
						unsigned int HeadResult = engine->GetLTModel()->GetNodeTransform( fx->Object, 8, &HeadTransform,  true );

						if( HeadResult != 0 || local.Object == fx->Object )
							continue;

						if( local.iGameMode == 5 )
						{
							if( !fx->IsPlayer )
								continue;

							engine->SetLocalPlayerPosition( HeadTransform.Pos );
						}
						else
						{
							c_player* client_info = engine->GetClientInfoMgr()->GetClientByID( fx->Index );

							if( engine->ValidPointer( client_info ) && !client_info->isDead )
							{
								if( AimAtTeam == 0 )
									if( client_info->TeamID == local.iTeam )
										continue;

								if( SpawnCheck == 1 )
									if( esp->Players[i].bSpawnShield )
										continue;

								if(	client_info->ClientID == local.iIndex )
									continue;

								engine->SetLocalPlayerPosition( HeadTransform.Pos );
							}
						}
					}
				}
			}
		}
	}
}
Coloque na sua base agora, e compile a mesma
Quote Originally Posted by Coder.Fail View Post
Coloque na sua base agora, e compile a mesma
Deve dá um trabalho...affsss
Pra mim agr tá bugando o esp emvplauers que morreram noquarentena, os players que entram depois de mim não aparecem no esp , e se eu ativar o esp, mesmo que eu dedative o telekill não teleporta mais
Quote Originally Posted by RatoAtmico View Post
Pra mim agr tá bugando o esp emvplauers que morreram noquarentena, os players que entram depois de mim não aparecem no esp , e se eu ativar o esp, mesmo que eu dedative o telekill não teleporta mais
entra skype
dps q te ajudo -'
Quote Originally Posted by Coder.DiasII View Post
entra skype
dps q te ajudo -'
Eu entrei, mas tú fico off ;-;
Posts 1–14 of 14 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?