Hacking fixed stats

Anything Cheat Engine related, bugs, suggestions, helping others, etc..
Post Reply
daninthemix
Expert Cheater
Expert Cheater
Posts: 266
Joined: Tue Jul 18, 2017 6:31 pm
Reputation: 86

Hacking fixed stats

Post by daninthemix »

Bit of an obscure one this - I'm hacking King's Field (Sword of Moonlight). All the main stats (HP, Strength etc) use base addresses so not hard to find. What's interesting is if I try and set strength very high, it immediately jumps back, leading me to believe the game has some sort of fixed stats table - i.e. if you're level 44, your strength is always 201, for example. And sort of backing up my theory - if you set your EXP very high, you immediately jump to that relevant level. You don't even need to earn any more EXP. Therefore the game is constantly evaluating certain values.

I'm guessing the only way to get uber-high strength would be to somehow find and hack that stats table - perhaps in the EXE itself? I'm thinking that would be rather hard though. With the fixed stats table, and the fact that 50 is the level cap, it's not currently possible to be ultra-powered. Of course the other route is to try and code-inject some sort of OHK / uber damage but I'm not sure how to find enemy HP when they die so fast.

User avatar
Marc
Table Makers
Table Makers
Posts: 383
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 398

Re: Hacking fixed stats

Post by Marc »

If the values immediately switch back, there are three possibilities for this behaviour:

1. you simply found the display values (a.k.a the wrong addresses). So you change the displayed value and it gets overwritten by the real value. Common problem is: you find a 4-byte integer, but the real value is stored as float.
2. there are "current value" and "normal value". Quite common in role playing games. Most of the times, both values are next to each other in the memory browser
3. there are really some hard caps

Anyway, the solution is always the same: klick on the address and press f6. Change the value, than see what code is writing the old value back and take a look at this code.

Post Reply

Who is online

Users browsing this forum: No registered users