khanghy93 wrote: ↑Thu Oct 10, 2019 10:16 pm
Hi aanpsx! Sorry for the late answer. I had test the option like you suggest but it does not work at all. I had tried to set it up from 1000 and go up to some really high value like 999999, but it still not work for the Class exp gain. My game is the Steam version, i bought it when it go on sale. Once again thank you for your reply.
I took this from GrayWinter table that was posted.
So turn it on and go into battle to kill a few enemies. Then turn it off and go into battle to kill a enemy to see the result.
(Can be done in the same battle)
Copy and paste this into your cheat engine.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>30973</ID>
<Description>"Class Exp Gain [Use then turn off for effect]"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : disgaea5.exe
Version:
Date : 2018-10-23
Author : Kratos284
This script does blah blah blah
}
[ENABLE]
aobscanmodule(Class_Exp_AOB,disgaea5.exe,41 89 4D 00 3B 4A 04 0F 85 F4 00 00 00) // should be unique
alloc(newmem,$1000,Class_Exp_AOB)
label(code)
label(return)
alloc(Class_EXP_Multi,4)
registersymbol(Class_EXP_Multi)
Class_EXP_Multi:
dd 5
newmem:
imul ecx,[Class_EXP_Multi]
code:
mov [r13+00],ecx
cmp ecx,[rdx+04]
jl disgaea5.exe+15F71E// 15E98E 15E96E
jmp return
Class_Exp_AOB:
jmp newmem
nop
nop
nop
nop
nop
nop
nop
nop
return:
registersymbol(Class_Exp_AOB)
[DISABLE]
Class_Exp_AOB:
db 41 89 4D 00 3B 4A 04 0F 85 F4 00 00 00
unregistersymbol(Class_Exp_AOB)
dealloc(newmem)
unregistersymbol(Class_EXP_Multi)
dealloc(Class_EXP_Multi)
{
// ORIGINAL CODE - INJECTION POINT: "disgaea5.exe"+15E86D
"disgaea5.exe"+15E850: 4A 8D 0C 20 - lea rcx,[rax+r12]
"disgaea5.exe"+15E854: 48 3B F1 - cmp rsi,rcx
"disgaea5.exe"+15E857: 8B C6 - mov eax,esi
"disgaea5.exe"+15E859: 48 0F 4D C1 - cmovge rax,rcx
"disgaea5.exe"+15E85D: 48 85 C0 - test rax,rax
"disgaea5.exe"+15E860: 79 04 - jns disgaea5.exe+15E866
"disgaea5.exe"+15E862: 33 C9 - xor ecx,ecx
"disgaea5.exe"+15E864: EB 07 - jmp disgaea5.exe+15E86D
"disgaea5.exe"+15E866: 48 3B F1 - cmp rsi,rcx
"disgaea5.exe"+15E869: 48 0F 4C CE - cmovl rcx,rsi
// ---------- INJECTING HERE ----------
"disgaea5.exe"+15E86D: 41 89 4D 00 - mov [r13+00],ecx
"disgaea5.exe"+15E871: 3B 4A 04 - cmp ecx,[rdx+04]
"disgaea5.exe"+15E874: 0F 85 F4 00 00 00 - jne disgaea5.exe+15E96E
// ---------- DONE INJECTING ----------
"disgaea5.exe"+15E87A: 39 74 24 48 - cmp [rsp+48],esi
"disgaea5.exe"+15E87E: 73 58 - jae disgaea5.exe+15E8D8
"disgaea5.exe"+15E880: 0F B6 42 0A - movzx eax,byte ptr [rdx+0A]
"disgaea5.exe"+15E884: 66 01 83 9C 35 00 00 - add [rbx+0000359C],ax
"disgaea5.exe"+15E88B: 0F B6 42 0B - movzx eax,byte ptr [rdx+0B]
"disgaea5.exe"+15E88F: 66 01 83 9E 35 00 00 - add [rbx+0000359E],ax
"disgaea5.exe"+15E896: 0F B6 42 0C - movzx eax,byte ptr [rdx+0C]
"disgaea5.exe"+15E89A: 66 01 83 A0 35 00 00 - add [rbx+000035A0],ax
"disgaea5.exe"+15E8A1: 0F B6 42 0D - movzx eax,byte ptr [rdx+0D]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>39862</ID>
<Description>"Class EXP Multiplier"</Description>
<VariableType>4 Bytes</VariableType>
<Address>Class_EXP_Multi</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>