z Baldur's Gate 3

Upload your cheat tables here (No requests)
EvenLess
Expert Cheater
Expert Cheater
Posts: 181
Joined: Fri Aug 04, 2023 10:59 pm
Reputation: 207

Re: z Baldur's Gate 3

Post by EvenLess »

sanitka wrote:
Sun Oct 22, 2023 10:14 pm
PrinceRevivalDK wrote:
Sun Oct 22, 2023 10:04 pm
EvenLess wrote:
Fri Oct 06, 2023 3:40 pm
Hey so a question.
...
Is there any way I can make spaces with these example of making it look somewhat similar to this.
learn youself CE and save yourself and us time with answering you beginners questions

- no, you can not simply put new-lines there, just spaces.
If you're not interested in helping, why then even post replies? The question isn't really CE related but more generally Lua code/BG3 commands related. There are plenty of ways to achieve what he's asking.
PrinceRevivalDK wrote:
Sun Oct 22, 2023 10:04 pm
Hey so a question. I like this script here.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
boosts = 
"UnlockSpellVariant(IsSpell() or not IsSpell(),ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly'),ModifyTargetRadius(AdditiveBase,10),ModifyNumberOfTargets(AdditiveBase,2),ModifyMaximumTargets(AdditiveBase,2),ModifySpellFlags(Stealth,1),ModifySpellFlags(Melee,0),ModifySavingThrowDisadvantage(),ModifyUseCosts(Override,ActionPoint,0,0),ModifyUseCosts(Override,BonusActionPoint,0,0),ModifyUseCosts(Override,ReactionActionPoint,0,0),ModifyTooltipDescription())"
AddBoostsToPlayer(boosts)

[DISABLE]
RemoveBoostsFromPlayer(boosts)
But as you can see, where it says boosts =

It is quite a long "sentence"

Is there any way I can make spaces with these example of making it look somewhat similar to this.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
boosts = "UnlockSpellVariant(IsSpell() or not IsSpell(),"
"ModifySpellRoll('not SavingThrow','"
"SpellAutoResolveOnAlly')",
"ModifyTargetRadius(AdditiveBase,10)",
AddBoostsToPlayer(boosts)
[DISABLE]
RemoveBoostsFromPlayer(boosts)
...
The first thing I like to do with a long string (the programming term for a what is a mix if letters, numbers, symbols etc.) like this, is to format it in a way to make it more readable, so I can better understand where I can "break it apart".

In your example this could look like this:

Code: Select all

UnlockSpellVariant(
    IsSpell() or not IsSpell(),
    ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly'),
    ModifyTargetRadius(AdditiveBase,10),
    ModifyNumberOfTargets(AdditiveBase,2),
    ModifyMaximumTargets(AdditiveBase,2),
    ModifySpellFlags(Stealth,1),
    ModifySpellFlags(Melee,0),
    ModifySavingThrowDisadvantage(),
    ModifyUseCosts(Override,ActionPoint,0,0),
    ModifyUseCosts(Override,BonusActionPoint,0,0),
    ModifyUseCosts(Override,ReactionActionPoint,0,0),
    ModifyTooltipDescription()
)
Looking at the string, it's basically a function with many parameters/arguments (which themselves are functions with parameters/arguments).
So the simplest way to break this into bits, would be to just use what is called concatenation, which is basically just taking two strings and add them together to one string. Because it's a function, we need to make sure we don't break the paramter/argument separators (commas), and that the last argument doesn't end with a comma. We're just gonna take care of that in our head, and swear at everything when we forget it :)

Code: Select all

{$lua}
if syntaxcheck then return end
local boost = ''
boost = boost .. "UnlockSpellVariant("
boost = boost .. "IsSpell() or not IsSpell(),"
boost = boost .. "ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly'),"
boost = boost .. "ModifyTargetRadius(AdditiveBase,10),"
boost = boost .. "ModifyNumberOfTargets(AdditiveBase,2),"
boost = boost .. "ModifyMaximumTargets(AdditiveBase,2),"
boost = boost .. "ModifySpellFlags(Stealth,1),"
boost = boost .. "ModifySpellFlags(Melee,0),"
boost = boost .. "ModifySavingThrowDisadvantage(),"
boost = boost .. "ModifyUseCosts(Override,ActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,BonusActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,ReactionActionPoint,0,0),"
boost = boost .. "ModifyTooltipDescription()"
boost = boost .. ")"

