Re: z Baldur's Gate 3
Posted: Sun Aug 06, 2023 4:59 pm
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
It's there. Names are just not always that obious.dallasdave wrote: ↑Sun Aug 06, 2023 4:45 pmSorry if this is a stupid question, but under the armor section I'm looking for jolty vest and i don't see it.
does that mean it's been removed or just that no one has found the code yet?
nameless420 wrote: ↑Sun Aug 06, 2023 1:30 pmHow does one give himself Sorcery points? I gave myself metamagic and they require Sorcery points, but I'm not aware of the ID/name for whatever it is that gives you sorcery points.
Code: Select all
[ENABLE]
{$lua}
if syntaxcheck then return end
local boost = "ActionResource(SorceryPoint,1,0)"
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, boost)
writeBytes(cmdStr2 + #boost, 0)
PrepareCall("AddBoosts")
writePointer(cmdArgs + 0x08, cmdStr1)
writePointer(cmdArgs + 0x18, cmdStr2)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 0)
executeCodeEx(0, nil, cmdCall)
{$asm}
assert(true)
[DISABLE]
Progressions.lsx has all the class features/feats if anyone is interested.PapaPetro wrote: ↑Sun Aug 06, 2023 1:44 pmI've attached .txt files for the item Object UUIDs and Feats in case anyone needs them for reference.
I'm sure you've guys have figured it out by now but just copy/paste the UUIDs of item you want into the script:
Same goes for Feats scripts but with the feat string name values instead of the the UUIDs:
(though it's a little trickier since some Feats have extra features you have to account for so pay attention to the feat PassivesAdded & Selector attributes and how the various scripts address those in assembly)
Update:
Added Weapons.txt and Armor.txt
If you want to expand your powershell script at some point it might be an interesting idea to use the generated bg3_items.txt to search the localization files for those IDs and append the supplied names with the actual names.
Code: Select all
ARM_Vanity_Deva_Shoes;db2f2945-debc-4b18-b4f5-6456a11ecddb;Armor;RARITY_UNKNOWN
would become...
ARM_Vanity_Deva_Shoes - Celestial Sandals;db2f2945-debc-4b18-b4f5-6456a11ecddb;Armor;RARITY_UNKNOWN
or maybe...
Celestial Sandals - ARM_Vanity_Deva_Shoes;db2f2945-debc-4b18-b4f5-6456a11ecddb;Armor;RARITY_UNKNOWN
Code: Select all
{`$asm}
assert(true)
[DISABLE]
Oh thank you so much, you're a G.Finnik wrote: ↑Sun Aug 06, 2023 6:03 pmnameless420 wrote: ↑Sun Aug 06, 2023 1:30 pmHow does one give himself Sorcery points? I gave myself metamagic and they require Sorcery points, but I'm not aware of the ID/name for whatever it is that gives you sorcery points.Code: Select all
[ENABLE] {$lua} if syntaxcheck then return end local boost = "ActionResource(SorceryPoint,1,0)" 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, boost) writeBytes(cmdStr2 + #boost, 0) PrepareCall("AddBoosts") writePointer(cmdArgs + 0x08, cmdStr1) writePointer(cmdArgs + 0x18, cmdStr2) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 0) executeCodeEx(0, nil, cmdCall) {$asm} assert(true) [DISABLE]
How did you added metamagic?
This is indeed a problem, I hope the great modifier is solving it, otherwise we can only modify the action points to deal with this problem.richardlvup wrote: ↑Sun Aug 06, 2023 4:15 pmthere is any way to add spell in the character spell book and make it count as one spell usage and not act like a cantrip? if we add a spell it will use only normal action just like a normal attack, not a spell slot.
I'm actually already looking into something along those lines, but it's slow going, as I'm trying to decipher the different things as I'm going along. F.ex. I'm trying to find some reference to the item type and sub types, for categorizing. And the DisplayName is sometimes not on the actual item template, but are found by going through one or more parent templates.
Code: Select all
$LocalizationPath = 'C:\Games\BG3-Tools\UnpackedData\English\Localization\English\english.xml'
$LocalizationData = [xml](Get-Content -Encoding Default -Path $LocalizationPath)
$LocalizationData.contentList.content
<#
$RootTemplates = @(
'C:\Games\BG3-Tools\UnpackedData\Shared\Public\Shared\RootTemplates'
,'C:\Games\BG3-Tools\UnpackedData\Shared\Public\SharedDev\RootTemplates'
,'C:\Games\BG3-Tools\UnpackedData\Gustav\Public\Gustav\RootTemplates'
,'C:\Games\BG3-Tools\UnpackedData\Gustav\Public\GustavDev\RootTemplates'
)
#>
#$Template = "C:\Games\BG3-Tools\UnpackedData\Shared\Public\Shared\RootTemplates\0c0c1031-4a04-4e8f-ba8a-8aafa2a396e8.lsj"
#$Template = "C:\Games\BG3-Tools\UnpackedData\Shared\Public\Shared\RootTemplates\f6cbfbb3-7eab-4f78-afde-073756c4e26d.lsj"
#$Data = Get-Content -Encoding Default -Path $Template | ConvertFrom-Json
#$Data.save.regions.Templates.GameObjects[0]
function Get-TemplateData {
param(
$Id
)
Write-Verbose -Message "Get-TemplateData -Id '$($Id)'" -Verbose
$ParentTemplate = "C:\Games\BG3-Tools\UnpackedData\Shared\Public\Shared\RootTemplates\$($Id).lsj"
$Data = Get-Content -Encoding Default -Path $ParentTemplate | ConvertFrom-Json
return $Data.save.regions.Templates.GameObjects[0]
}
$RegexUUID = [regex]'^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$'
$TemplateId = 'f6cbfbb3-7eab-4f78-afde-073756c4e26d'
do {
$Data = Get-TemplateData -Id $TemplateId
$Data
if ($Data.psobject.Properties.Name -contains 'ParentTemplateId' -and $Data.ParentTemplateId.value -match $RegexUUID) {
$TemplateId = $Data.ParentTemplateId.value
}
} while ($Data.psobject.Properties.Name -contains 'ParentTemplateId' -and $Data.ParentTemplateId.value -match $RegexUUID)
break
if ($Data.save.regions.Templates.GameObjects[0].psobject.Properties.Name -contains 'ParentTemplateId') {
$ParentTemplateId = $Data.save.regions.Templates.GameObjects[0].ParentTemplateId.value
$ParentTemplate = "C:\Games\BG3-Tools\UnpackedData\Shared\Public\Shared\RootTemplates\$($ParentTemplateId).lsj"
$ParentData = Get-Content -Encoding Default -Path $ParentTemplate | ConvertFrom-Json
}
if ($Data.save.regions.Templates.GameObjects[0].psobject.Properties.Name -notcontains 'DisplayName') {
$ParentTemplateId = $Data.save.regions.Templates.GameObjects[0].ParentTemplateId.value
$ParentTemplate = "C:\Games\BG3-Tools\UnpackedData\Shared\Public\Shared\RootTemplates\$($ParentTemplateId).lsj"
$ParentData = Get-Content -Encoding Default -Path $ParentTemplate | ConvertFrom-Json
$DisplayName = ($LocalizationData.contentList.content | Where-Object {
$_.contentuid -eq $ParentData.save.regions.Templates.GameObjects[0].DisplayName.handle
}).'#text'
}
That's weird. I remember answering, but I can't find the post. I'm guessing it was "blocked" or something. I remember writing the PHP start/close tags as an example, which I could imagine would block the post.Tiffany wrote: ↑Sun Aug 06, 2023 6:05 pm...
Also you definitely missed my message earlier asking why you have this:When Zanzer's code doesn't have the assert(true) in that part in the example script.Code: Select all
{`$asm} assert(true) [DISABLE]
{$lua}
and {$asm}
are telling CE that the following is LUA code or Assembler code. At least that's what I suspect by seeing the syntax highlighting being broken in the CE script editor, when removing those tags.assert(true)
, I don't know what it does, really. What I did find out, when testing the difference, is that when assert(true)
is there, the X when activating a cheat doesn't "stick", and with assert(true) gone, the X sticks. For the item spawner I actually prefer assert(true)
to be there, otherwise you have to deactivate and activate again to spawn one more item. But I honestly, I don't know what it does for real.assert(true)
due to user confusion.</edit>Put this id into script add spellILOVEPANCAKES wrote: ↑Sun Aug 06, 2023 3:53 pmAnyone know how to add Warlock's Find Familiar instead of normal Find Familiar?