rkkn Posted October 19, 2021 Share Posted October 19, 2021 instead of always printing a question mark instead (and if not, why is it even there?) Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 19, 2021 Share Posted October 19, 2021 Is this for the compiler error report or for the papyrus log listing runtime errors? Seeing a sampling of the error you are referring to would also be helpful. Link to comment Share on other sites More sharing options...
rkkn Posted October 19, 2021 Author Share Posted October 19, 2021 the papyrus logI am not talking about any specific errors, so I don't think one would be helpful to post, but here's an example anyway [10/19/2021 - 08:05:46AM] warning: Assigning None to a non-object variable named "::temp7" stack: [None].REQ_ConditionalSubEffect.OnEffectFinish() - "REQ_ConditionalSubEffect.psc" Line ? And again I am not trying to troubleshoot any errors at present, so please don't talk about this particular warning message. The point of interest is at the very end there. The "Line ?" bit. It's at the end of EVERY runtime error or warning message that Papyrus prints. It always prints that as though it's supposed to normally have a line number, but it never does. Link to comment Share on other sites More sharing options...
ReDragon2013 Posted October 19, 2021 Share Posted October 19, 2021 (edited) Probably this topic is related to an older one, that you started this month. https://forums.nexusmods.com/index.php?/topic/10576588-is-there-a-way-to-check-if-a-script-is-attached-to-an-object-without-printing-an-error/ Without the full source code of the script REQ_ConditionalSubEffect.psc, it keeps a puzzle not solved. You wrote:"It always prints that as though it's supposed to normally have a line number, but it never does." Here are some log samples that will also not give a line number. [05/26/2014 - 04:45:23AM] error: Unable to call UnregisterForUpdate - no native object bound to the script object, or object is of incorrect type stack: [None].critterspawn.UnregisterForUpdate() - "<native>" Line ? [None].critterspawn.OnCellDetach() - "CritterSpawn.psc" Line 472 [08/15/2014 - 04:50:34AM] error: Unable to call GetBaseObject - no native object bound to the script object, or object is of incorrect type stack: [None].MannequinActivatorSCRIPT.GetBaseObject() - "<native>" Line ? [None].MannequinActivatorSCRIPT.OnUpdate() - "MannequinActivatorSCRIPT.psc" Line ? [12/15/2013 - 10:06:36PM] error: (0301A565): Actor did not have a valid Animation Graph Manager. stack: [ (0301A565)].DLC2BurtSpigganFXScript.SetSubGraphFloatVariable() - "<native>" Line ? [ (0301A565)].DLC2BurtSpigganFXScript.OnHit() - "DLC2BurtSpigganFXScript.psc" Line ? [12/10/2013 - 01:51:50AM] error: Cannot call IsSameLocation() on a None object, aborting function call stack: [ (00032D99)].MQ106BurialMoundScript.OnUpdate() - "MQ106BurialMoundScript.psc" Line ? [12/10/2013 - 01:51:50AM] warning: Assigning None to a non-object variable named "::temp7" stack: [ (00032D99)].MQ106BurialMoundScript.OnUpdate() - "MQ106BurialMoundScript.psc" Line ? [11/19/2013 - 08:45:17PM] error: Object reference has no 3D stack: [ (0001E68C)].Sound.Play() - "<native>" Line ? [ (0009C024)].fxDustDropRandomSCRIPT.OnLoad() - "<savegame>" Line ?What is the conclusion? If a script instance produces an error and its related to a native function or event, no error line will be printed to log-file. Edited October 19, 2021 by ReDragon2013 Link to comment Share on other sites More sharing options...
rkkn Posted October 20, 2021 Author Share Posted October 20, 2021 Probably this topic is related to an older one, that you started this month. https://forums.nexusmods.com/index.php?/topic/10576588-is-there-a-way-to-check-if-a-script-is-attached-to-an-object-without-printing-an-error/It's not.I meant exactly what I said in the post. HOWEVER, I see that one of your messages does have a line number! "CritterSpawn.psc" Line 472What makes that case different? How is the number there but not for the rest of them. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 20, 2021 Share Posted October 20, 2021 In the examples given by ReDragon2013 the object running the script has been unloaded prior to the script finishing its execution. This can happen when crossing cell boundaries fairly quickly. Objects in the distant cells of the uGrid start to load and run their scripts but are unloaded because their cell is no longer part of the active uGrid. This can also happen when an object with an active script is removed mid-game. The script will attempt to continue running on the next load. If it cannot safely fail and cease running, it may continue to try running and potentially lead to save game bloat if enough similar objects are affected in the same way. It stands to reason then that objects which are unloaded can no longer report line numbers on their assigned scripts. In the one example, the object is present to trigger the OnCellDetach event but gets unloaded before the UnregisterForUpdate function can be triggered. Thus a line number is displayed for the one but not for the other. Link to comment Share on other sites More sharing options...
rkkn Posted October 20, 2021 Author Share Posted October 20, 2021 (edited) That would make sense, but even when a script throws repeated errors and it and its object are still very much loaded, the line number is still "?"I have never seen it actually have the line number for any Papyrus errors I have ever seen in my log. Edited October 20, 2021 by rkkn Link to comment Share on other sites More sharing options...
Recommended Posts