z Baldur's Gate 3

Upload your cheat tables here (No requests)
TheKindred
What is cheating?
What is cheating?
Posts: 1
Joined: Sun Sep 24, 2023 10:24 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by TheKindred »

Thepledge wrote:
Mon Aug 21, 2023 1:31 am
Sylvar wrote:
Sun Aug 20, 2023 11:28 pm
Okay so for those who have been posting questions about multiple romances, I wanted to share my experience.

There are stages in the romances, i.e. dating, partnered, past partners with etc.

If you have multiple IsDating flags set to = 1 then when one of those origin characters enters a partnership with you, the others who you were dating will give you some form of "I saw you're going steady with so and so" and break things off with you.

However, I have found a separate flag state of "--ORI_State_PartneredWith" and I was doing some testing, I set the flag state of this to = 1 with both Shadowheart and Astarion. So far they are both acting as if they are in a relationship with me, I.e. I can go up to each of them and ask them for a kiss, talk "about us" etc. and doing so with one does not seem to incur any disapproval with the other, even if we're partied up together. They seem to act as if they are oblivious to my partnership with the other.

I haven't noticed any major bugs with this test, the only thing I noticed is when Halsin asks about being with you and asks you to check with your partner, it gives you the option in dialogue to say you'll check with either Shadowheart or Astarion, though you only need to click one of the options to progress dialogue. However, you can go talk to and get consent from both of them to pursue Halsin.

The other thing I noticed is the drow twins seems to default to whomever you were partnered with first, if you try to pick the both option at Sharess' Caress. For me it acts as if Astarion is my partner even if I have Shadowheart in the party instead.

I have yet to complete either of their respective personal quests yet, nor have I gotten Shadowheart's romance scene in act 3, but figured I would share what my testing had resulted in so far!

Hope that this helps!
Great work finding that stuff, I've updated my code to include all the partnered attributes, and by looking into the "Act2_ORI_RomanceConflict.txt" it seems like once the characters are at the partnered state it no longer looks for conflicts. Should mean that if you either use my scripts to selectively disable other romances to see the initiation scenes, or just skip to the partnered states, it might be free and clear. Also seems like halsin has no isdating flag, but skips straight to either partnered or secondary partnered.

