z Baldur's Gate 3

Upload your cheat tables here (No requests)
movepoint
Noobzor
Noobzor
Posts: 12
Joined: Thu Oct 08, 2020 10:34 pm
Reputation: 2

Re: z Baldur's Gate 3

Post by movepoint »

zachillios wrote:
Sat Oct 10, 2020 6:40 pm
movepoint wrote:
Sat Oct 10, 2020 5:55 pm
Any chance to make unlimited spell use for warlock too? (it has only two or one max so the current doesn't work)
Just started a playthrough as a warlock and was a little annoyed by this as well. So here's what I made:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>165</ID>
      <Description>"Infinite Spells"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : bg3.exe
  Version: 
  Date   : 2020-10-08
  Author : Zach

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,bg3.exe,F2 0F 11 76 18) // should be unique
alloc(newmem,$1000,"bg3.exe"+20C4A4C)

label(code)
label(return)

newmem:

code:
  mov [rsi+18],#3
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F2 0F 11 76 18

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bg3.exe"+20C4A4C

"bg3.exe"+20C4A26: 0F 28 F0                 -  movaps xmm6,xmm0
"bg3.exe"+20C4A29: 66 0F 2E 76 18           -  ucomisd xmm6,[rsi+18]
"bg3.exe"+20C4A2E: 7A 09                    -  jp bg3.exe+20C4A39
"bg3.exe"+20C4A30: 75 07                    -  jne bg3.exe+20C4A39
"bg3.exe"+20C4A32: 32 C0                    -  xor al,al
"bg3.exe"+20C4A34: E9 99 01 00 00           -  jmp bg3.exe+20C4BD2
"bg3.exe"+20C4A39: 48 89 9C 24 90 00 00 00  -  mov [rsp+00000090],rbx
"bg3.exe"+20C4A41: 33 DB                    -  xor ebx,ebx
"bg3.exe"+20C4A43: 48 89 6C 24 60           -  mov [rsp+60],rbp
"bg3.exe"+20C4A48: 48 8B 69 10              -  mov rbp,[rcx+10]
// ---------- INJECTING HERE ----------
"bg3.exe"+20C4A4C: F2 0F 11 76 18           -  movsd [rsi+18],xmm6
// ---------- DONE INJECTING  ----------
"bg3.exe"+20C4A51: 39 5D 78                 -  cmp [rbp+78],ebx
"bg3.exe"+20C4A54: 74 3E                    -  je bg3.exe+20C4A94
"bg3.exe"+20C4A56: 48 8B CE                 -  mov rcx,rsi
"bg3.exe"+20C4A59: E8 92 8F CB 01           -  call bg3.exe+3D7D9F0
"bg3.exe"+20C4A5E: 48 63 4D 78              -  movsxd  rcx,dword ptr [rbp+78]
"bg3.exe"+20C4A62: 33 D2                    -  xor edx,edx
"bg3.exe"+20C4A64: 48 F7 F1                 -  div rcx
"bg3.exe"+20C4A67: 4C 8B C6                 -  mov r8,rsi
"bg3.exe"+20C4A6A: 48 8D 4D 68              -  lea rcx,[rbp+68]
"bg3.exe"+20C4A6E: E8 4D EC 0F FF           -  call bg3.exe+11C36C0
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>192</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound TTS="EN">{MRDescription} Activated</ActivateSound>
          <DeactivateSound TTS="EN">{MRDescription} Deactivated</DeactivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Note this will still affect enemies, so be sure to toggle it with the Tilde key.
Can you please share a dx11 version of this? Many thanks!

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

Omen
Noobzor
Noobzor
Posts: 5
Joined: Thu Oct 08, 2020 8:40 am
Reputation: 0

Re: z Baldur's Gate 3

Post by Omen »

That's what I really lack - so this is the removal of restrictions on the use of replicas in dialogues with the use of the power of illithids... a couple of times used and all - run to the camp to sleep it off... maybe someone knows how to get around this?

bpeer
What is cheating?
What is cheating?
Posts: 4
Joined: Tue Sep 29, 2020 4:52 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by bpeer »

