Issue Data
|
Issue #30585: Three possible papyrus errors
I've done a few checks and as far as I can tell these are all vanilla, not being overridden by any other mods. Posting them as one report since if it turns out they're not vanilla errors I didn't want to clutter the tracker.
1: Happened when entering Falkreath: Error: (0001A336): cannot start scene because its parent quest was not running. stack: [ (0001A336)].SF_DA05FuneralScene_0001A336.Start() - "<native>" Line ? [DA05 (0002A49A)].da05questscript.CheckForSceneStart() - "DA05QuestScript.psc" Line ? [DA05LocationCheck (0005D330)].QF_DA05LocationCheck_0005D330.Fragment_1() - "QF_DA05LocationCheck_0005D330.psc" Line ? 2: When killing the spriggan mentioned here. Error: (00085407): Failed to send event KillFX for unspecified reasons. stack: [ (00085407)].masterambushscript.PlaySubGraphAnimation() - "<native>" Line ? [Active effect 1 on (00085407)].SprigganFXSCRIPT.OnDeath() - "SprigganFXSCRIPT.psc" Line ? 3: Honestly, unsure what this one was: Error: Cannot call DeleteWhenAble() on a None object, aborting function call stack: [DLC1_WESC03 (020034D0)].DLC1_QF_DLC1_WESC03_010034D0.Fragment_2() - "DLC1_QF_DLC1_WESC03_010034D0.psc" Line ? Like I said, I'm reasonably confident these are vanilla, but I apologize in advance if I missed something wrong with my setup |
Related Issues: 31503
#1: This is a bogus error which supposedly occurs when a script calls Start() on a scene that is running already.
#2: As we found out in the meantime, this is another bogus error. Animations may send animation events in specific stages of an animation. These are defined in the animation files, and when a script calls for the animation to be played on an object, the game tries to send these events to that script no matter what. If the script never registered for the events, this will fail with this error. Scripts normally register for animation events only when they need to process them. If they don't need to process them, registering anyway would be a complete waste of time, so they live with the errors instead. The errors can be avoided by letting the script register for all enimation events that can possibly be sent and add empty event handlers for each one of them. There is no gain in doing this, other than avoiding the errors, so they are best left alone [NB: we fixed this only in a few cases of "frequent spammers"].
#3: It's way better with the fix. The vanilla script always threw nine errors in a row and it's now only one occasionally.
#2: As we found out in the meantime, this is another bogus error. Animations may send animation events in specific stages of an animation. These are defined in the animation files, and when a script calls for the animation to be played on an object, the game tries to send these events to that script no matter what. If the script never registered for the events, this will fail with this error. Scripts normally register for animation events only when they need to process them. If they don't need to process them, registering anyway would be a complete waste of time, so they live with the errors instead. The errors can be avoided by letting the script register for all enimation events that can possibly be sent and add empty event handlers for each one of them. There is no gain in doing this, other than avoiding the errors, so they are best left alone [NB: we fixed this only in a few cases of "frequent spammers"].
#3: It's way better with the fix. The vanilla script always threw nine errors in a row and it's now only one occasionally.
For #3, it looks like there are two events that call the Stop command which triggers the deletion calls:
Only one of these is actually required, and generally speaking OnCellDetach() is more reliable.
The issue in 13768 was caused by the same script, but was due to the presence of multiple deletion statements for invalid aliases.
Event OnUnload() DLC01_WESC03.Stop() EndEvent Event OnCellDetatch() DLC01_WESC03.Stop() EndEvent
Only one of these is actually required, and generally speaking OnCellDetach() is more reliable.
The issue in 13768 was caused by the same script, but was due to the presence of multiple deletion statements for invalid aliases.
Since we're not addressing the first two due to them being false errors, I'll comment on the 3rd. That one was addressed in a subsequent patch at some point by disabling the OnLoad() block, which led to problems because the script had a typo in the OnCellDetach() event name.
That issue has been fixed already, which means this ticket no longer has any valid things to address.
That issue has been fixed already, which means this ticket no longer has any valid things to address.
Showing Comments 1 - 3 of 3