[ENABLE]
AddBoostsToPlayer(boost)

[DISABLE]
RemoveBoostsFromPlayer(boost)
Here I start by creating a local variable called "boost" that contains and empty string (nothing between the quotes). That's just how I prefer to do it. Then it's just a matter concat(enating) the strings together. The way it's done is to just the variable to itself + the added string. In Lua you concat by adding two dots/periods between the strings.

What I would probably do is to create a table (list/array) with the "Modify" items and using the built-in Lua table function concat to add them all together separated by a comma.

Code: Select all

{$lua}
if syntaxcheck then return end
local condition = "IsSpell() or not IsSpell()"
local arguments = {
    "ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly')",
    "ModifyTargetRadius(AdditiveBase,10)",
    "ModifyNumberOfTargets(AdditiveBase,2)",
    "ModifyMaximumTargets(AdditiveBase,2)",
    "ModifySpellFlags(Stealth,1)",
    "ModifySpellFlags(Melee,0)",
    "ModifySavingThrowDisadvantage()",
    "ModifyUseCosts(Override,ActionPoint,0,0)",
    "ModifyUseCosts(Override,BonusActionPoint,0,0)",
    "ModifyUseCosts(Override,ReactionActionPoint,0,0)",
    "ModifyTooltipDescription()",
}
table.concat(arguments, ',')
local boost = string.format("UnlockSpellVariant(%s,%s)", condition, arguments)

[ENABLE]
AddBoostsToPlayer(boost)

[DISABLE]
RemoveBoostsFromPlayer(boost)
So the first argument seems to be a condition for when all the modifications should be applied, so I move that to its own string variable condition. Then create a table variable arguments containing each of the modifications. Remember to remove the separator commas from the original string as these will be added using the table.concat function.
Then the table.concat function will take each item in the table arguments and concatenating them using a comma ',' as a separator.
Finally create the boost string. Here I'm using string.format so it's easy replace the %s string placeholders with the previously created variables. This could also be done using concatenation like this:

Code: Select all

local boost = "UnlockSpellVariant(" .. condition .. "," .. arguments .. ")"
Now all this is assuming that the UnlockSpellVariant() function uses 2 or more arguments, i.e. the condition and then one or more modifications. I don't know if this is the case.

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

User avatar
AkimboDK
Expert Cheater
Expert Cheater
Posts: 167
Joined: Tue Jan 23, 2018 7:57 pm
Reputation: 23

Re: z Baldur's Gate 3

Post by AkimboDK »

EvenLess wrote:
Mon Oct 23, 2023 2:38 am

Code: Select all

{$lua}
if syntaxcheck then return end
local boost = ''
boost = boost .. "UnlockSpellVariant("
boost = boost .. "IsSpell() or not IsSpell(),"
boost = boost .. "ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly'),"
boost = boost .. "ModifyTargetRadius(AdditiveBase,10),"
boost = boost .. "ModifyNumberOfTargets(AdditiveBase,2),"
boost = boost .. "ModifyMaximumTargets(AdditiveBase,2),"
boost = boost .. "ModifySpellFlags(Stealth,1),"
boost = boost .. "ModifySpellFlags(Melee,0),"
boost = boost .. "ModifySavingThrowDisadvantage(),"
boost = boost .. "ModifyUseCosts(Override,ActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,BonusActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,ReactionActionPoint,0,0),"
boost = boost .. "ModifyTooltipDescription()"
boost = boost .. ")"

[ENABLE]
AddBoostsToPlayer(boost)

[DISABLE]
RemoveBoostsFromPlayer(boost)
Man, you are a lifesaver :) ! this above works perfectly.
Now I can finally just use

Code: Select all

--boost = boost .. "ModifyUseCosts(Override,ReactionActionPoint,0,0),"
for whatever I do not want to have enabled instead of deleting it, so this really helped a lot, I am still trying to understand this whole string thing on how you make these things work, so I will try to mess a little with it, see if I can add something else to the list, I want to see if I can add movement speed reduction to infinite or longer movement speed, no luck yet, maybe I ll get it eventually lmao xD


EDIT:

Nevermind, I got something working here.

Code: Select all

{$lua}
if syntaxcheck then return end

local movementMeters    = 1000       -- The amount of movement.

