 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Damaskox How do I cheat?
Reputation: 0
Joined: 26 Jun 2019 Posts: 3
|
Posted: Sun Aug 30, 2026 2:11 pm Post subject: Request: Dark Souls III - Additional Soul gain by Percentage |
|
|
Good day!
(next to no Cheat Engine usage skills here!)
I've been dreaming a few days so far about a cheat that would otherwise give the normal amount of souls upon an enemy defeat but in addition you'd get one percent extra based on your soul bank that you already have.
So if I had 1000 souls on me already and I'd kill something worth 20 more souls, I'd get 20+10=30 souls in total on top of that 1000.
Is such a thing achievable with Cheat Engine?
Also - would such a cheat work on both vanilla and a modded one (e.g. Convergence)?
Thanks in advance!
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 155
Joined: 06 Jul 2014 Posts: 4777
|
Posted: Mon Aug 31, 2026 12:12 pm Post subject: |
|
|
Yes, it's achievable, but requests aren't handled on these forums. Try a third party site if you don't want to do this yourself:
https://forum.cheatengine.org/thirdparty.php
Code injection would be the correct way of doing this. You can probably inject at the instruction that increases your souls when you kill an enemy. That's easy enough on its own, but if the instruction accesses more than that one address or is run more often than you'd like (e.g. when your souls decrease), you might need to do something weird like handle the shared code in step 10 of the tutorial or inject at a caller to the function that decreases your souls.
If it's simple, the code might look something like this if souls is a 4-byte value:
| Code: | [ENABLE]
...
alloc(newmem,2048)
alloc(soulsInterest,8)
newmem:
push eax
// NB: choose an unused xmm register
cvtsi2sd xmm3,dword ptr [rdi+3C]
mulsd xmm3,[soulsInterest]
cvttsd2si eax,xmm3
add ecx,eax
pop eax
// original code:
mov [rdi+3C],ecx
...
jmp return
soulsInterest:
dq (double)0.1
...
[DISABLE]
...
dealloc(soulsInterest)
dealloc(newmem)
... | Edit: fixed bug in the script. Instead of 1.1, add 0.1 of the original value to ecx
If you don't understand any of this, try completing the tutorial first (Help menu in main CE window). There's tons of guides going over it.
_________________
I don't know where I'm going, but I'll figure it out when I get there.
Last edited by ParkourPenguin on Tue Sep 01, 2026 6:16 pm; edited 1 time in total |
|
| Back to top |
|
 |
Damaskox How do I cheat?
Reputation: 0
Joined: 26 Jun 2019 Posts: 3
|
Posted: Tue Sep 01, 2026 1:53 pm Post subject: |
|
|
Oh! Good to know!
Thanks for the info - and for the code!
Got "Error in line 2 (...) : This instruction can't be compiled"
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 155
Joined: 06 Jul 2014 Posts: 4777
|
Posted: Tue Sep 01, 2026 6:18 pm Post subject: |
|
|
"..." is called an ellipsis. It's used as an intentional omission of something else- in this case, code.
I expected you to read that code I posted and try to learn from it so that you can use it in your situation. Specifically, find an injection point, generate a template there, and write code that does what you want.
Try going through the CE tutorial. There are plenty of video guides.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|