Creating an external ESP with GDI+

_gresh_

Well-Known Member
Hey there. So, I am currently trying to make an .esp using AutoHotKey. Not using DX3D IN-GAME drawing method but by taking 3D co-ords (Me + Enemy) and converting them to 2D co-ords. I found a calculation for it, but it mentions panning (pitch, yaw) and I am having some trouble figuring out where to place that.

It mentions Pan.x, Pan.y, and Pan.z. Where should I insert it? If this works properly, I can use this as an external overlay with low detection risk.

Tried this one with BF3.



screen.x = x / z * zoom
screen.y = y / z * zoom

Here's where I found the calculation:
http://freespace.virgin.net/hugo.elias/routines/3d_to_2d.htm

x :=Round(PositionX- xD%ArrayCount%,2);MyPosition-EnemyPosition
y :=Round(PositionY- yD%ArrayCount%,2)
z :=Round(PositionZ- zD%ArrayCount%,2)

newx := x*cos(Yaw)- z*sin(Yaw)
newz := x*sin(Yaw)+ z*cos(Yaw)
newy := y*cos(Pitch)- newz*sin(Pitch)

xFinal := newx*cos(Pitch)- newy*sin(Pitch)
zFinal := newy*cos(Pitch)- newz*sin(Pitch)
yFinal := newx*sin(Yaw)+ newy*cos(Pitch)

if zFinal >0
{screenx%ArrayCount%:=Round((xFinal / zFinal)*CalcHorzFOV(40)+CentreX,2)
screeny%ArrayCount%:=Round((yFinal / zFinal)*40+CentreY,2)
tooltip %" yaw "Yaw" pitch "Pitch" x " x " y " y " z " z " NX " newx " NY " newy " NZ " newz " XF " xFinal " YF " yFinal " ZF " zFinal " SX " screenx1 " SY " screeny1 " W "WidthW" H "HeightH,0,0
gosub,OverlayUpdate3}
Is there any Source specific changes that need to be made beyond the obvious ones such as changing the window name? If anyone has any ideas - Give me a shout. Please/thanks

@SneekyNinja - i heard you may be into some coding, if you have a minute, maybe thought you could give her a peek? Feel free to tell me just fuck off. Cheers.
 

SneekyNinja

Well-Known Member
Hey there. So, I am currently trying to make an .esp using AutoHotKey. Not using DX3D IN-GAME drawing method but by taking 3D co-ords (Me + Enemy) and converting them to 2D co-ords. I found a calculation for it, but it mentions panning (pitch, yaw) and I am having some trouble figuring out where to place that.

It mentions Pan.x, Pan.y, and Pan.z. Where should I insert it? If this works properly, I can use this as an external overlay with low detection risk.

Tried this one with BF3.



screen.x = x / z * zoom
screen.y = y / z * zoom

Here's where I found the calculation:
http://freespace.virgin.net/hugo.elias/routines/3d_to_2d.htm



Is there any Source specific changes that need to be made beyond the obvious ones such as changing the window name? If anyone has any ideas - Give me a shout. Please/thanks

@SneekyNinja - i heard you may be into some coding, if you have a minute, maybe thought you could give her a peek? Feel free to tell me just fuck off. Cheers.
Is there any sort of vector class available or anything? Is it an auto aiming script or a zooming script...?

I haven't done many game hacks but a brief synopsis of what you want it to do will help.

I do have some methods for those sort of things, e.g. a "rotate to face target and converge", ballistic launch, etc scripts for another game I might be able to adapt.
 

_gresh_

Well-Known Member
Is there any sort of vector class available or anything? Is it an auto aiming script or a zooming script...?

I haven't done many game hacks but a brief synopsis of what you want it to do will help.

I do have some methods for those sort of things, e.g. a "rotate to face target and converge", ballistic launch, etc scripts for another game I might be able to adapt.
Alrighto, Thanks for the response. I'll put something together after my little one get's shipped off to her aunt's.
 
Top