My Esp

Posts 115 of 70 · Page 1 of 5
My Esp
I want to release since I am getting bored of this game.
My esp is not great but some people don't have so here you go.
Features:
Code:
Boxes, Nametags, Distance, Lines, Warning
First of all Credits:
[highlight=c++]
Nubzgetkillz - Putting all of this together
Fatboy88 - Making this possible with classes <--Being Amazing Coder
GodHack2 - Resizing boxes code <-- Being Helpful Coder
Mahertamin - FindDistance Function and Support <--Beastly Cf coder
Gellin - Overall Good but helps aswell
Dumped files - Where I found the addies
OllyDBG - Making it possible to find addies
MattyPatty - Being my inspiration <-- HEHE
Kotentopf - Being there to help when i am annoying <--NICE HACK!
Solify - Idk He is why I started HaCkInG
Freedompeace - Helped me <-- Amazing Viet Coder *VIET PRIDE*
Mmbob - Idea for warning <-- Good coder Helps me when I ask
DrunkenCheetah - StructBuilder that Fatboy88 used? lol
Whit - A true nigga <-- His penis size!
EVERYONE ELSE!
[/highlight]

test ok? ok):

Code:
3781BD4C   . 38BA8000       DD 0080BA38
3781BD50   . 0C528337       DD CShell.3783520C
3781BD54   . C4248337       DD CShell.378324C4
3781BD58     B8237137       DD CShell.377123B8
3781BD5C     8C297137       DD CShell.3771298C                       ;  ASCII "ILocaleManager.Default"

3715E742  |. E8 69F6FFFF    CALL CShell.3715DDB0
3715E747  |. 85C0           TEST EAX,EAX
3715E749  |. 74 12          JE SHORT CShell.3715E75D
3715E74B  |. 8378 24 10     CMP DWORD PTR DS:[EAX+24],10
3715E74F  |. 72 06          JB SHORT CShell.3715E757
3715E751  |. 8B40 10        MOV EAX,DWORD PTR DS:[EAX+10]
3715E754  |. C2 0400        RETN 4
3715E757  |> 83C0 10        ADD EAX,10
3715E75A  |. C2 0400        RETN 4
3715E75D  |> B8 BC337137    MOV EAX,CShell.377133BC                  ;  ASCII "a player"

3715E770     8B41 08        MOV EAX,DWORD PTR DS:[ECX+8]
3715E773     6A 00          PUSH 0
3715E775     50             PUSH EAX
3715E776     E8 35F6FFFF    CALL CShell.3715DDB0
Lime: ClientInfoMgr
Cyan: GetPlayerByIndex
Red: GetLocalPlayer

Classes:
[highlight=c++]
class PointerTo;
class PlayerInfo;
class _Object;

class PointerTo
{
public:
char pad[4];
PlayerInfo * first;
__int32 index;

};

class PlayerInfo
{
public:
__int32 Unknown0; //0000
__int32 index; //0004
__int32 Unknown2; //0008
__int32 Unknown3; //000C
char Name[12]; //0010
char unknown5[12];
_Object* obj; //0028
char unknown7[68];
__int32 Team; //0x0070
__int32 idk; // xD
__int8 IsDead; //0078
//__int8 Health; //0x008C
char unknowna[3];
char unknown6[424];
char unknownb[20];
char unknown8[4];
char unknown9[36];
PlayerInfo* pPrev;
PlayerInfo* pNext;
};

class _Object
{
public:
char Pad[4];
D3DXVECTOR3 origin;
};
[/highlight]

Globals:
[highlight=c++]
int ScreenCenterX = GetSystemMetrics( 0 ) / 2-1;//Gets screen X resolution then cutting it in half to get the center.
int ScreenCenterY = GetSystemMetrics( 1 ) / 2-1;//Gets screen Y resolution then cutting it in half to get the center.
LPD3DXLINE g_pLine;

typedef PlayerInfo* (__thiscall *lpGetPlayerByIndex)(unsigned long ulThis,int index, int unk);
lpGetPlayerByIndex GetPlayerByIndex; //0x3715DD10

typedef PlayerInfo* (__thiscall *lpGetLocalPlayer)(unsigned long ulThis);
lpGetLocalPlayer GetLocalPlayer;
[/highlight]

Don't forget to add in your Endscene or Present or whatever you are hooking:

[highlight=c++]
if( !g_pLine )
D3DXCreateLine( pDevice, &g_pLine );
[/highlight]

Some Functions you will need:

FillRGB and DrawBorder(credits to whoever created those):
[highlight=c++]
void FillRGB( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice )
{
D3DRECT rec = { x, y, x + w, y + h };
pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
}

