Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Tricky address of X,Y coords

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Fri Jan 17, 2014 8:44 pm    Post subject: Tricky address of X,Y coords Reply with quote

Hey,

I found very tricky address to found - lets say the value range for it is from -15 to 15.

Those values are visible on screen in a corner (ie "-10, 5, Zakraland")

I used search for all data types I could and still correct address couldn't be found.

The most interesting part I found out is fact that number seems to be splitted into separate addresses (I don't know if it's possible or maybe a kind of game security(?)or just I'm making something wrong).

Let's say I search for 12 (X coord) where I am at.

I use 2 byte search for 0C - found 40x addresses
Next I move left (coord changes to 11) - search for 0B - found 8 addresses

And now when I move again left and search for 0A (10) there are no results.

The previous value 11 is changing to 00 instead of 10 (0A).

It looks like each character of this number has own address...
Ie. for X cord = 10 I have followwing addresses:

address1.value = 1
address2.value = 0

when I move on X cord = -11 (yes minus)

address1.value = -
address2.value = 1

and I have to search address3 for 1 (a1 = "-" a2 = "1" a3 = "1") now...

Is there any method to find number not string? - I've used all types (Byte, 2 Bytes, 4 Bytes) and always it was pointing me to the strings...
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Fri Jan 17, 2014 9:08 pm    Post subject: Reply with quote

Coordinates are usually stored as float type. The value can be negative (-) or positive (+), depending on your location in the game. I would search for float type, unknown initial value, then search increased/decreased, depending.
Back to top
View user's profile Send private message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Sat Jan 18, 2014 6:31 am    Post subject: Reply with quote

Hi Methos,

Thanks for your reply - I've checked once again on my side and it seems I found some addresses that only changes when I change X coord.

What I don't understand is an offset of change (it isn't static value) - sometimes values changes by totals - sometimes by decimals units only.

This is my example (i found 4 Float addresses) - I start with 1,0 coord, move by one map to right side (+).

a1(1,0)=-1.424361984E10
a1(2,0)=-147059088
a1(3,0)=-1771491.125
a1(4,0)=-18463.54883
a1(5,0)=-200.2464752
a1(6,0)=-2.003851175

a2(1,0)=-1.384584269E38
a2(2,0)=-1.362776622E38
a2(3,0)=-1.341488205E38
a2(4,0)=-1.319680559E38
a2(5,0)=-1.297872912E38
a2(6,0)=-1.276065265E38

a3(1,0)=-2.091637262E33
a3(2,0)=-1.787401118E33
a3(3,0)=-1.493306179E33
a3(4,0)=-1.243572125E33
a3(5,0)=-1.091454053E33
a3(6,0)=-9.393359808E32

a4(1,0)=5.778604984
a4(2,0)=5.787149906
a4(3,0)=5.795491219
a4(4,0)=5.80403614
a4(5,0)=5.812581062
a4(6,0)=5.821125984

Only addresses a2 and a4 making any sense to me but how I get the X coord value from them?

Regards,
xr
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Jan 18, 2014 10:50 am    Post subject: Reply with quote

