For feature requests and bug reports, feel free to post issues on our Github Issue Tracker.
Script Extender v9 is now updated for Patch 4. You're safe to update now.
Modders can now use our API directly from their mod, allowing them to benefit from the SCF's features without having to make a Pull Request.
They can also use Configuration files as an alternative to using the API.
Compatibility Framework 2.6.1+ has a breaking change for mods that call the API directly. individual mod authors will need to either switch to the Config loader method, or change their API call to happen on `StatsLoaded` instead of on `SessionLoaded`. I try to keep changes like this rare, but this one's unavoidable unfortunately
Experiencing a strange issue with Paladin Subclasses.
I'm using Havsglimt's Oath of Conquest, Oath of Redemption, and Oath of the Bleak Walkers subclasses. Everything is installed correctly.
Oath of Conquest always shows up. Oath of Redemption and Oath of the Bleak Walkers don't - only the most recently loaded does.
I checked the files and all three mods use API integration with InsertSubclasses. All of them do it correctly as far as I can tell (and all of them do it the same way).
Experiencing something similar with Sorcerer subclasses, but haven't checked those files yet. Other classes seem to be working fine (confirmed I have 3-4 different modded Warlock patrons showing up correctly, at least).
I can only seem to get one Paladin subclass working at a time, not sure why. I have compatibility framework below all my subclasses in load order, and I only see the last paladin subclass in the load order in-game. This is only an issue with Paladin, as every other class has all their subclasses showing up.
Also having this problem with all classes. All errors look similar to this: Error while dispatching event StatsLoaded: [string "SubclassCompatibilityFramework/Utils/TableUti..."]:52: bad argument #1 to 'insert' (table expected, got light C++ object) stack traceback: [C++ Code]: in function 'table.insert' SubclassCompatibilityFramework/Utils/TableUtils.lua:52: in field 'AddToTable' SubclassCompatibilityFramework/CompatibilitySupport/SubclassSupport/_SubclassCompatibility.lua:8: in upvalue 'AttachSubClass' SubclassCompatibilityFramework/CompatibilitySupport/SubclassSupport/_SubclassCompatibility.lua:49: in upvalue 'AddSubClass' SubclassCompatibilityFramework/CompatibilitySupport/SubclassSupport/_SubclassCompatibility.lua:55: in global 'SubClassHandler' SubclassCompatibilityFramework/API/SubclassApi.lua:6: in field 'InsertSubClasses' Expansion/InitCompatibilityFramework.lua:14: in function <Expansion/InitCompatibilityFramework.lua:11> [C++ Code]: in function 'xpcall' builtin://Libs/Event.lua:129: in method 'Throw' builtin://Libs/Event.lua:184: in function <builtin://Libs/Event.lua:183>
It should be - You would have to check with Mharius on getting that implemented, unless you wanted to make a patch for it, though. CF is set up in a way that any modder can set their mods up to use the Framework, so the process is pretty straightforward though :)
Hello, i try to play with my friend but it keeps kicking me out before start. I upload the manager order
[WARN]: Validation Failure: Mod isn't loaded. Expected UUID: 933cc682-b732-48bc-9ec0-30c36b5c2f62[WARN]: StatsLoaded Complete. Any mods calling the CF API after this point may not appear. Please contact the developer of any missing mods and inform them to switch their CF API call to happen on StatsLoaded instead of on SessionLoaded.
The warning you're getting would be unrelated. I'd check in the Modding Community discord's #mods-support channel, they'll be able to help troubleshoot any MP-related issues :)
Loading bootstrap script: Mods/SubclassCompatibilityFramework/ScriptExtender/Lua/BootstrapClient.lua [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: [string "CommunityLibrary/Validators/IsModLoaded.lua"]:7: bad argument #1 to 'IsModLoaded' (string expected, got nil) stack traceback: [C++ Code]: in field 'IsModLoaded' CommunityLibrary/Validators/IsModLoaded.lua:7: in field '?' CommunityLibrary/Validators/_init.lua:17: in field 'DoValidation' SubclassCompatibilityFramework/API/RaceApi_v2.lua:25: in field 'Race' SubclassCompatibilityFramework/JsonLayer/RaceHandler.lua:4: in upvalue 'ParseAndSubmitEntries' SubclassCompatibilityFramework/JsonLayer/RaceHandler.lua:11: in global 'RaceJsonHandler' SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:14: in upvalue 'SubmitData' SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:39: in function <SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:32> [C++ Code]: in function 'xpcall' SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:54: in global 'LoadConfigFiles' SubclassCompatibilityFramework/Init/_InitDefaults.lua:2: in function <SubclassCompatibilityFramework/Init/_InitDefaults.lua:1> [C++ Code]: in function 'xpcall' builtin://Libs/Event.lua:129: in method 'Throw' builtin://Libs/Event.lua:184: in function <builtin://Libs/Event.lua:183> [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found!
Loading bootstrap script: Mods/SubclassCompatibilityFramework/ScriptExtender/Lua/BootstrapClient.lua [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [ERROR]: Target list not found! [WARN]: StatsLoaded Complete. Any mods calling the CF API after this point may not appear. Please contact the developer of any missing mods and inform them to switch their CF API call to happen on StatsLoaded instead of on SessionLoaded.
Great to see mods like this up to help support others working well in game. Just checking, as I'm new to thie type of compatibility or patching in BG3. Are there any risks to using this? Just have one mod I want to use it for (Cleric smite) but near the end of my current run so tentative to disupt my list too much.
601 comments
Script Extender v9 is now updated for Patch 4. You're safe to update now.
Modders can now use our API directly from their mod, allowing them to benefit from the SCF's features without having to make a Pull Request.
They can also use Configuration files as an alternative to using the API.
Compatibility Framework 2.6.1+ has a breaking change for mods that call the API directly. individual mod authors will need to either switch to the Config loader method, or change their API call to happen on `StatsLoaded` instead of on `SessionLoaded`. I try to keep changes like this rare, but this one's unavoidable unfortunately
1. Any errors (Red text) that appear in the Script Extender Log
2. A Screenshot of your load order.
If you downloaded SE from Nexus, delete it and grab it from Norbyte's Github.
Sending me this will speed up the troubleshooting process significantly.
I'm using Havsglimt's Oath of Conquest, Oath of Redemption, and Oath of the Bleak Walkers subclasses.
Everything is installed correctly.
Oath of Conquest always shows up.
Oath of Redemption and Oath of the Bleak Walkers don't - only the most recently loaded does.
I checked the files and all three mods use API integration with InsertSubclasses. All of them do it correctly as far as I can tell (and all of them do it the same way).
Experiencing something similar with Sorcerer subclasses, but haven't checked those files yet.
Other classes seem to be working fine (confirmed I have 3-4 different modded Warlock patrons showing up correctly, at least).
Load Order:
https://imgur.com/gallery/4auRpVd
Error while dispatching event StatsLoaded: [string "SubclassCompatibilityFramework/Utils/TableUti..."]:52: bad argument #1 to 'insert' (table expected, got light C++ object)
stack traceback:
[C++ Code]: in function 'table.insert'
SubclassCompatibilityFramework/Utils/TableUtils.lua:52: in field 'AddToTable'
SubclassCompatibilityFramework/CompatibilitySupport/SubclassSupport/_SubclassCompatibility.lua:8: in upvalue 'AttachSubClass'
SubclassCompatibilityFramework/CompatibilitySupport/SubclassSupport/_SubclassCompatibility.lua:49: in upvalue 'AddSubClass'
SubclassCompatibilityFramework/CompatibilitySupport/SubclassSupport/_SubclassCompatibility.lua:55: in global 'SubClassHandler'
SubclassCompatibilityFramework/API/SubclassApi.lua:6: in field 'InsertSubClasses'
Expansion/InitCompatibilityFramework.lua:14: in function <Expansion/InitCompatibilityFramework.lua:11>
[C++ Code]: in function 'xpcall'
builtin://Libs/Event.lua:129: in method 'Throw'
builtin://Libs/Event.lua:184: in function <builtin://Libs/Event.lua:183>
EDIT : Ok, we just need to install Community Library mod to have all subclass added !
Any idea what any of this is about? My game doesn't work ever since Hotfix 18, and it's been giving me this ever since.
[WARN]: Validation Failure: Mod isn't loaded. Expected UUID: 933cc682-b732-48bc-9ec0-30c36b5c2f62[WARN]: StatsLoaded Complete. Any mods calling the CF API after this point may not appear. Please contact the developer of any missing mods and inform them to switch their CF API call to happen on StatsLoaded instead of on SessionLoaded.
https://imgur.com/gallery/M9vaHv4
can someone help me identify what mod is causing this warning issue?
Loading bootstrap script: Mods/SubclassCompatibilityFramework/ScriptExtender/Lua/BootstrapClient.lua
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: [string "CommunityLibrary/Validators/IsModLoaded.lua"]:7: bad argument #1 to 'IsModLoaded' (string expected, got nil)
stack traceback:
[C++ Code]: in field 'IsModLoaded'
CommunityLibrary/Validators/IsModLoaded.lua:7: in field '?'
CommunityLibrary/Validators/_init.lua:17: in field 'DoValidation'
SubclassCompatibilityFramework/API/RaceApi_v2.lua:25: in field 'Race'
SubclassCompatibilityFramework/JsonLayer/RaceHandler.lua:4: in upvalue 'ParseAndSubmitEntries'
SubclassCompatibilityFramework/JsonLayer/RaceHandler.lua:11: in global 'RaceJsonHandler'
SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:14: in upvalue 'SubmitData'
SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:39: in function <SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:32>
[C++ Code]: in function 'xpcall'
SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:54: in global 'LoadConfigFiles'
SubclassCompatibilityFramework/Init/_InitDefaults.lua:2: in function <SubclassCompatibilityFramework/Init/_InitDefaults.lua:1>
[C++ Code]: in function 'xpcall'
builtin://Libs/Event.lua:129: in method 'Throw'
builtin://Libs/Event.lua:184: in function <builtin://Libs/Event.lua:183>
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
Loading bootstrap script: Mods/SubclassCompatibilityFramework/ScriptExtender/Lua/BootstrapClient.lua
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[ERROR]: Target list not found!
[WARN]: StatsLoaded Complete. Any mods calling the CF API after this point may not appear. Please contact the developer of any missing mods and inform them to switch their CF API call to happen on StatsLoaded instead of on SessionLoaded.
Just checking, as I'm new to thie type of compatibility or patching in BG3. Are there any risks to using this? Just have one mod I want to use it for (Cleric smite) but near the end of my current run so tentative to disupt my list too much.