void DrawBorder( int x, int y, int w, int h, int px, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
{
FillRGB( x, (y + h - px), w, px, BorderColor, pDevice );
FillRGB( x, y, px, h, BorderColor, pDevice );
FillRGB( x, y, w, px, BorderColor, pDevice );
FillRGB( (x + w - px), y, px, h, BorderColor, pDevice );
}
[/highlight]

World2Screen(Credits to whoever create that):
[highlight=c++]
bool WorldToScreen(LPDIRECT3DDEVICE9 pDevice, PlayerInfo* pPlayer, D3DXVECTOR3* Pos)
{
D3DXVECTOR3 vWorld(pPlayer->obj->origin.x ,pPlayer->obj->origin.y, pPlayer->obj->origin.z);
D3DVIEWPORT9 viewPort = {0};
D3DXMATRIX projection, view, world;
pDevice->GetTransform(D3DTS_VIEW, &view);
pDevice->GetTransform(D3DTS_PROJECTION, &projection);
pDevice->GetTransform(D3DTS_WORLD, &world);
pDevice->GetViewport(&viewPort);
D3DXVec3Project(Pos, &vWorld, &viewPort, &projection, &view, &world);
if(Pos->z < 1)
{
return true;
}
return false;
}
[/highlight]
Add DrawPrim yourselves if you want.

DrawLine(Credits to whoever):
[highlight=c++]
//DrawLine(XPosStart,YPosStart,XPosFinish,YPosFinish ,Width,Color);
void DrawLine ( long Xa, long Ya, long Xb, long Yb, DWORD dwWidth, D3DCOLOR Color )
{
D3DXVECTOR2 vLine[ 2 ]; // Two points
g_pLine->SetAntialias( 0 ); // To smooth edges

g_pLine->SetWidth( dwWidth ); // Width of the line
g_pLine->Begin();

vLine[ 0 ][ 0 ] = Xa; // Set points into array
vLine[ 0 ][ 1 ] = Ya;
vLine[ 1 ][ 0 ] = Xb;
vLine[ 1 ][ 1 ] = Yb;

g_pLine->Draw( vLine, 2, Color ); // Draw with Line, number of lines, and color
g_pLine->End(); // finish
}
[/highlight]

FindDistance(Credits Mahertamin):
[highlight=c++]
float FindDistance(D3DXVECTOR3 my,D3DXVECTOR3 other,PlayerInfo* pPlayer,PlayerInfo* pLocal)
{
return sqrt((pLocal->obj->origin.x-pPlayer->obj->origin.x)*(pLocal->obj->origin.x-pPlayer->obj->origin.x) + (pLocal->obj->origin.y-pPlayer->obj->origin.y)*(pLocal->obj->origin.y-pPlayer->obj->origin.y) + (pLocal->obj->origin.z-pPlayer->obj->origin.z)*(pLocal->obj->origin.z-pPlayer->obj->origin.z));
}
[/highlight]
You may have to change stuff in there

Here is my Warning Esp(Not great but cool and simple):

[highlight=c++]
if( warning ){
GetPlayerByIndex = (lpGetPlayerByIndex)(0x3715DDB0);
unsigned long ulThis = *(unsigned long*)(0x3781B388);
GetLocalPlayer = (lpGetLocalPlayer)(0x3715E770);
for ( int i = 0; i < 16; i++ ){
PlayerInfo* pPlayer = GetPlayerByIndex( ulThis,i,0);
PlayerInfo* pLocal = GetLocalPlayer(ulThis);
if(pPlayer != 0 && pPlayer->obj != 0 && pPlayer->IsDead ==0){
D3DXVECTOR3 Position;
if(WorldToScreen(pDevice, pPlayer, &Position)){
if (pPlayer->Team != pLocal->Team){
if(warning) {
if((FindDistance(pLocal->obj->origin,pPlayer->obj->origin,pPlayer,pLocal)/100)<= 10) {
Directx.PrintText("SHIT IS ABOUT TO HIT THE FAN!",596,396,White,Directx.pFont2);
Directx.PrintText("GO KILL THAT BASTARD! HE IS CLOSE!",596,436,White,Directx.pFont2);
Directx.PrintText("SHIT IS ABOUT TO HIT THE FAN!",598,398,Black,Directx.pFont2);
Directx.PrintText("GO KILL THAT BASTARD! HE IS CLOSE!",598,438,Black,Directx.pFont2);
Directx.PrintText("SHIT IS ABOUT TO HIT THE FAN!",600,400,Red,Directx.pFont2);
Directx.PrintText("GO KILL THAT BASTARD! HE IS CLOSE!",600,440,Red,Directx.pFont2);
}
}
}
}
}
}
}
[/highlight]

Hehe change some stuff in there or it will pop up RED

ESP All of it in 1:

[highlight=c++]
if( esp ){
GetPlayerByIndex = (lpGetPlayerByIndex)(0x3715DDB0);
unsigned long ulThis = *(unsigned long*)(0x3781BD50);
GetLocalPlayer = (lpGetLocalPlayer)(0x3715E770);
char *szFormat = new char[ 256 ];
for ( int i = 0; i < 16; i++ ){
PlayerInfo* pPlayer = GetPlayerByIndex( ulThis,i,0);
PlayerInfo* pLocal = GetLocalPlayer(ulThis);
if(pPlayer != 0 && pPlayer->obj != 0 && pPlayer->IsDead ==0){
sprintf(szFormat,"%s",pPlayer->Name);
D3DXVECTOR3 xDistance = pPlayer->obj->origin - pLocal->obj->origin;
D3DXVECTOR3 MyDistance = pLocal->obj->origin - pPlayer->obj->origin;
float xaDistance = D3DXVec3Length(&xDistance );
float MyaDistance = D3DXVec3Length(&MyDistance );
D3DXVECTOR3 Position;
if(WorldToScreen(pDevice, pPlayer, &Position)){
if (pPlayer->Team != pLocal->Team){
// 0: (off)
// 1: Name only
// 2: Box only
// 3: Distance only
// 4: Name and Distance
// 5: Name and Box
// 6: Distance and Box
// 7: Line only
// 8: All
if(esp == 1 || esp == 4 || esp == 5 || esp == 8) {
Directx.PrintText(szFormat, Position.x, Position.y, Yellow, Directx.pFont);
}
if(esp == 2 || esp == 5 || esp == 6 || esp == 8) {
DrawBorder(Position.x-(10000/MyaDistance), Position.y- (35000/MyaDistance),50000/MyaDistance/6*2,50000/MyaDistance/3*2,2,Red,pDevice);
}
if(esp == 3 || esp == 4 || esp == 6 || esp == 8) {
Directx.DrawString(Position.x+1,Position.y+20,Cyan ,Directx.pFont,"D[%0.0f M]",((FindDistance(pLocal->obj->origin,pPlayer->obj->origin,pPlayer,pLocal))/100));
}
if(esp == 7 || esp == 8) {
DrawLine(ScreenCenterX,ScreenCenterY,Position.x,Po sition.y,1,Red);
}
}
}
}
}
}
[/highlight]

You may notice that The addies are different. I was just testing.

When you all add this to your bases post pics!
If I missed anything tell me!

Pictures of What this is(Before I addded lines and made warning 3d):
>>Picture 1<<
>>Picture 2<<

THANKS BYE!
Very Nice Should Help C&Per's
And other people
It looks nice.
Quote Originally Posted by CAFlames View Post
Thats a lovely c+p from gellins base.
What? I have used this before gellins base release.
Ask about 20 people on these forums...
Why you accusing me of doing something I didn't do.

I used 1 of his functions..
Rest is fatboy classes

Quote Originally Posted by kotentopf View Post

xD
Amazing Kotentopf Love you always improving
Quote Originally Posted by Nubzgetkillz View Post
What? I have used this before gellins base release.
Ask about 20 people on these forums...
Why you accusing me of doing something I didn't do.

I used 1 of his functions..
Rest is fatboy classes



Amazing Kotentopf Love you always improving
So ur sayin he copied u?
Quote Originally Posted by CAFlames View Post


So ur sayin he copied u?
W.T.F R u talking about dude (not to be mean) you kinda lost or wat ???
-
looks like you used gellin base & just edited it, why hate on him
----
any way great job Nubz
----
Quote Originally Posted by kotentopf View Post
oh see now
why u check "warning" twice?
Because I like it to check twice.
first check then second check

Quote Originally Posted by CAFlames View Post


So ur sayin he copied u?
No I am saying I have used this before he released his base which means I didn't "c+p" this from his base.
Quote Originally Posted by Nubzgetkillz View Post
Because I like it to check twice.
first check then second check
but the bool will not change as long u are draw ur esp xD
Quote Originally Posted by Nubzgetkillz View Post
Because I like it to check twice.
first check then second check



No I am saying I have used this before he released his base which means I didn't "c+p" this from his base.
Gotchya. Ill try this out and see if results are better than gellins.. [ when I fix my detour].

If I likey I will creditz you cuz u pro and u better den dem.
Quote Originally Posted by kotentopf View Post
but the bool will not change as long u are draw ur esp xD
I know. I get what you mean but who cares i left it haha.

if(warning) {
//dostuff
//checkteam
if(warning) {
}
}
Quote Originally Posted by Nubzgetkillz View Post
I know. I get what you mean but who cares i left it haha.

if(warning) {
//dostuff
//checkteam
if(warning) {
}
}
this are just useless letters
in 3 ms there will not much change..
Thats a lovely c+p from gellins base.
oh see now
why u check "warning" twice?
Code:
Whit - A true nigga <-- His penis size!
durrr wtf?
Posts 115 of 70 · Page 1 of 5
This thread is closed for replies.

Tags for this Thread

None

Need help?