Code:
class cCharacterFX2
{
public:
char unknown1[16];
__Object* Object; //0x0010
char unknown2[44];
__int32 IsPlayer; //0x0040
};//Size=0x05C8
class cObjName
{
public:
char unknown1[4];
char Name[28];
};
class cBaseFX
{
public:
char unknown1[16];
int* Object; //0x0010
D3DXVECTOR3 Pos; //0x0014
char unknown2[28];
cObjName* gotoObjName; //0x0034
char unknown3[8];
int NoGun; //0x0040
char unknown4[4];
BYTE Unknown5;
BYTE OwnerID; //0x004C
char unknown6[40];
};//Size=0x0054
NPC Telekill
Code:
void NPCTeleKill( int TelekillNPC, LPDIRECT3DDEVICE9 pDevice )
{
if( TelekillNPC == 1)
{
DWORD posptr, PositionY, dwBack;
cGameClientShell *pGameClientShell = *(cGameClientShell **)GCS;
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
GetPlayerByIndex = (lpGetPlayerByIndex)PlayerByIndex;
unsigned long ulThis = *(unsigned long *)ClientInfoMgr;
GetLocalPlayer = (lpGetLocalPlayer)LocalPlayer;
posptr = (DWORD) GetModuleHandle("ClientFX.fxd");
posptr += 0x6BF34;
VirtualProtect( &PositionY, 4, PAGE_EXECUTE_READWRITE, &dwBack );
memcpy( &PositionY, (VOID *) (posptr), 4 );
VirtualProtect( &PositionY, 4, dwBack, &dwBack );
if( ValidPointer(SFXMgr) )
{
for ( int i = 0; i < SFXMgr->SFXList[SFX_CHARACTER].Num; i++ )
{
cCharacterFX2* NPC = (cCharacterFX2*)SFXMgr->SFXList[SFX_CHARACTER].List[i];
if( ValidPointer( NPC ) && ValidPointer( NPC->Object ))
{
if( NPC->IsPlayer )
continue;
D3DXVECTOR3 Pos, Screen;
Pos = MyGetObjectMaxPos( (int*)NPC->Object );
if( WorldToScreen2( pDevice, Pos, &Screen))
{
Sleep(1);
*(FLOAT *) (PositionY + 0xC8) = NPC->Object->Pos.x + 25.0f;
*(FLOAT *) (PositionY + 0xCC) = NPC->Object->Pos.y;
*(FLOAT *) (PositionY + 0xD0) = NPC->Object->Pos.z;
}
}
}
}
}
}
Code:
void PickupESP( int DrawPickup, int DrawDistance, int WeaponTelePort, LPDIRECT3DDEVICE9 pDevice )
{
if( DrawPickup == 1 || DrawDistance == 1 || WeaponTelePort == 1 )
{
DWORD posptr, PositionY, dwBack;
cGameClientShell *pGameClientShell = *(cGameClientShell **)GCS;
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
GetPlayerByIndex = (lpGetPlayerByIndex)PlayerByIndex;
unsigned long ulThis = *(unsigned long *)ClientInfoMgr;
GetLocalPlayer = (lpGetLocalPlayer)LocalPlayer;
posptr = (DWORD) GetModuleHandle("ClientFX.fxd");
posptr += 0x6BF34;
VirtualProtect( &PositionY, 4, PAGE_EXECUTE_READWRITE, &dwBack );
memcpy( &PositionY, (VOID *) (posptr), 4 );
VirtualProtect( &PositionY, 4, dwBack, &dwBack );
if( ValidPointer( SFXMgr ) )
{
for ( int i = 0; i < SFXMgr->SFXList[SFX_PICKUP].Num; i++ )
{
cPlayerInfo *pLocal = GetLocalPlayer(ulThis);
cPlayerInfo *pPlayer = GetPlayerByIndex(ulThis, i, 0);
cBaseFX* Pickup = (cBaseFX*)SFXMgr->SFXList[SFX_PICKUP].List[i];
if( ValidPointer( Pickup ) &&ValidPointer( Pickup->Object ) )
{
D3DXVECTOR3 Pos, Screen;
Pos = MyGetObjectMaxPos( Pickup->Object );
if( WorldToScreen2( pDevice, Pos, &Screen ) )
{
char Data2[256];
float Dist = GetDistance( pLocal->Object->Pos, Pos );
if (WeaponTelePort)
{
Sleep(1);
*(FLOAT *) (PositionY + 0xC8) = Pickup->Pos.x;
*(FLOAT *) (PositionY + 0xCC) = Pickup->Pos.y;
*(FLOAT *) (PositionY + 0xD0) = Pickup->Pos.z;
}
if( DrawPickup == 1 && DrawDistance == 0 )
PrintText("Weapon", (int)Screen.x, (int)Screen.y, Yellow, pFont);
else if( DrawDistance == 1 && DrawPickup == 0 )
{
sprintf( Data2, "D: %.2f", Dist );
PrintText(Data2, (int)Screen.x, (int)Screen.y,Yellow, pFont);
}
else if( DrawPickup == 1 && DrawDistance == 1 )
{
sprintf( Data2, "Weapon D: %.2f", Dist );
PrintText(Data2, (int)Screen.x, (int)Screen.y,Yellow, pFont);
}
}
}
}
}
}
}
Code:
void NPCESP( int name, int distance, int boxes, LPDIRECT3DDEVICE9 pDevice )
{
if( name == 1 || distance == 1 || boxes == 1 )
{
CHAR CDistance[50];
cGameClientShell *pGameClientShell = *(cGameClientShell **)GCS;
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
GetPlayerByIndex = (lpGetPlayerByIndex)PlayerByIndex;
unsigned long ulThis = *(unsigned long *)ClientInfoMgr;
GetLocalPlayer = (lpGetLocalPlayer)LocalPlayer;
if( ValidPointer(SFXMgr) )
{
for ( int i = 0; i < SFXMgr->SFXList[SFX_CHARACTER].Num; i++ )
{
cCharacterFX2* NPC = (cCharacterFX2*)SFXMgr->SFXList[SFX_CHARACTER].List[i];
cPlayerInfo *pPlayer = GetPlayerByIndex(ulThis, i, 0);
cPlayerInfo *pLocal = GetLocalPlayer(ulThis);
if( ValidPointer( NPC ) && ValidPointer( NPC->Object ))
{
if( NPC->IsPlayer )
continue;
D3DXVECTOR3 Pos, Screen;
Pos = MyGetObjectMaxPos( (int*)NPC->Object );
if( WorldToScreen2( pDevice, Pos, &Screen))
{
if (name)
PrintText("NPC", Screen.x, Screen.y, Red, pFont);
if (distance)
{
sprintf(CDistance, "%0.0f M", GetDistance(pLocal->Object->Pos, NPC->Object->Pos));
PrintText2(CDistance, Screen.x, Screen.y + 33, Red, pFont);
}
if (boxes)
// isso e com voces !
}
}
}
}
}
}
Créditos