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: 209

Re: z Baldur's Gate 3

Post by EvenLess »

PrinceRevivalDK wrote:
Fri Oct 06, 2023 6:30 am
EvenLess wrote:
Fri Oct 06, 2023 2:21 am
PrinceRevivalDK wrote:
Thu Oct 05, 2023 3:04 pm


Uh, maybe, I just don't know how to do that XD
There's a tag (or a flag, can't remember which), that is set when you cast Divine Intervention. I would think you could just clear that flag, to be able to cast it again.
Oh well, I guess I won't be able to do this myself, unless a very kind soul would try and figure this out, I would appreciate that a lot, that AoE spell is amazing XD.
That spell Sunder the Heretical combined with Spirit Guardian would be a nice combo for Clerics while concentrating on Spirit, and can cast another aeo spell without losing the concentration xD
I haven't tested this, just searched for "intervention" in the tags table in my BG3Commander (which is using Noway3's data dumps). As for the function used, I just dug through Zanzer's Register Commands script where he have created these functions to make it easy for people like us.

You could also just copy/edit one of the existing tags under Zanzer's Character Tags.

Code: Select all

--[[
DIVINE_INTERVENTION_USED

A tag to identify if a character has already used Divine Intervention. This
makes sure the spell cannot be re-added.
]]
local tag = '37ad267f-7295-4c1e-9ca4-769c8c06441d'
ClearTagOnPlayer(tag)
--SetTagOnPlayer(tag)


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: 170
Joined: Tue Jan 23, 2018 7:57 pm
Reputation: 24

Re: z Baldur's Gate 3

Post by AkimboDK »

EvenLess wrote:
Fri Oct 06, 2023 3:40 pm
PrinceRevivalDK wrote:
Fri Oct 06, 2023 6:30 am
EvenLess wrote:
Fri Oct 06, 2023 2:21 am


There's a tag (or a flag, can't remember which), that is set when you cast Divine Intervention. I would think you could just clear that flag, to be able to cast it again.
Oh well, I guess I won't be able to do this myself, unless a very kind soul would try and figure this out, I would appreciate that a lot, that AoE spell is amazing XD.
That spell Sunder the Heretical combined with Spirit Guardian would be a nice combo for Clerics while concentrating on Spirit, and can cast another aeo spell without losing the concentration xD
I haven't tested this, just searched for "intervention" in the tags table in my BG3Commander (which is using Noway3's data dumps). As for the function used, I just dug through Zanzer's Register Commands script where he have created these functions to make it easy for people like us.

You could also just copy/edit one of the existing tags under Zanzer's Character Tags.

Code: Select all

--[[
DIVINE_INTERVENTION_USED

A tag to identify if a character has already used Divine Intervention. This
makes sure the spell cannot be re-added.
]]
local tag = '37ad267f-7295-4c1e-9ca4-769c8c06441d'
ClearTagOnPlayer(tag)
--SetTagOnPlayer(tag)
I'll give it a shot, but will this remove the "used" and re-add it once I use the spell again? or does this work to remove the tag everytime I use the spell? (know you said you did not test it, but what do you think this will do?)


EDIT:

Alright so I tried this.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
ClearTagOnPlayer("37ad267f-7295-4c1e-9ca4-769c8c06441d")

local spell = "Shout_DivineIntervention"

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, spell)
writeBytes(cmdStr2 + #spell, 0)

PrepareCall("AddSpell")
writePointer(cmdArgs + 0x08, cmdStr1)
writePointer(cmdArgs + 0x18, cmdStr2)
writeQword(cmdArgs + 0x28, 1)
writeQword(cmdArgs + 0x38, 1)
writeQword(cmdArgs + 0x48, 0)
local result = executeCodeEx(0, nil, cmdCall)
if result ~= 1 then
  print("command failed")
end
{$asm}
[DISABLE]
This after I used the spell remove the tag again, and re adds the spell. but I would have to set a hotkey so I can enable this everytime I use the spell.

Don't know if there is a better solution but this is the best I could do I guess..

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

Re: z Baldur's Gate 3

Post by EvenLess »

PrinceRevivalDK wrote:
Fri Oct 06, 2023 4:24 pm
EvenLess wrote:
Fri Oct 06, 2023 3:40 pm
PrinceRevivalDK wrote:
Fri Oct 06, 2023 6:30 am


Oh well, I guess I won't be able to do this myself, unless a very kind soul would try and figure this out, I would appreciate that a lot, that AoE spell is amazing XD.
That spell Sunder the Heretical combined with Spirit Guardian would be a nice combo for Clerics while concentrating on Spirit, and can cast another aeo spell without losing the concentration xD
I haven't tested this, just searched for "intervention" in the tags table in my BG3Commander (which is using Noway3's data dumps). As for the function used, I just dug through Zanzer's Register Commands script where he have created these functions to make it easy for people like us.