zachillios wrote:
Fri Oct 09, 2020 11:27 pm
bpeer wrote:
Fri Oct 09, 2020 11:13 pm
Thank you for all the hard work! Has anyone figured out how to modify companions' approval?
I was looking into it, but honestly you can just grind up most of the party through petting the dog over and over.
I'll try that, thanks for the tip! Do you happen to know if it works for Astarion? I'm playing a goody two shoes so he tends to dislike every thing I do, and I really want him to love me, because of reasons lol :wub:

Eviper44
Noobzor
Noobzor
Posts: 11
Joined: Tue Sep 19, 2017 10:34 pm
Reputation: 3

Re: z Baldur's Gate 3

Post by Eviper44 »

Is it possible to edit other members of the party's Attributes?

Acleacius
Expert Cheater
Expert Cheater
Posts: 152
Joined: Mon May 29, 2017 7:18 pm
Reputation: 11

Re: z Baldur's Gate 3

Post by Acleacius »

Eviper44 wrote:
Sat Oct 10, 2020 9:55 pm
Is it possible to edit other members of the party's Attributes?
Yes, that's what Character Pointers are, but you can only do it with members of your current party. You will have to change between 0, 1, 2, 3 as it states on the table.



Anyone else having issues with Unlimited Spells? At first I thought it wasn't working because my 2 wizards are only level 3 (i.e. two, level 2 slots). It seems to work with their level 1 spells (3 spell slots) but it works with Cleric level 2 spells and she only has two level 2 slots. That's all the helpful info I can think of atm, if there's something specific I can look for or answer, let me know.

Edit, this is probably not possible but has anyone looked into removing the 4 character party limit?

bpeer
What is cheating?
What is cheating?
Posts: 4
Joined: Tue Sep 29, 2020 4:52 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by bpeer »

Eviper44 wrote:
Sat Oct 10, 2020 9:55 pm
Is it possible to edit other members of the party's Attributes?
Use Character Pointers option for that. Turn it on and change "Set pointer index" to 1, 2 or 3 depending on character order in group (I think).

User avatar
iicecube
Expert Cheater
Expert Cheater
Posts: 125
Joined: Thu Sep 28, 2017 5:54 pm
Reputation: 13

Re: z Baldur's Gate 3

Post by iicecube »

Once again anyone successfully found the MAX weight code in the game? Turning the weight to 0 doesnt really work on gold and some items in game which make moveless.

blackmanjones3
Noobzor
Noobzor
Posts: 7
Joined: Sat Oct 10, 2020 5:12 am
Reputation: 0

Re: z Baldur's Gate 3

Post by blackmanjones3 »

zachillios wrote:
Sat Oct 10, 2020 6:40 pm
movepoint wrote:
Sat Oct 10, 2020 5:55 pm
Any chance to make unlimited spell use for warlock too? (it has only two or one max so the current doesn't work)
Just started a playthrough as a warlock and was a little annoyed by this as well. So here's what I made:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>165</ID>
      <Description>"Infinite Spells"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : bg3.exe
  Version: 
  Date   : 2020-10-08
  Author : Zach

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,bg3.exe,F2 0F 11 76 18) // should be unique
alloc(newmem,$1000,"bg3.exe"+20C4A4C)

label(code)
label(return)

newmem:

code:
  mov [rsi+18],#3
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F2 0F 11 76 18

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bg3.exe"+20C4A4C

