Page 1 of 1

Pointer & Offset

Posted: Thu Aug 06, 2009 8:26 pm
by Airron
Ok, bear with me since I'm new to pointers and offsets, and just started using Cheat Engine about 3 days ago. I followed through the tutorials but I still have a few questions. If anyone's willing take a few I'd appreciate it.

Ok, so I took a game and chose to look for HP (like the guide) by taking of gear and putting it back on and found:

Image

I right clicked and copied the address and added it manually to cheat engine:

Image

Then I right clicked on "Find out what access this address" and got this:

Image

Double clicked to get extra info:

Image

For here I got the probable pointer "0D966020" and offset which is "06" and I put the pointer in the value area to scan:

Image

And got the outcome:

Image

Now here's my problem, not static value, no green. Where do I go from here? I read that this mean that it's a double pointer but I get lost from here... any help?

Re: Pointer & Offset

Posted: Fri Aug 07, 2009 12:24 am
by Administrator
You started off wrong. Put the exact amount of HP you have in the Value box near the top of the CE window. Click First Scan. When HP changes, you change the value and use Next Scan. Ignore the window you were looking at in that first image. Pay attention to only the address list on the left side of the main CE window. When you've only got a hand full (or, even better, just 1) address, you can move one of them down to the bottom by selecting them and clicking the red arrow.

Re: Pointer & Offset

Posted: Fri Aug 07, 2009 9:40 pm
by Airron
Oh ok, so I was searching the wrong area. That makes sense now, I'll let you know how it goes from here.

Re: Pointer & Offset

Posted: Sat Aug 08, 2009 7:00 pm
by Airron
That was awesome, I was able to find the green static addy and even set an easy hp pot to a key to regain health when it hits a certain lvl. Though it wouldn't work when I used attach(), it would send the keystroke in the chat window but not use the the pot assigned to that number, but at least I figured that much out lol...

Ok, onto my next question (hopefully not many more) grabbing the hp information seemed easy (once you pointed out my mistake) because it was numbers. Now how do I search for monsters in a certain area near a character and selecting those monsters to attack. Thanks in advance.

Re: Pointer & Offset

Posted: Sat Aug 08, 2009 10:36 pm
by Administrator
That's way over your head at this point. It is vastly different for every game. There is no simple way to do it.

Re: Pointer & Offset

Posted: Sun Aug 09, 2009 10:26 am
by Airron
Really, I'd hate to think anything is over my head, all it takes is a few tries at something to get it right. If you know where a good tutorial on this let me know, I'm not beyond reading a few hundred pages.

Just as a side note I'm very experienced in PHP, SQL, and javascript so I have prior knowledge of coding, just never messed with Cheat Engine before, or pointers and offsets.

Re: Pointer & Offset

Posted: Sun Aug 09, 2009 12:27 pm
by Administrator
It will all come down to being able to find and understand the assembly instructions that the game uses to construct and access arrays/vectors/whatever of game objects, then be able to reliably re-create the entire list in another process. I suppose the "easier" solution might rely on injection or code caving to use the game's own functions to manage the list, and only extract information that is needed through another means.

