Select Page

In WZ2015, we’ve added a robust Papyrus Log Message system which will help explain what’s going on in your game.

ANY message that begins with WZMSG is NOT an error.

This is NOT an error:

[03/13/2015 – 05:52:30PM] WZMSG[1] : GetStatusScript : PLAYER has ENTERED a BATTLESELECT WARZONE [GlobalVariable <WZonesSelectIvarsteadCrossroads (09012236)>]
[03/13/2015 – 05:52:30PM] WZMSG[1] : GetStatusScript : DISABLED by BATTLE SELECT [GlobalVariable <WZonesSelectIvarsteadCrossroads (09012236)>]

This IS an example of an actual error :

[03/13/2015 – 05:54:20PM] Error: Cannot call IsDisabled() on a None object, aborting function call
stack:
[ (0901E650)].wzonescwgetstatusnospawnometer.OnCellAttach() – “wzonescwgetstatusnospawnometer.psc” Line 229
[03/13/2015 – 05:54:20PM] warning: Assigning None to a non-object variable named “::temp4”
stack:
[ (0901E650)].wzonescwgetstatusnospawnometer.OnCellAttach() – “wzonescwgetstatusnospawnometer.psc” Line 229

 

ENABLING AND LOCATING THE PAPYRUS LOG:

Open Skyrim.ini (My Documents/My Games/Skyrim) and add the following to it – or change the existing settings to match:

[Papyrus]
bEnableLogging=1
bEnableTrace=1
bLoadDebugInformation=1

Afterward, in that same folder you will see a new folder called Logs.

Inside that: Script.

Inside Script you will (eventually) find 4 logs.

Double click and they should open with notepad or any text editor.

Papyrus.0.log is the most recent.

SHARING YOUR PAPYRUS LOG WITH US:

When sharing your Papryus log with us, please set your WARZONES MCM -> DEBUG MESSAGE LOG to 3.  This way, we’ll be able to see the majority of intended messages and be better able to help.

Please use PASTEBIN.COM if you’re going to post your log in a Nexus or Reddit thread.  Or click here to file a Request for Assistance.

PAPYRUS LOG NOTICE:

On the first installation and initialization of the WARZONES MCM, the following will appear in your Papyrus log:

WARZONES 2015 : Debug Messages Notice
Please note, for those of you that read your Papyrus logs, WarZones 2015 adds a number of debugging messages designed to help us troubleshoot as necessary. If you are having no troubles and/or prefer not to get the messages they may be disabled via MCM DEBUG MESSAGES or console.

Console command: set WZonesDebugMSG to X (where X = messageLevel 0 – 4. 0 = Off.)
0 = Off. 1 = Primary Notices. 2 = Secondary & Primary Notices.
3 = Tertiary, Secondary and Primary. 4 = All Notices.

These messages will ALWAYS be marked with the prefix WZMSG and they are not errors.
The messages also indicate what level of message is displayed. For instance: WZMSG[2] indicates messageLevel 2.
This will aid you in determining what, if any, messages you’d like to see.

If you are experiencing difficulties you believe may be WZ related, please set WZonesDebugMSG to 3 and be prepared
to share your Papyrus log with us. Do NOT blindly post it on the NEXUS mod page thread. Inform us first if you please.

You will only see this message on Initialization of the MCM.

Enjoy! – MyGoodEye

This, quite obviously, explains how the WZMSG system works.

 

HOW TO READ THE WZMSG:

All WZMSGs are structured in the same way.  By example, let’s take the following message and deconstruct it:

WZMSG[1] : GetStatusScript : PLAYER has ENTERED a BATTLESELECT WARZONE [GlobalVariable <WZonesSelectNightgaleInn (1901295E)> 

WZMSG : Indicates that this is an intentional status message from Warzones.

[1] : Indicates the WZ DEBUG MESSAGE minimum setting to display this message.  In this case, it is “level 1” and therefore considered a PRIMARY message.

GetStatusScript : The script that is displaying this message.

PLAYER has ENTERED a BATTLESELECT WARZONE : The cell-type, relative to WZ, that the player has entered.  In this case, it is a BATTLE SELECT WZ that can be enabled/disabled via the WZ MCM

[GlobalVariable <WZonesSelectNightgaleInn (1901295E)>] : Tells us where the player is relative to WZs, and in this case, tells us the GlobalVariable used to enable/disable the area.

 

TYPICAL MESSAGE BLOCKS DECODED:

With WZ DEBUG MESSAGES set to Level 4, you will see “Blocks” of messages similar to these.  Remember, if you prefer less detail, you may turn set the DEBUG MESSAGES setting lower.

 

WZ BATTLE SELECT WARZONE : DISABLED

The player has entered a BATTLE SELECT WARZONE which is intentionally disabled by game conditions.

[11/21/2014 – 10:46:07AM] WZMSG[1] : GetStatusScript : PLAYER has ENTERED a BATTLESELECT WARZONE [GlobalVariable <WZonesSelectKorvanjund (190129E0)>]
[11/21/2014 – 10:46:07AM] WZMSG[2] : GetStatusScript : RandomNoSpawn = 59
[11/21/2014 – 10:46:07AM] WZMSG[2] : GetStatusScript : SpawnPercentage = 100
[11/21/2014 – 10:46:07AM] WZMSG[1] : GetStatusScript : DISABLED by GARRISON Property [GlobalVariable <WZonesSelectKorvanjund (190129E0)>]
[11/21/2014 – 10:46:07AM] WZMSG[1] : GetStatusScript : This is not an error. You have entered a WZ disabled by gameConditions.
[11/21/2014 – 10:46:07AM] WZMSG[4] : GetStatusScript : State DoneOnce

WZMSG[1] : GetStatusScript : PLAYER has ENTERED a BATTLESELECT WARZONE [GlobalVariable <WZonesSelectKorvanjund (190129E0)>]
Here, the player has entered an area governed by the KORVANJUND battle select.  It may be the WZ itself or a dynamic WZ.  In this case, this WZ is attached to a Garrison Condition which, if active, will cause it to spawn.

 WZMSG[2] : GetStatusScript : RandomNoSpawn = 59
A dice roll checks to see if the WZ should spawn if the Garrison Conditions are met.

WZMSG[2] : GetStatusScript : SpawnPercentage = 100
This WZ spawns 100% of the time when the Garrison conditions are met.
There are many Battle Select WZs that have lower SpawnPercentages, but since this one is generated by a Garrison Condition (which means it’ll almost never be active) I opted to allow it spawn so long as the Garrison Condition is met.

WZMSG[1] : GetStatusScript : DISABLED by GARRISON Property [GlobalVariable <WZonesSelectKorvanjund (190129E0)>]
The end result of the script is that the Garrison Condition is NOT met and therefore the WZ is not enabled.

WZMSG[1] : GetStatusScript : This is not an error. You have entered a WZ disabled by gameConditions.
Pretty obvious, but many folks mistake any message in a Papyrus log as an error, so I put this in to help explain what just happened to those folks not reading this page.

WZMSG[4] : GetStatusScript : State DoneOnce
This indicates the script has “parked” in a State called DoneOnce, which, in this case tells me that the script has completed its task.  In most cases, you will not need Level 4 messages.

RANDOM SKIRMISH : DISABLED

In this example, the player has entered a Random Skirmish area that is disabled due to Random Dice Roll.

[11/21/2014 – 10:45:54AM] WZMSG[1] : RandomEncountersScript : PLAYER has ENTERED a RANDOM ENCOUNTER Area… roll ‘dem bones
[11/21/2014 – 10:45:54AM] WZMSG[2] : RandomEncountersScript : RandomDICEroll = 71
[11/21/2014 – 10:45:54AM] WZMSG[2] : RandomEncountersScript : EncounterOdds + DevOffset = 10
[11/21/2014 – 10:45:54AM] WZMSG[2] : RandomEncountersScript : noSpawn High dice
[11/21/2014 – 10:45:54AM] WZMSG[4] : RandomEncountersScript : State DoneOnce
[11/21/2014 – 10:51:01AM] WZMSG[4] : RandomEncountersScript : PLAYER Exited Area : Disable

WZMSG[1] : RandomEncountersScript : PLAYER has ENTERED a RANDOM ENCOUNTER Area… roll ‘dem bones
The player has entered the area and the script calls for a dice roll.

WZMSG[2] : RandomEncountersScript : RandomDICEroll = 71
The dice roll is 71.

WZMSG[2] : RandomEncountersScript : EncounterOdds + DevOffset = 10
The number that the Dice Roll needs to be less than for the skirmish to spawn is 10.
This factors the Player Encounter Odds (as chosen in MCM) and a DevOffset (see below).

WZMSG[2] : RandomEncountersScript : noSpawn High dice
Since the Dice Roll did not meet the spawn conditions, there is no spawn.  The reason, in this case, is High Dice.

WZMSG[4] : RandomEncountersScript : State DoneOnce
This indicates the script has “parked” in a State called DoneOnce, which, in this case tells me that the script has completed its task.  In most cases, you will not need Level 4 messages.

WZMSG[4] : RandomEncountersScript : PLAYER Exited Area : Disable
Sometime later (note the timecode above is about 5 minutes later than when the player entered), the player has left the area and the script disables the EnableParent of the skirmish.

RANDOM AMBUSH : ENABLED

Oh boy!  You’ve been attacked by a random ambush!

[11/21/2014 – 10:50:48AM] WZMSG[1] : AmbushScript : PLAYER has ENTERED a RANDOM AMBUSH Area… roll ‘dem bones
[11/21/2014 – 10:50:48AM] WZMSG[2] : AmbushScript : RandomDICEroll = 16
[11/21/2014 – 10:50:48AM] WZMSG[2] : AmbushScript : PlayerEncounterOdds + Developer Offset = 30
[11/21/2014 – 10:50:48AM] WZMSG[1] : AmbushScript : Player is NEUTRAL! AMBUSH! Dice Roll 8
[11/21/2014 – 10:50:48AM] WZMSG[3] : AmbushScript : State = StandardAmbushes 2
[11/21/2014 – 10:50:48AM] WZMSG[4] : AmbushScript : State DoneOnce

WZMSG[1] : AmbushScript : PLAYER has ENTERED a RANDOM AMBUSH Area… roll ‘dem bones
The player has entered the area and the script calls for a dice roll.

WZMSG[2] : AmbushScript : RandomDICEroll = 16
The dice roll is 16.

WZMSG[2] : AmbushScript : PlayerEncounterOdds + Developer Offset = 30
The number that the Dice Roll needs to be less than for the skirmish to spawn is 30.
This factors the Player Encounter Odds (as chosen in MCM) and a DevOffset (see below).
In this instance, since I know my Player Encounter Odds is set to 10, I can infer that there’s a Developer Offset of 20 in this location.

WZMSG[1] : AmbushScript : Player is NEUTRAL! AMBUSH! Dice Roll 8
An AMBUSH is allowed to spawn, it is determined that the player has not chosen a side in the Civil War and another Dice Roll determines what type of ambush we should see.  In this case, a Dice Roll of 8 will give us a Standard Ambush… however there are other types as well.

WZMSG[3] : AmbushScript : State = StandardAmbushes 2
The script has now gone to the StandardAmbushes state, which contains the “list” of possible opponents.
Another Dice Roll gives us a value of 2 which will spawn the Standard Ambush #2
Note, the ambush opponents is defined with the properties of the script, so it is not always the same opponent.

WZMSG[4] : AmbushScript : State DoneOnce
And then while you’re fighting for your life, the script has “parked” in a State called DoneOnce, which, in this case tells me that the script has completed its task.  In most cases, you will not need Level 4 messages.

RANDOM AMBUSH : DISABLED

Here, the player has entered a WZ AMBUSH area that is disabled by random dice roll

[11/21/2014 – 10:48:54AM] WZMSG[1] : AmbushScript : PLAYER has ENTERED a RANDOM AMBUSH Area… roll ‘dem bones
[11/21/2014 – 10:48:54AM] WZMSG[2] : AmbushScript : RandomDICEroll = 82
[11/21/2014 – 10:48:54AM] WZMSG[2] : AmbushScript : PlayerEncounterOdds + Developer Offset = 30
[11/21/2014 – 10:48:54AM] WZMSG[4] : AmbushScript : State DoneOnce 

WZMSG[1] : AmbushScript : PLAYER has ENTERED a RANDOM AMBUSH Area… roll ‘dem bones 
The player has entered the area and the script calls for a dice roll.

WZMSG[2] : AmbushScript : RandomDICEroll = 82
The dice roll is 82.

WZMSG[2] : AmbushScript : PlayerEncounterOdds + Developer Offset = 30
The number that the Dice Roll needs to be less than for the skirmish to spawn is 30.
This factors the Player Encounter Odds (as chosen in MCM) and a DevOffset (see below).
In this instance, since I know my Player Encounter Odds is set to 10, I can infer that there’s a Developer Offset of 20 in this location.

WZMSG[4] : AmbushScript : State DoneOnce
This indicates the script has “parked” in a State called DoneOnce, which, in this case tells me that the script has completed its task.  In most cases, you will not need Level 4 messages.

RANDOM WARZONE : ENABLED

[11/21/2014 – 11:56:08PM] WZMSG[1] : RandomEnabler : PLAYER has ENTERED a rENCOUNTER/WZ controlled by FEATURE : [GlobalVariable <WZonesRandomEncounters (19015411)>]
[11/21/2014 – 11:56:08PM] WZMSG[2] : RandomEnabler : RandomDICEroll = 27
[11/21/2014 – 11:56:08PM] WZMSG[2] : RandomEnabler : EncounterOdds + DevOffset = 60
[11/21/2014 – 11:56:08PM] WZMSG[1] : RandomEnabler : rENCOUNTER/WZ ENABLED

RANDOM WARZONE : DISABLED BY DICE ROLL

The Random Warzone is something of a misnomer in that this particular script can be (and is) used for many random events.

[11/21/2014 – 10:56:20AM] WZMSG[1] : RandomEnabler : PLAYER has ENTERED a rENCOUNTER/WZ controlled by FEATURE : [GlobalVariable <WZonesRandomWZs (190285EE)>]
[11/21/2014 – 10:56:20AM] WZMSG[2] : RandomEnabler : RandomDICEroll = 25
[11/21/2014 – 10:56:20AM] WZMSG[2] : RandomEnabler : EncounterOdds + DevOffset = 25
[11/21/2014 – 10:56:20AM] WZMSG[1] : RandomEnabler : rENCOUNTER/WZ DISABLED : High Dice
[11/21/2014 – 10:56:20AM] WZMSG[4] : RandomEnabler : State DoneOnce

WZMSG[1] : RandomEnabler : PLAYER has ENTERED a rENCOUNTER/WZ controlled by FEATURE : [GlobalVariable <WZonesRandomWZs (190285EE)>]
The player has entered an area that can be enabled/disabled by toggling the RANDOM WARZONES option in MCM/console.  As with all things random in WZ, this calls for a Dice Roll.

WZMSG[2] : RandomEnabler : RandomDICEroll = 25
The dice roll is 25.

WZMSG[2] : RandomEnabler : EncounterOdds + DevOffset = 25
The number that the Dice Roll needs to be less than for the skirmish to spawn is 25.
This factors the Player Encounter Odds (as chosen in MCM) and a DevOffset (see below).
In this instance, since I know my Player Encounter Odds is set to 10, I can infer that there’s a Developer Offset of 15 in this location.

WZMSG[1] : RandomEnabler : rENCOUNTER/WZ DISABLED : High Dice
Since the Dice Roll did not meet the spawn conditions, there is no spawn.  The reason, in this case, is High Dice.

WZMSG[4] : RandomEnabler : State DoneOnce
This indicates the script has “parked” in a State called DoneOnce, which, in this case tells me that the script has completed its task.  In most cases, you will not need Level 4 messages.

RANDOM WARZONE : DISABLED BY TIME

The player has entered a DAY/NIGHT AWARE rWZ and although the Dice Roll allowed for spawning, the time did not.

[11/21/2014 – 05:11:27PM] WZMSG[1] : RandomEnabler : PLAYER has ENTERED a rENCOUNTER/WZ controlled by FEATURE : [GlobalVariable <WZonesRandomWZs (190285EE)>]
[11/21/2014 – 05:11:27PM] WZMSG[2] : RandomEnabler : RandomDICEroll = 13
[11/21/2014 – 05:11:27PM] WZMSG[2] : RandomEnabler : EncounterOdds + DevOffset = 25
[11/21/2014 – 05:11:27PM] WZMSG[1] : RandomEnabler : NIGHT rENCOUNTER/WZ DISABLED by Daylight @ 12.836018

WZMSG[1] : RandomEnabler : PLAYER has ENTERED a rENCOUNTER/WZ controlled by FEATURE : [GlobalVariable <WZonesRandomWZs (190285EE)>]
The player has entered an area that can be enabled/disabled by toggling the RANDOM WARZONES option in MCM/console.  As with all things random in WZ, this calls for a Dice Roll.

WZMSG[2] : RandomEnabler : RandomDICEroll = 13
The dice roll is 13.

WZMSG[2] : RandomEnabler : EncounterOdds + DevOffset = 25
The number that the Dice Roll needs to be less than for the skirmish to spawn is 25.
This factors the Player Encounter Odds (as chosen in MCM) and a DevOffset (see below).
In this instance, since I know my Player Encounter Odds is set to 10, I can infer that there’s a Developer Offset of 15 in this location.

13 is less than 25, so the rWZ can spawn… but…
WZMSG[1] : RandomEnabler : NIGHT rENCOUNTER/WZ DISABLED by Daylight @ 12.836018
It’s around Noon and the player was in a rWZ that will only spawn at night.  Come back later and maybe you’ll get some action!

WZ MONSTERS :

WZMSG[2] : MonstersScript : RUN! HIDE! PostDragon MONSTERS![ActorBase < (1900E731)>]1

A level 2 message : A monster has spawned in from a WZ MONSTERS spawn point.  Your character has completed the DRAGON RISING quest which allows for Dragons in Tamriel.  The Spawnpoint has spawned ONE creature whose ID corresponds with 1900E731.

TERMS USED IN WZMSGS:

DevOffset  = Developer Offset
In many cases, I’ve increased the odds of a Random Encounter spawning.  This is added to the Player’s Random Encounter Odds by the script when necessary.
For example, if your Random Encounter Odds is 10 and the Developer Offset is 50, there is a 60% chance the area will spawn.

EnableParent = A “marker” in the Creation Kit that I use as a “parent” to WZ SPAWN markers.  This document will not cover the specifics of that mechanism, but suffice it to say that (just like you did as a kid) the Children do what the Parent says… so, if the parent says “disable”, the children do the same.

EncounterOdds = Player’s Random Encounter Odds
As set by the player in MCM/console.

Roll ‘dem Bones = Roll the Dice
Y’know, I dunno, I know that dice are sometimes called Bones and I know that for some reason I had a pirate thing on my mind… so Roll ‘Dem Bones = Roll Them Bones = Roll the Dice