jbezorg Posted September 15, 2013 Posted September 15, 2013 File Name: Papyrus Utilities File Submitter: jbezorg File Submitted: 15 Sep 2013 File Category: Modders Resources This is just a simple script to manipulate Papyrus error logging.This is the script. Scriptname Papyrus Hidden; silence the Papyrus log =====================================================bool[] function getDebugLogState() global bool[] bDebugState = new bool[3] bDebugState[0] = Utility.GetINIBool("bLoadDebugInformation:Papyrus") bDebugState[1] = Utility.GetINIBool("bEnableTrace:Papyrus") bDebugState[2] = Utility.GetINIBool("bEnableLogging:Papyrus") return bDebugStateendFunctionbool[] function getDebugLogSilent() global bool[] bDebugState = new bool[3] bDebugState[0] = false bDebugState[1] = false bDebugState[2] = false return bDebugStateendFunctionfunction setDebugLogState( bool[] bDebugState ) global Utility.SetINIBool("bLoadDebugInformation:Papyrus", bDebugState[0]) Utility.SetINIBool("bEnableTrace:Papyrus", bDebugState[1]) Utility.SetINIBool("bEnableLogging:Papyrus", bDebugState[2])endFunction In the following example function the animation var "FNISflags" has not been defined. ; call FNIS.GetFlag( ([mymod] as FNIS ).ISBETA )Bool function GetFlag( int aiFlag ) global bool ret = Math.LogicalAnd(Game.GetPlayer().GetAnimationVariableInt("FNISflags"), aiFlag) as Bool return retendFunction This will generate an error in the Papryus Log. e.g.: [09/14/2013 - 10:34:37PM] Error: (00000014): cannot fetch variable named FNISflags of type int, returning 0.stack: [ (00000014)].Actor.GetAnimationVariableInt() - "<native>" Line ? <unknown self>.fnis.GetFlag() - "FNIS.psc" Line 59 [zzEstrusChaurusMCM (9200EF8A)].zzestruschaurusmcmscript.registerMyAnimation() - "zzEstrusChaurusMCMScript.psc" Line 30 [zzEstrusChaurusMCM (9200EF8A)].zzestruschaurusmcmscript.OnVersionUpdate() - "zzEstrusChaurusMCMScript.psc" Line 145 [zzEstrusChaurusMCM (9200EF8A)].zzestruschaurusmcmscript.CheckVersion() - "SKI_QuestBase.psc" Line 17 [zzEstrusChaurusMCM (9200EF8A)].zzestruschaurusmcmscript.OnGameReload() - "SKI_ConfigBase.psc" Line 119 [alias Player on quest zzEstrusChaurusMCM (9200EF8A)].SKI_PlayerLoadGameAlias.OnPlayerLoadGame() - "SKI_PlayerLoadGameAlias.psc" Line 6 If you as a modder do not care about this noise in the Logs because a failure is sometimes expected you can silence Papryus error logging with these utilities. e.g. ; call FNIS.GetFlag( ([mymod] as FNIS ).ISBETA )Bool function GetFlag( int aiFlag, bool abFailSilent = true ) global bool[] bDebugOff = Papyrus.getDebugLogSilent() bool[] bDebugState = Papyrus.getDebugLogState() if abFailSilent Papyrus.setDebugLogState( bDebugOff ) endIf bool ret = Math.LogicalAnd(Game.GetPlayer().GetAnimationVariableInt("FNISflags"), aiFlag) as Bool if abFailSilent Papyrus.setDebugLogState( bDebugState ) endIf return retendFunction Click here to download this file
pegasusyoon Posted September 15, 2013 Posted September 15, 2013 I'm fairly new member of lovelab. I had papryus error alot (almost every time) but after install this, I never had one. none out of 10 new starts. Thanks.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now