While in game, search for float type (unknown initial value). Now, move your character a few steps north (or screen north). Now, search for increased value. Move north again, and search for increased value. Now, move south and search for decreased value. Keep doing that until the addresses stop filtering out and you can no longer remove any more after each scan. (note: if this doesn't work, move your character south, and search for increased value; i.e. do the opposite as above)

Now, add all of the addresses to your table. If there are only a few, start altering them, one-by-one, by increasing their value by 5. If there are a lot of addresses, alter them in groups of 10 or so...whatever you feel comfortable with.

You will know if you are on the right track if/when you alter an address and you see your character teleport in the game.

Once you have found an address that you are satisfied with, make two copies of it and alter the last number by 4 until you have found the remaining two coordinates. Test them to be sure.

Tip: for teleportation scripts, it is always good to perform additional tests to ensure that you are actually able to teleport through objects (as opposed to getting caught on them and stopping...and not reaching your destination). If you can not teleport through objects, then you need to use a different set of coordinate addresses because the coordinate set that you are using will not be ideal for teleportation.
Back to top
View user's profile Send private message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Sat Jan 18, 2014 11:11 am    Post subject: Reply with quote

Ok, it seems you are confused be me so I will explain what the game is.

The game is a 2D FLASH game running in window - so it's desktop game with own running exe.

Worlds map is divided into single maps (100 x 100 maps - each of it has own coordinate like 2d array)

0,0 is at the center of world map.

To move from map to another map you have to mouse click on edge of current map and new map will loaded and coordinate is changed.

My previous post is still valid - I found 4 addreses that might indicate X coord but none of them show EXACT value.

There is no Y dimension this is simple 2d game and map coord changing only when i change map (flash reloads).
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Jan 18, 2014 11:21 am    Post subject: Reply with quote

xrtwo wrote:
The game is a 2D FLASH game running in window - so it's desktop game with own running exe.
-Okay.

xrtwo wrote:
Worlds map is divided into single maps (100 x 100 maps - each of it has own coordinate like 2d array)
-Not sure what you mean, but the game has to keep track of your location somehow...whether it's actual location or map location etc., there should be an instruction that handles that value. By finding one of the values on one of the maps, we should be able to find the instruction that alters that value on every map. If a different instruction handles that value for each and every map, then you will have to find each instruction for every map.

xrtwo wrote:
0,0 is at the center of world map.
-How do you know that? The value in the corner of your screen may not indicate your actual coordinates - which is why I proposed the steps that I did.

xrtwo wrote:
To move from map to another map you have to mouse click on edge of current map and new map will load and coordinate is changed.
-If I had to guess, the coordinates are screen-relative. So, regardless of which map you are on, the value that puts your character at the north-east edge of the screen will be the same for each map. But, that is just a guess.

xrtwo wrote:
My previous post is still valid - I found 4 addreses that might indicate X coord but none of them show EXACT value.
-This statement does not make sense to me. EXACT to what? The value displayed on your screen?...don't use that value. If you're not sure if the value is the correct one, test it...simple as that.

xrtwo wrote:
There is no Y dimension this is simple 2d game and map coord changing only when i change map (flash reloads).
-Doesn't matter...rules still apply.
Back to top
View user's profile Send private message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Sat Jan 18, 2014 11:53 am    Post subject: Reply with quote

++METHOS wrote:


xrtwo wrote:
Worlds map is divided into single maps (100 x 100 maps - each of it has own coordinate like 2d array)
-Not sure what you mean, but the game has to keep track of your location somehow...whether it's actual location or map location etc., there should be an instruction that handles that value. By finding one of the values on one of the maps, we should be able to find the instruction that alters that value on every map. If a different instruction handles that value for each and every map, then you will have to find each instruction for every map.

Today i found out that each map of the game world have own id - here is the sample logic for 5x5 world:

Code:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

When im standing at mapid 13 the coord displayed on screen is 0,0
When i move one map right to 14 the coord is 1,0 etc.
What I need is coord numbers not mapid number which is actually easy to find.

++METHOS wrote:

xrtwo wrote:
To move from map to another map you have to mouse click on edge of current map and new map will load and coordinate is changed.
-If I had to guess, the coordinates are screen-relative. So, regardless of which map you are on, the value that puts your character at the north-east edge of the screen will be the same for each map. But, that is just a guess.

Point for you again I found out also cellid on each map which are the same on each map startiwng with 0 in top left corner of the screen - but I'm not looking for position of my character on current map. I'm looking for position of me on world's map.


++METHOS wrote:

xrtwo wrote:
My previous post is still valid - I found 4 addreses that might indicate X coord but none of them show EXACT value.
-This statement does not make sense to me. EXACT to what? The value displayed on your screen?...don't use that value. If you're not sure if the value is the correct one, test it...simple as that.

Does it mean I can't get address of value that is displayed onscreen? Maybe it's calculated somehow based on mapid, have no idea.

Ie. mapid for [x,y]:
[0,0] = 88212247
[1,0] = 88080663
[2,0] = 88081175
[2,1] = 88081174
[2,3] = 88081173
[2,4] = 88081172

So it seems map id's are incremented by rows not by columns.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Jan 18, 2014 12:07 pm    Post subject: Reply with quote

Without looking myself, I couldn't say. However, if the sub-maps are identified, as you say, according to a world map, then it's very possible that the character coordinates are identified at each sub map, and not associated with the world map.

I assume you are wanting to jump, for example, from one sub-map to another (e.g. from sub-map 5 to sub-map 15)?

Is the game easily downloadable?
Back to top
View user's profile Send private message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Sat Jan 18, 2014 12:12 pm    Post subject: Reply with quote

No, just want to read this address of coords to be sure if I can perform task I have programmed.
Read only no manipulating/editing - it's client-server game called Dofus creating an acc is 5 min Razz
Installer is small but it takes a while to download a client:
dofus com/en/mmorpg-free/download
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Jan 18, 2014 12:37 pm    Post subject: Reply with quote

xrtwo wrote:
it's client-server game called Dofus creating an acc is 5 min Razz
Installer is small but it takes a while to download a client:
dofus com/en/mmorpg-free/download
-Sorry, I assumed it was a single-player game.

xrtwo wrote:
No, just want to read this address of coords to be sure if I can perform task I have programmed.
-Well, I'm not sure what it is that you are trying to accomplish, but as previously mentioned, the data that you seek may or may not be handled in the way that you are hoping...making it much more difficult to accomplish. But, without knowing much, I can not say for sure.
Back to top
View user's profile Send private message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Sat Jan 18, 2014 6:19 pm    Post subject: Reply with quote

Are you going to give a try? In theory it should be easy to get it but I can't figure it out...

Any help will be appreciated - if I get something extra i will bump this topic.
Back to top
View user's profile Send private message
xrtwo
Newbie cheater
Reputation: 0

Joined: 24 Dec 2013
Posts: 14

PostPosted: Mon Jan 27, 2014 4:12 pm    Post subject: Reply with quote

Hi,

I'm one step closer:

I was able to find 4bytes value - when I change it's type to String it gives me what I need (string with position).

ie. 741551153 gives me -5,10 when I change Type to String

My question is: How I can achive it in C#? I already have 4byte number - I just want to convert it to string.

__________________________________________________

I found the answer here:

viewtopic.php?p=5215350

You can close the topic Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites