cooleko Grandmaster Cheater
Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Sun Jun 05, 2016 5:08 pm Post subject: |
|
|
I don't own Dark Souls, but in other games, I have found that spell casting typically has two elements: A float cool down timer (or last cast, count up timer) and a byte/4byte spell available for cast indicator.
In most games you can either make the timer instantly cap out, or always freeze the indicator to "available", either 0 or 1 depending on the game's implementation.
If speedhack works (or if you can pause the game) set speedhack to .1 (or just pause the game really fast after cast), and start searching for a float that increased, (unpause/pause) or just repeat the scan for float that increased. Repeat until you find a handful of values.
At his point I do two things, Add the remaining values to your list and find out what accesses each one of the values (This means we can hopefully find the instruction that sets the timer) and is especially useful when the counter is set in a new memory location immediately after it finishes "counting" the cooldown.
From here, you see which value effects your in game spell timer. Once you find which address of the tested ones works, you can get rid of the "find out what accesses this address" for all other addresses. This will leave you with one set of instructions.
From there, you just need to see if the instruction touches anything else (aka, enemy timers or other game timers), if not,m you can just make it set the timer to max/0 depending on what implementation you found. If so, you have to filter out the player's spells, which will require some site:cheatengine.org googling to figure out.
Alternatively, you can have your spell available for cast, search for 1, cast spell, and while on cooldown, keep searching for 0. Once available, search for 1, etc until you get your spell indicator. Try freezing it to 1, if it works then you can cast constantly. If it doesnt work, but shows the spell is available for cast, you can see what accesses the value, and try tracing the instruction and see where it is checked for consistency and edit that value!
Good luck!
|
|