Here's the new scripts. as with the old one, needs to be pasted into zanzer's table and the console commands need to be registered.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>4762</ID>
      <Description>"Romance Flags"</Description>
      <Options moHideChildren="1"/>
      <LastState Value="" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>4763</ID>
          <Description>"Dating Gale"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "75d0e041-c16c-d089-6d89-64354fa4c9d9" --Debug_SetReallyTagsToo

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4492</ID>
          <Description>"Dating Wyll"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "f1520748-1d36-4500-9f8a-0da4207f8dd5" -- ORI_State_DatingWithWyll

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4493</ID>
          <Description>"Dating Astarion"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "ba298c56-26b6-4918-9bd4-616668d369d8" -- ORI_State_DatingAstarion


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4494</ID>
          <Description>"Dating Shadowheart"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "e87f1e21-a758-47ae-8c0e-9e715eb289b5" -- ORI_State_DatingShadowheart


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4764</ID>
          <Description>"Dating Lae'zel"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "86eaa84a-350b-401b-8b43-b53eeb534579" -- ORI_State_DatingLaezel


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4765</ID>
          <Description>"Dating Minthara"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "de1360cd-894b-40ea-95a7-1166d675d040" -- ORI_State_DatingMinthara


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4766</ID>
          <Description>"Dating Karlach"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "f24c3f3e-7287-4908-84bf-ba314921f5ee" -- ORI_State_DatingKarlach


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4767</ID>
          <Description>"Dating"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "a3346d5b-c54b-4c73-bf18-0a2bf90c35da" -- ORI_State_Dating

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4788</ID>
          <Description>"Partnered With Gale"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "e008e20d-d642-42ed-9008-297b6273aa21" --Debug_SetReallyTagsToo

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4789</ID>
          <Description>"Partnered With Wyll"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "5db4c1b6-3c42-43ae-aa85-1844acbf5a1d" -- ORI_State_DatingWithWyll

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4784</ID>
          <Description>"Partnered With Asterion"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "30819c8d-b39d-42e7-acd1-2a8c2c309994" -- ORI_State_DatingAstarion


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4790</ID>
          <Description>"Partnered With Halsin"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "7b53fe60-bb16-48a9-ae5c-9bce1dfac1a9" -- ORI_State_DatingAstarion


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4791</ID>
          <Description>"Partnered With Halsin Secondary"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "6af0be74-d032-4a20-876a-11bab5f86db2" -- ORI_State_DatingAstarion


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4776</ID>
          <Description>"Partnered With Shadowheart"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "3808ae35-ad4e-465b-800b-63d32b77211e" -- ORI_State_DatingShadowheart


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4778</ID>
          <Description>"Partnered With Lae'zel"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "d169a786-6e56-4f0d-a2eb-33c48d8d1160" -- ORI_State_DatingLaezel


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4782</ID>
          <Description>"Partnered With Minthara"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "39ac48fa-b440-47e6-a436-6dc9b10058d8" -- ORI_State_DatingMinthara


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4780</ID>
          <Description>"Partnered With Karlach"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "d9ff60fa-0af9-45d7-99b4-bd7c3f80ed12" -- ORI_State_DatingKarlach


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4768</ID>
          <Description>"Clear Dating Gale"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "75d0e041-c16c-d089-6d89-64354fa4c9d9" --Debug_SetReallyTagsToo

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4769</ID>
          <Description>"Clear Dating Wyll"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "f1520748-1d36-4500-9f8a-0da4207f8dd5" -- ORI_State_DatingWithWyll

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4770</ID>
          <Description>"Clear Dating Astarion"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "ba298c56-26b6-4918-9bd4-616668d369d8" -- ORI_State_DatingAstarion


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4771</ID>
          <Description>"Clear Dating Shadowheart"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "e87f1e21-a758-47ae-8c0e-9e715eb289b5" -- ORI_State_DatingShadowheart


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4772</ID>
          <Description>"Clear Dating Lae'zel"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "86eaa84a-350b-401b-8b43-b53eeb534579" -- ORI_State_DatingLaezel


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4773</ID>
          <Description>"Clear Dating Minthara"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "de1360cd-894b-40ea-95a7-1166d675d040" -- ORI_State_DatingMinthara


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4775</ID>
          <Description>"Clear Dating Karlach"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "f24c3f3e-7287-4908-84bf-ba314921f5ee" -- ORI_State_DatingKarlach


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4774</ID>
          <Description>"Clear Dating"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "a3346d5b-c54b-4c73-bf18-0a2bf90c35da" -- ORI_State_Dating

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4786</ID>
          <Description>"Clear Partnered With Gale"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "e008e20d-d642-42ed-9008-297b6273aa21" --Debug_SetReallyTagsToo

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4787</ID>
          <Description>"Clear Partnered With Wyll"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "5db4c1b6-3c42-43ae-aa85-1844acbf5a1d" -- ORI_State_DatingWithWyll

local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4785</ID>
          <Description>"Clear Partnered With Asterion"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "30819c8d-b39d-42e7-acd1-2a8c2c309994" -- ORI_State_DatingAstarion


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4779</ID>
          <Description>"Clear Partnered Shadowheart"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "3808ae35-ad4e-465b-800b-63d32b77211e" -- ORI_State_DatingLaezel


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4777</ID>
          <Description>"Clear Partnered Lae'zel"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "d169a786-6e56-4f0d-a2eb-33c48d8d1160" -- ORI_State_DatingLaezel


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4783</ID>
          <Description>"Clear Partnered Minthara"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "39ac48fa-b440-47e6-a436-6dc9b10058d8" -- ORI_State_DatingMinthara


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4781</ID>
          <Description>"Clear Partnered Karlach"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local uuid = "d9ff60fa-0af9-45d7-99b4-bd7c3f80ed12" -- ORI_State_DatingKarlach


