 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
E_R_A#@910 How do I cheat?
Reputation: 0
Joined: 07 Aug 2026 Posts: 2
|
Posted: Sat Aug 08, 2026 12:07 am Post subject: How to detect address change on a table record using AA scri |
|
|
Sorry for the newbie question, and for duplicate topic if there is already one.
I want to ask, how can i detect an address change on a table record using purely AA script if its possible ?
Let's say, i have an table record called Skill Points.
I binded its address using AA script and register for global use using registersymbol, then i defined a table record below this AA script with its address set to the label specified by registersymbol in the aforementioned AA script.
Then, at some point the address at Skill Points changes, either automatically or manually ( its address is dynamic by the way. )
I want to have the AA script immediately refresh and re-register the address whenever the address at Skill Points changes, so that the table record(s) below the AA script immediately reflect the address change on Skill Points.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 475
Joined: 09 May 2003 Posts: 25985 Location: The netherlands
|
Posted: Sat Aug 08, 2026 3:12 am Post subject: |
|
|
pointers sound like what you're referring to. Those change when the address changes
So use the AA script to allocate a pointer and register that symbol, and then use the hook to write the current address to that address.
then in your table you can refer to the registered address as the pointer. E.g tick pointer and fill in the name of the registered symbol. When the value changes, it updated the pointer
_________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 155
Joined: 06 Jul 2014 Posts: 4775
|
Posted: Sat Aug 08, 2026 12:13 pm Post subject: |
|
|
Are you copying the value itself or the address of the value?
If the instruction `mov [rsi+3C],eax` writes to the address you want, you should copy `rsi` into some 8-byte memory space that the script allocated, not eax. Add a new memory record to the cheat table, check the "pointer" checkbox, base address at the bottom is the name of the registered symbol (no square brackets around it), and the only offset is the offset the game uses to access the address you want (e.g. 3C in the previous example).
If that doesn't work, then maybe the game doesn't execute the injection point that often.
The assembly code you inject doesn't run on its own when you enable the script. That code gets executed when the game was suppose to execute the original code at the injection point. e.g. if the injection point is run when you press a button, you'll have to press that button to run your injected code when the script is enabled.
If you want your code to run more often, find a different injection point that's run more often. "Find out what instructions access this address" will give you more options to choose from- pick one that seems to run often and doesn't access other addresses (such instructions are often annoying to filter- see step 10 of the tutorial).
You don't even have to inject at the address you want. Any address in the same structure will do- just use the offset you want in the memory record. A pointer to the structure could also work- the pointer doesn't have to be static since you're using code injection to get it. Just be aware that the pointer might not be valid all the time.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
E_R_A#@910 How do I cheat?
Reputation: 0
Joined: 07 Aug 2026 Posts: 2
|
Posted: Sat Aug 08, 2026 4:02 pm Post subject: |
|
|
[quote="Dark Byte"] So use the AA script to allocate a pointer and register that symbol, and then use the hook to write the current address to that address. [/quote]
About that, can you guide on where to look in this forum ?
-------------------------------------------------------------------
[quote="ParkourPenguin"] Are you copying the value itself or the address of the value?
If the instruction `mov [rsi+3C],eax` writes to the address you want, you should copy `rsi` into some 8-byte memory space that the script allocated, not eax. Add a new memory record to the cheat table, check the "pointer" checkbox, base address at the bottom is the name of the registered symbol (no square brackets around it), and the only offset is the offset the game uses to access the address you want (e.g. 3C in the previous example).
If that doesn't work, then maybe the game doesn't execute the injection point that often.
The assembly code you inject doesn't run on its own when you enable the script. That code gets executed when the game was suppose to execute the original code at the injection point. e.g. if the injection point is run when you press a button, you'll have to press that button to run your injected code when the script is enabled.
If you want your code to run more often, find a different injection point that's run more often. "Find out what instructions access this address" will give you more options to choose from- pick one that seems to run often and doesn't access other addresses (such instructions are often annoying to filter- see step 10 of the tutorial).
You don't even have to inject at the address you want. Any address in the same structure will do- just use the offset you want in the memory record. A pointer to the structure could also work- the pointer doesn't have to be static since you're using code injection to get it. Just be aware that the pointer might not be valid all the time. [/quote]
Only the address as base using AA script, then table record(s) below the AA script is used for changing values.
I've attached the picture about what i'm talking about in this post.
The Addresses used as base ( highlighted in green on picture ) are changing whenever the game restarts.
| Description: |
|
| Filesize: |
227.44 KB |
| Viewed: |
403 Time(s) |

|
|
|
| Back to top |
|
 |
|
|
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
|
|