"bg3.exe"+20C4A26: 0F 28 F0                 -  movaps xmm6,xmm0
"bg3.exe"+20C4A29: 66 0F 2E 76 18           -  ucomisd xmm6,[rsi+18]
"bg3.exe"+20C4A2E: 7A 09                    -  jp bg3.exe+20C4A39
"bg3.exe"+20C4A30: 75 07                    -  jne bg3.exe+20C4A39
"bg3.exe"+20C4A32: 32 C0                    -  xor al,al
"bg3.exe"+20C4A34: E9 99 01 00 00           -  jmp bg3.exe+20C4BD2
"bg3.exe"+20C4A39: 48 89 9C 24 90 00 00 00  -  mov [rsp+00000090],rbx
"bg3.exe"+20C4A41: 33 DB                    -  xor ebx,ebx
"bg3.exe"+20C4A43: 48 89 6C 24 60           -  mov [rsp+60],rbp
"bg3.exe"+20C4A48: 48 8B 69 10              -  mov rbp,[rcx+10]
// ---------- INJECTING HERE ----------
"bg3.exe"+20C4A4C: F2 0F 11 76 18           -  movsd [rsi+18],xmm6
// ---------- DONE INJECTING  ----------
"bg3.exe"+20C4A51: 39 5D 78                 -  cmp [rbp+78],ebx
"bg3.exe"+20C4A54: 74 3E                    -  je bg3.exe+20C4A94
"bg3.exe"+20C4A56: 48 8B CE                 -  mov rcx,rsi
"bg3.exe"+20C4A59: E8 92 8F CB 01           -  call bg3.exe+3D7D9F0
"bg3.exe"+20C4A5E: 48 63 4D 78              -  movsxd  rcx,dword ptr [rbp+78]
"bg3.exe"+20C4A62: 33 D2                    -  xor edx,edx
"bg3.exe"+20C4A64: 48 F7 F1                 -  div rcx
"bg3.exe"+20C4A67: 4C 8B C6                 -  mov r8,rsi
"bg3.exe"+20C4A6A: 48 8D 4D 68              -  lea rcx,[rbp+68]
"bg3.exe"+20C4A6E: E8 4D EC 0F FF           -  call bg3.exe+11C36C0
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>192</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound TTS="EN">{MRDescription} Activated</ActivateSound>
          <DeactivateSound TTS="EN">{MRDescription} Deactivated</DeactivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Note this will still affect enemies, so be sure to toggle it with the Tilde key.
how do you put it in cheat engine

flachan.aczache
Noobzor
Noobzor
Posts: 14
Joined: Tue Sep 08, 2020 10:51 pm
Reputation: 8

Re: z Baldur's Gate 3

Post by flachan.aczache »

blackmanjones3 wrote:
Sun Oct 11, 2020 12:47 am
zachillios wrote:
Sat Oct 10, 2020 6:40 pm
movepoint wrote:
Sat Oct 10, 2020 5:55 pm
Any chance to make unlimited spell use for warlock too? (it has only two or one max so the current doesn't work)
Just started a playthrough as a warlock and was a little annoyed by this as well. So here's what I made:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>165</ID>
      <Description>"Infinite Spells"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : bg3.exe
  Version: 
  Date   : 2020-10-08
  Author : Zach

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,bg3.exe,F2 0F 11 76 18) // should be unique
alloc(newmem,$1000,"bg3.exe"+20C4A4C)

label(code)
label(return)

newmem:

code:
  mov [rsi+18],#3
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F2 0F 11 76 18

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bg3.exe"+20C4A4C

"bg3.exe"+20C4A26: 0F 28 F0                 -  movaps xmm6,xmm0
"bg3.exe"+20C4A29: 66 0F 2E 76 18           -  ucomisd xmm6,[rsi+18]
"bg3.exe"+20C4A2E: 7A 09                    -  jp bg3.exe+20C4A39
"bg3.exe"+20C4A30: 75 07                    -  jne bg3.exe+20C4A39
"bg3.exe"+20C4A32: 32 C0                    -  xor al,al
"bg3.exe"+20C4A34: E9 99 01 00 00           -  jmp bg3.exe+20C4BD2
"bg3.exe"+20C4A39: 48 89 9C 24 90 00 00 00  -  mov [rsp+00000090],rbx
"bg3.exe"+20C4A41: 33 DB                    -  xor ebx,ebx
"bg3.exe"+20C4A43: 48 89 6C 24 60           -  mov [rsp+60],rbp
"bg3.exe"+20C4A48: 48 8B 69 10              -  mov rbp,[rcx+10]
// ---------- INJECTING HERE ----------
"bg3.exe"+20C4A4C: F2 0F 11 76 18           -  movsd [rsi+18],xmm6
// ---------- DONE INJECTING  ----------
"bg3.exe"+20C4A51: 39 5D 78                 -  cmp [rbp+78],ebx
"bg3.exe"+20C4A54: 74 3E                    -  je bg3.exe+20C4A94
"bg3.exe"+20C4A56: 48 8B CE                 -  mov rcx,rsi
"bg3.exe"+20C4A59: E8 92 8F CB 01           -  call bg3.exe+3D7D9F0
"bg3.exe"+20C4A5E: 48 63 4D 78              -  movsxd  rcx,dword ptr [rbp+78]
"bg3.exe"+20C4A62: 33 D2                    -  xor edx,edx
"bg3.exe"+20C4A64: 48 F7 F1                 -  div rcx
"bg3.exe"+20C4A67: 4C 8B C6                 -  mov r8,rsi
"bg3.exe"+20C4A6A: 48 8D 4D 68              -  lea rcx,[rbp+68]
"bg3.exe"+20C4A6E: E8 4D EC 0F FF           -  call bg3.exe+11C36C0
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>192</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound TTS="EN">{MRDescription} Activated</ActivateSound>
          <DeactivateSound TTS="EN">{MRDescription} Deactivated</DeactivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Note this will still affect enemies, so be sure to toggle it with the Tilde key.
