Recently, I've been trying to create a de-multiplier script for Dead Rising, but I just can't get it to work
I've tried tutorials, and I've also gotten help from a guy from Reddit, but it hasn't been working
I made a video where I go into further detail:
Any help would be appreciated
Re: Dead Rising EXP de-multiplier
Posted: Sat Feb 12, 2022 9:08 pm
by aSwedishMagyar
I see a pretty big problem which is you're doing an integer multiply with a float. You need to use the xmm registers to do float multiplication. Example below:
cvtsi2ss xmm0,ecx - convert integer exp value to single precision float mulss xmm0,[multiplier] - multiply exp value by your multiplier cvtss2si ecx,xmm0 - reconvert the float exp value back to an integer
Now that is taken care of, you need to determine how it is doing the addition. At the moment it is just moving into another address so you might have to inject a bit earlier when it hasn't added the total XP to it.
So I downloaded it to see what's going on:
See the: add edx,edi? The edi contains your added XP and edx contains your previous total (mov edx,[rbx+50] tells you that). That is where you should be modifying, otherwise you are just changing the total XP after the addition.
Re: Dead Rising EXP de-multiplier
Posted: Sat Feb 12, 2022 9:43 pm
by lukasthefemboy
Can you please tell me how to write out the script, cause I'm mega amateurish when it comes to CE? QAQ
Alternatively, if you hop in a Discord call with me, and help me write out a script that works correctly, I'll strait up gift you a 20 Euro Steam card next month, I swear on my afterlife
I see a pretty big problem which is you're doing an integer multiply with a float. You need to use the xmm registers to do float multiplication. Example below:
cvtsi2ss xmm0,ecx - convert integer exp value to single precision float mulss xmm0,[multiplier] - multiply exp value by your multiplier cvtss2si ecx,xmm0 - reconvert the float exp value back to an integer
Now that is taken care of, you need to determine how it is doing the addition. At the moment it is just moving into another address so you might have to inject a bit earlier when it hasn't added the total XP to it.
So I downloaded it to see what's going on:
See the: add edx,edi? The edi contains your added XP and edx contains your previous total (mov edx,[rbx+50] tells you that). That is where you should be modifying, otherwise you are just changing the total XP after the addition.
Okay, thank you very much! I got a DM from someone else, who's willing to help me in a Discord call, so I'll try to use this with his help to fix up the script <3