z Baldur's Gate 3

Upload your cheat tables here (No requests)
User avatar
gunbalde60
Expert Cheater
Expert Cheater
Posts: 374
Joined: Tue Jan 09, 2018 3:53 am
Reputation: 32

Re: z Baldur's Gate 3

Post by gunbalde60 »

Can someone provide some insight on how the add feat/add spell works? I don't see the add spell option on the trainer at all, and when I use the Passive/Feats option then I check mark anything nothing happens.

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

revnir
What is cheating?
What is cheating?
Posts: 4
Joined: Thu Aug 17, 2023 1:25 am
Reputation: 1

Re: z Baldur's Gate 3

Post by revnir »

Hey, I tried to search the forum post for the Noblestalk UUID and the search bar for me doesnt work, not sure if this is a bug on this platform. Has anyone confirmed what the UUID is?

dsf000
What is cheating?
What is cheating?
Posts: 1
Joined: Thu Feb 11, 2021 8:36 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by dsf000 »

how can i add exp to just a single character and not the entire party?

revnir
What is cheating?
What is cheating?
Posts: 4
Joined: Thu Aug 17, 2023 1:25 am
Reputation: 1

Re: z Baldur's Gate 3

Post by revnir »

I think I got the Noblestalk's UUID:

Item: S_UND_MushroomHunter_Noblestalk_09561b3f-f556-4a01-b289-9b362bc0d43a
Template: PUZ_Underdark_Mushroom_Noblestalk_A_48c679c1-b713-4d2f-9bba-1c43ed654404

revnir
What is cheating?
What is cheating?
Posts: 4
Joined: Thu Aug 17, 2023 1:25 am
Reputation: 1

Re: z Baldur's Gate 3

Post by revnir »

Can someone guide this noob cheater on how to use the above to drop an extra noblestalk?

aaronjreeves
Novice Cheater
Novice Cheater
Posts: 19
Joined: Sun Aug 13, 2023 12:19 am
Reputation: 7

Re: z Baldur's Gate 3

Post by aaronjreeves »

TO EVERYONE TRYING TO SPAWN NPCS:

Unless the NPC you are trying to spawn is a companion, you will not be able to talk to them once you've spawned them into the game using the NPC spawn table with their UUID. They will just stand there lifeless unless you perfectly place them in the world AND perfectly execute the entire fragile string of flags for the events and world states that load their animations and even once you got them properly executing their animations, you still cant talk to them. You can even flag them as having dialogue, making them glow when you hover over them and giving you a speech bubble icon, but when you click, nothing happens. Ive spent 20+ hours researching and digging to try to make it work, and as of this moment, you cannot.

Specifically, there is a database in your safe file named "PermaDead" (theres actually 4 variants of this DB), and when a NPC dies they are added to this database. YOU CANNOT REMOVE THEM FROM THE DB WITHOUT EDITING THE SAVE FILE. As of this moment, the LSLib ConverterTool CANNOT properly re-package a save file even if you dont edit the save at all.

You can test this yourself, download the LSLib converter tool ([Link]) then open the converter app, choose BG3 at the top, use the extract package tab, choose your .lsv save file in package path and whatever folder you want as destination path, this will unpack your save file into a bunch of .lsf files, take the folder you just used as your destination to the LSX/LSF tab and in batch convert choose it as the input AND output directory and input format lsf and output format lsx. this will take those unreadable .lsf files and convert them to a xml readable lsx. you now have a fully editable copy of your save file that you can dig through to edit as much as you want.

this is the point where I spent countless hours researching quest flags, game states and event triggers. Let me tell you that I have EXHAUSTED every possibility of editing a save file and no matter WHAT you do, when you repackage the save file by reversing the above steps, it will crash on load. Even if you just unpack and repack the save file with no changes, it still crashes on load.

in the story (OSI) tools tab you can load your save file as well and browse the flags in the database editor. This is where you can see the PermaDead DB. You can even edit the DB on this tab as well but again, no matter what changes you make, even if you make no changes at all, when you click "save" you get a warning that LSLib cannot properly repackage the .lsv save file and you get a crash on load.