how do you put it in cheat engine
simple copy&paste didn't work for me but, when I copied above code, pasted it to notepad, then copied the text from notepad and finally just simple pasted it (c+v) while in main CE window, then it worked.
btw, try to copy any entry from any CE table to notepad - You should see similar code

flachan.aczache
Noobzor
Noobzor
Posts: 14
Joined: Tue Sep 08, 2020 10:51 pm
Reputation: 8

Re: z Baldur's Gate 3

Post by flachan.aczache »

Infinite Movement/Spells/Action, and only for You!!!
well... hopefully - i mean it works for me but you never know...
anyway

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>898</ID>
      <Description>"Character Pointers"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscanmodule(character,$process,4A 8B 04 00 48 89 45 BF)
alloc(newmem,$1000,character)

label(code)
label(return)
label(characterPtr)
label(characterIdx)

newmem:
code:
  mov rax,[rax+r8]
  mov [characterPtr],rax
  mov [rbp-41],rax
  jmp return

align 10

characterPtr:
  dq 0
characterIdx:
  dq 0

character:
  jmp newmem
  nop 3
return:
registersymbol(character)
registersymbol(characterPtr)
registersymbol(characterIdx)

[DISABLE]
character:
  db 4A 8B 04 00 48 89 45 BF
unregistersymbol(character)
unregistersymbol(characterPtr)
unregistersymbol(characterIdx)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bg3.exe"+2652AA8

"bg3.exe"+2652A7C: 48 63 05 AD 8A 4E 03  -  movsxd  rax,dword ptr [bg3.exe+5B3B530]
"bg3.exe"+2652A83: 89 45 A7              -  mov [rbp-59],eax
"bg3.exe"+2652A86: 48 8D 04 40           -  lea rax,[rax+rax*2]
"bg3.exe"+2652A8A: 48 C1 E0 06           -  shl rax,06
"bg3.exe"+2652A8E: 4A 8B 04 00           -  mov rax,[rax+r8]
"bg3.exe"+2652A92: 48 89 45 AF           -  mov [rbp-51],rax
"bg3.exe"+2652A96: 48 63 05 E7 89 4E 03  -  movsxd  rax,dword ptr [bg3.exe+5B3B484]
"bg3.exe"+2652A9D: 89 45 B7              -  mov [rbp-49],eax
"bg3.exe"+2652AA0: 48 8D 04 40           -  lea rax,[rax+rax*2]
"bg3.exe"+2652AA4: 48 C1 E0 06           -  shl rax,06
// ---------- INJECTING HERE ----------
"bg3.exe"+2652AA8: 4A 8B 04 00           -  mov rax,[rax+r8]
"bg3.exe"+2652AAC: 48 89 45 BF           -  mov [rbp-41],rax
// ---------- DONE INJECTING  ----------
"bg3.exe"+2652AB0: 48 63 05 35 8B 4E 03  -  movsxd  rax,dword ptr [bg3.exe+5B3B5EC]
"bg3.exe"+2652AB7: 89 45 C7              -  mov [rbp-39],eax
"bg3.exe"+2652ABA: 48 8D 04 40           -  lea rax,[rax+rax*2]
"bg3.exe"+2652ABE: 48 C1 E0 06           -  shl rax,06
"bg3.exe"+2652AC2: 4A 8B 04 00           -  mov rax,[rax+r8]
"bg3.exe"+2652AC6: 48 89 45 CF           -  mov [rbp-31],rax
"bg3.exe"+2652ACA: 48 63 05 C7 8A 4E 03  -  movsxd  rax,dword ptr [bg3.exe+5B3B598]
"bg3.exe"+2652AD1: 89 45 D7              -  mov [rbp-29],eax
"bg3.exe"+2652AD4: 48 8D 04 40           -  lea rax,[rax+rax*2]
"bg3.exe"+2652AD8: 48 C1 E0 06           -  shl rax,06
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>900</ID>
          <Description>"step1 -&gt; some preparation"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(detect_uniqe_id,$process,4C 8B CD 0F 28 D6) // should be unique