boost = ''
boost = boost .. "UnlockSpellVariant("
boost = boost .. "IsSpell() or not IsSpell(),"
boost = boost .. "ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly'),"
boost = boost .. "ModifyTargetRadius(AdditiveBase,10),"
boost = boost .. "ModifyNumberOfTargets(AdditiveBase,2),"
boost = boost .. "ModifyMaximumTargets(AdditiveBase,10),"
--boost = boost .. "ModifySpellFlags(Verbal,0),"
boost = boost .. "ModifySpellFlags(Stealth,1),"
boost = boost .. "ModifySpellFlags(Melee,0),"
boost = boost .. "ModifySavingThrowDisadvantage(),"
boost = boost .. "ModifyUseCosts(Override,ActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,BonusActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,ReactionActionPoint,0,0),"
boost = boost .. "ModifyTooltipDescription()"
boost = boost .. ")"
boost = boost .. "ActionResourcePreventReduction(Movement);"
boost = boost .. string.format("ActionResourceOverride(Movement,%s,0);", movementMeters)

[ENABLE]
AddBoostsToPlayer(boost)

[DISABLE]
RemoveBoostsFromPlayer(boost)

solid1ct
Novice Cheater
Novice Cheater
Posts: 15
Joined: Thu Jan 16, 2020 1:09 am
Reputation: 0

Re: z Baldur's Gate 3

Post by solid1ct »

guys which feature should I enable to have infinite items like healing pots and arrows?

derpitto
What is cheating?
What is cheating?
Posts: 1
Joined: Mon Oct 23, 2023 3:27 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by derpitto »

Anyone here have Scratch's UUID? He died in the camp when one of my friends dumped the dead body with necrotic aura in their chest and I want to resurrect the doggo. Thanks

User avatar
sanitka
Expert Cheater
Expert Cheater
Posts: 459
Joined: Sat Aug 22, 2020 5:40 am
Reputation: 204

Re: z Baldur's Gate 3

Post by sanitka »

derpitto wrote:
Mon Oct 23, 2023 3:30 pm
Anyone here have Scratch's UUID? He died in the camp when one of my friends dumped the dead body with necrotic aura in their chest and I want to resurrect the doggo. Thanks
Do not be lazy and search or go couple of pages back for a great page dedicated to UUIDs and other information.

User avatar
sanitka
Expert Cheater
Expert Cheater
Posts: 459
Joined: Sat Aug 22, 2020 5:40 am
Reputation: 204

Re: z Baldur's Gate 3

Post by sanitka »

solid1ct wrote:
Mon Oct 23, 2023 3:20 pm
guys which feature should I enable to have infinite items like healing pots and arrows?
Try this piece of code ... tries to set amount 100 on anything with amount higher than 2 ;).
Attachments
BG3_Item100.CT
(2.23 KiB) Downloaded 139 times

fox.under.wolf
What is cheating?
What is cheating?
Posts: 1
Joined: Mon Oct 23, 2023 12:44 am
Reputation: 0

Re: z Baldur's Gate 3

Post by fox.under.wolf »

I apologize if this has been answered (I've searched and can't find anything) but is there any estimate on if/when the primary table in the first post will be updated to work on v4.1.1.3767641 ? I'd been using the table up until the game updated.

User avatar
sanitka
Expert Cheater
Expert Cheater
Posts: 459
Joined: Sat Aug 22, 2020 5:40 am
Reputation: 204

Re: z Baldur's Gate 3

Post by sanitka »

fox.under.wolf wrote:
Mon Oct 23, 2023 5:50 pm
I apologize if this has been answered (I've searched and can't find anything) but is there any estimate on if/when the primary table in the first post will be updated to work on v4.1.1.3767641 ? I'd been using the table up until the game updated.
Primary table is working, there is no need to update. If you have any issues, be specific.

solid1ct
Novice Cheater
Novice Cheater
Posts: 15
Joined: Thu Jan 16, 2020 1:09 am
Reputation: 0

Re: z Baldur's Gate 3

Post by solid1ct »

sanitka wrote:
Mon Oct 23, 2023 5:20 pm
solid1ct wrote:
Mon Oct 23, 2023 3:20 pm
guys which feature should I enable to have infinite items like healing pots and arrows?
Try this piece of code ... tries to set amount 100 on anything with amount higher than 2 ;).
Nice, gonna try it out and merge this table with yours.

