#1: I am already planning a scriptable display feature to allow you to display data in the main address list in any way you please. However this will not be used to diaply the value in the Modify Address dialog box because it isn’t possible. If I let the user decide the value shown there then I have no way to decode it back to an actual byte value to assign to the stored address. For example, if you had a structure with 100 bytes of data in it, but your custom script is only showing one member, iHealth, as text string “Health: 3”, that value would be printed into the modify box. When you hit OK, I would have to magically turn “Health: 3” back into 100 bytes of structure information. So in the modification dialog things will still be hex arrays, but in the main list you can use scripts to display the value however you want.
#2:
I need it to offset twenty four spaces from the last value, in all 36 from the first value that I found, the change is because the makers of the game changed the player structure to that.
And now you know one of the biggest advantages of using the scripts to map structures in the game/extern variables to use those scripts to modify values in the game.
When the structures change in the game, all you have to do is map their changes and everything works again.
In previous times, structures were mapped by simply remembering the offsets to each value and using ReadProcessMemory() with the manually calculated offsets. Of course, when the structure changed, every offset after the change had to be adjusted to account for it. If a DWORD was inserted at the start of the structure, every single offset had to have 4 added to it.
With the scripts, all you would have to do is add the same DWORD value at the start of the structure, then recompile. All offsets are then fixed immediately and you can be on your way.
Unfortunately you haven’t given me enough information to help you with this problem, and you shouldn’t need help anyway.
I'll try to get a screen shot up shortly in case I was unclear.
That is a bit of an understatement.
What is supposed to be at offset 36? And how can it get there by offsetting this value 24 from the previous value?
It is currently at offset 16 in the structure. What, am I supposed to offset this
to 36?
Or am I supposed to change this so the next value is 36 bytes from the start of the structure?
And how can it be 24 bytes from the last value
and 36 bytes from the start, if the last value is at offset 16? Unless you mean the last value is
after bBuffer0x10, in which case the last value is at offset 48 already, and it still doesn’t work.
And why can’t you do it yourself?
BYTE = 1 byte.
WORD = 2 bytes.
DWORD = 4 bytes.
You already know that.
So how hard can it be to add all the offsets to get things to match the structure in the game?
L. Spiro