alloc(newmem,$1000,detect_uniqe_id)
alloc(isMyScreenSlave,4)
alloc(uniqeidMaybe,8)

label(code)
label(return)
label(toon2)
label(toon3)
label(toon4)
label(notmychar)
label(mychar)

newmem:

code:
  push rax
  mov [uniqeidMaybe], rbx
  mov [isMyScreenSlave], 0

  mov rax, [characterPtr]
  mov rax, [rax+18]
  mov rax, [rax+0]
  test rax, rax
  jz toon2
  mov rax, [rax+8]
  cmp rax, rbx
  je mychar
toon2:
  mov rax, [characterPtr]
  mov rax, [rax+18]
  mov rax, [rax+10]
  test rax, rax
  jz toon3
  mov rax, [rax+8]
  cmp rax, rbx
  je mychar
toon3:
  mov rax, [characterPtr]
  mov rax, [rax+18]
  mov rax, [rax+20]
  test rax, rax
  jz toon4
  mov rax, [rax+8]
  cmp rax, rbx
  je mychar
toon4:
  mov rax, [characterPtr]
  mov rax, [rax+18]
  mov rax, [rax+30]
  test rax, rax
  jz notmychar
  mov rax, [rax+8]
  cmp rax, rbx
  je mychar

  jmp notmychar

mychar:
  mov [isMyScreenSlave], 1
notmychar:
  pop rax

  mov r9,rbp
  movaps xmm2,xmm6
  jmp return

detect_uniqe_id:
  jmp newmem
  nop
return:
registersymbol(isMyScreenSlave)
registersymbol(uniqeidMaybe)
registersymbol(detect_uniqe_id)

[DISABLE]

detect_uniqe_id:
  db 4C 8B CD 0F 28 D6

unregistersymbol(isMyScreenSlave)
unregistersymbol(uniqeidMaybe)
unregistersymbol(detect_uniqe_id)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bg3_dx11.exe"+2496DFD

"bg3_dx11.exe"+2496DDB: 75 19                    -  jne bg3_dx11.exe+2496DF6
"bg3_dx11.exe"+2496DDD: 88 4C 24 20              -  mov [rsp+20],cl
"bg3_dx11.exe"+2496DE1: 44 8B CE                 -  mov r9d,esi
"bg3_dx11.exe"+2496DE4: 48 8B CF                 -  mov rcx,rdi
"bg3_dx11.exe"+2496DE7: 4C 8B C5                 -  mov r8,rbp
"bg3_dx11.exe"+2496DEA: 0F 28 CE                 -  movaps xmm1,xmm6
"bg3_dx11.exe"+2496DED: E8 9E F7 FF FF           -  call bg3_dx11.exe+2496590
"bg3_dx11.exe"+2496DF2: 84 C0                    -  test al,al
"bg3_dx11.exe"+2496DF4: 74 1C                    -  je bg3_dx11.exe+2496E12
"bg3_dx11.exe"+2496DF6: 0F 57 35 13 3C C1 02     -  xorps xmm6,[bg3_dx11.exe+50AAA10]
// ---------- INJECTING HERE ----------
"bg3_dx11.exe"+2496DFD: 4C 8B CD                 -  mov r9,rbp
"bg3_dx11.exe"+2496E00: 0F 28 D6                 -  movaps xmm2,xmm6
// ---------- DONE INJECTING  ----------
"bg3_dx11.exe"+2496E03: 89 74 24 20              -  mov [rsp+20],esi
"bg3_dx11.exe"+2496E07: 49 8B D6                 -  mov rdx,r14
"bg3_dx11.exe"+2496E0A: 48 8B CF                 -  mov rcx,rdi
"bg3_dx11.exe"+2496E0D: E8 6E F5 FF FF           -  call bg3_dx11.exe+2496380
"bg3_dx11.exe"+2496E12: 48 8B 4C 24 68           -  mov rcx,[rsp+68]
"bg3_dx11.exe"+2496E17: 48 33 CC                 -  xor rcx,rsp
"bg3_dx11.exe"+2496E1A: E8 F1 8F 2A 02           -  call bg3_dx11.exe+473FE10
"bg3_dx11.exe"+2496E1F: 0F 28 74 24 70           -  movaps xmm6,[rsp+70]
"bg3_dx11.exe"+2496E24: 48 81 C4 80 00 00 00     -  add rsp,00000080
"bg3_dx11.exe"+2496E2B: 41 5E                    -  pop r14
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>901</ID>
              <Description>"step2 -&gt; activate cheat"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(INJECT04,$process,F2 0F 11 76 18) // should be unique
