Hey buddy, back in Jan or Feb you had helped me fix this code snippet that implements the XP multiplier, and I was able to add this into all of the table updates that came out since then, it worked great for several game updates, but now with 1.3.0 it seems to be dead again. Would you be able to identify what needs to be changed? Here is the code:
Code: Select all
<CheatEntry>
<ID>24</ID>
<Description>"Modify Experience Gain"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{
Game : ACValhalla.exe
Version : 20DEC2020
Date : 2020-11-12
Author : aSwedishMagyar_topic14392
}
[ENABLE]
aobscanmodule(expGain,ACValhalla.exe,8B 93 B4 01 00 00 85 D2 74 6A)
registersymbol(expGain)
registersymbol(expMultVal)
alloc(newexpGain,100,expGain)
label(codeexpGain)
label(returnexpGain)
label(expMultVal)
// EDITED EXPERIENCE MULTIPLIER to allow for float variables instead of int
newexpGain:
fild [rbx+1B4]
fmul [expMultVal]
fistp [rbx+1B4]
codeexpGain:
mov edx,[rbx+000001B4]
jmp returnexpGain
expMultVal:
dd (float)1
expGain:
jmp newexpGain
nop
returnexpGain:
[DISABLE]
expGain:
db 8B 93 B4 01 00 00
unregistersymbol(expGain)
unregistersymbol(expMultVal)
dealloc(newexpGain)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+28AB3EC
ACValhalla.exe+28AB3AC: CC - int 3
ACValhalla.exe+28AB3AD: CC - int 3
ACValhalla.exe+28AB3AE: CC - int 3
ACValhalla.exe+28AB3AF: CC - int 3
ACValhalla.exe+28AB3B0: 48 85 C9 - test rcx,rcx
ACValhalla.exe+28AB3B3: 0F 84 B1 00 00 00 - je ACValhalla.exe+28AB46A
ACValhalla.exe+28AB3B9: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+28AB3BE: 57 - push rdi
ACValhalla.exe+28AB3BF: 48 83 EC 40 - sub rsp,40
ACValhalla.exe+28AB3C3: 48 8B 01 - mov rax,[rcx]
ACValhalla.exe+28AB3C6: 48 8B FA - mov rdi,rdx
ACValhalla.exe+28AB3C9: 48 8B D9 - mov rbx,rcx
ACValhalla.exe+28AB3CC: FF 50 38 - call qword ptr [rax+38]
ACValhalla.exe+28AB3CF: 48 8B 0D 02 CB F0 02 - mov rcx,[ACValhalla.exe+57B7ED8]
ACValhalla.exe+28AB3D6: 44 0F B7 41 54 - movzx r8d,word ptr [rcx+54]
ACValhalla.exe+28AB3DB: 66 44 39 40 54 - cmp [rax+54],r8w
ACValhalla.exe+28AB3E0: 72 7E - jb ACValhalla.exe+28AB460
ACValhalla.exe+28AB3E2: 0F B7 51 56 - movzx edx,word ptr [rcx+56]
ACValhalla.exe+28AB3E6: 66 39 50 56 - cmp [rax+56],dx
ACValhalla.exe+28AB3EA: 77 74 - ja ACValhalla.exe+28AB460
// ---------- INJECTING HERE ----------
ACValhalla.exe+28AB3EC: 8B 93 B4 01 00 00 - mov edx,[rbx+000001B4]
// ---------- DONE INJECTING ----------
ACValhalla.exe+28AB3F2: 85 D2 - test edx,edx
ACValhalla.exe+28AB3F4: 74 6A - je ACValhalla.exe+28AB460
ACValhalla.exe+28AB3F6: 48 8B 47 10 - mov rax,[rdi+10]
ACValhalla.exe+28AB3FA: 48 8B 48 08 - mov rcx,[rax+08]
ACValhalla.exe+28AB3FE: 48 C1 E1 20 - shl rcx,20
ACValhalla.exe+28AB402: 48 C1 F9 3F - sar rcx,3F
ACValhalla.exe+28AB406: 48 23 08 - and rcx,[rax]
ACValhalla.exe+28AB409: 74 10 - je ACValhalla.exe+28AB41B
ACValhalla.exe+28AB40B: E8 E0 97 EE FD - call ACValhalla.exe+794BF0
ACValhalla.exe+28AB410: 8B 93 B4 01 00 00 - mov edx,[rbx+000001B4]
ACValhalla.exe+28AB416: 4C 8B D8 - mov r11,rax
ACValhalla.exe+28AB419: EB 04 - jmp ACValhalla.exe+28AB41F
ACValhalla.exe+28AB41B: 4C 8B 5F 50 - mov r11,[rdi+50]
ACValhalla.exe+28AB41F: 8B 47 58 - mov eax,[rdi+58]
ACValhalla.exe+28AB422: 4C 8D 93 B0 01 00 00 - lea r10,[rbx+000001B0]
ACValhalla.exe+28AB429: 48 8B 0D D0 91 6D 03 - mov rcx,[ACValhalla.exe+5F84600]
ACValhalla.exe+28AB430: 4C 8D 4F 08 - lea r9,[rdi+08]
ACValhalla.exe+28AB434: 44 8B 83 B8 01 00 00 - mov r8d,[rbx+000001B8]
ACValhalla.exe+28AB43B: 48 81 C1 E0 01 00 00 - add rcx,000001E0
ACValhalla.exe+28AB442: 89 44 24 38 - mov [rsp+38],eax
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>23</ID>
<Description>"Multiplier"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>expMultVal</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
Your help is always very much appreciated!