Hey YeOldeDragons I was wondering if you knew you don't have to have the Anniversary DLC to have the AE build of Skyrim(It's an update of base Special Edition) the Anniversary Upgrade is just the collection of CC content that is not required for skse64 AE builds(If that was the case I would never have updated.)
Looking through the skse64 source code it looks like it now requires versioning information or the plugin will not load. As hasi12 said lines 260 through 349 are the relevant lines.
Spoiler:
Show
**** plugin versioning ******************************************************** * *The AE version of Skyrim SE broke plugin versioning as many were written *with the assumption that the Address Library would always be valid. *These always report that they are compatible, then exit on startup because *they cannot find their address library file. * *To work around this problem, version checking has been reimplemented and *no longer calls any code. Plugins declare their compatibility, and SKSE *determines whether to load the plugin. Setting this up is simple, just *add something like this to your project: * extern "C" { __declspec(dllexport) SKSEPluginVersionData SKSEPlugin_Version = { SKSEPluginVersionData::kVersion,
1, "my awesome plugin", "my name", "[email protected]", 0,// not version independent { RUNTIME_VERSION_1_6_318, 0 },// compatible with 1.6.318 0,// works with any version of the script extender. you probably do not need to put anything here }; }; * ******************************************************************************
Thanks for the info. A donator sent me some money to buy AE edition. It wasn't a money thing, but since someone was kind enough to propose this to me, I'll take some time to update the mod for AE. Can't say when exactly, it depends on my RL job, but I'll fix this before Christmas for sure.
Whenever I'm using this, it seems to pop up an error saying something like "main.ccp(13): failed to find standard logging directory" The (13) number in the brackets seem to change dependig on the mod it "conflicts"(?) with... In this case it's with the yes I'm sure mod, and it gives the (50) If disabled and then conflicts with true movement... Any ideia how to fix this? Thanks
I just updated Skyrim AE to 1.6.353.0, SKSE AE build to 2.1.5 and Address Library for SKSE Plugins (Anniversary Edition) to version 5. The skse64.log file says: checking plugin YeOldePapyrus.dll plugin YeOldePapyrus.dll (00000000 00000000) no version data 0 (handle 0)
Any idea if this and the other YeOlde plugins are going to be updated for Anniversary Edition? My 600/350 carry weight character already misses her crafting bag.
Please never use 'Import' EDIT and explanation: when someone is learning and reads a script that uses import it puts them at a serious disadvantage since they don't know what class it's coming from (after three hours of sleep at 3am it's hard enough to keep everything straight in your own mind). Sadly, with the state of how real life takes up so much time from everyone that helps out, most that learn scripting do end up learning a lot on their own and thus rely on releases like this.
One thing that is often missing is how things look from POV of those that are trying to learn
Hey, this mod called Skyrim Platform just released and it also has an easier way to convert .psc files to .ts files. Can you please update this to speed up the scripting processes?
btw, if you're feeling ambitious, combining your pages work with Jaxonz MCM helper could really simplify MCMs a ton! https://www.nexusmods.com/skyrim/mods/62613?tab=description
Just to get clarification... If I want to use yeolde_mcm_configbase and yeolde_mcm_page in my mod .. I don't need the .DLL correct? And, I can just add to my mod ? no need for users to download here?
Now.... In the OnPageReset event of yeolde_mcm_configbase.psc - If I want to handle the LoadCustomContent stuff differently - Do I need to change your script? Or can I add OnPageReset to my MCM script alongside the OnAddPageStart event? which would override your script Yes? Specifically I want to load different images for each time the menu is opened. And / Or I want to try to add a Utility WaitMenuMode( 3 ) then SetPage to page 0.
You can overwrite the OnPageReset event in your main MCM menu file (the one extending yeolde_mcm_configbase). You'll be able to switch your image, but don't forget to call the parent event ( parent.OnPageReset(page) )
Spoiler:
Show
; Draw page event OnPageReset(string page) if page == "" MCM_Menu_Logo = "Your New Image" endif parent.OnPageReset(page) endEvent
Took me awhile but I released a beta version update of the MCMenu for Sands of Time. I used your scripts to make the 14 page menu and SkyUILib to enter file names for saving profiles using JContainers with some code help from VioLens.
Now I'm going to work on OBIS SE and implement some of the same functions. OBIS has several 'addons' that I'm going to set up separate pages for in its menu. The main mod will have a blank script for each addon page. If the Addon is present it will overwrite that blank script with what it needs. Throw in a global to determine whether to display the page or not - should be good to go!
Late reply here, but I'm happy if this mod can help you in any ways with your mods!
I don't know when I'll come back to Skyrim and modding (should be this summer...), but I'll look at your work for sure! ...And SkyUILib looks interesting, I could also use it on my side.
It's crazy how this community is keeping Skyrim alive, year after year!
30 comments
If anyone wants to compile this mod for AE, the source code is available here: YeOldeDragon/yeolde-papyrus-plugin: A SKSE plugin for Skyrim SE and VR, used by the "YeOlde - Papyrus" mod. (github.com).
If so, I'll add the dll to the package with pleasure. :)
Cheers!
YeOldeDragon
Looking through the skse64 source code it looks like it now requires versioning information or the plugin will not load. As hasi12 said lines 260 through 349 are the relevant lines.
*
*The AE version of Skyrim SE broke plugin versioning as many were written
*with the assumption that the Address Library would always be valid.
*These always report that they are compatible, then exit on startup because
*they cannot find their address library file.
*
*To work around this problem, version checking has been reimplemented and
*no longer calls any code. Plugins declare their compatibility, and SKSE
*determines whether to load the plugin. Setting this up is simple, just
*add something like this to your project:
*
extern "C" {
__declspec(dllexport) SKSEPluginVersionData SKSEPlugin_Version =
{
SKSEPluginVersionData::kVersion,
1,
"my awesome plugin",
"my name",
"[email protected]",
0,// not version independent
{ RUNTIME_VERSION_1_6_318, 0 },// compatible with 1.6.318
0,// works with any version of the script extender. you probably do not need to put anything here
};
};
*
******************************************************************************
A donator sent me some money to buy AE edition. It wasn't a money thing, but since someone was kind enough to propose this to me, I'll take some time to update the mod for AE.
Can't say when exactly, it depends on my RL job, but I'll fix this before Christmas for sure.
Cheers,
-IA710
The (13) number in the brackets seem to change dependig on the mod it "conflicts"(?) with... In this case it's with the yes I'm sure mod, and it gives the (50) If disabled and then conflicts with true movement... Any ideia how to fix this? Thanks
The skse64.log file says:
checking plugin YeOldePapyrus.dll
plugin YeOldePapyrus.dll (00000000 00000000) no version data 0 (handle 0)
But I'll check if I missed something and I'll rebuild the dll.
Can you confirm if it works?
Cheers!
plugin YeOldePapyrus.dll (00000000 00000000) no version data 0 (handle 0)
I think .. see src\skse64\skse64\PluginAPI.h -> versioning
EDIT and explanation: when someone is learning and reads a script that uses import it puts them at a serious disadvantage since they don't know what class it's coming from (after three hours of sleep at 3am it's hard enough to keep everything straight in your own mind). Sadly, with the state of how real life takes up so much time from everyone that helps out, most that learn scripting do end up learning a lot on their own and thus rely on releases like this.
One thing that is often missing is how things look from POV of those that are trying to learn
Btw thanks for this, awesome
Let me know! :)
If I want to use yeolde_mcm_configbase and yeolde_mcm_page in my mod .. I don't need the .DLL correct?
And, I can just add to my mod ? no need for users to download here?
The dll is only used by the yeolde_papyrus script.
Now....
In the OnPageReset event of yeolde_mcm_configbase.psc - If I want to handle the LoadCustomContent stuff differently - Do I need to change your script? Or can I add OnPageReset to my MCM script alongside the OnAddPageStart event? which would override your script Yes?
Specifically I want to load different images for each time the menu is opened. And / Or I want to try to add a Utility WaitMenuMode( 3 ) then SetPage to page 0.
You'll be able to switch your image, but don't forget to call the parent event ( parent.OnPageReset(page) )
event OnPageReset(string page)
if page == ""
MCM_Menu_Logo = "Your New Image"
endif
parent.OnPageReset(page)
endEvent
I used your scripts to make the 14 page menu and SkyUILib to enter file names for saving profiles using JContainers with some code help from VioLens.
Now I'm going to work on OBIS SE and implement some of the same functions. OBIS has several 'addons' that I'm going to set up separate pages for in its menu. The main mod will have a blank script for each addon page. If the Addon is present it will overwrite that blank script with what it needs. Throw in a global to determine whether to display the page or not - should be good to go!
Thanks for this and your other mods YeOlde!
I don't know when I'll come back to Skyrim and modding (should be this summer...), but I'll look at your work for sure!
...And SkyUILib looks interesting, I could also use it on my side.
It's crazy how this community is keeping Skyrim alive, year after year!
Cheers to all of you!