Theres no way to spawn a USABLE dead NPC until we get a way to properly repackage a save file and hopefully a better tool to edit them, having to do all that work to unpack/repack the save is a pain in the ass, and the database editor on the OSI tab sucks ass, for example there is a DB for "TieflingSurvivors" that lists all the tieflings that survived the druid den attack and if they died in your save, the DB is blank, and you CANT ADD ANY ROWS meaning you cant just type in the name of the tieflings because the DB is empty and you cant add rows.

maybe someone else figures someth9ing out with our existing toolset that ive overlooked or dont understand, but I think were AWOL until the LSLib tools get a bit better or we get some alternate save game editing tool

revnir
What is cheating?
What is cheating?
Posts: 4
Joined: Thu Aug 17, 2023 1:25 am
Reputation: 1

Re: z Baldur's Gate 3

Post by revnir »

For those wanting to spawn a Noblestalk, I figured it out! :D

When running the CE tool, change the Spawn Hand Crossbow +2 (Sample Script) so that it reads exactly this:

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
local item = {
"09561b3f-f556-4a01-b289-9b362bc0d43a",
}
TemplateAddToPlayer(item, 1)
[DISABLE]

IyobxD
What is cheating?
What is cheating?
Posts: 4
Joined: Sat Aug 12, 2023 1:32 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by IyobxD »

I don't know if it's been mentioned, but Add Tadpole Passives is broken somehow. Everything that I press will use up an Action + Bonus Action, also locking out of passives like War Clerics extra attacks because even Main Hand Attack will steal both actions.

I was able to test this going between two saves where I had it enabled, and another where I didn't have it on.

httds
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Aug 17, 2023 2:54 am
Reputation: 0

Re: z Baldur's Gate 3

Post by httds »

There seems to be an issue when enabling unlimited spell slots - level 6 slots dont remain infinite.

YkirMor
Noobzor
Noobzor
Posts: 5
Joined: Mon Aug 14, 2023 2:29 am
Reputation: 0

Re: z Baldur's Gate 3

Post by YkirMor »

Thepledge wrote:
Sat Aug 12, 2023 3:45 pm
echovald wrote:
Sat Aug 12, 2023 2:33 pm
Any updates on romance flags or how exactly to use the IsDating flag?
I've made a series of console commands for setting and clearing the various isdating flags, and have managed to start the romance paths with everyone but wyll so far in my game by clearing other romances, then trying to trigger the relevant dialog, IE, get approval high with gale, clear all romances, camp, wait til night, get magic lessons, then reset all your romances. probably there will be other conflicts to navigate as time goes on, but working alright so far.

