now when I did this, i searched for an attribute value
say
a dwarf's strength value
open a process by using window list (if your using dfhack, dfhack shows up as "dwarf fortress (somenumber)" don't choose the window with the number.
try using a dwarf's experience in a skill instead
and then when it increased by a number, I searched for the increased value
once I finally found a dwarf, then I was able to use
v0.34.11_graphics.ini
and it specified the exact difference between dwarf's
(I never figured out how to save cheat engine tables for use with DF
, i remember they changed when i fired up a new fort).
Another thing you could do is change a dwarf's squad id. I'll post some more when I figure some stuff out
You know, I think it's a counter... their probably isn't a value that stores actual xp... but when the counter reaches a point, the level goes up.
Yeah, it's a counter.
woohoo, found my old notes
Splinterz said
for memory locations you can't just save the address of an attribute, as when you start a program it will load into memory in (potentially) a different base address each time. you'll need to use the right click in dt and look at the memory dump, plug in the base address for the dwarf, and then the offsets to get to the attributes, each time you want to mess around with cheat engine.
Okay, getting somewhere
right click on the dwarf you want, copy address to clipboard, inside cheat engine click "add address manually" (bottom right) then choose text value type.
Voila, you just got the start of the dwarf's memory address layout (so you can now use the offsets defined in the .ini file, example 0x000 = name, or the starting position). The rest of the offsets can be found from the name starting address.
For example, fire up the windows calculator, copy and paste that value in that you copied from DT (make sure you have the calculator set to programmer and set it to hex mode), and add the offsets to find the other address... the first phys attr is strength. Found it, just set mine to 6000 (to see what happens, but it did have the correct 1st value). try changing the record offsets by 4 to get each new attribute. I'm not sure what the size of a dwarf's object is inside DT, but if you "recalculate new address" you can set the offset to ...
I tried to find the difference in dwarf's, but i was getting b08 (in hex) as the difference between dwarf's... or 2824 decimal address difference. So if you define all the values for one dwarf, you can cycle through them by changing the offset for all the address.
beyond that, i'm not sure how to use cheat enginge (although you can also use it to freeze your fortress' value, embark points, adventurer points!)