alloc(newmem,$1000,INJECT04)
alloc(pLastUsed4,4)

label(code)
label(dupa4)
//label(pLastUsed4)
label(return)

newmem:

code:
  mov [pLastUsed4], rsi
  cmp [isMyScreenSlave], 1
  je return
  movsd [rsi+18],xmm6
  jmp return
INJECT04:
dupa4:
  jmp newmem
return:
registersymbol(dupa4)
registersymbol(pLastUsed4)
registersymbol(INJECT04)

[DISABLE]

dupa4:
  db F2 0F 11 76 18

unregistersymbol(dupa4)
unregistersymbol(pLastUsed4)
unregistersymbol(INJECT04)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bg3.exe"+20BFE3C

"bg3.exe"+20BFE16: 0F 28 F0                 -  movaps xmm6,xmm0
"bg3.exe"+20BFE19: 66 0F 2E 76 18           -  ucomisd xmm6,[rsi+18]
"bg3.exe"+20BFE1E: 7A 09                    -  jp bg3.exe+20BFE29
"bg3.exe"+20BFE20: 75 07                    -  jne bg3.exe+20BFE29
"bg3.exe"+20BFE22: 32 C0                    -  xor al,al
"bg3.exe"+20BFE24: E9 99 01 00 00           -  jmp bg3.exe+20BFFC2
"bg3.exe"+20BFE29: 48 89 9C 24 90 00 00 00  -  mov [rsp+00000090],rbx
"bg3.exe"+20BFE31: 33 DB                    -  xor ebx,ebx
"bg3.exe"+20BFE33: 48 89 6C 24 60           -  mov [rsp+60],rbp
"bg3.exe"+20BFE38: 48 8B 69 10              -  mov rbp,[rcx+10]
// ---------- INJECTING HERE ----------
"bg3.exe"+20BFE3C: F2 0F 11 76 18           -  movsd [rsi+18],xmm6
// ---------- DONE INJECTING  ----------
"bg3.exe"+20BFE41: 39 5D 78                 -  cmp [rbp+78],ebx
"bg3.exe"+20BFE44: 74 3E                    -  je bg3.exe+20BFE84
"bg3.exe"+20BFE46: 48 8B CE                 -  mov rcx,rsi
"bg3.exe"+20BFE49: E8 12 FA C5 01           -  call bg3.exe+3D1F860
"bg3.exe"+20BFE4E: 48 63 4D 78              -  movsxd  rcx,dword ptr [rbp+78]
"bg3.exe"+20BFE52: 33 D2                    -  xor edx,edx
"bg3.exe"+20BFE54: 48 F7 F1                 -  div rcx
"bg3.exe"+20BFE57: 4C 8B C6                 -  mov r8,rsi
"bg3.exe"+20BFE5A: 48 8D 4D 68              -  lea rcx,[rbp+68]
"bg3.exe"+20BFE5E: E8 1D 1B 10 FF           -  call bg3.exe+11C1980
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>913</ID>
          <Description>"Character X"</Description>
          <Options moHideChildren="1"/>
          <LastState Value="" RealAddress="00000000"/>
          <GroupHeader>1</GroupHeader>
          <Address>characterPtr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>914</ID>
              <Description>"Set Pointer Index (0,1,2,3,etc)"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>characterIdx</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>915</ID>
              <Description>"Abilities"</Description>
              <Options moHideChildren="1"/>
              <LastState Value="" RealAddress="00000000"/>
              <GroupHeader>1</GroupHeader>
              <Address>+68</Address>
              <Offsets>
                <Offset>0</Offset>
                <Offset>8*[characterIdx]</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>916</ID>
                  <Description>"Name1 (don't touch!)"</Description>
                  <VariableType>String</VariableType>
                  <Length>24</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>+40</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>917</ID>
                  <Description>"Name2 (don't touch!)"</Description>
                  <VariableType>String</VariableType>
                  <Length>24</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>+40</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>918</ID>
                  <Description>"Strength"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+64</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>919</ID>
                  <Description>"Dexterity"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+68</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>920</ID>
                  <Description>"Constitution"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+6C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>921</ID>
                  <Description>"Intelligence"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+70</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>922</ID>
                  <Description>"Wisdom"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+74</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>923</ID>
                  <Description>"Charisma"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+78</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