You could also just copy/edit one of the existing tags under Zanzer's Character Tags.

Code: Select all

--[[
DIVINE_INTERVENTION_USED

A tag to identify if a character has already used Divine Intervention. This
makes sure the spell cannot be re-added.
]]
local tag = '37ad267f-7295-4c1e-9ca4-769c8c06441d'
ClearTagOnPlayer(tag)
--SetTagOnPlayer(tag)
I'll give it a shot, but will this remove the "used" and re-add it once I use the spell again? or does this work to remove the tag everytime I use the spell? (know you said you did not test it, but what do you think this will do?)


EDIT:

Alright so I tried this.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
ClearTagOnPlayer("37ad267f-7295-4c1e-9ca4-769c8c06441d")

local spell = "Shout_DivineIntervention"

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, spell)
writeBytes(cmdStr2 + #spell, 0)

PrepareCall("AddSpell")
writePointer(cmdArgs + 0x08, cmdStr1)
writePointer(cmdArgs + 0x18, cmdStr2)
writeQword(cmdArgs + 0x28, 1)
writeQword(cmdArgs + 0x38, 1)
writeQword(cmdArgs + 0x48, 0)
local result = executeCodeEx(0, nil, cmdCall)
if result ~= 1 then
  print("command failed")
end
{$asm}
[DISABLE]
This after I used the spell remove the tag again, and re adds the spell. but I would have to set a hotkey so I can enable this everytime I use the spell.

Don't know if there is a better solution but this is the best I could do I guess..
Looks fine to me, at first glance. Only thing to note, is that I can see you're using "old" code. Zanzer made functions to make the creation of these scripts easier, including a function for adding spells. So the code you're using could be boiled down to the following.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
ClearTagOnPlayer("37ad267f-7295-4c1e-9ca4-769c8c06441d")
AddSpellToPlayer("Shout_DivineIntervention")
[DISABLE]
Also, haven't tried this, but it looks like Divine Intervention is just a container for the various sub-spells:
[Link]
So you could probably just add the "Sunder the Heretical" directly using Shout_DivineIntervention_Attack

westriel
What is cheating?
What is cheating?
Posts: 1
Joined: Fri Oct 06, 2023 6:57 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by westriel »

I tried searching this thread but the search bar appears to be broken, so I'm not sure if this has been asked and answered yet, but how do I see the output of various commands' print statements? Is there a CE console that I don't know how to open or what. I'm trying to use some of the cheats and nothing is happening so I figured I'd look at the printouts but can't find them. Thanks for any assistance!

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

Re: z Baldur's Gate 3

Post by AkimboDK »

EvenLess wrote:
Fri Oct 06, 2023 6:53 pm
PrinceRevivalDK wrote:
Fri Oct 06, 2023 4:24 pm
EvenLess wrote:
Fri Oct 06, 2023 3:40 pm


I haven't tested this, just searched for "intervention" in the tags table in my BG3Commander (which is using Noway3's data dumps). As for the function used, I just dug through Zanzer's Register Commands script where he have created these functions to make it easy for people like us.

You could also just copy/edit one of the existing tags under Zanzer's Character Tags.

Code: Select all

--[[
DIVINE_INTERVENTION_USED

A tag to identify if a character has already used Divine Intervention. This
makes sure the spell cannot be re-added.
]]
local tag = '37ad267f-7295-4c1e-9ca4-769c8c06441d'
ClearTagOnPlayer(tag)
--SetTagOnPlayer(tag)
I'll give it a shot, but will this remove the "used" and re-add it once I use the spell again? or does this work to remove the tag everytime I use the spell? (know you said you did not test it, but what do you think this will do?)


