akillith wrote: ↑Thu Oct 15, 2020 2:52 am
How do you activate the console? I have nowhere to type I've attached the CT to the game process and nothing is happening?
Copy one of the existing ones, edit the script, change it to one of the ones listed (at whatever number or value or whatever you want), run the script. It's a really complex confusing way of doing it, but it works.
For instance, select "Add 100 Max Health" and copy/paste, so now you have two instances of it. Change the name of it to something more appropriate. Then double click where it says <script>. You should see this:
Code: Select all
[ENABLE]
{$lua}
if syntaxcheck then return end
local uuid = "IncreaseMaxHP(100)"
local cmdCall = getAddress("cmdCall")
local cmdAddr = getAddress("cmdAddr")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
writePointer(cmdAddr, getAddress("GetHostCharacter"))
executeCodeEx(0, nil, cmdCall)
writePointer(cmdAddr, getAddress("AddBoosts"))
writePointer(cmdArgs + 0x18, cmdStr1)
writeString(cmdStr1, uuid)
writeBytes(cmdStr1 + #uuid, 0)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 0)
executeCodeEx(0, nil, cmdCall)
{$asm}
assert(true)
[DISABLE]
The only line you should mess with is this one:
You change that to enter the console code. After you change it you just hit ok and click the box to run it.
For instance, you could have one named like "Resist slashing, piercing, bludgeoning" then do it like so:
Code: Select all
[ENABLE]
{$lua}
if syntaxcheck then return end
local uuid = "Resistance(Slashing,Resistant);Resistance(Piercing,Resistant);Resistance(Bludgeoning,Resistant)"
local cmdCall = getAddress("cmdCall")
local cmdAddr = getAddress("cmdAddr")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
writePointer(cmdAddr, getAddress("GetHostCharacter"))
executeCodeEx(0, nil, cmdCall)
writePointer(cmdAddr, getAddress("AddBoosts"))
writePointer(cmdArgs + 0x18, cmdStr1)
writeString(cmdStr1, uuid)
writeBytes(cmdStr1 + #uuid, 0)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 0)
executeCodeEx(0, nil, cmdCall)
{$asm}
assert(true)
[DISABLE]
The ; seems to be a delimiter that makes it do a new line of console commands so you can do more than one. You could feasibly set up one to just give you all the stuff you want in one click. Since these are, in fact, not permanent though they're purported as such.
Oh and the spell slot one, I did mine like
Code: Select all
[ENABLE]
{$lua}
if syntaxcheck then return end
local uuid = "ActionResource(SpellSlot,1,2);ActionResource(SpellSlot,4,3);ActionResource(SpellSlot,4,4);ActionResource(SpellSlot,4,5)"
local cmdCall = getAddress("cmdCall")
local cmdAddr = getAddress("cmdAddr")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
writePointer(cmdAddr, getAddress("GetHostCharacter"))
executeCodeEx(0, nil, cmdCall)
writePointer(cmdAddr, getAddress("AddBoosts"))
writePointer(cmdArgs + 0x18, cmdStr1)
writeString(cmdStr1, uuid)
writeBytes(cmdStr1 + #uuid, 0)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 0)
executeCodeEx(0, nil, cmdCall)
{$asm}
assert(true)
[DISABLE]
I forget if I had to add any to 1. But if the dots don't show right you can add more until they're all wrong then do negative however many it is to remove them, then add them back at 4 so the squares look all nice. Though I guess most people will probably do some crazy high number so they don't have to mess with slots anymore.
Anyway, that's how you do it. You just change that one value. Stuff like this...
UnlockSpell(Shout_SpeakWithAnimals)
UnlockSpell(Projectile_ScorchingRay)
UnlockSpell(Target_MistyStep)
The names for those are in the Spell_* txt files in the shared.pak. Shared.pak\Public\Shared\Stats\Generated\Data to be precise. Use this thing to extract it:
[Link]