norbyte / ositools Goto Github PK
View Code? Open in Web Editor NEWAdvanced scripting and mod support for Divinity Original Sin 2
License: MIT License
Advanced scripting and mod support for Divinity Original Sin 2
License: MIT License
I just download lastest Release v38.2 and extract it to the right path for Divinity Unleashed.
But when I open the game,a"Osiris Loader Error" showed up and said:
Unable to extract Script EXtender update package.HRESULT 0x80004005
And when I try to load Divinity Unleashed,inevitably fail.
From this line,I thought it might be missing something.
So I download this:https://d1ov7wr93ghrd7.cloudfront.net/Release/Latest.zip,
which you post at other's issue,and I just manually download and extract it
Wow,Divinity Unleashed successful loaded
But I still get that error everytime I open the game.
How may I remove this?
It says Script Extender crash and tells me to send a crash report. Not Sure where I can find the crash logs. 4e87 was the crash log dump info.
I was able to do the fight the first time and died, reloaded the save and tried again and it keeps crashing
I reloaded a save from before it by only a few minutes, and nearly the same location and did not experience a crashing issue. I will continue to test and see what causes it to occur. Let me know what information is needed and how i could provide it
I found the source of the issue, opening his inventory before the fight so I can buy all the potions so he doesn't chug them all before the fight seems to trigger the crash
My friend is having issues starting his game with the Extender and can only get it to work with the original system dxgi file. The moment he replaces it with the Script Extender, he gets this error. He has redownloaded the file multiple times and it gives him the same issue every time. It's very weird because I'm using the Script Extender with no issues and installed it exactly the same way he did. Would really appreciate some help with this, thank you!
I ran into this error on Main menu. I tried adding the script twice, still the same error.
validating game files yield no result.
I've been playing with the Script Extender for 2 days without problems. But since today, i have this error popping out all of a sudden.
I've been trying to fix it for a long time, I even formatted my pc. I hope the file I send is the one you need to help me find a solution, nor am I sure if you can see it by the way I send it.
https://www.dropbox.com/s/g11znixj7i5hpd9/CrashDump%20-%2009-17-2020%2022h%2054m%2047s.rar?dl=0
Auto update don’t work:
So, URL “https://d1ov7wr93ghrd7.cloudfront.net/Release/Latest.zip” open and saved (Latest.zip).
Could you please describe the ways (directories) for manual unpacking Latest.zip?
It seems that when playing D:OS2 on Linux via Proton on Steam, the DLL is not being loaded.
Using Proton, the game is launched via EoCApp.exe
after applying the following workaround:
mv ./bin ./bin.bak && ln -s DefEd/bin bin && cd bin && mv ./SupportTool.exe ./SupportTool.bak && ln -s EoCApp.exe SupportTool.exe
(create a backup of folder 'bin', make a symlink 'bin' that points to 'DefEd/bin', change directory to 'bin', create backup of file 'SupportTool.exe', make a symlink 'SupportTool.exe' that points to 'EoCApp.exe')
Essentially launching 'EoCApp.exe' directly via Steam.
Mods subscribed to in the Steam workshop show up normally in the game.
Mods that require ositools cause an error that the story could not be created.
Mods that do not require ositools work fine.
Linux version: openSUSE Tumbleweed x86_64 running Kernel 5.5.7-1-vanilla.
Proton version: Proton 5.0-4
Game version: v3.6.58.1306
If any further information or help is required, I'll try to assist to the best of my abilities.
Every time i try and launch divinity 2 DE it says there was an error while checking for script extender updates and to check my internet and try again and then the game loads without the extender (there is no issues with my internet as far as i can see).
Failed to check for Script Extender updates. make sure you're connected to internet and try again.
Win10
Using steam definitive edition.
I can't get reshade to work with this. That or I'm missing something, I installed reshade first and then copied the dxgi.dll from your latest release but reshade doesn't work.
I've been working on a mod that reads a user-created JSON file and overrides the corresponding stat-entries on-the-fly.
I encountered an issue when the mod tried to SyncStat()
a Cone
skill. Got this error message:
[Osiris] {E} dse::SkillPrototypeManager::SyncSkillStat(): Unsupported SkillType: Cone
A series of Ctrl-Fs led me here: \ositools\OsiInterface\GameDefinitions\Enumerations.inl
BEGIN_ENUM(SkillType, uint32_t)
EV(Zone, 0x1)
EV(SkillHeal, 0x2)
EV(Jump, 0x3)
EV(MultiStrike, 0x4)
EV(Path, 0x5)
EV(Projectile, 0x6)
EV(ProjectileStrike, 0x7)
EV(Quake, 0x8)
EV(Rain, 0x9)
EV(Rush, 0xA)
EV(Shout, 0xB)
EV(Storm, 0xC)
EV(Summon, 0xD)
EV(Target, 0xE)
EV(Teleportation, 0xF)
EV(Tornado, 0x10)
EV(Wall, 0x11)
EV(Dome, 0x12)
END_ENUM()
There is no SkillType Cone
here, could be an oversight. I apologize if I'm completely off the mark.
Norbyte, could you please make a mac version for this? All the mac users out there (including me 😉 ) would really appreciate it since so many mods nowadays are requiring it.
Hiya, new to this github thing so not sure if you saw my other post. I have tried disabling all mods, lowering graphics, every fix under the sun etc etc. Link to the other post that has crash dumps: #17 (comment)
It is possible to somehow combine Script Extender with ReShade 1.1.0 with SweetFX 2.0? Both programs contain the DXGI.dll file.
An error pops up during the second half of the loading screen, saying that it couldn't update and to check my internet connection. Is this maybe due to the recent game update? I'm wondering if I should wait for an update, or just give up and play with mods that don't require the script extender.
This one is quite peculiar, and I'm not even sure if this is a script-extender problem.
It is easier to explain with an example. Consider the following mod:
Ext.RegisterListener("StatsLoaded", function()
local combo1 = Ext.GetItemCombo("BOOK_Skill_Air_Blank_A_SCROLL_Teleportation")
combo1.Name = "NewRecipe1"
Ext.UpdateItemCombo(combo1)
local combo2 = Ext.GetItemCombo("BOOK_Skill_Fire_Blank_A_SCROLL_Haste")
combo2.Name = "NewRecipe2"
Ext.UpdateItemCombo(combo2)
end)
The mod isn't active when you first load the game. Activating and loading into a save works 100%. The new recipes are generated and work without problem (even if they were created from scratch and/or modify stuff not shown in the example like ingredients, results etc.)
Now, if you launch the game again (the mod is active this time around) and try to continue, the game crashes while loading the save-file. Specifically, when the loading screen reads cleaning up session/module
. If the mod was deactivated before exiting or by using LL's mod-manager, the game does not crash when you re-activate the mod from the main menu and load the save.
From what I gather, the game crashes when it has to load the mod 'twice' (once when it gets to the main menu and then into the save), or rather, when it tries to "clean up" the first session before the second module-loading phase. This never happens in the editor, presumably, as it only ever loads the mod once. (I say 'twice', but all that matters is whether or not the mod loaded before the main-menu. If I activate the mod after I get to the main menu, I can load into any number of saves and go back to the main-menu freely.)
To make things even more bizarre, this doesn't happen if you only modify one ItemCombo recipe. In this example, if you comment out combo2.Name = "NewRecipe2"
the game will load just fine. Also worth noting that its modifications that count here, I can call Ext.UpdateItemCombo()
as many times I want without modification and it won't crash. But I can only modify and update one ItemCombo recipe. Do more than one and it starts crashing on clean-up again.
PS: I always feel bad submitting these crash-issues :( Wish I could help more instead of giving random bits of observations that may or may not be relevant to the problem.
Was playing the game last night and today when I try to load any of the saves that I have I get a ctd when loading. I didn't add or remove any mods on the save. I guess one thing I did notice last night was that everything seemed a little slower but not sure what could've been causing that. I don't have a save anymore from before that last session to test if something went wrong during that time or not.
https://www.dropbox.com/s/w4ml9wyl723ejgc/CrashDump%20-%2007-15-2020%2015h%2044m%2058s.dmp?dl=0
Link to the crash dump that was generated.
Hello
I am using Reshade which has the same .dll file as Norbyte's Script Extender. So I would like to know if it's possible, how do I use Norbyte's Script Extender and Reshade at the same time?
The script extender won't auto update to v52 for me. I've tried reinstalling the .ddl from the v52 download link, but it keeps re-d
ownloading v51.
Since ive installed this tool, i never had an issue. But since today, i have this error popping out all of a sudden. I didn't make any changes so i dont understand why i have this now.
Try to re-download the DXGI.dll and extracted it in the Defed/bin etc
So how do i fix this. Is it an error that will mess up my saves files and my playthrough?
Thank you Norbyte
Playing with the conflux mod on div:os2 and now getting a message in every load that there's an issue with the add-ons. I've redownloaded the mod and this extender multiple times, disabled my firewall to allow potentially blocked extender update, etc.
The main menu shows that i'm running "v3.6.69.4648" with no mention of the script extender. If there's any way for you to just post the v50 on here, I'm not sure what else to do to force an update. Maybe the script extender text doesn't show on Gog? Not sure how to check any of that, but I may just have to switch to steam
Could you upload this to the steam workshop? it's the only way i can download them as i use nvidia geforce now to run it
The title pretty much sums it up.
I followed the same steps as my friend but I managed to get it to work with no issues while he gets that error. He tried disabling antivirus and adding to exceptions but didn't seem to work.
Any help would be appreciated.
Hi, Norbyte, if there is a Script Extender dll file in the bin folder, the game produces an error after launch: EoCApp.exe - No entry point was found (The entry point to the DXGID3D10CreateDevice procedure was not found in the Dll library dxgi.dll). Then: Failed to create rendering device! (The application falied to create the rendering device. Please make sure you meet the minimum specifications! (DX11 compatible GPU with the latest drivers installed). This error assumes that my system does not support DirectX11, but it is not! Without this dll file the game starts without errors. GoG version.
The mod I'm trying to use with this tool doesn't work.
When loading a save or starting a new game a message "unable to create working story" pops up and the mod's featues aren't present.
The debug console at start shows 2 messages:
LibraryManager::FindServerGlobalsEoCApp(): Could not extract global from func @ 00007FF68FE49E90
LibraryManager::FindServerGlobalsEoCApp(): Could not extract global from func @ 00007FF68FE679D0
After loading a save i get these messages:
OsirisProxy::CompileWrapper: Starting compilation of 'C:/Users/Ugnius/Documents/Larian Studios/Divinity Original Sin 2 Definitive Edition/Temp/Story/story_generated.div'
Osiris Error: 0 error(s), 3 warning(s) in compilation.
OsirisProxy::CompileWrapper: Compilation FAILED.
OsirisProxy::OnAfterOsirisLoad: 52071 nodes
CustomFunctionInjector::OnAfterGetFunctionMappings(): No. funcs: 960
CustomFunctionInjector::OnAfterGetFunctionMappings(): No. funcs after filtering: 960
Host mod settings:
Client mod settings:
Not sure if that has to do with anything.
I've tried multiple versions of this tool with no success.
I'm running Windows 10 LTSC.
Tried it on another computer with the same OS and got identical results.
Hello, thanks for the great work.
Is there any plan to release new versions of the dll ?
On my current modded playthrough of DOS2, I noticed that most spells that effected surfaces stopped functioning at a certain point. I didn't really notice until much later in the game, so I don't know exactly when it stopped working. I loaded earlier saves to find otu when the issue first started occuring, but by the time I noticed, my max # of autosaves had cycled, so I only had manual saves to go on. I only know that it was between receiving the bless skill Fort Joy and arriving at Driftwood, and can't provide a useful diagnosis of what specifically happened to cause the issue. After disabling all mods & gift bags, the issue persisted. Only after removing the DXGI.dll file from the directory did the issue resolve. Not implying the script extender originally caused problem, of course.
When I cast a spell such as Bless, Global Cooling, or Contamination, directly on any valid surface or cloud, they do not seem to do anything. Vaporize & Pressure spike work (i think), but Bless is the important one. If I cast these spells instead on a entity standing within the surface, they give the entity the buff and effect the surface as normal... sometimes.
The issue seems to be encapsulated in the save file and not the game client, as when I was loading an earlier save file, the issue stopped occuring.
Here is a save file in which you can see the issue occuring. https://www.dropbox.com/s/jltqqxx7xydxwhl/Savey%20Gravey.zip?dl=0 To reproduce, cast bless, with any character, on the pool of blood, or a pool of water, or any other surface or cloud, and observe behavior.
Bless, Global Cooling, Contamination, and all other spells work as expected.
I've had a severe problem where every time I save the game there is a chance it would just crash to desktop. I thought it was the mods, then the cloud sync, then my graphics settings, running as administrator. I even moved the save location away from my system drive.
After 2 days of frustration, turns out all it took was removing this tool.
Can you look into it? I love that it reduces load time by a lot and allow me to use a great new mod called Divinity Unleashed.
Crash dump reference number is 7f85. Request any additional info/files you need, I can upload the savegame if you need.
I have a lot of savegames I've made that happens the same thing, but it allows me to load an old one.
i downloaded the script extender for a mod the other day and it worked just fine but now my game is acting like the script extender isn't in the files and can' read it. so now my mod doesn't work anymore
After the new update for gift bag 5, achievements aren't working with the extender installed and running, even with the latest tweaks.
After trying many times with installing .dll by making operation according to the given tutorial or installing it automatically via Divinitymodmanager, it seems not to work for me..After some test, it can be sured that the achievements have been still locked and my loading screen before the Main Menu appears doesnot change. Maybe it is just a update-problem, i guess. So, can you provide the lastest complete version of the extender directly instead of a updater?
So, I noticed a while ago that Ext.SyncStat(skillName)
breaks the memorization-requirement tooltips of skillName
. The tooltip adds a new row to requirements with each subsequent SyncStat
call.
Before SyncStat | After 3 SyncStat |
---|---|
![]() |
![]() |
Worth pointing out that this happens regardless of any stat-modification. In the example given in this issue, I've used SyncStat
on an unmodified Projectile_Fireball
. SyncStatPersistence
doesn't have any effect except for the fact that the tooltip stays bugged if persistence is true
. Also worth noting that this issue does not occur if stat-modification is done during ModuleLoading
client-side, as stat-synchronization isn't needed/called.
At first, I thought that the issue was with the MemorizationRequirements
attribute, however, Ext.Print(Ext.JsonStringify(Ext.StatGetAttribute(skillName, MemorizationRequirements)))
only returned one element both before and after SyncStat
.
Now, recently, I wrote a console-command to iterate over all possible attributes of a given stat and print all their values. I noticed that it's not MemorizationRequirements
that gets bugged, but the Requirements
attribute (which apparently is different from a third "Requirement
" attribute). Every time SyncStat
is called, Requirements
appends another stack.
Additionally, You may have noticed from the Fireball tooltip images that SyncStat
also breaks TranslatedStringKeys
like displayName
. This is again something I've only seen caused by SyncStat
. I haven't looked too deeply into this, but the string can still be retrieved using Ext.GetTranslatedStringFromKey("Projectile_Fireball_DisplayName")
, it just doesn't like showing up on the tooltip.
While my mod offers the option to dynamically edit stats and then synchronize them once game-session has begun, it defaults to saving these edits to apply during the next StatsLoaded
event. This and the fact that SyncStatPersistence
defaults to false
mean that I don't have to deal with both these issues all that much. I'm not sure if this is something that can be fixed from your side, but I thought I'd let you know anyway.
DllMain(): Chain-loading DXGINext
DllMain(): Creating DXGI wrapper
DxgiWrapper::DxgiWrapper(): DXGI exports successfully mapped
DllMain(): Start updater thread
UpdaterThread(): Init loader
(00000000013A86D9) patched sucessfully...
(000000000124A670) patched sucessfully...
UpdaterThread(): Launch loader
OsiLoader::UpdatePaths(): Determined DLL path: C:\Users\kkxxw\AppData\Local\OsirisExtender\OsiExtenderEoCApp.dll
OsiLoader::UpdatePaths(): Update channel: Release
OsiLoader::TryToUpdate(): Fetching ETag
(00000000017FE62F) patched sucessfully...
OsiLoader::TryToUpdate(): Server returned ETag "b09f7f1d3f7ec841a231e4f0a56f005e"
OsiLoader::TryToUpdate(): Current package ETag is
OsiLoader::TryToUpdate(): Fetching update package: /Release/Latest.zip
Setting breakpad minidump AppID = 435150
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198137936008 [API loaded no]
ClientWorkerSuspenderThread(): Suspending client thread (pending update)
HttpFetcher::LogError(): Updater error: (56) Failure when receiving data from the peer
OsiLoader::Launch(): Update failed; reason: Failed to download Script Extender updates. Make sure you're connected to the internet and try again
(56) Failure when receiving data from the peer
ClientWorkerSuspenderThread(): Resuming client thread
ClientWorkerSuspenderThread(): Client suspend worker exiting
Hi Norbyte,
I'm quite new to modding Divinity 2, so I've run to some problems when trying to add some of your Orisis calls.
I've installed DXGI.dll
and made a configuration file named OsirisExtenderSettings.json
inside Divinity Original Sin 2\DefEd\bin
{
"EnableExtensions": true
}
Then I added OsiToolsConfig.json
to my mod folder with the following content:
{
"RequiredExtensionVersion": 52,
"FeatureFlags": [
"OsirisExtensions",
"Lua"
]
}
After that I opened the Story Editor, generated the defininitions and created my goal. When I tried to build, all NRD_*
calls gave me warning saying fact does not start with DB_
. Did I miss something along the way? Could you help me please?
Upon loading the game today and seeing that on the main menu we were running v53 and trying to continue our save, we get the error that his mod hash doesn't match the servers(which would be mine I'm assuming). The commit version we have is the one from today that starts with 000e36f. But I saw you made a more recent commit starting with 7e9d8a9 that addressed hash issues. I was wondering if that version hasn't rolled out to fix our issue or if there is some other way to fix this on our side.
A couple of friends and I downloaded the script extender and one of us gets an error as soon as they join either of the other two. The error says "Client (Player 1) mod version of Divinity: Original Sin 2 (v1.6.28.7953) doesnt match servers (v1.6.63.6551)" If we uninstall script extender this error goes away. I have done some searching and I found a reddit post with the same issues but they never found a resolution.
Hello! Ever since the new gift bag, I've been having issues towards the script extender- I've tried reinstalling the game. Someone else seemed to have had this error, but it was to do with an achievement enabler I don't have, I went through some of the motions of that thread in order to try and help out, i've not added or changed any mods, and the only thing I can think of that's different is this new gift bag.
Hi,
I am having a similar issue to #24 and #26
I have successfully loaded the DXGI.dll in the game
but achievements are still not getting unlocked.
The dll file is not blocked (even when blocked the game still loaded the dll successfully), I can ping d1ov7wr93ghrd7.cloudfront.net
without issues,
and when trying the rundll32 "E:\Steam\steamapps\common\Divinity Original Sin 2\DefEd\bin\DXGI.dll" test
I get the following message:
Hi,
Ext.GetItemCombo()
crashes the extender if the string passed to it is not an existing ItemCombination
.
Let me know if you need the crash-report.
it shows "Failed to check for for script extender updates, make sure you're connected to the internet and try again,(6) Couldn't resolve host name" after I open the game, It stuck me all day :( . what should I do
The installation path (/DefEd) doesn't exist in the mac version's file tree, and I'm not sure it would work anyway? Confirmation would be appreciated!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.