User avatar
LibertusRex
Fearless Donors
Fearless Donors
Posts: 36
Joined: Fri Oct 11, 2019 1:45 pm
Reputation: 15

Re: z Baldur's Gate 3

Post by LibertusRex »

derpitto wrote:
Mon Oct 23, 2023 3:30 pm
Anyone here have Scratch's UUID? He died in the camp when one of my friends dumped the dead body with necrotic aura in their chest and I want to resurrect the doggo. Thanks

Code: Select all

UUID 3059f69c-068d-4e28-8491-55953c027901
MapKey	3059f69c-068d-4e28-8491-55953c027901
Name	S_FOR_Courier_Dog
Type	character
DisplayNameEnglish	Scratch

UUID b5deaa14-03b5-41c6-8372-7a9d758b4dfb
MapKey	b5deaa14-03b5-41c6-8372-7a9d758b4dfb
Name	DogFamiliar_Scratch_Summon
Type	character
DisplayNameEnglish	Scratch
Next time use this: [Link]

EvenLess
Expert Cheater
Expert Cheater
Posts: 181
Joined: Fri Aug 04, 2023 10:59 pm
Reputation: 207

Re: z Baldur's Gate 3

Post by EvenLess »

PrinceRevivalDK wrote:
Mon Oct 23, 2023 7:16 am
...
I am still trying to understand this whole string thing on how you make these things work, so I will try to mess a little with it, see if I can add something else to the list, I want to see if I can add movement speed reduction to infinite or longer movement speed, no luck yet, maybe I ll get it eventually lmao xD


EDIT:

Nevermind, I got something working here.

Code: Select all

{$lua}
if syntaxcheck then return end

local movementMeters    = 1000       -- The amount of movement.

boost = ''
boost = boost .. "UnlockSpellVariant("
boost = boost .. "IsSpell() or not IsSpell(),"
boost = boost .. "ModifySpellRoll('not SavingThrow','SpellAutoResolveOnAlly'),"
boost = boost .. "ModifyTargetRadius(AdditiveBase,10),"
boost = boost .. "ModifyNumberOfTargets(AdditiveBase,2),"
boost = boost .. "ModifyMaximumTargets(AdditiveBase,10),"
--boost = boost .. "ModifySpellFlags(Verbal,0),"
boost = boost .. "ModifySpellFlags(Stealth,1),"
boost = boost .. "ModifySpellFlags(Melee,0),"
boost = boost .. "ModifySavingThrowDisadvantage(),"
boost = boost .. "ModifyUseCosts(Override,ActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,BonusActionPoint,0,0),"
boost = boost .. "ModifyUseCosts(Override,ReactionActionPoint,0,0),"
boost = boost .. "ModifyTooltipDescription()"
boost = boost .. ")"
boost = boost .. "ActionResourcePreventReduction(Movement);"
boost = boost .. string.format("ActionResourceOverride(Movement,%s,0);", movementMeters)

[ENABLE]
AddBoostsToPlayer(boost)

[DISABLE]
RemoveBoostsFromPlayer(boost)
Good to see :)
Only thing to note is that you might want to add a semicolon after the lone parenthesis, i.e. boost = boost .. ")" to boost = boost .. ");". I'm not sure if I got the right term, so bear with me. The semicolon is a termination marker, i.e. it specifies the termination/end of a line/command, so the interpreter (the engine that reads the commands and converts it to machine code) can see where one line/command ends and a new one begins, so it doesn't try to mix two commands together as one command. So here it would indicate that the UnlockSpellVariant(); is completed before trying to mix ActionResourcePreventReduction(Movement); in as if those 2 commands/lines/functions was 1 command.
In some languages (such as PHP as I recall) the termination marker is required, even if the commands are on separate lines. Most other languages that I know (such as PowerShell, JavaScript, Lua) the termination marker is only really required if you are adding multiple commands one the same line. With the above approach that's exactly what we're doing.
If you want to see what is happening when you execute the script, you could try adding print(boost) after every boost = boost .. line, then you would see how Lua is just combining the next line to the previous line, making them one single line.

redjohn
What is cheating?
What is cheating?
Posts: 2
Joined: Tue Oct 24, 2023 9:39 am
Reputation: 0

Re: z Baldur's Gate 3

Post by redjohn »