EDIT:

Alright so I tried this.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
ClearTagOnPlayer("37ad267f-7295-4c1e-9ca4-769c8c06441d")

local spell = "Shout_DivineIntervention"

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, spell)
writeBytes(cmdStr2 + #spell, 0)

PrepareCall("AddSpell")
writePointer(cmdArgs + 0x08, cmdStr1)
writePointer(cmdArgs + 0x18, cmdStr2)
writeQword(cmdArgs + 0x28, 1)
writeQword(cmdArgs + 0x38, 1)
writeQword(cmdArgs + 0x48, 0)
local result = executeCodeEx(0, nil, cmdCall)
if result ~= 1 then
  print("command failed")
end
{$asm}
[DISABLE]
This after I used the spell remove the tag again, and re adds the spell. but I would have to set a hotkey so I can enable this everytime I use the spell.

Don't know if there is a better solution but this is the best I could do I guess..
Looks fine to me, at first glance. Only thing to note, is that I can see you're using "old" code. Zanzer made functions to make the creation of these scripts easier, including a function for adding spells. So the code you're using could be boiled down to the following.

Code: Select all

{$lua}
if syntaxcheck then return end
[ENABLE]
ClearTagOnPlayer("37ad267f-7295-4c1e-9ca4-769c8c06441d")
AddSpellToPlayer("Shout_DivineIntervention")
[DISABLE]
Also, haven't tried this, but it looks like Divine Intervention is just a container for the various sub-spells:
[Link]
So you could probably just add the "Sunder the Heretical" directly using Shout_DivineIntervention_Attack
Yeah I tried that at first, but that gave me an error so that is why I used the longer code.

Btw is there a way to make a script that makes me immune to that tag? so that the game wont even remove the spell after being used because I am immune to it?

jrcbandit
What is cheating?
What is cheating?
Posts: 1
Joined: Tue Oct 12, 2021 10:21 am
Reputation: 0

Re: z Baldur's Gate 3

Post by jrcbandit »

Is there a way to use flags to bring a NPC back after it has been killed? Apparently, the druids were able to kill Auntie Ethel after I stole the Idol and the druids went crazy and killed everyone in the druids grove. When I head towards Auntie Ethel's teahouse, she only shows up in cutscenes such as with the brothers or Mayrina, but she actually isn't present in the teahouse or her hag lair. None of the combats after cutscene dialogue initiate because apparently she was "killed" by the druids. I don't feel like replaying the last 8 hours (my last save game before stealing the idol in the grove) as this is a 2nd playthrough to recruit Minthara.

User avatar
dd3dd
Novice Cheater
Novice Cheater
Posts: 23
Joined: Sun Aug 20, 2023 6:46 am
Reputation: 10

Re: z Baldur's Gate 3

Post by dd3dd »

jrcbandit wrote:
Fri Oct 06, 2023 10:12 pm
Is there a way to use flags to bring a NPC back after it has been killed? Apparently, the druids were able to kill Auntie Ethel after I stole the Idol and the druids went crazy and killed everyone in the druids grove. When I head towards Auntie Ethel's teahouse, she only shows up in cutscenes such as with the brothers or Mayrina, but she actually isn't present in the teahouse or her hag lair. None of the combats after cutscene dialogue initiate because apparently she was "killed" by the druids. I don't feel like replaying the last 8 hours (my last save game before stealing the idol in the grove) as this is a 2nd playthrough to recruit Minthara.
I saw this post viewtopic.php?p=308441#p308441 by @Daz yesterday while searching, I did go thru and check if Auntie Ethel was on the list, but she is not. However you should probably ask Daz if there is a way to get her.

ImageImage

123412435
What is cheating?
What is cheating?
Posts: 1
Joined: Fri Oct 06, 2023 11:31 pm
Reputation: 0

Re: z Baldur's Gate 3

Post by 123412435 »

Hi everyone and thank you for your job
Ive been using the engine to speed up the game as it is too slow, buy lately this is causing issues with the cursor, does anyone else has this problem or knows how to solve it?

NeatWolf
Noobzor
Noobzor
Posts: 12
Joined: Wed Apr 20, 2022 5:09 pm
Reputation: 1

Re: z Baldur's Gate 3

Post by NeatWolf »

Noway3 wrote:
Mon Sep 18, 2023 6:33 pm
NeatWolf wrote:
Sun Sep 17, 2023 10:32 am
Spoiler
Noway3 wrote:
Sat Aug 26, 2023 2:52 pm
Hi All,
Spoiler
  • Update: 2023-09-16:
    1. Added logic to better completely eliminate duplicates (from game patches)
    2. Added logic to put "important/useful" columns in front, excel and json files.
  • Update: 2023-09-15:
    1. Fixed missing English translations (mainly in templates files)
    2. Added Flags and Tags files
    3. Added TimelineTemplates in addition to RootTemplates
    4. Updated the code and data up to game version "Patch2 / Hotfix2"
    5. Re-organized files on a google drive share (see new links in this post)
    6. Published the python script source code
    7. Added SQLite3 output format (for future use)
Pitch and details
I have created a script to gather all the stats of things such as Armors, Characters, Object, Passives, Spells, Statuses, Tags, Flags, Templates, Weapons and outputs them into JSON, Excel files and SQLite database .

With these files, you should be able to query for any item, spell, boost, flag, tag, status that you may be looking for and find the corresponding UUID to use in the cheat tables.

Here is the link to the google drive directory, with all the files:
:!: Note: the JSON, Excel or SQLite version contains the same data in different formats; choose the format that fits your habits/needs.

The google drive [Link] contains:
  • [Link] Relatively small files that can be browsed with a JSON viewer (see examples below).
  • [Link] Same as above in a format for easy import to excel or other databases.
  • [Link] Somewhat bigger but Excel presentation, filtering, sorting, searching capabilities is candy-bar! Most can be viewed online.
  • [Link] (:!: 22 MB - download only) An all-in-one sqlite3 database for use and processing by other tools.
  • [Link] The python code that rules them all (creating all of these files).
Each directories (json, excel, the sqlite db) contains an instance of these game objects (files):
  • Armors (base stuff)
  • Characters (Stats)
  • Flags
  • Objects
  • Passives
  • Spells
  • Statuses
  • Tags
  • Templates - advanced items (magical stuff) *new* includes RootTemplates and TimelineTemplates
  • Weapons (base stuff)

My thanks again (and again) and credits to Zander, EvenLess and all the others in this forum that heavily inspired my own production here.
----------------------------------------------------------------------
Previous updates and obsolete stuff
[*] Update: 2023-09-01:

I have refreshed all the JSON and the EXCEL sheets to include Patch2 updates for all items, spells, etc ... and translations.
    [*] Update: 2023-08-28:

    I have updated all the JSON and the EXCEL sheets with a "fresh script run" today. With these changes:
    1. Added all RootTemplates records (.xlsx and _dict.json))
      • In these files I have gathered the records from "RootTemplates" files found in the 'UnpackedData' directory tree.
      • All are there (367792 rows) and, as a result, it is quite a cumbersome list. I suggest to filter it with "Type = item" to get the essentials:
      • You will find there, among other, "skinned" weapons and armors (like the Nightsong outfit), books, alchemy, food, weapons, quests and other more mundane stuff.
    2. Sorted the columns in the excel sheets
      • I have moved the most "interesting one" to left so you have then on screen at first sight (English names, UUID, ..)
    3. Corrected few bugs in my script that missed certain type of translations.
    I have created a script to gather all the stats of things such as Armors, Characters, Object, Passives, Spells, Statuses and Weapons and puts them into JSON files.
    The script does also puts them all together, in on Excel workbook with separated Excel sheets per item type.
    The resulting workbook is less than 4MB and can be downloaded or browsed online.

    With these files, you should be able to query any item that you may be looking for and find the corresponding UUID (when available)
    to use in the cheat tables.


    Here are the files (links to google drive):
    (I hope that these links are OK with the forum rules!)

    The excel workbook contains all the sheets that are in the other JSON files
    • Obsolete url removed. See updated list of file above
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    • [Link]
    You can view JSON files in any text viewer but I suggest to use a specialized viewer, like "Datroit JSON Viewer" (available on datroit_dot_com).
    MS Visual Studio Code is also fine for viewing and searching inside JSON files.

    While testing my script, I have found that they are sometimes multiple instances of the same object in different files.

    Does anybody knows where I can find the proper "load order" of "unpacked _data" to ensure that I am taking the latest update of an object only?
    This is the "load order" that I use in my script for now -- can someone check if that's right, please?:
    "Gustav/Public/Gustav", "Gustav/Public/GustavDev",
    "Patch0_Hotfix1/Public/Shared", "Patch0_Hotfix1/Public/SharedDev",
    "Patch0_Hotfix1/Public/Gustav", "Patch0_Hotfix1/Public/GustavDev"
    "Patch0_Hotfix2/Public/Shared", "Patch0_Hotfix2/Public/SharedDev",
    "Patch0_Hotfix2/Public/Gustav", "Patch0_Hotfix2/Public/GustavDev"
    "Patch0_Hotfix3/Public/Shared", "Patch0_Hotfix3/Public/SharedDev",
    "Patch0_Hotfix3/Public/Gustav", "Patch0_Hotfix3/Public/GustavDev"
    "Patch0_Hotfix4/Public/Shared", "Patch0_Hotfix4/Public/SharedDev",
    "Patch0_Hotfix4/Public/Gustav", "Patch0_Hotfix4/Public/GustavDev"
    "Patch1/Public/Shared", "Patch1/Public/SharedDev",
    "Patch1/Public/Gustav", "Patch1/Public/GustavDev"
    "Patch2/Public/Shared", "Patch2/Public/SharedDev",
    "Patch2/Public/Gustav", "Patch2/Public/GustavDev",
    "Patch2_Hotfix1/Public/Shared", "Patch2_Hotfix1/Public/SharedDev",
    "Patch2_Hotfix1/Public/Gustav", "Patch2_Hotfix1/Public/GustavDev",
    "Patch2_Hotfix2/Public/Shared", "Patch2_Hotfix2/Public/SharedDev",
    "Patch2_Hotfix2/Public/Gustav", "Patch2_Hotfix2/Public/GustavDev"
    Here are some example of what's in those files:
    Example of spell details found in Spell_dict.json
    "Shout_MAG_Critical_ArcanicCritical": {
    "EntryName": "Shout_MAG_Critical_ArcanicCritical",
    "EntryType": "SpellData",
    "SpellType": "Shout",
    "EntryUsing": "Shout_FalseLife",
    "SpellSchool": "Divination",
    "SpellProperties": "ApplyStatus(MAG_CRITICAL_ARCANIC_CRITICAL,100, 1)",
    "Icon": "Action_Monster_Orin_DeathbringerAssault",
    "DisplayName": "hcb4c06ebgeb5dg4b0dgb4d3gce925d8b8833;2",
    "DisplayName_English": "Arcane Critical",
    "Description": "h32772a4agf2f6g43fagaa4fgecb011feb623;3",
    "Description_English": "Magically augment your ability to annihilate your foes with powerful attacks. The number you need to <LSTag Tooltip=\"AttackRoll\">roll</LSTag> a <LSTag Tooltip=\"CriticalHit\">Critical Hit</LSTag> while attacking is reduced by 2. This effect can stack.",
    "DescriptionParams": "1",
    "TooltipStatusApply": "ApplyStatus(MAG_CRITICAL_ARCANIC_CRITICAL,100, 1)",
    "UseCosts": "BonusActionPoint:1;SpellSlotsGroup:1:1:1",
    "VerbalIntent": "Buff",
    "root_folder": "Patch1/Public/GustavDev"
    },
    Example of lookup for "Legendary" in file "Armor_dict.json" with Datroit JSON viewer:
    Image

    Another example of browsing JSON file with MS Visual Studio Code:
    Image

    Before somebody ask: I intend to share the python script soon but it is a bit of a mess for now: it needs both more testing and cleanup.
    --> The source code is now also shared on the google drive
    Please let me know if something looks to be missing or wrong!

    And don't forget to enjoy the game!
    Hi there!
    Thanks for sharing those tables - they definitely are of huge help for modding (especially if you don't want to dedicate 9+GB to dump most files from gustav and shared.

    I was wondering - do you also happen to have a table where to find the pairs "creature_name" - UUID?

    I was trying to spawn specific creatures or summons but I can't seem to find the UUIDs in my files. For instance, let's suppose we want to spawn a "Squirrel" (taken from the Creatures list) - did you perchance stumble on where the index to pair it with a UUID is stored?
    Here is your squirrel :) - Just execute the code in the CE console window to get one near you but don't expect him doing fancy things or ... anything actually! The uuid can be found in "Templates" files : e.g. search for Squirrel in "Templates_dict.json" an use the "MapKey" as UUID.

    Code: Select all

    local uuid = "6d8584d9-7a83-49b5-8f7c-d777fc57f705" -- Squirrel
    local player = GetHostCharacter()
    
    SetArgToString(0, uuid)
    SetArgToString(1, player)
    SetArgToLong(2, 0)
    SetArgToLong(3, 1)
    SetArgToLong(4, 0)
    SetArgToLong(5, 1)
    ClearArg(6)
    ExecuteCall("CreateAtObject")
    SPAWNED_UNIT = GetArgAsString(6)
    
    I didn't get the notification! :(
    Thank you so much for the advice!
    I was also able to find most UUIDs via the MultiTool (I'm dabbling with modding a bit)

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

    Re: z Baldur's Gate 3

    Post by EvenLess »

    PrinceRevivalDK wrote:
    Fri Oct 06, 2023 7:33 pm
    EvenLess wrote:
    Fri Oct 06, 2023 6:53 pm
    PrinceRevivalDK wrote:
    Fri Oct 06, 2023 4:24 pm
    ...
    Btw is there a way to make a script that makes me immune to that tag? so that the game wont even remove the spell after being used because I am immune to it?
    I doubt it. I believe you'd have to actually use the "real" CE functionality to find the memory address for when that tag is set, and simply lock it so it can't be changed. There are many guides on how to do something like this, both built into CE and on YouTube.

    ShadowfeindX
    Noobzor
    Noobzor
    Posts: 11
    Joined: Sat Feb 11, 2023 5:15 am
    Reputation: 5

    Re: z Baldur's Gate 3

    Post by ShadowfeindX »

    BoredGuy0315 wrote:
    Fri Oct 06, 2023 10:06 am
    Is there any way to add spells as normal spells that costs spell slots? I've tried the add spell command on the table and it only adds spells as free versions. Thank you.
    Add the spell using "UnlockSpell" in the AddBoostsToPlayer() function in the table. For future reference, and for other people, here is what I know about adding spells to characters this way.

    Code: Select all

    UnlockSpell(SpellId,SpellVariant,ResourceUUID,Cooldown,SpellCastingAbility)
    
    SpellId Examples:
    	Target_BestowCurse -- Spell targeting one or more individuals
    	Zone_BurningHands -- Spell targeting an AOE
    	Projectile_IceKnife -- Spell that fires a projectile
    	Shout_Aid -- Spell that targets an area around the caster
    	Teleportation_DimensionDoor -- Spell that teleports one or more targets
    SpellVariant:
    	Singular (Default) -- Can only be cast at spell level
    	AddChildren -- Adds all upcast variants of the spell
    	MostPowerful -- Cast at the highest spell variant unlocked
    ResourceUUID:
    	None (Default) -- No resource cost
    	d136c5d9-0ff0-43da-acce-a74a07f8d6bf -- Standard Spell Slot
    	e9127b70-22b7-42a1-b172-d02f828f260a -- Warlock Spell Slot
    Cooldown:
    	None (Default) -- No cooldown
    	UntilShortRest -- Once per short rest
    	UntilRest -- Once per long rest
    SpellCastingAbility:
    	None (Default) -- Default spellcasting ability for the caster's class
    	Charisma -- Warlocks, Paladins, Bards, Sorcerers
    	Wisdom -- Druids, Clerics, Rangers
    	Intelligence -- Wizards
    
    Examples:
    	UnlockSpell(Target_Stoneskin,AddChildren,,d136c5d9-0ff0-43da-acce-a74a07f8d6bf,Wisdom) -- Add all variants of stoneskin to be cast with spell slots using Wisdom
    	UnlockSpell(Target_ConjureElemental_Container,MostPowerful,e9127b70-22b7-42a1-b172-d02f828f260a) -- Add strongest variant of conjure elemental to be cast with a warlock spell slots using the standard spell casting ability
    	Unlock(Projectile_AcidArrow) -- Add melf's acid arrow at spell level with no resource cost using standard spell casting ability. Cannot be upcast.
    
    You can add this to the table by making a script like so:

    Code: Select all

    {$lua}
    if syntaxcheck then return end
    boosts = [[
    UnlockSpell(Target_Stoneskin,AddChildren,,d136c5d9-0ff0-43da-acce-a74a07f8d6bf,Wisdom);
    UnlockSpell(Target_ConjureElemental_Container,MostPowerful,e9127b70-22b7-42a1-b172-d02f828f260a);
    Unlock(Projectile_AcidArrow);
    ]]
    
    [ENABLE]
    AddBoostsToPlayer(boosts)
    [DISABLE]
    RemoveBoostsFromPlayer(boosts)
    
    You could also add the boosts to a table instead of using an extended string since Zanzer's code supports it, but it calls the AddBoost command multiple times and it seems like that may cause issues with the game. Still though, this is how it would look instead:

    Code: Select all

    {$lua}
    if syntaxcheck then return end
    boosts = {
    "UnlockSpell(Target_Stoneskin,AddChildren,,d136c5d9-0ff0-43da-acce-a74a07f8d6bf,Wisdom)",
    "UnlockSpell(Target_ConjureElemental_Container,MostPowerful,e9127b70-22b7-42a1-b172-d02f828f260a)",
    "Unlock(Projectile_AcidArrow)",
    }
    
    [ENABLE]
    AddBoostsToPlayer(boosts)
    [DISABLE]
    RemoveBoostsFromPlayer(boosts)
    
    Hope that helps.

    User avatar
    Tiamoc
    Noobzor
    Noobzor
    Posts: 8
    Joined: Mon Aug 03, 2020 4:34 pm
    Reputation: 0

    Re: z Baldur's Gate 3

    Post by Tiamoc »

    I've tried this table over 100 times, following the instructions on when to activate certain boxes, and every time I get a greyed out list. I click the "dark mode" box, then uncheck it, and everything "appears" to become usuable, but even after I activate one thing at the main menu, then load my game, and try to use the item spawner, trying to get the full resurrection scrolls, it does not allow me to select anything. Does this table need an update again, or am I doing something wrong, as I had used it once before to make a starter weapon OP, adding every enchant, and it worked. It broke my game, but it worked. Now, nothing seems to work. Any help would be very appreciated, as apparently I am not doing the steps properly.

    knightjedi
    Cheater
    Cheater
    Posts: 36
    Joined: Thu Aug 10, 2023 10:43 pm
    Reputation: 7

    Re: z Baldur's Gate 3

    Post by knightjedi »

    By using the itemspawn ,I find a good thing MF_RestingDevice uuid: 40fbca32-5df3-480a-b0f0-d81214a0c170
    but i cant make it work ,it cant be touched.
    same as FUR_MF_Health_Draining_Device_Pod_A uuid: 27e18ba3-bfed-421b-82d7-a24c48c2ed58
    and UNI_LOW_HOH_RestorationPondDevice uuid: 79304aa1-be73-48bb-8255-81338d8f4939 ,
    Did sameone know how to make it work ?????

    knightjedi
    Cheater
    Cheater
    Posts: 36
    Joined: Thu Aug 10, 2023 10:43 pm
    Reputation: 7

    Re: z Baldur's Gate 3

    Post by knightjedi »

    the two below can be touched but is useless

    ragunaH
    What is cheating?
    What is cheating?
    Posts: 4
    Joined: Thu Jun 30, 2022 2:08 pm
    Reputation: 0

    Re: z Baldur's Gate 3

    Post by ragunaH »

    Does the table work in multiplayer? I am the host and the save is with me so if I spawn an item when I go solo, will my friend still be able to join? (Heard that using mod will make an error)

    Post Reply

    Who is online

    Users browsing this forum: DotBot, DurkVonErstmahl