It is using script for 'Character Pointers' from the orginal table and as such it is placed under that entry.
btw, I left the original entry as is.
it should give infinite stuff for FOUR controlled chars. enemies should have normal limited actions etc...
tested for different profiles/saves
note, I'm still using older gog version 4.1.83.5246
so script might not work in newer version... will check it later

it has 'two steps' to activate... it surely can be done much better but I don't know CE and asm good enough
if you decide to use it, give some feedback if it works for Ya... or not

cpntlunch
What is cheating?
What is cheating?
Posts: 1
Joined: Wed Apr 19, 2017 1:28 am
Reputation: 0

Re: z Baldur's Gate 3

Post by cpntlunch »

For folks having issues with the party selection value/offset, make sure you're up to CE 7.1. I was on 7.0 and the function was locked on a single character the whole time. As soon as I updated the application, the selector was effective and almost instant.

User avatar
TemptingIcarus
Expert Cheater
Expert Cheater
Posts: 405
Joined: Thu Aug 16, 2018 11:32 pm
Reputation: 54

Re: z Baldur's Gate 3

Post by TemptingIcarus »

So coming back around again and asking, can we get a damage multiplier of some kind? Since there's now a bug floating around (among many other bugs) that makes finishing Saving Mayrina Quest literally impossible. The hag doesn't appear like she's supposed to and she is invisible, you have to use an AoE attack on the bridge next to the control orb to unveil her and even then she only takes about 20 damage before she goes invincible. Is there a way to just one-shot her so she doesn't do this? I'd like to complete the quest. Since like I said, she'll take damage, but then she goes invincible right after and she only seems to take elemental damage/status effect damage. - Needs more testing. You have to kill her so Mayrina will talk to you, which then flags the end of the quest.

This is the quest on the old build - 3931.


baubaum
Novice Cheater
Novice Cheater
Posts: 24
Joined: Mon May 08, 2017 10:22 am
Reputation: 1

Re: z Baldur's Gate 3

Post by baubaum »

TemptingIcarus wrote:
Sun Oct 11, 2020 7:43 am
So coming back around again and asking, can we get a damage multiplier of some kind? Since there's now a bug floating around (among many other bugs) that makes finishing Saving Mayrina Quest literally impossible. The hag doesn't appear like she's supposed to and she is invisible, you have to use an AoE attack on the bridge next to the control orb to unveil her and even then she only takes about 20 damage before she goes invincible. Is there a way to just one-shot her so she doesn't do this? I'd like to complete the quest. Since like I said, she'll take damage, but then she goes invincible right after and she only seems to take elemental damage/status effect damage. - Needs more testing. You have to kill her so Mayrina will talk to you, which then flags the end of the quest.

This is the quest on the old build - 3931.

Just use the old ignore action/spell costs. Add a hotkey to it so you can start it when it's your turn and hit her until she's dead. The cool thing about that script is that it gives you infinite action points, the sucky part about it is that it gives everyone else the same hence the start/stop hotkey.

mem
Noobzor
Noobzor
Posts: 6
Joined: Fri Oct 09, 2020 8:05 am
Reputation: 2

