Quest Debugging


Here are some useful tools for debugging quests and aliases.

ESML (EnableStoryManagerLogging):this turns on (or off) the story manager log, which tracks any event through the story manager tree. This can also be turned on in SkyrimPrefs.ini (under General):

bEnableStoryManagerLogging=1


SetQuestAliasLogging QuestID 1 in the console to turn it on, 0 to turn it off. “SQAL” can be used instead of the full quest name.

When quest alias logging is turned on for a quest, whenever that quest fills an alias randomly from a pool of options, the contents of that pool will be written out to the WarningsQuests.txt file. So if you are finding a random location with the keywords “dungeon” and “undead” , when that alias fills you’ll get output about what the collection of locations were it picked from.


SetDebugQuest QuestID 1 1 -- this is used to set the specified quest to be the only quest that is allowed to start for its event type. The second param is to turn it on or off (1/0), the third param is the number of times you want it to be the only quest allowed to start (1 is usually what you want)


Some useful INI settings:

[General]
bWarnOnFillAliasFailure=1 ; this causes warnings to be written to WarningsQuest.txt
bTrackAliasReservation=1 ; same thing but when an alias reserves something
bShowEventHandlingOutput=1
bEnableStoryManagerLogging=1 ; turn on story manager logging
iStoryManagerLoggingEvent=1 ; which event to log (I don't know the IDs of the event types though)