| View previous topic :: View next topic |
| Author |
Message |
lylcheat Cheater
Reputation: 0
Joined: 14 Feb 2009 Posts: 27 Location: Planet 3 Solar System Orion Arm Spiral Galaxy Milky Way
|
Posted: Sun Mar 01, 2009 4:28 am Post subject: Finding the Player's Coordinates in FPS Game |
|
|
This is my first attempt to use CE on a real game (other than minesweeper and pinball), so please forgive me if the question sounds silly.
I am playing around with Counter strike 1.6 (because this is the only 3D game I have right now) and is trying to locate my position in the map by direct memory reading. My first guess is that I need to locate the memory addresses of 2 sets of information 1) the direction I am facing 2) my current (x,y,z) coordinate.
For 1), my first guess is that the game will store direction as some angle relative to some reference direction, this would normally a floating point value so I use float to search for changed/unchanged values while I turn my character facing different directions. However, I quickly get stuck at this point because the best attempt I could ever made is a few hundreds (somethimes > 1000) memory locations that change/unchange value with my turning.
Obvious most of this change in value are related to screen display change. But what else could I do to filter out those value related to screen display?
Are there anyone with similiar experience with Counter Strike or any other 3D games? What is your strategy in narrowing down the target memorys?
|
|
| Back to top |
|
 |
HalfPrime Grandmaster Cheater
Reputation: 0
Joined: 12 Mar 2008 Posts: 532 Location: Right there...On your monitor
|
Posted: Sun Mar 01, 2009 12:59 pm Post subject: |
|
|
To find your coords, start with Z since it's easiest to find. Go up and down stairs and search for increasing/decreasing. After you find Z, X and Y are normally stored right by it. Z-4 bytes would be X and z+4 bytes is Y.
direction is more tricky, though. Normally direction is stored as either 0-360 (degrees) or 0-2pi (radians) so if you just search increasing/decreasing, you won't know where it resets or which way it would increase/decrease. What you could do is just turn in less than a quarter turn (1-89 degrees) so it would be unlikely to reset since it would normally be 0 when you're facing down the x or y axis.
Also, when you get down to a few hundred, you can freeze them to see if you've got the right address then freeze half of them at a time and narrow it down.
_________________
|
|
| Back to top |
|
 |
lylcheat Cheater
Reputation: 0
Joined: 14 Feb 2009 Posts: 27 Location: Planet 3 Solar System Orion Arm Spiral Galaxy Milky Way
|
Posted: Mon Mar 02, 2009 12:55 am Post subject: |
|
|
| Just wondering exactly what CE would do when we freeze a memory? Would it keep writing the same value back into that frozen memory immediately when it is changed? If this is the case, would it be possible that we freeze a loop counter and causes an infinite loop or crash the game?
|
|
| Back to top |
|
 |
HalfPrime Grandmaster Cheater
Reputation: 0
Joined: 12 Mar 2008 Posts: 532 Location: Right there...On your monitor
|
Posted: Mon Mar 02, 2009 1:43 am Post subject: |
|
|
Every X milliseconds, CE will write the value to the address regardless of whether it's changed or not. You can change X in the CE options. IT doesn't technically freeze it, but onctinuously writes to it.And, yes, it can mess stuff up.
_________________
|
|
| Back to top |
|
 |
|