Re: z Baldur's Gate 3

Post by mem »

flachan.aczache wrote:
Sun Oct 11, 2020 3:32 am
Infinite Movement/Spells/Action, and only for You!!!
well... hopefully - i mean it works for me but you never know...
anyway

It is using script for 'Character Pointers' from the orginal table and as such it is placed under that entry.
btw, I left the original entry as is.
it should give infinite stuff for FOUR controlled chars. enemies should have normal limited actions etc...
tested for different profiles/saves
note, I'm still using older gog version 4.1.83.5246
so script might not work in newer version... will check it later

it has 'two steps' to activate... it surely can be done much better but I don't know CE and asm good enough
if you decide to use it, give some feedback if it works for Ya... or not
It partially works for me. I'm also on gog version 4.1.83.5246. What's weirder is that it seems to be somewhat influenced by loading the game.
I'm going to try to describe it in as much detail as I can.


1. After loading a game, I activate the Character Pointers, step 1 then step 2 options. Then I enter turn-based mode. My main char is the currently selected one and first in party order. The rest of the order is Shadowheart, Gale and Lae'zel. The cheats work for my main char, Shadowheart and Gale, but no Lae'zel. Changing party order or unlinking any character doesn't change this. Leaving turn based and re-entering it still leaves Lae'zel as the one unaffected by the cheats. Disabling and re-enabling the cheats (in or out of turn based) also doesn't change this.

2. I leave the cheats activated and reload the game. Same exact behavior - Lae'zel is unaffected by cheats. Disabling and re-enabling the cheats, same as before, changes nothing.

3. I disable the cheats and reload the game (same party order as before - main, Shadowheart, Gale, Lae'zel). I first select Lae'zel (leaving her as the last in party order), then activate the cheats then enter turn-based. Now the cheats work for Lae'zel and the others, but not for my main char.
I disable the cheats, leave turn based, select main char, re-enable cheats. Cheats still don't work for main char, but work for everybody else (including Lae'zel).

4. I leave the cheats activated and reload the game. Now my main char is once again affected by cheats, but the last char, Lae'zel is not.

5. I change part order with the cheats still on (new order is Shadowheart, main char, Lae'zel and Gale). Situation is the same, Lae'zel is the only one not working. I save the game with this new party order and reload it. With Shadowheart(1st in party) selected, I enter turn-based. Now (completely unintuitively) the cheats work for Shaowheart (1st), Lae'zel(3rd) and Gale(4th), but not for main char (2nd). The weird part is that Lae'zel walk distance bar isn't full, but it is frozen.

6. With cheats still active, I reload latest save (new order). I select Lae'zel (but leave her as 3rd) and enter turn-based. Distance bar still isn't full and when I move, it depletes. The other characters work fine with cheats. I immediately reload, select Lae'zel again, enter turn-based - distance bar still not full, but doesn't go down when moving. Now main char is the one for which the cheats don't work.

7. I disable cheats, reload, select Lae'zel (her distance bar isn't full), enable cheats and enter turn-based. Lae'zel is unaffected by cheats, all other chars work.
I disable cheats, reload, select Lae'zel (her distance bar isn't full), enter and exit turn-based (now her distance bar is full), enable cheats and enter turn based again. Now cheats work for Lae'zel, but not for main char.

8. I disable cheats. I select Gale (last in party), save and reload. I enable cheats and enter turn-based with Gale selected. Cheats work for everyone but Lae'zel.

At this point, I conclude I can't find an identifiable pattern, if there is one.


For now, 3 out of 4 characters isn't that bad :)

Thanks for the table!

User avatar
SunBeam
Administration
Administration
Posts: 4819
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4437

Re: z Baldur's Gate 3

Post by SunBeam »

You'll be able to do a lot once I release my shit. Zanzer knows too, we've had our talks, but I think he just doesn't want to overstep and is waiting for me. Will be back home this evening and post various things.

Post Reply

Who is online

Users browsing this forum: AhrefsBot, basem21, Decimus, demon_siege23, Dikkedabtoe, DotBot, Elysium121, FuckCH, Google [Bot], Google Adsense [Bot], jangyoking, killerkrok555, Maxdan