lostpassplease wrote: ↑
Thu Apr 18, 2019 1:26 pm
Sorry but devs delivered update again and so the table borked too, can you explain how do you get your pointers to change when switching stat tabs?
Yeah, sure. Just start a new game with more than 1 character (I usually do nobodies), press C on your character to view his stats.
Run around a bit, then search for their Athletics stat on CE as a Float, where the whole digits are the Athletics level and the decimal numbers are the currently gained XP (goes from 00 to 99). Change up the value till you get 1 address and add it to your table.
Repeat the same steps for a second character.
Now here's the tricky part. Select the first character and bring up his stats with C, then go to CE and right click the first character's address. Click 'Pointer Scan for this address'.
Just ok everything and save the pointer somewhere, it'll take a while but eventually you'll get a long list of pointers. Don't close the window there, just switch back to Kenshi for the time being.
Now, back in Kenshi, switch to the second character you found an address for and bring up their stat menu. Pause the game and back to CE, go to the pointer list that popped up with the previous scan, click the 'Pointer Scanner' tab, and then click 'Rescan memory'.
You'll get a pop-up that asks you for the new address, simply put the second address you searched for in CE and click okay, save wherever and wait until you get an even shorter pointer list than before.
Now, there are two ways to proceed. One of them is to keep repeating these steps with more characters until you get a very short pointer list, but I found that generally the easiest way to find the new version of the pointer I added is to sort the addresses in the list by their offset.
What do I mean by this? Well, essentially, pointers consist of a single memory address and a series of different offsets that essentially instruct the pointer on how to organize itself. When Kenshi updates, the offsets actually remain the same, but the starting memory address is the value that changes.
I've found that the offsets for the skill pointer are always 0, D0, 450 and 80 for Strength, and 0, D0, 450 and 94 for Athletics. All you have to do is sort the pointer list by its offsets (third one is most convenient) and find the one that has those offsets.
When you find it, double click it to add it to the Table, and then double click on its address to get the pointer information. Copy its memory address (The number that is written after the name of the process, i.e. Kenshix64+0172678A, what you want is 0172678A), go to the old pointer that is called 'Strength', double-click its address, and paste the new memory address into the old one.
The table should work after that.
It seems like a lot of steps but it really shouldn't take more than 10 minutes once you get used to it.