Jump to content

Quest.SetStage doesnt work, GetStage is always 0. How can this be?


JediIgor

Recommended Posts

Hi guys,

 

I am trying to use the Creation Kit to fix a bug I'm having in my game. When I activate quest "The Fallen" (MQ301) on stage 30 after talking to the whiterun Jarl it should advance the quest "Seasoned Unending" to the next stage 10 which will then add an objective and show the quest in your journal.

 

Long story short, my MQ302 never starts. Trying to force setstage to any other # doesn't work.. getstage MQ302 always returns 0.

 

With sqv it says

 

 

Enabled: no
State: Stopped
Current state: 0

 

I tried using this papyrus script to force start it, but it didn't do anything (except display the message boxes).. :(

 

 

Scriptname MQ302FixHelloWorld extends ObjectReference  
{just prints ahello world}

Float fVersion

Event OnActivate(ObjectReference akActionRef)
  fVersion = 1.0
  Debug.MessageBox("Attemping to force start MQ302" + fVersion)
  fVersion = 2.0
  Debug.MessageBox("Stage 2, World! " + fVersion)
  MQ302.Reset()
  MQ302.Start()
  MQ302.SetStage(15)
  Debug.MessageBox("Stage 3, Force started the quest.. did it work?")
endEvent


Quest Property MQ302  Auto  

 

After that running 'sqv', I get the same output as before, so it didn't work.

 

How do I find out why the quest won't start? I am a complete newb to Creation Kit (although I do C++ development for my full time job, so I know how to program) and after looking through the Creation Kit wiki I couldn't find much information. I am guessing it's one of the "hidden" GUI knobs I need to check. Is there some way to check what conditions must be met before a quest can start?

 

Already spent 3+ hours on this, would be kind of a shame if I couldn't fix this since I really want to finish the main quest :).

Link to comment
Share on other sites

Wouldn't it just be simpler to start MQ302 using the console?

 

Edit: if the quest won't start, it could well be that a "not optional" alias cannot fill (a required actor/object has been deleted/disabled/broken/edited/killed/form ID has been changed?).

Edited by steve40
Link to comment
Share on other sites

Wouldn't it just be simpler to start MQ302 using the console?

 

Yes that's the first thing I tried :). But it didn't do anything at all, I thought I could force it through papyrus.

 

setstage MQ302 15
setstage MQ302 10
setstage MQ302 <any-value-here>
getstage MQ302 -> always 0

Link to comment
Share on other sites

Wouldn't it just be simpler to start MQ302 using the console?

 

Edit: if the quest won't start, it could well be that a "not optional" alias cannot fill (a required actor/object has been deleted/disabled/broken/edited/killed/form ID has been changed?).

 

steve, how would I check if this is the case?

Link to comment
Share on other sites

You could try typing "showquestvars MQ302" in the console (no quotes), or "sqv MQ302" for short.

 

Other console commands that might help:

 

ShowFullQuestLog

ShowQuestLog

ShowQuestTargets

Link to comment
Share on other sites

Ok,I did sqv MQ302. For the aliases I am guessing they are listed here?

 

- 44 Aliases for quest 'MQ302' (hex number)-
REF 'Something' -> NONE
or 
LOC 'Something -> NONE

(all the values point to NONE. if I do SQV MQ302 I get back other values that aren't NONE).

 

e.g.

 

REF 'Player' -> NONE
REF 'Arngeir' -> NONE

 

Is that the problem? How would I diagnose this further, I don't understand how EVERY single alias could be NONE. Maybe it just doesn't get filled until the quest starts?

Link to comment
Share on other sites

OK, I marked all the aliases optional and went through and setstage MQ302 15 seemed to work and created a new journal log.

 

I did sqv MQ302 again and all the not-optional aliases are there EXCEPT

 

alias 'delphine' -> NONE

 

She has REQ flags in quest aliases (reserves reference, essential, allow reserved, quest object)

 

this is pretty much the same for me as MQ202 (which did work for me) except that one didn't have essential checked. Looking at docs allow reserved counters the effect of reserved (for filtering purposes), and essential isn't used to filter but rather to make an NPC essential while it's aliased.

Link to comment
Share on other sites

OK I figured it out!!! steve you're awesome thanks for the help.

 

i looked up Delphine's referenceID, moved her to me, and guess what she was dead (hahaha). I resurrected her then setstage MQ302 15 worked great. So at some point she wasn't marked essential and got killed off while I wasn't on the screen.

 

prid 00013485
isessential -> 0.0 
resurrect
setstage MQ302 15
isessential -> 1.0

 

It would be nice to figure out where she was set not to essential so it can be submitted to Unofficial Skyrim Patch.

 

How is this possible though, I don't understand. Delphine is marked essential if I go to her, I guess she's not marked essential in MQ202 (could it be possible after MQ202 was done she was un-flagged as essential?)

Link to comment
Share on other sites

  • 8 months later...

I don't recommend going the not optional route. Chances are good that one of the NPCs required for that quest somehow died (mods? bugs?) so I'd look for that NPC and resurrect them.

 

FWIW I've run into this bug at least twice and it was always a dead NPC that shouldn't have been dead.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...