sanitka wrote:
Mon Oct 23, 2023 6:11 pm
fox.under.wolf wrote:
Mon Oct 23, 2023 5:50 pm
I apologize if this has been answered (I've searched and can't find anything) but is there any estimate on if/when the primary table in the first post will be updated to work on v4.1.1.3767641 ? I'd been using the table up until the game updated.
Primary table is working, there is no need to update. If you have any issues, be specific.
I am having an issue with the latest table (v10) too. I can't activate the Console Commands. Clicking the box under Active doesn't work, and right-clicking on Console Commands shows the message < <Error while scanning for AOB's: console: Error Not all results found > >. I have used this successfully earlier this month with table v9. Any ideas on how to fix it?

EvenLess
Expert Cheater
Expert Cheater
Posts: 181
Joined: Fri Aug 04, 2023 10:59 pm
Reputation: 207

Re: z Baldur's Gate 3

Post by EvenLess »

redjohn wrote:
Tue Oct 24, 2023 9:49 am
sanitka wrote:
Mon Oct 23, 2023 6:11 pm
fox.under.wolf wrote:
Mon Oct 23, 2023 5:50 pm
I apologize if this has been answered (I've searched and can't find anything) but is there any estimate on if/when the primary table in the first post will be updated to work on v4.1.1.3767641 ? I'd been using the table up until the game updated.
Primary table is working, there is no need to update. If you have any issues, be specific.
I am having an issue with the latest table (v10) too. I can't activate the Console Commands. Clicking the box under Active doesn't work, and right-clicking on Console Commands shows the message < <Error while scanning for AOB's: console: Error Not all results found > >. I have used this successfully earlier this month with table v9. Any ideas on how to fix it?
Go to the first post, click the link Zanzer added to my additions. From that post, find the linke where I mention having added a version of Zanzer with autoloading. Just make sure my table is loaded before you start the game, then it will automatically ensure the items are activated as soon as they are ready, so you don't have to hit the activate just the right time.

User avatar
sanitka
Expert Cheater
Expert Cheater
Posts: 459
Joined: Sat Aug 22, 2020 5:40 am
Reputation: 204

Re: z Baldur's Gate 3

Post by sanitka »

redjohn wrote:
Tue Oct 24, 2023 9:49 am
sanitka wrote:
Mon Oct 23, 2023 6:11 pm
fox.under.wolf wrote:
Mon Oct 23, 2023 5:50 pm
I apologize if this has been answered (I've searched and can't find anything) but is there any estimate on if/when the primary table in the first post will be updated to work on v4.1.1.3767641 ? I'd been using the table up until the game updated.
Primary table is working, there is no need to update. If you have any issues, be specific.
I am having an issue with the latest table (v10) too. I can't activate the Console Commands. Clicking the box under Active doesn't work, and right-clicking on Console Commands shows the message < <Error while scanning for AOB's: console: Error Not all results found > >. I have used this successfully earlier this month with table v9. Any ideas on how to fix it?
it works with GOG, if not for you then unfortunately you have something wrong with your installation :(
for steam I can not confirm it works

how to fix it ?
in general, you learn CE, scripting and then open the script, check what it does, if it looks for a value in the memory then you have to find that value / piece of code (or very similar one) manually and then update the script to look for the value / piece of code you found ;) (that "simple").

redjohn
What is cheating?
What is cheating?
Posts: 2
Joined: Tue Oct 24, 2023 9:39 am
Reputation: 0

Re: z Baldur's Gate 3

Post by redjohn »

EvenLess wrote:
Tue Oct 24, 2023 9:58 am
Go to the first post, click the link Zanzer added to my additions. From that post, find the linke where I mention having added a version of Zanzer with autoloading. Just make sure my table is loaded before you start the game, then it will automatically ensure the items are activated as soon as they are ready, so you don't have to hit the activate just the right time.
Thanks, got it working. For some reason using the autoloader version started the game up without it seeing my data, i.e. I had to accept EULA and do some configuration and then had no saves available to load. Quitting the game and cheat engine, starting cheat engine and loading the non-autoloader table, starting the game, and then attaching cheat engine worked for me after this and also correctly loaded my profile data. Everything worked fine after this.

I think my problem was that I initally tried loading the table in the middle of a session with the game already loaded. I either didn't know or forgot that I should attach Cheat Engine before loading a save. Hope this might be helpful to someone.

Post Reply

Who is online

Users browsing this forum: AhrefsBot, Gargrim, Google Adsense [Bot], IDDQD_2023, shapka85, sockuser, wepon1984