local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")

PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)

local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)

writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)

writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)

PrepareCall("ClearFlag")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
local result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "success" or "failure")
{$asm}

[DISABLE]
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
I keep getting
Script Error:[string "<?xml version="1.0" encoding="utf-8"?>
..."]:1: unexpected symbol near '<'
any ideas? or am I just dumb

or when i make it a script it says i can only have one disable

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

kidicarus
Cheater
Cheater
Posts: 25
Joined: Sat Jan 15, 2022 3:09 am
Reputation: 3

Re: z Baldur's Gate 3

Post by kidicarus »

I'm modifying Target_CallLightning for a mod but it seems to leave behind a looping sound effect when it strikes the ground, the only lines in the spell for audio are PrepareSound, PrepareLoopSound, CastSound and TargetSound but none of these alter the sound effect left over after the spell strikes, does anyone know if there's a way to remove that? I legtimately cant even think of another spell that leaves behind ambient noise once its over

Chybaryba
What is cheating?
What is cheating?
Posts: 1
Joined: Mon Sep 25, 2023 8:38 am
Reputation: 0

Re: z Baldur's Gate 3

Post by Chybaryba »

Hey hey,
thanks for creating and posting that table.
I try to find a setting to have a proficiency and expertise in all skills for my bard just to feel a bit better than good at everything master in nothing ;)
Any pointers and hints welcome.

Nurgoll
Noobzor
Noobzor
Posts: 5
Joined: Mon Sep 25, 2023 9:21 am
Reputation: 0

Re: z Baldur's Gate 3

Post by Nurgoll »

Zanzer wrote:
Sat Sep 23, 2023 2:15 pm
Fixed Force Level Up
Just tried and it doesn't work. I can x the force level up line again, but no level up when saving. I quick saved, manually, and even progressed to an auto save. nada.

rollin340
What is cheating?
What is cheating?
Posts: 4
Joined: Sun Sep 24, 2023 3:11 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by rollin340 »

EvenLess wrote:
Sun Sep 24, 2023 6:25 pm
rollin340 wrote:
Sun Sep 24, 2023 3:16 pm
I can't even get the $process to work properly. With CE on, Ctrl + Alt + L to open up the Lua script and ran:

Code: Select all

if process then
  print('Attached to "' .. (process or 'NOTHING') .. '"')
else
  print('Not Attached')
end
When attached to CE itself, I get: Attached to "cheatengine-i386.exe"

When attached to BG3, I get: Attached to ""

Using bg3_d11.exe doesn't work either. Tried with both CE 7.4 and 7.5; same results. No clue what's going on.
Sounds like your Cheat Engine is launched without elevated privileges, although I'm not sure how that's even possible. At least that would explain why CE only have access to its own process.

Try adding this to your Lua Script: Cheat Table, and execute the script:

Code: Select all

MainForm.OnProcessOpened = function (openedPID, processHandle, caption)
  print('Opened process:')
  print('Process ID: ', tostring(openedPID))
  print('Process Handle: ', tostring(processHandle))
  print('Process Caption: ', tostring(caption))
  print('"process" global variable: ', tostring(process))
end
print('Welcome!')
All it does is print details about the opened process, when a process is opened. So after having executed the script, just try opening various processes and see what, if any, the output is.

