Hey guys, I've fixed the script for "Unlimited Prepared Spells" for Game v4.1.1.3905231, enjoy~ (just copy paste the code directly into the cheat engine window)
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>4982</ID>
<Description>"Unlimited Prepared Spells (just keep selecting more, ignore slots)"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Baldur's Gate 3 (2560x1440) - (DX11) - (6 + 6 WT)
Version:
Date : 2023-11-07
Author : YS
This script does blah blah blah
}
[ENABLE]
aobscanmodule(prepareSpells,$process,7C 6B 48 8B 44 24 20) // should be unique
prepareSpells:
db EB
registersymbol(prepareSpells)
aobscanmodule(prepareSpells2,$process,0F 8E 2A 02 00 00 8D) // should be unique
prepareSpells2:
db EB 04
registersymbol(prepareSpells2)
[DISABLE]
prepareSpells:
db 7C
unregistersymbol(prepareSpells)
prepareSpells2:
db 0F 8E
unregistersymbol(prepareSpells2)
{
// ORIGINAL CODE - INJECTION POINT: bg3_dx11.exe+2A8F35F
bg3_dx11.exe+2A8F339: 49 8B 80 80 00 00 00 - mov rax,[r8+00000080]
bg3_dx11.exe+2A8F340: 48 8D 14 88 - lea rdx,[rax+rcx*4]
bg3_dx11.exe+2A8F344: 0F 57 C0 - xorps xmm0,xmm0
bg3_dx11.exe+2A8F347: 0F 11 45 50 - movups [rbp+50],xmm0
bg3_dx11.exe+2A8F34B: 48 89 55 50 - mov [rbp+50],rdx
bg3_dx11.exe+2A8F34F: 44 8B 3A - mov r15d,[rdx]
bg3_dx11.exe+2A8F352: EB 80 - jmp bg3_dx11.exe+2A8F2D4
bg3_dx11.exe+2A8F354: 41 8B C6 - mov eax,r14d
bg3_dx11.exe+2A8F357: 4C 8B 64 24 30 - mov r12,[rsp+30]
bg3_dx11.exe+2A8F35C: 41 3B C7 - cmp eax,r15d
// ---------- INJECTING HERE ----------
bg3_dx11.exe+2A8F35F: 7C 6B - jl bg3_dx11.exe+2A8F3CC
// ---------- DONE INJECTING ----------
bg3_dx11.exe+2A8F361: 48 8B 44 24 20 - mov rax,[rsp+20]
bg3_dx11.exe+2A8F366: 8B 80 3C 01 00 00 - mov eax,[rax+0000013C]
bg3_dx11.exe+2A8F36C: A9 00 00 FF FF - test eax,FFFF0000
bg3_dx11.exe+2A8F371: 66 41 0F 45 C6 - cmovne ax,r14w
bg3_dx11.exe+2A8F376: 66 89 44 24 2A - mov [rsp+2A],ax
bg3_dx11.exe+2A8F37B: 49 8B 9C 24 A8 00 00 00 - mov rbx,[r12+000000A8]
bg3_dx11.exe+2A8F383: 48 85 DB - test rbx,rbx
bg3_dx11.exe+2A8F386: 0F 84 7F 01 00 00 - je bg3_dx11.exe+2A8F50B
bg3_dx11.exe+2A8F38C: 49 63 84 24 B4 00 00 00 - movsxd rax,dword ptr [r12+000000B4]
bg3_dx11.exe+2A8F394: 48 8D 0C C0 - lea rcx,[rax+rax*8]
}
{
// ORIGINAL CODE - INJECTION POINT: bg3_dx11.exe+235F45B
bg3_dx11.exe+235F432: 0F 57 C0 - xorps xmm0,xmm0
bg3_dx11.exe+235F435: 0F 11 85 80 03 00 00 - movups [rbp+00000380],xmm0
bg3_dx11.exe+235F43C: EB 14 - jmp bg3_dx11.exe+235F452
bg3_dx11.exe+235F43E: 48 8B 00 - mov rax,[rax]
bg3_dx11.exe+235F441: 0F 57 C0 - xorps xmm0,xmm0
bg3_dx11.exe+235F444: 0F 11 85 A0 03 00 00 - movups [rbp+000003A0],xmm0
bg3_dx11.exe+235F44B: 48 89 85 A0 03 00 00 - mov [rbp+000003A0],rax
bg3_dx11.exe+235F452: 4C 89 64 24 38 - mov [rsp+38],r12
bg3_dx11.exe+235F457: 8B 00 - mov eax,[rax]
bg3_dx11.exe+235F459: 3B C3 - cmp eax,ebx
// ---------- INJECTING HERE ----------
bg3_dx11.exe+235F45B: 0F 8E 2A 02 00 00 - jng bg3_dx11.exe+235F68B
// ---------- DONE INJECTING ----------
bg3_dx11.exe+235F461: 8D 43 01 - lea eax,[rbx+01]
bg3_dx11.exe+235F464: 89 85 80 03 00 00 - mov [rbp+00000380],eax
bg3_dx11.exe+235F46A: 4C 8D 85 80 03 00 00 - lea r8,[rbp+00000380]
bg3_dx11.exe+235F471: 48 8D 55 98 - lea rdx,[rbp-68]
bg3_dx11.exe+235F475: 48 8D 8D E1 00 00 00 - lea rcx,[rbp+000000E1]
bg3_dx11.exe+235F47C: E8 1F 3F 00 00 - call bg3_dx11.exe+23633A0
bg3_dx11.exe+235F481: 48 8B 4D 88 - mov rcx,[rbp-78]
bg3_dx11.exe+235F485: 0F B6 5C 24 30 - movzx ebx,byte ptr [rsp+30]
bg3_dx11.exe+235F48A: 83 79 44 FF - cmp dword ptr [rcx+44],-01
bg3_dx11.exe+235F48E: 0F 85 B9 00 00 00 - jne bg3_dx11.exe+235F54D
}
{
// ORIGINAL CODE - INJECTION POINT: bg3_dx11.exe+DA5FC1
bg3_dx11.exe+DA5F9F: EB 9C - jmp bg3_dx11.exe+DA5F3D
bg3_dx11.exe+DA5FA1: 48 8B 83 80 00 00 00 - mov rax,[rbx+00000080]
bg3_dx11.exe+DA5FA8: 0F 57 C0 - xorps xmm0,xmm0
bg3_dx11.exe+DA5FAB: 48 8D 14 B0 - lea rdx,[rax+rsi*4]
bg3_dx11.exe+DA5FAF: 0F 11 45 40 - movups [rbp+40],xmm0
bg3_dx11.exe+DA5FB3: 48 89 55 40 - mov [rbp+40],rdx
bg3_dx11.exe+DA5FB7: 44 8B 32 - mov r14d,[rdx]
bg3_dx11.exe+DA5FBA: EB 81 - jmp bg3_dx11.exe+DA5F3D
bg3_dx11.exe+DA5FBC: 33 C0 - xor eax,eax
bg3_dx11.exe+DA5FBE: 41 3B C6 - cmp eax,r14d
// ---------- INJECTING HERE ----------
bg3_dx11.exe+DA5FC1: 7C 56 - jl bg3_dx11.exe+DA6019
// ---------- DONE INJECTING ----------
bg3_dx11.exe+DA5FC3: 48 8B 4C 24 28 - mov rcx,[rsp+28]
bg3_dx11.exe+DA5FC8: B2 01 - mov dl,01
bg3_dx11.exe+DA5FCA: E8 11 E9 B2 FF - call bg3_dx11.exe+8D48E0
bg3_dx11.exe+DA5FCF: 49 8B 9D A8 00 00 00 - mov rbx,[r13+000000A8]
bg3_dx11.exe+DA5FD6: 66 89 44 24 22 - mov [rsp+22],ax
bg3_dx11.exe+DA5FDB: 48 85 DB - test rbx,rbx
bg3_dx11.exe+DA5FDE: 74 66 - je bg3_dx11.exe+DA6046
bg3_dx11.exe+DA5FE0: 49 63 85 B4 00 00 00 - movsxd rax,dword ptr [r13+000000B4]
bg3_dx11.exe+DA5FE7: 48 8D 0C C0 - lea rcx,[rax+rax*8]
bg3_dx11.exe+DA5FEB: 48 8D 34 CB - lea rsi,[rbx+rcx*8]
}
{
// ORIGINAL CODE - INJECTION POINT: bg3_dx11.exe+164DF64
bg3_dx11.exe+164DF37: 0F 11 85 70 02 00 00 - movups [rbp+00000270],xmm0
bg3_dx11.exe+164DF3E: 48 89 85 70 02 00 00 - mov [rbp+00000270],rax
bg3_dx11.exe+164DF45: EB 14 - jmp bg3_dx11.exe+164DF5B
bg3_dx11.exe+164DF47: 48 8B 00 - mov rax,[rax]
bg3_dx11.exe+164DF4A: 0F 57 C0 - xorps xmm0,xmm0
bg3_dx11.exe+164DF4D: 0F 11 85 80 02 00 00 - movups [rbp+00000280],xmm0
bg3_dx11.exe+164DF54: 48 89 85 80 02 00 00 - mov [rbp+00000280],rax
bg3_dx11.exe+164DF5B: 4C 89 6C 24 48 - mov [rsp+48],r13
bg3_dx11.exe+164DF60: 8B 00 - mov eax,[rax]
bg3_dx11.exe+164DF62: 3B C3 - cmp eax,ebx
// ---------- INJECTING HERE ----------
bg3_dx11.exe+164DF64: 0F 8E B6 02 00 00 - jng bg3_dx11.exe+164E220
// ---------- DONE INJECTING ----------
bg3_dx11.exe+164DF6A: 44 8D 6B 01 - lea r13d,[rbx+01]
bg3_dx11.exe+164DF6E: 44 89 6D 94 - mov [rbp-6C],r13d
bg3_dx11.exe+164DF72: 80 BD F1 01 00 00 00 - cmp byte ptr [rbp+000001F1],00
bg3_dx11.exe+164DF79: 75 4A - jne bg3_dx11.exe+164DFC5
bg3_dx11.exe+164DF7B: 48 8B 85 A0 01 00 00 - mov rax,[rbp+000001A0]
bg3_dx11.exe+164DF82: 84 C0 - test al,al
bg3_dx11.exe+164DF84: 75 3F - jne bg3_dx11.exe+164DFC5
bg3_dx11.exe+164DF86: 83 BD 9C 01 00 00 00 - cmp dword ptr [rbp+0000019C],00
bg3_dx11.exe+164DF8D: 75 1B - jne bg3_dx11.exe+164DFAA
bg3_dx11.exe+164DF8F: 41 B0 01 - mov r8b,01
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>