Wait, That is the address I have for HL. The address I have for Customer Rank EXP (Payment to Shop in my table) is Disgaea4pc.exe+8A8850.
Disgaea4pc.exe+A17137 should be Customer Rank itself, which should not be above 12.
Disgaea4pc.exe+A17138 should be Product Rank, which should not be above 12.
Disgaea4pc.exe+A17139 = Enemy Strength Level
To Bachou, check if Disgaea4pc+8A8848 (what I have listed as HL) is your HL address, if not, then something is different about our game versions and I guess you could try a different table to see if any work for you. Otherwise, if it is your HL address, try checking the byte size address of A17137, A17138.
(A17137-A17138 probably looks something like 02 02 in hex - 514 % 256 = 2 514 / 256 = 2. So 02 02.)
Check the values with the script on if you want, but also try turning off the script and looking at the Customer Rank EXP / HL Spent in Shops value. Buy a cheap item and see if the value is going up appropriately.
Check also if you are far above the required amount or if the value is negative (you'll need to calculate it out for that, I don't think CE shows signed values.)
You could try changing your Customer Rank Exp to be equal to your starting point for your current level (added a dropdown list)
You could try resetting your customer rank and HL Spent in Shops both to 0 and see if it works that way.
If that still doesn't work, I'll try to make a scanner script for it (I probably would have made one eventually anyways) and see if we can manage to use a scan to figure out what is going on. I'll also add a sort of sanity check to the multiplier script so that it will look sort of like below (you could try the below version if you want).
Code: Select all
{ Game : Disgaea4pc.exe
Author : anon-9
This script attempts to multiply the rate of Shop Rank gain
}
[ENABLE]
aobscanmodule(fShopRankMultiplier,Disgaea4pc.exe,48 01 15 9E DD 54 00) // should be unique
alloc(newmem,$1000,"Disgaea4pc.exe"+35AAAB)
label(code)
label(return)
newmem:
code:
cmp [Disgaea4pc.exe+8A8850],#9999999999
ja return
// Return without any changes if the Customer Rank Exp (Total HL used in shop purchases) is far above necessary value.
// This should help in preventing the number from becoming negative.
imul rdx,[varShopRankMult]
add [Disgaea4pc.exe+8A8850],rdx
cmp byte ptr [Disgaea4pc.exe+A17137],#12
jle return
// Return if the Customer Rank is 12 or less. Otherwise, make Customer Rank 0 in order to reset the customer rank so
// the game will be able to raise Customer Rank.
mov byte ptr [Disgaea4pc.exe+A17137],#0
mov byte ptr [Disgaea4pc.exe+A17138],#0
jmp return
fShopRankMultiplier:
jmp newmem
nop 2
return:
registersymbol(fShopRankMultiplier)
[DISABLE]
fShopRankMultiplier:
db 48 01 15 9E DD 54 00
unregistersymbol(fShopRankMultiplier)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Disgaea4pc.exe"+35AAAB
"Disgaea4pc.exe"+35AA82: 4C 0F AF C7 - imul r8,rdi
"Disgaea4pc.exe"+35AA86: 48 B8 0B D7 A3 70 3D 0A D7 A3 - mov rax,A3D70A3D70A3D70B
"Disgaea4pc.exe"+35AA90: 49 F7 E8 - imul r8
"Disgaea4pc.exe"+35AA93: 49 03 D0 - add rdx,r8
"Disgaea4pc.exe"+35AA96: 48 C1 FA 06 - sar rdx,06
"Disgaea4pc.exe"+35AA9A: 48 8B C2 - mov rax,rdx
"Disgaea4pc.exe"+35AA9D: 48 C1 E8 3F - shr rax,3F
"Disgaea4pc.exe"+35AAA1: 48 03 D0 - add rdx,rax
"Disgaea4pc.exe"+35AAA4: 48 85 D2 - test rdx,rdx
"Disgaea4pc.exe"+35AAA7: 49 0F 4E D5 - cmovle rdx,r13
// ---------- INJECTING HERE ----------
"Disgaea4pc.exe"+35AAAB: 48 01 15 9E DD 54 00 - add [Disgaea4pc.exe+8A8850],rdx
// ---------- DONE INJECTING ----------
"Disgaea4pc.exe"+35AAB2: 0F BF 15 1B C8 E3 01 - movsx edx,word ptr [Disgaea4pc.exe+21972D4]
"Disgaea4pc.exe"+35AAB9: 0F BF 05 18 C8 E3 01 - movsx eax,word ptr [Disgaea4pc.exe+21972D8]
"Disgaea4pc.exe"+35AAC0: 03 D0 - add edx,eax
"Disgaea4pc.exe"+35AAC2: B9 02 00 00 00 - mov ecx,00000002
"Disgaea4pc.exe"+35AAC7: E8 04 16 DD FF - call Disgaea4pc.exe+12C0D0
"Disgaea4pc.exe"+35AACC: 44 0F BF 0D 3E C6 6B 00 - movsx r9d,word ptr [Disgaea4pc.exe+A17112]
"Disgaea4pc.exe"+35AAD4: 44 0F BF 05 FC C7 E3 01 - movsx r8d,word ptr [Disgaea4pc.exe+21972D8]
"Disgaea4pc.exe"+35AADC: 0F BF 15 F1 C7 E3 01 - movsx edx,word ptr [Disgaea4pc.exe+21972D4]
"Disgaea4pc.exe"+35AAE3: 89 74 24 28 - mov [rsp+28],esi
"Disgaea4pc.exe"+35AAE7: 41 BF 07 00 00 00 - mov r15d,00000007
}
That would be why I specified Steam. I don't know what the xbox game pass version uses. Try changing the Disgaea4pc.exe part to whatever the executable name is for you. It may or may not work though depending on how different the versions are. You can probably find the exe name either by look near the top of your cheat engine window (should look something like 00000FFA - Disgaea4pc.exe (ignore the part before the - )) or looking at the properties to figure out the exe (or looking in the game folder might work too). Just make sure you backup your saves first.Darkedone02 wrote: ↑Sun Sep 13, 2020 2:20 amI can't open the scripts in the latest table update on the OP, get this error:
I have the xbox game pass version
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1