Just copy the below code, then press ctrl v within your cheatengine table

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>4499</ID>
      <Description>"Romance Flags"</Description>
      <LastState Value="" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>4507</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>4508</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>4509</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>4510</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>4511</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>4500</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>4501</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>4502</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>4503</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("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>4504</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>4505</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>4512</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>4506</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>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Can anyone tell me why checking "dating Shadowheart" triggers dialogue as if we've broken up?

JayBee222
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Aug 17, 2023 3:25 am
Reputation: 1

Re: z Baldur's Gate 3

Post by JayBee222 »

IyobxD wrote:
Thu Aug 17, 2023 2:24 am
I don't know if it's been mentioned, but Add Tadpole Passives is broken somehow. Everything that I press will use up an Action + Bonus Action, also locking out of passives like War Clerics extra attacks because even Main Hand Attack will steal both actions.

I was able to test this going between two saves where I had it enabled, and another where I didn't have it on.
I had some fuckery with that, too. I believe it is specifically the "TAD_MindSanctuary" ability, which is supposed to allow you to use Actions and Bonus Actions interchangeably. Double click on the <script> to open it, put two dashes (--) in front of that specific ability to comment it out, and that script will only give you the other passives. Then see if you still have the problem. (You could also just delete that specific ability, just make sure the syntax is correctly intact afterwards)

JayBee222
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Aug 17, 2023 3:25 am
Reputation: 1

Re: z Baldur's Gate 3

Post by JayBee222 »

Cidrow wrote:
Wed Aug 16, 2023 1:49 pm
Here is full Passive/Feat list for Zanzer's latest table.
Original list was made by PapaPetro. It's massive - around 1566 unsorted scripts.
Merge with Zanzer's table or copy what you needed.
Has anyone gone through this list of passives and found the Paladin Auras? I've been looking up and down through it for an hour or two, and while I've found lots of good stuff, I don't see the auras. Can anyone spot them for me? Or perhaps they're just not in there?

Ghostlander
Cheater
Cheater
Posts: 32
Joined: Sun Aug 13, 2023 6:14 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by Ghostlander »

YkirMor wrote:
Thu Aug 17, 2023 3:28 am
Thepledge wrote:
Sat Aug 12, 2023 3:45 pm
echovald wrote:
Sat Aug 12, 2023 2:33 pm
Any updates on romance flags or how exactly to use the IsDating flag?
I've made a series of console commands for setting and clearing the various isdating flags, and have managed to start the romance paths with everyone but wyll so far in my game by clearing other romances, then trying to trigger the relevant dialog, IE, get approval high with gale, clear all romances, camp, wait til night, get magic lessons, then reset all your romances. probably there will be other conflicts to navigate as time goes on, but working alright so far.

Just copy the below code, then press ctrl v within your cheatengine table

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>4499</ID>
      <Description>"Romance Flags"</Description>
      <LastState Value="" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>4507</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>4508</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>4509</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>4510</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>4511</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>4500</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>4501</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>4502</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>4503</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("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>4504</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>4505</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>4512</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>4506</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>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Can anyone tell me why checking "dating Shadowheart" triggers dialogue as if we've broken up?

This exact thing happened to me. I activated the flag in act 2 and we were solid. Then as soon as act 3 started she was as if we had broken up just then. Wtf? Wheres a flag for fixing that?

YkirMor
Noobzor
Noobzor
Posts: 5
Joined: Mon Aug 14, 2023 2:29 am
Reputation: 0

Re: z Baldur's Gate 3

Post by YkirMor »

Ghostlander wrote:
Thu Aug 17, 2023 3:40 am
YkirMor wrote:
Thu Aug 17, 2023 3:28 am
Thepledge wrote:
Sat Aug 12, 2023 3:45 pm


I've made a series of console commands for setting and clearing the various isdating flags, and have managed to start the romance paths with everyone but wyll so far in my game by clearing other romances, then trying to trigger the relevant dialog, IE, get approval high with gale, clear all romances, camp, wait til night, get magic lessons, then reset all your romances. probably there will be other conflicts to navigate as time goes on, but working alright so far.

Just copy the below code, then press ctrl v within your cheatengine table

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>4499</ID>
      <Description>"Romance Flags"</Description>
      <LastState Value="" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>4507</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>4508</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>4509</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>4510</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>4511</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>4500</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>4501</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>4502</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>4503</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("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>4504</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>4505</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>4512</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>4506</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>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Can anyone tell me why checking "dating Shadowheart" triggers dialogue as if we've broken up?

This exact thing happened to me. I activated the flag in act 2 and we were solid. Then as soon as act 3 started she was as if we had broken up just then. Wtf? Wheres a flag for fixing that?
I accidentally had the Act 1 druid party romance scene happen between Karlach and Shadowheart somehow and it seems to be irreversible. Im pretty salty because i wanted to end the game with Shadowheart. In Act 3 now with none of her romance cutscenes after doing everything else right.

User avatar
Sneethe
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Aug 17, 2023 3:47 am
Reputation: 0

Re: z Baldur's Gate 3

Post by Sneethe »

Is there a way to spawn Glut (the fat Myconid sovereign) as a temporary companion on demand? or make him permanent? He has one of the best necromancy spells in the game (which doesn't work properly for players)

Post Reply

Who is online

Users browsing this forum: Bing [Bot], bpx, Campers, cun1vip, eliga666, Google Adsense [Bot], isamon, jonaaa, joryleech, Retalius, seanseano, ShadowxGG, tassadarpaladin