Pull hack mechanism questions

04/29/2009 18:48 zooberman#1
I was curious about the basic mechanism of the so called "pull hack." The basic idea is just that you're setting everyone else's X,Y,Z coordinate in front of you, right?

Are there 400 static memory locations for the coordinates for all of the possible enemies that your client tracks? Does the server-given list of enemies tracked by the client include the entirety of the continent you're on, or only within some smaller local area?

Finally, is it feasible to figure out the memory locations for the coordinates of a specific player by name?
05/07/2009 02:57 dragon89928#2
Planetside does some funky shit with their code. From my experience, it doesn't allocate memory for individual players. you could think of it as "flagging" an object in the server i.e. vehicle, person, terminal etc. So when you find the static pointer of the x,y,z, it applys to all players within about an SOI's (sphere of influence) distance of you. Which i believe is the draw distance as well.
05/07/2009 20:41 zooberman#3
Quote:
Originally Posted by dragon89928 View Post
Planetside does some funky shit with their code. From my experience, it doesn't allocate memory for individual players. you could think of it as "flagging" an object in the server i.e. vehicle, person, terminal etc. So when you find the static pointer of the x,y,z, it applys to all players within about an SOI's (sphere of influence) distance of you. Which i believe is the draw distance as well.
I see, that's really weird. I guess there's a separate memory location for players as opposed to vehicles (based on how the pull-hack appears on your youtube video, I've never actually made one).

Also very strange to me is the fact that the static memory location used for your own location is sometimes but not always the same one that it uses for vehicles. Basically, sometimes when you're in a vehicle you can teleport around using the same memory location, whereas other times you have to find a separate memory location [I haven't checked to see if there is some static pointer than I can always use yet, I'm still learning how all of these debugging tools work] distinct from your own position.