Search the Community
Showing results for tags 'papyrus'.
-
Hey! I'm new to modding and I'm trying to figure out how to make a script so a weapon drains magicka while the player has it drawn. For that, I devised two scripts. One script for a magic effect that drains the player's magicka over time when they have a weapon drawn. The effect is registered to listen for the ACTOR_ACTION_DRAW_START and ACTOR_ACTION_SHEATH_END actor actions, which correspond to when the player begins or ends drawing their weapon. When the player begins drawing their weapon, the script stores the player's base magicka value and registers for updates every 2 seconds. The script then drains a percentage of the player's magicka every update until either the player's magicka reaches 0 or 30 updates have occurred. If the player sheaths their weapon, the script unregisters for updates and stops draining magicka. And also a script for adding the mentioned magic effect once the player equips the weapon (and a little bit more). Script for the magic effect: https://pastebin.com/9GiB2W11 Script for the weapon: https://pastebin.com/se3V55pB I have done the whole "attach the magic effec to a spell, attach the spell to the weapon via a script" thing but it just doesnt work . The message that the Drain Magicka Effect was added does show up, but it never gets added. It doesnt show up in the active effects page nor does any actual effect on the player's magicka happen. I really dont know what to do about this.
-
Interpreting Papyrus Log Errors So we've all obviously seen them. Log files filled with garbage that you suspect is making your game do weird things. Loads and loads of errors, warnings, and just plain weird messages that don't make a lot of sense. We've seen just about everything here both through the USKP tracker and via other sources for strange things that break Papyrus. I've gone fishing through what Google could turn up from various logs posted to Pastebin.com as well as our own tracker reports to hopefully bring some sense to the process of figuring out what an error message in your log means. If you happen to see something from your own work, I'm not picking on you. I grabbed what was available as examples. Plenty of other mods have them too. The goal here is hopefully to shed some light on how mod authors can fix them, and how users can help mod authors narrow down the more egregious cases. If anything in this guide is not accurate or you can provide additional information, please do so! The more we all know, the better things will get. Now, on to the various errors that can come up. Listed in no particular order because I simply grabbed examples as they became available. Please note these are general examples. Your errors obviously won't match the ones I've listed, just look for things that say the same or similar things. Errors While Loading a Save [06/19/2014 - 03:03:57PM] error: Native function GetEquippedObject in empty state could find no matching function on linked type Actor. Function will not be bound. Generally this type of error indicates that some portion of the engine (or the SKSE dll in this case) is expecting a certain function name to exist, but the compiled Papyrus files available to it do not have the information in them. Anything that would depend on these kinds of functions to operate will break. It would be highly unusual for this to occur in a standard mod that's not leveraging a custom DLL file of some kind. It almost always means SKSE is not properly reinstalled and will resolve itself once it has been. [02/24/2015 - 10:29:10PM] Warning: Variable ::VampireQuest_var on script ARTH_LAL_TriggerScript loaded from save not found within the actual object. This variable will be skipped. This is harmless, and probably a good thing if it happened after an update. It generally indicates the author removed a property they're no longer using and Papyrus is cleaning up the leftovers. If the mod these belong to did NOT get updated, then you have a problem and it could evolve into something serious if it's ignored and you keep playing. [02/24/2015 - 10:29:10PM] Cannot open store for class "ARTH_RRF_OrphanHanderScript", missing file? [02/24/2015 - 10:29:10PM] Warning: Unable to get type ARTH_RRF_OrphanHanderScript referenced by the save game. Objects of this type will not be loaded. [02/24/2015 - 10:29:10PM] Warning: Could not find type ARTH_RRF_OrphanHanderScript in the type table in save This is what's known as an orphaned script (pun not intended here btw). It is caused either by uninstalling a mod, or by updating a mod which no longer has the mentioned script. It is generally harmless, but can sometimes be the cause of a CTD. [01/28/2015 - 10:14:39AM] Error: Unable to bind script DLC2WaterScript to alias Water on quest DLC2TTF2 (0401AAC8) because their base types do not match. This error is caused by a script extending one type but being used on an incorrect type. In this particular instance, DLC2WaterScript incorrectly extended ObjectReference when it should have extended ReferenceAlias. This is an error that must be corrected by the mod's author. It should self correct when the game loads after it's been fixed, but only once the content is no longer actively being used. [02/11/2015 - 08:23:22PM] Error: Property Initiate1Alias on script uskpretroactive204script attached to USKPRetroactive204 (02012C3A) cannot be bound because alias Initiate1Alias on quest DarkBrotherhood (0001EA5C) is not the right type. This error is related to the above and occurs when a script has been set to attach to the wrong type of object (ie: a Quest script on an Objectrefence, etc.) and thus cannot be properly enabled by the game. If it's a well known mod (like the USKP in this instance) the cause is almost always going to be a conflict from another mod which has overwritten some of the data needed by the game. It can also be caused by the save game retaining data from an uninstalled mod. On rare occasions, authors may do this deliberately, but it has not been demonstrated to behave properly and may lead to errors in cases where that's been done. [06/19/2014 - 03:14:39PM] Error: Property LackMessage on script AATreasureMiscScript attached to (C50614F9) cannot be bound because <NULL form> (C503C770) is not the right type. Also somewhat related to the above two. This type of specific error where "NULL FORM" is mentioned tends to happen when a mod author removes a form (C503C770 in this case) from their mod but has not updated the properties on the ESP to remove the now deleted form. [01/28/2015 - 10:14:39AM] warning: Property AshSpawnAttachChancePercent on script DLC2AshSpawnAttackChanceScript attached to alias Player on quest DLC2Init (04016E02) cannot be initialized because the script no longer contains that property. This is actually an error generated because of an ESP rather than a script. It means the script was recompiled, a property was removed, but the ESP that accompanies it was not properly updated to remove the property. This is easily fixed by the mod's author. It will cause no damage, but it's annoying, and definitely not correct. [02/06/2015 - 07:35:27PM] warning: Function fxDustDropRandomSCRIPT..OnLoad in stack frame 0 in stack 4266 differs from the in-game resource files - using version from save This is caused by a script that was actively being run when the game saved and has since been updated in the mod. This will continue to happen with each game load until the object causing it is encountered again while playing. Not every type of script this problem shows up in will do that though and options become limited if the script is from the vanilla game. [02/24/2015 - 10:29:10PM] Error: File "HearthfireMultiKid.esp" does not exist or is not currently loaded. stack: <unknown self>.Game.GetFormFromFile() - "<native>" Line ? [ARTHRRFMoveFamilyToSeverinManor (4F0036C9)].arth_rrf_storeregistration.ModSupportChecks() - "ARTH_RRF_StoreRegistration.psc" Line 50 [alias Player on quest ARTHRRFMoveFamilyToSeverinManor (4F0036C9)].ARTH_RRF_PlayerAliasScript.OnPlayerLoadGame() - "ARTH_RRF_PlayerAliasScript.psc" Line 7 Probably the most common type of "error" you're going to see in the log. This isn't actually an error at all. It's a generic message spit out by one of the vanilla game functions that's used to check for the presence of other mods in your game. It just means that the mod it says doesn't exist is not being loaded right now. Ignore these. Errors While Playing Error: Unable to call RegisterForSingleUpdate - no native object bound to the script object, or object is of incorrect type stack: [None].dht_IAFMonitorScript.RegisterForSingleUpdate() - "<native>" Line ? [None].dht_IAFMonitorScript.OnEffectStart() - "dht_IAFMonitorScript.psc" Line 16 There is largely nothing that can be done about errors of this type. When a magic effect is ready to expire, the Papyrus VM will aggressively destroy the instance of the script. It will generate errors like this if the script had an event pending before this happened. Ignore these unless you know for certain what's causing it. [12/17/2014 - 11:59:16AM] Error: Cannot call IsInFaction() on a None object, aborting function call stack: [alias Soldier1000001001000000001 on quest CWOBAQuest (8303B24F)].CWOBAScript2.OnInit() - "CWOBAScript2.psc" Line 17 [12/17/2014 - 11:59:16AM] Warning: Assigning None to a non-object variable named "::temp1" stack: [alias Soldier1000001001000000001 on quest CWOBAQuest (8303B24F)].CWOBAScript2.OnInit() - "CWOBAScript2.psc" Line 17 This usually means that a property located in an ESP has not been filled in properly, leaving it empty, which in Papyrus is called "None". There are numerous things that require valid data to be processed that can throw this error, and the specific text for "None" errors will vary widely. It should be easy for a mod's author to fix, but generally requires a new game before such a fix would take effect due to the data already being baked into the save. It's also possible that the script simply isn't validating to make sure the property it's using has something in it. The second part where it mentions assigning None to a non-object variable will always accompany the original error in the call stack if something was trying to be assigned from the results. [11/02/2014 - 02:48:09PM] Error: Cannot call SetValue() on a None object, aborting function call stack: [_DE_Main_1_6 (88015CAE)]._de_epmonitor_1_6.MainLoop() - "_de_epmonitor_1_6.psc" Line 567 [_DE_Main_1_6 (88015CAE)]._de_epmonitor_1_6.OnUpdate() - "_de_epmonitor_1_6.psc" Line 470 While this is basically the same as the above, it's important to notice that the originating function is an OnUpdate(). If you have logs where these show up repeatedly and fill them up, you will quickly find the game lagging and probably run into CTDs eventually. These OnUpdate() errors are known as "invalid registrations" and 999 times out of 1000 they are caused by people who disregard the advice not to uninstall mods on an active save. The ClearInvalidRegistrations setting in SKSE's ini file will correct these, but ONLY if they are from mods which no longer exist. That 1000th case is from a genuinely bad script. If it happens to be a vanilla script, there is nothing that can be done to correct it for that save. It is corrupt and beyond repair. Papyrus best practices dictate that mod authors use RegisterForSingleUpdate() for these types of scripts as it will limit the damage that is done if someone does something stupid. [02/25/2015 - 03:14:28PM] Error: Property GlenmorilCovenAlias on script USKPRetroactive210Script attached to USKPRetroactive210 (020058C7) cannot be bound because <NULL alias> (54) on <NULL quest> (0004B2D9) is not the right type [02/25/2015 - 03:14:28PM] Error: Property DriftshadeSanctuaryAlias on script USKPRetroactive210Script attached to USKPRetroactive210 (020058C7) cannot be bound because <NULL alias> (53) on <NULL quest> (0004B2D9) is not the right type [02/25/2015 - 03:14:29PM] Error: Property DriftshadeSanctuaryAlias on script USKP_QF_ChangeLocation16_0300489C attached to USKPChangeLocation16 (0200489C) cannot be bound because <NULL alias> (53) on <NULL quest> (0004B2D9) is not the right type This is an indication that there are properties on one quest which are linked back to another (in this case, USKP retro update scripts pointing to quest C00) where the quest record has been overridden by another mod and is blocking the "NULL Alias". The conflicting mod will either require a patch, or should include the missing data where possible. If this type of error happens entirely within a mod and DOES NOT conflict, then it means there are properties linked to aliases that have been deleted from a quest without the author properly cleaning up the remains. [12/06/2014 - 12:48:49AM] error: weroad08 (001065F4): attempting to start event scoped quest outside of story manager. stack: [weroad08 (001065F4)].wescript.SetCurrentStageID() - "<native>" Line ? [weroad08 (001065F4)].wescript.SetStage() - "Quest.psc" Line 124 [Item 2 in container (00000014)].WERoad08LetterScript.OnRead() - "WERoad08LetterScript.psc" Line 8 This kind of error comes up when a quest controlled by the Story Manager is trying to be started outside of the Story Manager. If you have a quest managed by the SM, then ONLY the SM can start it. There are several known instances of this error coming up that suggest a failed quest but later turn out to just be a false alarm so errors of this nature are not 100% guaranteed to be a legitimate problem. [09/04/2014 - 12:46:21AM] error: (000BA1DD): cannot start scene because its parent quest was not running. stack: [ (000BA1DD)].SF_WEDL07Scene_000BA1DD.start() - "<native>" Line ? [WEDL07 (000B91E3)].QF_WEDL07_000B91E3.Fragment_7() - "QF_WEDL07_000B91E3.psc" Line 86 Similar to the above, but with scenes instead of managed quests. A scene cannot execute if the quest it is stored in is not running. There are confirmed instances where the error is proven to be false so unless these come up consistently, you can probably ignore them. The example used here is one such instance where the quest is obviously running yet the scene claims it isn't. [10/26/2014 - 02:10:18PM] error: (000C275C): cannot find variable named fPotemaFightVar. stack: [ (000C275C)].ObjectReference.SetAnimationVariableFloat() - "<native>" Line ? [ (00103491)].dunPotemasMS06BossFightDummy.OnLoad() - "dunPotemasMS06BossFightDummy.psc" Line 109 Usually limited to scripts that handle animations. It indicates that the behavior files in control of what's being called don't have a variable that matches up with what the script thinks should be there. There are known instances where this is a false error and the script actually does exactly what it should be doing. [02/26/2014 - 09:29:52AM] error: (03002B74): Actor did not have a valid Animation Graph Manager. stack: [ (03002B74)].DLC1SeranaLevelingScript.SetSubGraphFloatVariable() - "<native>" Line ? [Active effect 1 on (03002B74)].DLC1_ReflectShieldSCRIPT.OnUpdate() - "DLC1_ReflectShieldSCRIPT.psc" Line 39 Currently it's not entirely known why these can occur. Generally speaking there should be no possibility for a loaded 3D actor to NOT have a valid animation graph, yet this error suggests otherwise. [02/17/2014 - 11:40:26PM] error: (0701FA3F): has no 3d, and so cannot have its motion type changed. stack: [ (0701FA3F)].trapsoulgemcontroller.SetMotionType() - "<native>" Line ? [ (0701FA3F)].trapsoulgemcontroller.onBeginState() - "trapSoulGemController.psc" Line 37 [ (0701FA3F)].trapsoulgemcontroller.GotoState() - "Form.psc" Line ? [ (0701FA3E)].MagicTrap.testRefIsSoulGem() - "MagicTrap.psc" Line 261 [ (0701FA3E)].MagicTrap.CellAttachSetUp() - "MagicTrap.psc" Line 365 [ (0701FA3E)].MagicTrap.OnLoad() - "MagicTrap.psc" Line 206 Errors related to 3D Havok states. These usually crop up with references that are no longer loaded in memory. It is believed to be a false error as returning to an object that generates one of these will show it to be in the correct state. Confirmed to be a false error when it occurs in an OnLoad() block because those only get run after the 3D data is loaded. [12/05/2013 - 08:53:35PM] error: Failed to setup moving reference because it has no parent cell or no 3D stack: [ (0501EAB5)].DLC2DBBookLevelLightTranslationSCRIPT.TranslateTo() - "<native>" Line ? [ (0501EAB5)].DLC2DBBookLevelLightTranslationSCRIPT.TranslateToRef() - "ObjectReference.psc" Line 583 [ (0501EAB5)].DLC2DBBookLevelLightTranslationSCRIPT.DoLightMovement() - "DLC2DBBookLevelLightTranslationSCRIPT.psc" Line 72 [ (0501EAB5)].DLC2DBBookLevelLightTranslationSCRIPT.HandleTransitionEnd() - "DLC2DBBookLevelLightTranslationSCRIPT.psc" Line 147 [ (0501EAB5)].DLC2DBBookLevelLightTranslationSCRIPT.OnTranslationAlmostComplete() - "DLC2DBBookLevelLightTranslationSCRIPT.psc" Line 92 Possibly related to the above. Seems to get thrown when a 3D object is pushed out of the loaded range of cells before the script finishes, but this hasn't been confirmed. [11/23/2013 - 11:41:23PM] error: Object reference has no 3D stack: [ (03013835)].Sound.Play() - "<native>" Line ? [ (FF000908)].dunWEFXBatActivator.OnActivate() - "dunWEFXBatActivator.psc" Line 12 Another error that should only be generated when an object is not loaded. It has been confirmed to occur even on objects that ARE loaded though so it's not entirely obvious what the script is expecting. [09/11/2013 - 09:25:13PM] error: (FF0008E5): Failed to send event HeadBleed04 for unspecified reasons. stack: [ (FF0008E5)].MGRitual05DragonScript.PlaySubGraphAnimation() - "<native>" Line ? [Active effect 1 on (FF0008E5)].FXDragonBloodDamageScript.OnHit() - "FXDragonBloodDamageScript.psc" Line 343 The ultimate in stupid error messages. It obviously cannot be solved without knowing what the unspecified reasons are. Other Errors You May See [12/17/2014 - 11:59:16AM] [_DS_HB_MCM <_DS_HunterbornMCM (C0001D89)>] ERROR: Cannot add option $_DS_HB_Skeevers outside of OnPageReset() Errors that look like this are almost always going to be specific to mods with MCM options. It's an error message generated by the SkyUI libraries when the mod is doing something wrong with them. It is *NOT* a fault in SkyUI itself. These errors need to be reported to the author of the mod rather than to the SkyUI team. [02/24/2015 - 10:29:56PM] VM is freezing... [02/24/2015 - 10:29:56PM] VM is frozen [02/24/2015 - 10:29:57PM] Saving game... [02/24/2015 - 10:29:58PM] VM is thawing... A totally routine set of messages. Ignore them. They merely tell you the Papyrus VM has halted to allow you to save (or load) the game. They don't mean the game engine froze up and stopped responding as SOME sites have erroneously reported. [12/17/2014 - 12:14:05PM] Warning: Script profiling is disabled - profiling request ignored stack: <unknown self>.Debug.StartScriptProfiling() - "<native>" Line ? [ (CB001844)].GetShelterTBScript.OnTriggerEnter() - "GetShelterTBScript.psc" Line 37 Pretty much exactly what it says. You hit some kind of trigger that wants to run profiling but Papyrus profiling is disabled. This is generally not something you'll find while playing as it's only supposed to be something mod authors use for diagnostics.
-
Hello Everyone. I started a while back a series designed to help teach Papyrus scripting in a programming perspective. The series gets technical and goes over aspects in thorough detail. I have only completed the Variables segment and the Events/Functions segment of the series. I plan to get back at some point to finish the Object section. Here is the series as a whole: If you want only smaller playlists/chunks of the series here they are: Variables: Events/Functions: Objects (only started on the first one so far): Hopefully, those wanting to learn Papyrus finds what I have done so far useful.
-
From the album: lmstearns stuff
Screenshot of Papyrus Script manager with listed scripts- see thread for settings. -
Hello afkmod's people ! I'm usually asking questions in places with larger audiences, but considering the subject and the amount of people who "know everything about everything, but actually not that much" on large audience forum, I thought I'd better ask here I'm assuming the knowledge/head ratio here is propably the highest I can find on a Skyrim's modding forum. The only decent topic I could find about papyrus log was an old thread by Giskard on steam forums, and yet, he's mostly explaining that modders are too bad to prevent log error in their mods, than providing actual informations about how to read, analyze and exploit papyrus logs. If someone have some good links to learn about it, I'd be glad if he could post it here If not, here are some specific point I'd like explained, if anyone can : Some scripts / functions are called to [None] objects... I checked the sources of various said mods that dumped this error, recompiled them to be sure, checked the implementation of the mod in both TES5Edit and the CK... nothing seems wrong. I tried to make new, clean games, no errors for thoses... So, how is it possible that at one point, the script is trying to be applied to a non-valid object ? "Because the object himself have been deleted in your savegame". Ye, thought so, but what if the said script actualy extends ActiveMagicEffect ? Those are supposed to be dispelled on the actor's death if I'm not mistaken ? Still, I can admit this make for a decent explaination of this one... The other I'm worried about, even more odd : "Property XXXX on script XXXXX attached to XXXXXX (formID) cannot be initialized because the script no longer contains that property" What the hell could this means ? I just don't understand how a property could "disappear" from a script, so I'm assuming it's actually the VMAD that's failing at some point to link the script's property to an in-game reference... yet, as I said, I checked in the CK : The property is properly linked to its reference... To say it before anyone ask, yes, I tried various tool supposed to "fix" scripts instance in savegame. I would even say that the second error is most likely due to one of those tools... But they're only working on savegames... should I conclude that the property-reference link is actually stored in the savegame, and thus not re-read by the game in the plugins everytime you run the game ? I hope someone can enlight me a little bit... Cheers, Kesta Edit : Well, it look like I'm not so good at browsing forums... thx zilav
-
Follower Command Hangup - Scripting Advice Needed
GrandBulwark posted a topic in Mod Support and Discussions
Well, to give a brief introduction. I have been trying to work up a solution to filling a few properties via GetFormFromFile() for a follower mod framework I've been working on. The issue is, a few of the properties don't seem to fill properly. The mod is centered around an McM menu. The McM checks for DLCs via the McM's OnConfigInit() and OnGameReload events. The Actors Teldryn Sero, Garmr, CuSith and Bran all seem to have issues filling. Whereas the rest of the followers in their respective .esms work just fine. This is the check function; http://pastebin.com/bAMsv648 And this is the slider placement function; http://pastebin.com/AyzN1h0g These for followers return none and are filled with an empty option(refer to line 34 of the slider placement function). The GetFormFromFile() calls on these actors however do NOT throw errors. I have tried case sensitive, using GetFormID() on one, then converting to Hex while omitting the prefatory load order numbers. Valdimar had a similar issue and he was fixed by tweaking his formID; that said I've tried literally everything I can think of to resolve this issue on the other FormIDs. Anyone have any thoughts? -
I realize that there probably isn't anything that can be done about these stack dumps, but have had this happen several times recently on a new game that was started with USKP 2.0.6. The error (stack dump) can be seen in the attachment below: FavorChangeLocationQuestScript.zip
-
So there's a new save cleaning utility on the market. Yes yes, I hear the screams, the groans, the, OH GOD WTF ITS A SPIDER (no, wait, that was the neighbor). Abundance of caution is warranted for sure, but for some reason my gut said I should take a look at this one. First off, no sign of virus, malware, or trojan. It didn't attempt to contact the internet, nor did it begin systematically trying to wipe out the entire drive or something. So it's not dangerous in that regard. The documentation is sparse, but passable. The UI is easy enough to figure out for the simple parts. There is no source code in the archive, so that much of the description is false and ought to be changed. I then decided to use it on a backup copy of the save for my oldest character. Papyrus throws a major fit whenever I load him. Tons of old stuff that got yanked, other stuff I compiled to stubs to shut them up, and a few stuck loops from bugs we've since fixed in the unofficials. This tool is different from the others. It does not NULL out the whole block. It does in fact seem to be able to surgically remove whichever script you tell it to. My Papyrus log on startup went from a nightmarish mess full of dead scripts and numerous stuck loops to about the cleanest I've seen it since 11/11/11. In total, after removing the junk and then selectively removing all instances of critter scripts, I trimmed 1.5MB off the size of the save. Not as much as I'd hoped, but still. The big thing is that it doesn't appear to have damaged the status of anything else in the save. All visible signs point to the game remaining in the state I'd expect it to be in. It loaded, ran for about 2 hours or so, then saved without a hitch. No CTDs, no hangs, no weirdness. So tentatively this one looks like it's safe. I would suggest more eyes be upon it with saves you're willing to restore from backups though. If this ends up working, it'll be another major breakthrough. Note: I have not tested the "clean havok-moved" or messed with the parts that look like they're for form ID deletion. So I can't speak to the safety or function of those. All I messed with was script removal.
-
Stack Dump - Quest TGRNT (00060990).zip Not sure what caused this particular stack dump to happen, but I thought I'd post it here, just in case it could be of use in fixing something in the game. I'm not really surprised that this happened again, because my save probably has a lot of baked-in data in it. There's also some "critter" nonsense in the stack dump, not really a big surprise either.
-
Another stack dump. This time it appears it may have had to do with summoning Durnevheir with the shout. Also, there seems to be all kinds of other papyrus errors mixed in with it. I was using the 2.0.0 versions of the Unofficial Patches (at the time it happened). See attachment below for full log. Durnevheir Summon - Stack Dump.zip
-
Additional papyrus errors in log (Issue #14124) Edit: this issue has been marked as fixed for USKP v. 2.0.1. Have deleted the attachment to save storage space.
-
MGRitual04QuestScript -- Unending/continuous papyrus log errors
BlackPete posted a topic in Unofficial Skyrim Patches
I added a small portion of this error to the tracker (issue #14446), but could use some advice as to whether there are multiple things that need to be addressed and added to the tracker. The actual log was over 150,000 lines long (10 MB in size) in less than 10 minutes after completing the quest, so I condensed it down significantly (see link at top of post), since it repeats the same error(s) over and over. It appears to be similar to a bug that was fixed with USKP 2.0.0 ( #13631) I should also note that The Augur did not speak his line of dialogue ("You are worthy") after finishing "the test" either. By the way, in my current game, I reloaded a save prior to starting this quest, because I don't really want this script going endlessly for the rest of the game, but I still have several save files available if you guys would need them when attempting to fix this issue at a later date. Edit: This issue was fixed with USKP 2.0.1. The fix for this bug was evidently non-retroactive (according to the change log). MGRitual04QuestScript.zip -
There's no "Papyrus" category on TracDown so "Magic", maybe? Completely new game, no mods apart from USKP. Warnings in the logs about missing script properties (see the spoiler).