- I know there is a pointer based on what I'm selecting, so if I'm in the first character, it's 00, if I'm selecting the 3rd character it's 02 and so on. I know I can find the pointer (So this is not part of my question)
- I have also mapped the memory to find the values that I want to edit, as in, I found out that 1st character is at Address "X", 2nd character is at Address "X"+(offset * selected_pointer), so if the distance between each set of characters is 100, then 0, 100, 200, 300 and so on. It's easy math.
So what I want to do is to make a list that shows which character I'm selecting (by number), and fills up a bunch of other data with the offsets I would be making, so I can easily visualize the relevant data and change them.
So, it would be like this:
- Selected: 05 #Shows that 4th character on the list is selected
- - Name: 10 bytes string
- - Value1: 1 byte signed int value
- - Value2: 2 bytes int
And so on
I have seen some complex Tables that do it, but they are overall very complicated for me to understand.
Again, I can deal with the pointers, offsets and math.
What I do not know is how to properly use Cheatengine to deal with this. I know very basic stuff about Scripting, so treat me as not knowing anything relevant.
I do know it's possible to use variables, so when I'm making a pointer to one of the values, I could create it using "Base Address" then following the offsets. What I do not know is how to make these variables, I'm guessing I would need to make scripts, but how to I make them, and how do I make them interact with the table. If this question is confusing, that's because I am confused with the interaction between these two ways of writing code (I'm used to the table version)
-------------
I don't need a step by step guide on how to make it (it sure is welcome though), if I can understand the logic, limitations and interactions between the Tables and scripts I may be able to find the answer myself, it's more like I just need some guidance.
Edit:
Trying to make a script:
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(CAW_selected_address, 8)
registersymbol(CAW_selected_address)
CAW_selected_address:
dq Executable.exe+25E06A0
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
unregistersymbol(CAW_selected_address)
dealloc(CAW_selected_address)
The address that it turns into is not the right one (much less the value expected)
I'm aware the code is wrong, but I don't what are the possible commands, or even if my logic is wrong, I want "Executable.exe+25E06A0" to be the value of my variable so I can use it as the base address for other codes via table