Also, when just playing around/testing, I can recommend using the Lua Engine window (the one that's opened when print()ing to console). In this script window you have all sorts of benefits such as limited tab-completion (at least when working with forms) and code folding, not to mention to not having to switch between two windows to see the results. Some things (such as the OnProcessOpened function) must be in the Lua script: Cheat Table, I think.

Also, when printing variables that you don't know the type of, you can always convert it to a string before printing it, i.e. print(tostring(process)). That at least helps me to get a more "visual" understanding of what the variable might contain, if it doesn't return anything. I'm still new to Lua (and Cheat Engine), so I'm sure there are way better methods to peek into an unknown variable. I'm still looking for the equivalent to PowerShell Get-Member :)
That was my first thought too; simple privileges issue. Right-click -> Run as administrator just to be sure, and I get this with your script:

Code: Select all

Welcome! 
Opened process: 
Process ID:  1932 
Process Handle:  1444 
Process Caption:  0000078C-cheatengine-i386.exe 
"process" global variable:  cheatengine-i386.exe 
Opened process: 
Process ID:  7824 
Process Handle:  1444 
Process Caption:  00001E90-notepad++.exe 
"process" global variable:  notepad++.exe 
Opened process: 
Process ID:  21844 
Process Handle:  1444 
Process Caption:  00005554- 
"process" global variable:   
The "--skip-launcher" doesn't make a difference, and I highly doubt replacing the splash Bink video with an empty one would give this weird issue. It makes no sense to me; when choosing the application, both the "Applications" and "Processes" tab has the string right there!

Edit: It's actually not just BG3. For example, I get the same issue with something like Visual Studio Code. The PID is correct, but the process string is just missing.

Edit 2: Here is something interesting.

When I make a selection from the "Windows" tab, I get:

Code: Select all

Opened process: 
Process ID:  14272 
Process Handle:  1456 
Process Caption:  000037C0-Baldur's Gate 3 (2560x1440) - (DX11) - (6 + 6 WT) 
"process" global variable:   
When I make a selection from the "Processes" tab, I get:

Code: Select all

Opened process: 
Process ID:  14272 
Process Handle:  1456 
Process Caption:  000037C0-bg3_dx11.exe 
"process" global variable:   
Checking Task Manager, the PID of 14272 has the name of "bg3_d11.exe", and the description is "bg3.exe". Attaching a process, right-clicking, and entering the PID manually raises a "Error while opening this process".

No idea if any of that is relevant.
Last edited by rollin340 on Mon Sep 25, 2023 4:49 pm, edited 2 times in total.

IAmJello
What is cheating?
What is cheating?
Posts: 3
Joined: Sat Sep 23, 2023 6:28 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by IAmJello »

EvenLess wrote:
Sun Sep 24, 2023 12:51 pm
IAmJello wrote:
Sun Sep 24, 2023 3:38 am
IAmJello wrote:
Sat Sep 23, 2023 6:29 pm
I am trying to add spell points but they do not save , is it not possible? I tried adding > saving > loading with no luck. Any ideas?

edit: Spell points I do not have access to yet in game do save (3 and above) but when I reach lvl 3 spells they'll revert to original amount too
Any ideas regarding this? needed for cross-save
thanks

searching this thread seems like it's not possible, damn
Spell Points are added using a boost. All/most boosts does not persist across saves. That being said, it is my experience that most ressource points in fact does persist across saves, but not every time. Without being sure, I think the times it does not persist across save, it's because another passive (item, feat etc.) is actually also modifying that ressource, and so will overrule the CE changed value on save/load.
Yes, sadly you are correct. Action/Bonus can be modified and they get reverted whenever something in-game changes them / spell points levels you do not have can be modified and get reverted once you actually reach them in-game which makes me want to stop leveling LMAO... thank you for your input tho!

snsdale1
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Nov 26, 2021 10:25 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by snsdale1 »

Hello, I'm having trouble with locating the "add spell" option in the cheat table. Thread search does not seem to work for me. Can anyone help me locating the script in the table?

theash
What is cheating?
What is cheating?
Posts: 3
Joined: Sun Sep 24, 2023 3:16 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by theash »

snsdale1 wrote:
Mon Sep 25, 2023 11:33 am
Hello, I'm having trouble with locating the "add spell" option in the cheat table. Thread search does not seem to work for me. Can anyone help me locating the script in the table?
I had the same problem as you, my solution was to go to Random Cheats > Add/delete Fireball and double click on the side where it says script, it will open a small menu, there you will see approximately 6 or 5 lines referring to the levels of fireball, you delete all but the first one, there in quotes you will see the UUID of firebal level 1, what you should do is delete the UUID and replace it with the UUID of the spell that you want to give to your selected character, then apply the script, check the box of the cheat in question and it should give you the spell


The only problem with this method is that if the spell does not bring a cooldown, it will add it as a cantrip, so it will not consume spell slots or resources, that is the only negative

snsdale1
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Nov 26, 2021 10:25 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by snsdale1 »

theash wrote:
Mon Sep 25, 2023 11:44 am
snsdale1 wrote:
Mon Sep 25, 2023 11:33 am
Hello, I'm having trouble with locating the "add spell" option in the cheat table. Thread search does not seem to work for me. Can anyone help me locating the script in the table?
I had the same problem as you, my solution was to go to Random Cheats > Add/delete Fireball and double click on the side where it says script, it will open a small menu, there you will see approximately 6 or 5 lines referring to the levels of fireball, you delete all but the first one, there in quotes you will see the UUID of firebal level 1, what you should do is delete the UUID and replace it with the UUID of the spell that you want to give to your selected character, then apply the script, check the box of the cheat in question and it should give you the spell


The only problem with this method is that if the spell does not bring a cooldown, it will add it as a cantrip, so it will not consume spell slots or resources, that is the only negative
Thanks for the help, man! I'll try it as soon as ill get back home. I've been looking for it for week already.

DaNy3LL
What is cheating?
What is cheating?
Posts: 1
Joined: Sun Sep 24, 2023 10:42 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by DaNy3LL »

I'm trying to spawn a "Battered Lute", since mine went missing. I can't spawn the normal lute, since it doesn't wake up Art Cullagh and can't progress the quest.

Edit: Use equip item script with S_HAV_AncientFist_ImportantItem_Surgeon_1329c22c-d23a-4d31-96b0-6b734074f1dc

Code: Select all

Item: S_HAV_AncientFist_ImportantItem_Surgeon_1329c22c-d23a-4d31-96b0-6b734074f1dc 
Template: TOOL_GEN_Music_Guitar_Lute_A_8f98a7e7-c773-4b58-9127-5cf79b9206e9
Using this does not spawn the item in the player's inventory

Code: Select all

TemplateAddToPlayer("1329c22c-d23a-4d31-96b0-6b734074f1dc", 1)
Using this does put it on the ground, but it shows the cog icon instead of the hand one and it can't be picked up

Code: Select all

CreateAtPlayer("1329c22c-d23a-4d31-96b0-6b734074f1dc")
Any help?
Last edited by DaNy3LL on Fri Sep 29, 2023 11:39 am, edited 1 time in total.

Ragnarok1980
Noobzor
Noobzor
Posts: 5
Joined: Mon Sep 25, 2023 2:15 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by Ragnarok1980 »

Hello to all,

I'm a long-time user and supporter of CE; however, this is the 1st time I've ever needed to ask for help or even post. I had to create a new account since I no longer have the original email I used back then. With all the years of CE and CT I have used, I'm still, unfortunately, a noob, hence the post. Would someone be so kind as to tell me if it is possible to increase a single permanent ability stat, and if so, how would one do so? I'm running the Steam version of BG3, but I launch with BG3 MOD Manager (if that matters). My issue is that my character/party member stats do not seem to populate in the table; they just show "???". I don't know if that is due to the MOD Manager, but I only have two basic MODs: the better containers and the cosmetic MOD that keeps your original eye instead of the Volo replacement eye. I want to thank anyone who takes the time to help me and, of course, the incredible people who make the programs and tables happen.

FYI:

CE version ---> 7.5.1
CT version ---> 10

Fieryabyss
Noobzor
Noobzor
Posts: 8
Joined: Mon Sep 25, 2023 3:32 pm
Reputation: 3

Re: z Baldur's Gate 3

Post by Fieryabyss »

Sorry if this is a newb question but i found this line

("e0d1eda7-7ad4-48d2-a12c-7c554ffe4fdd", --PLA_ZhentShipment_State_DeliveredUnlockedChest)

in the list and have been trying to get it to work. Ive tried editing item spawner, and i tried altering this script from Zanzer

{$lua}
if syntaxcheck then return end
[ENABLE]
local player = GetHostCharacter()
local item = "S_PLA_ZhentShipment_Chest_fc3f4359-ec62-4cbf-8756-ecb9780c34e8"
SetArgToString(0, player)
SetArgToString(1, item)
SetArgToLong(2, 1)
SetArgToLong(3, 1)
SetArgToLong(4, 1)
ExecuteCall("Equip")
[DISABLE]

I also found these lines

"f7e140a4-eb38-79de-309f-1c731cb00e3b", --PLA_ZhentShipment_Event_ClearChestOwner
"e1023d4c-bfab-420d-a660-9c0e5eff06f0", --PLA_ZhentShipment_Event_GiveChest
"1bba9a5b-8d05-4dc1-9df1-b6d3c3a382c6", --PLA_ZhentDungeon_State_AllowedSpecialTrade

but not sure if they would give the desired result. Mostly just want to unlock Brems shop, dont care if i have to kill them all after.

rollin340
What is cheating?
What is cheating?
Posts: 4
Joined: Sun Sep 24, 2023 3:11 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by rollin340 »

rollin340 wrote:
Mon Sep 25, 2023 9:51 am
EvenLess wrote:
Sun Sep 24, 2023 6:25 pm
rollin340 wrote:
Sun Sep 24, 2023 3:16 pm
I can't even get the $process to work properly. With CE on, Ctrl + Alt + L to open up the Lua script and ran:

Code: Select all

if process then
  print('Attached to "' .. (process or 'NOTHING') .. '"')
else
  print('Not Attached')
end
When attached to CE itself, I get: Attached to "cheatengine-i386.exe"

When attached to BG3, I get: Attached to ""

Using bg3_d11.exe doesn't work either. Tried with both CE 7.4 and 7.5; same results. No clue what's going on.
Sounds like your Cheat Engine is launched without elevated privileges, although I'm not sure how that's even possible. At least that would explain why CE only have access to its own process.

Try adding this to your Lua Script: Cheat Table, and execute the script:

Code: Select all

MainForm.OnProcessOpened = function (openedPID, processHandle, caption)
  print('Opened process:')
  print('Process ID: ', tostring(openedPID))
  print('Process Handle: ', tostring(processHandle))
  print('Process Caption: ', tostring(caption))
  print('"process" global variable: ', tostring(process))
end
print('Welcome!')
All it does is print details about the opened process, when a process is opened. So after having executed the script, just try opening various processes and see what, if any, the output is.

Also, when just playing around/testing, I can recommend using the Lua Engine window (the one that's opened when print()ing to console). In this script window you have all sorts of benefits such as limited tab-completion (at least when working with forms) and code folding, not to mention to not having to switch between two windows to see the results. Some things (such as the OnProcessOpened function) must be in the Lua script: Cheat Table, I think.

Also, when printing variables that you don't know the type of, you can always convert it to a string before printing it, i.e. print(tostring(process)). That at least helps me to get a more "visual" understanding of what the variable might contain, if it doesn't return anything. I'm still new to Lua (and Cheat Engine), so I'm sure there are way better methods to peek into an unknown variable. I'm still looking for the equivalent to PowerShell Get-Member :)
That was my first thought too; simple privileges issue. Right-click -> Run as administrator just to be sure, and I get this with your script:

Code: Select all

Welcome! 
Opened process: 
Process ID:  1932 
Process Handle:  1444 
Process Caption:  0000078C-cheatengine-i386.exe 
"process" global variable:  cheatengine-i386.exe 
Opened process: 
Process ID:  7824 
Process Handle:  1444 
Process Caption:  00001E90-notepad++.exe 
"process" global variable:  notepad++.exe 
Opened process: 
Process ID:  21844 
Process Handle:  1444 
Process Caption:  00005554- 
"process" global variable:   
The "--skip-launcher" doesn't make a difference, and I highly doubt replacing the splash Bink video with an empty one would give this weird issue. It makes no sense to me; when choosing the application, both the "Applications" and "Processes" tab has the string right there!

Edit: It's actually not just BG3. For example, I get the same issue with something like Visual Studio Code. The PID is correct, but the process string is just missing.

Edit 2: Here is something interesting.

When I make a selection from the "Windows" tab, I get:

Code: Select all

Opened process: 
Process ID:  14272 
Process Handle:  1456 
Process Caption:  000037C0-Baldur's Gate 3 (2560x1440) - (DX11) - (6 + 6 WT) 
"process" global variable:   
When I make a selection from the "Processes" tab, I get:

Code: Select all

Opened process: 
Process ID:  14272 
Process Handle:  1456 
Process Caption:  000037C0-bg3_dx11.exe 
"process" global variable:   
Checking Task Manager, the PID of 14272 has the name of "bg3_d11.exe", and the description is "bg3.exe". Attaching a process, right-clicking, and entering the PID manually raises a "Error while opening this process".

No idea if any of that is relevant.
Quoting this this this is an official update on how I "fixed" this issue. I downloaded the CE repository and compiled it on Lazarus, but specifically for x86_64bit. This worked; it actually detects everything just fine. I only had the 32bit version compiled, which was simply incompatible with 64bit processes.

tldr: If you get the "$process" not found error, ensure that you're running the 64bit version of CE. Administrator rights isn't even required.

codee
What is cheating?
What is cheating?
Posts: 2
Joined: Tue May 23, 2023 8:04 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by codee »

Hello, does anyone have the code to never miss spells and attacks and always deal the maximum damage of the current weapon?

User avatar
cpuddle
Noobzor
Noobzor
Posts: 12
Joined: Sat Apr 18, 2020 1:09 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by cpuddle »

Ragnarok1980 wrote:
Mon Sep 25, 2023 2:47 pm
Hello to all,

I'm a long-time user and supporter of CE; however, this is the 1st time I've ever needed to ask for help or even post. I had to create a new account since I no longer have the original email I used back then. With all the years of CE and CT I have used, I'm still, unfortunately, a noob, hence the post. Would someone be so kind as to tell me if it is possible to increase a single permanent ability stat, and if so, how would one do so? I'm running the Steam version of BG3, but I launch with BG3 MOD Manager (if that matters). My issue is that my character/party member stats do not seem to populate in the table; they just show "???". I don't know if that is due to the MOD Manager, but I only have two basic MODs: the better containers and the cosmetic MOD that keeps your original eye instead of the Volo replacement eye. I want to thank anyone who takes the time to help me and, of course, the incredible people who make the programs and tables happen.

FYI:

CE version ---> 7.5.1
CT version ---> 10
Mods shouldn't matter, I have more mods than you. This table is a thing of beauty but it's a bit difficult to get the hang of.

What you want to do worked for me in the past just fine. What you have to do is check the boxes for the cheat you want to execute, save the game to populate the attributes, change them in CE, and then reload that save to make the changes appear in game.

Note that there's a value offset. That means that when Strength for example shows up as 0 in CE, it means that your Strength in game is 8. So if you set it to 4 in CE, it's 12 in game.

Post Reply

Who is online

Users browsing this forum: Bing [Bot], biosolidsnake, Google [Bot], Illusion11316, Maruc, moryabro, Shaggalicious, SrMorth, w1nterzy