Posted: Thu Jan 05, 2012 1:48 am Post subject: [Help] Trainer, Values etc
Hello,
Ive been lurking the forums for some time now and couldnt find the help i needed so i registered and did this thread.
Cheat Engine has been my friend for quite some time now and has helped me alot with various games, I just love it. But there are some things that i find less enjoyable, and id like to see if im doing wrong or if thats the way it is.
Im talking about values that changes all the time, For instance
I tried making a Trainer för Dungeon Defenders (I dont like having to search the values over and over whenever ive restarted "Something") (Sometimes the values change and sometimes they dont...)
So i follow the common route to get to my values
Open Process
Enter Value (In this case the mana value "778455")
Hit New Scan
Found: (6 in this case)
Move them down so i can edit them (Finding out the one i want to edit.)
So this time the mana was adress "0950A640"
Restarted CC and DD, Followed same steps and this time the mana adress was "094AA640"
So when i made a trainer for Exp Gain, Mana Gain, Crystal Health everything worked just fine until i had restarted the game and CC. Is there something im missing here or?
So i followed the tutorial and everything went good up till Step 7, That was a pain. But i managed to complete the pointer step.
So i ran DD and found the Pointer address and what writes to it and that.
But when adding the pointer manually i stumble upon a problem that i cant quite figure out.
Extra info window says
>> 7855AF78 - mov eax, [esi+ecx*4-04]
The value of the pointer needed to find this address is probably [0950A6E0]
Cant quite figure it out on how to calculate the hex, The tutorial was a bit hard to understand when dealing with the complicated calculations..
example of a more complicated instruction:
[EAX*2+EDX+00000310] eax=4C and edx=00801234.
In this case EDX would be the value the pointer has, and EAX*2+00000310 the offset, so the offset you'd fill in
would be 2*4C+00000310=3A8. (this is all in hex, use cal.exe from windows in scientific mode to calculate)
The value of the pointer needed to find this address is probably ESI I guess.
To calculate the rest, it is simple math. You check the value of ECX and you multiply it with 4. After it is done, you deduct 4.
Also, don't forget that you are dealing with hex values here, so switch your calculator to hex numbers.
Alternatively, you can try the pointer scanner and it will scan for pointers automatically. It may take some time, but it will probably give useful results.
Where it says "the value of the address needed..... xxxxxxx" Thats the address im already searching. But it still changes everytime i restart my game..
The Pointer scan gives me 93k results, Redid the scan with the new address from restarting the game (Did this 3-4 times) And im down to 26k results.
(Not sure how the Pointer Scan helps me yet, But im learning! )
The address is almost always the same, Its always located in the 094xxxxx
Whenever i change the value i notice there is also 3 other addresses that changes to the same amount. But if you try changing any of them they revert back. Might be something? I dunno..
Im trying to dig deeper, But as im a rookie its not that easy, But i like the challenge
After some more searching i think i found something.
There is nothing that writes to that value, Only accesses it.
On the Access im getting 2 lines, One just keeps ticking and ticking even when the value doesn't change. So im guessing its not that one.
The other one changes accordingly.
mov [edi+exc*4-04],eax
is writing to the value (copy the value from eax to [edi+exc*4-04]).
As for the pointer scanner, if you have 26K results and they point to the right address. It's good or not? If they are not pointing to the right address, keep filtering until you have reliable results. Sooner or later, you will be left with reliable pointers which are pointing to the right address, or 0 results (which means it was not able to find a stable pointer).
My hint is to keep filtering until you have good pointers.
If you have found a stable pointer that you think it good, double-click on it and it will be added to your cheat table. _________________
If you have found the correct pointers, they should point to the address of the mana. If they are not pointing to the address of the mana, find the correct address (with manual searching and usual), then click on Pointer scanner -> Rescan memory, put in the correct address that you have found and CE will filter out the bad pointers which are pointing to the wrong address.
If you do it a few times, you should have some reliable pointers (or left with 0 results if you didn't find any).
If they are pointing to the right address, just add them to your table and you can change/freeze the value as usual. _________________
Might be me explaining poorly :p
Ill try to explain better
I start CE and the Game, Find the Mana address.
Restarting the game changes the address
I run the "Find out what access this address"
1 Line comes up instantly. This one counts upwards without me doing nothing.
If i drop/pickup 1 mana i get a new line.
It's because it is a multilevel pointer (which is Step 8 in the tutorial).
Some pointer pointing to a pointer which is pointing to another pointer which is pointing to a value. Something like this.
This is why you will have an easier job with the pointer scanner, because it will find multilevel pointers and you don't have to keep searching. _________________
Ok, I started a new Pointer Scan and this one is taking like forever. Atm it says it has found over 100m pointers. Maybe i did something wrong with the other scans. But i think i did everything the same.
Is there any setting before the point scan i should change?
How many Pointy pointers could i expect to break through before reaching the main address?
It is different for every game. It may be a level 3 pointer, it may be much longer (like level 10).
Sometimes if I have enough results, I just stop the pointer scan and work with what was found already. Not really a "safe" way to do so because I miss a lots of possible pointers, but it is usually enough for me. _________________
Ok, Thanks for all the help.
I think i have a long road ahead of me, hope ill be victorious at the end
Just one more question, To be sure. (So i wont end up failing completely)
When this pointer scan is done is should run the "Rescan memory..." Right?
And to make that work i need to make sure the pointer has moved ie restart the program, Correct?
If the address is changing just by restarting a level or something, you don't have to restart the whole program. But it doesn't hurt, to find more stable pointers that will work after you restart the game too. _________________
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