Either way, it will be so very different for every program out there that there is no step-by-step solution. Most of the time, classes and/or functions for things like queues, maps, vectors, and linked lists are re-invented with every piece of software (though, I'm not entirely sure why some people insist on re-creating these things all the time).

Re: Pointer & Offset

Posted: Sun Aug 09, 2009 3:15 pm
by Rishijin
Airron wrote:Now how do I search for monsters in a certain area near a character and selecting those monsters to attack.

I don't actually know anything about this; but in theory, I think it goes something like this:


If you are playing an online game your received packets should contain the info for the mobs around you.
Your client will too, but like the Admin was saying; good luck with that.
To do it with packets you'll have to figure out how to discern the mob ID from the packet, and then figure out how you can send a filtered attack packet that defines only the coords of the mob you'd like to attack, and what mob it was, etc. You should let the client send any seemingly random information, otherwise you'll probably insta crash when you send the packet.


As for finding how to get the packet info for certain actions, etc; there are endless WPE tutorials about doing this.

Re: Pointer & Offset

Posted: Mon Aug 10, 2009 2:42 pm
by Airron
That all sounds greatly complicated but so did multi-dimensioal arrays, ternary operators, and recursion logic. All scary words at first but once you start writing them into your code you find they're extremely easy to understand. Any way I'll walk through my figuring out process and y'all can say "yay" or "nay" to my step.

I figured there were two steps to finding a monster in an area. One is hovering over the monster to get a response from CE and the second was clicking on the monster to get a response. I also looked for the number of monsters in attacking radius of the main character which was extremely easy to find.

Looking for hover:
All I was looking for was a true/false to hovering (0 or 1). So I started by search for the value of 0... Whoa! 1.5 billion found, whelp this will be fun. Then I hovered the monster and searched for 1's. Found 63, shew a little easier. Then I sat there watching the values change without me doing anything and removed those until I was down to 7. I hover the character an bamb, only one value changed, then I hovered the monster and another value changed to 1. So just to make sure I went to the mines and hovered of crystals (mine stuff) and the third value changed. So here I am with 3 different pointers to three different places.

I tested this over and over and it worked so it was time to find the static value monsters and I searched, and searched, and searched but didn't find the static value but now I know how to find the hovering so I saved that and started a new search, looking for clicks.

Looking for clicks:
Here I did a search for the name of the monster. I found 432, so I clicked another monster and hit next scan and bamb, only one value.... I looked for what accessed this address and found 2 values, one green. Wow that was easy to find the name. Now I need to code something that will take these values and use them.... hmmm.. that'll be coming next once I learn the code better....

Re: Pointer & Offset

Posted: Thu Aug 13, 2009 5:07 am
by Rishijin
Finding your mobs by having it move the mouse around until you hover over them would be a pretty ghetto way to make a bot.
Perhaps I am misunderstanding what you are trying to make?
Also, I am not sure how the address for the mob name AFTER you've clicked it would be helpful (other than checking against a list of attackable mobs, etc); so again, perhaps I don't know what you are trying to make.

Re: Pointer & Offset

Posted: Thu Aug 13, 2009 7:55 am
by Airron
Ghetto it may be but it is working, nicely I might add. Now I'm trying to figure out a way to only pick up certain items when they drop, which is proven to be a little more difficult.

But as I have said I'm new to this, I'm like a guy in the sewer with a burnt out flash light feeling my way through. I'll figure things out piece by piece since it seems some things may be over my head.

Re: Pointer & Offset

Posted: Thu Aug 13, 2009 4:43 pm
by Rishijin
Airron wrote:Ghetto it may be but it is working, nicely I might add. Now I'm trying to figure out a way to only pick up certain items when they drop, which is proven to be a little more difficult.

But as I have said I'm new to this, I'm like a guy in the sewer with a burnt out flash light feeling my way through. I'll figure things out piece by piece since it seems some things may be over my head.
Well if it works and you are happy with it, no extra work needed I suppose.


About picking up the items:

If you aren't going to use packets, you might need to run a full screen pixel scan and have certain patterns that it can identify with. The applications are MANY using something like this, including a much quicker way to find and attack mobs than the mouse hovering, but it is probably more work than what you are trying to do.

Re: Pointer & Offset

Posted: Thu Aug 13, 2009 7:09 pm
by Airron
I wanna get away from pixel scanning that's why I am working with CE and pointers and offsets. Actually I have making a list where I drop items on a field a pick them up getting their P&O's I also found that some of the monsters have the same pointers and I can get their HP/MP, lvl's, and other info. with different offsets.

Once I complete my list I'll set up some code that'll work with this info. either with micromacro, autoit, or autohotkey, once I figure out which one is easiest to use.

As a side note the pointers with the monsters also hold their coords on the map, so I'm working a way to get the window XY coords to work with the games XY coords and set the mouse to those locations to attack and/or pick up items.

Re: Pointer & Offset

Posted: Fri Aug 14, 2009 4:04 am
by Rishijin
What game are you working on, by the way?

Re: Pointer & Offset

Posted: Fri Aug 14, 2009 7:55 am
by Airron
I pm'ed you the game.