sqv says stage 20, debug says stage 10?

Post » Wed May 08, 2013 9:27 am

I'm simply setting a stage and the debug message in the stage fragment says the stage (stage 10) is being set, but sqv for my quest says it's still at stage 20, and the packages dependent on this stage aren't working. I have the quest set for repeated stages. I don't get it because I need that stage reset to validate a package. I'm setting the stage via the script below. Do you see anything wrong with that perhaps? (it appears to be working correctly because the message on the stage fragment is showing the stage is getting set.)

if (BalokTrainingScenes.IsRunning())              BalokTrainingScenes.SetCurrentStageID(10)elseif (BalokTrainingScenesSons.IsRunning())              BalokTrainingScenesSons.SetCurrentStageID(10)elseif (BalokTrainingScenesImperial.IsRunning())             BalokTrainingScenesImperial.SetCurrentStageID(10)else    ;do nothingendif
User avatar
Miragel Ginza
 
Posts: 3502
Joined: Thu Dec 21, 2006 6:19 am

Post » Wed May 08, 2013 2:34 pm

Has stage 10 ever been set in the past? If so, you need to select "allow repeated stages". I don't see anything wrong with your code (though, there is a shorter alias to the SetCurrenStageID() method, just use SetStage() ).
User avatar
Cameron Garrod
 
Posts: 3427
Joined: Sat Jun 30, 2007 7:46 am

Post » Wed May 08, 2013 9:40 pm

Yep, it's set for repeated stages. That's why this is so perplexing. Sometimes I get errors using setstage() like in certain scripts, not sure why. So I've just taken to doing it the long way since it seems it usually doesn't give me errors. Hey, I need to talk to you about Helgen and Frostfall too. Someone told me it's set to be pretty harsh in your mod? Does that affect just the player or general population too? (I've been working on this for a year now, and it has not snowed on Helgen one single time, lol. Lot's of rain though, lol.

User avatar
luke trodden
 
Posts: 3445
Joined: Sun Jun 24, 2007 12:48 am

Post » Wed May 08, 2013 12:18 pm

GetStage() always returns the highest value. If you set stage 10, GetStage() will continue to return 20.

You will have to use some sort of variable to condition the packages on.

User avatar
Emma Parkinson
 
Posts: 3401
Joined: Wed Jul 26, 2006 5:53 pm

Post » Wed May 08, 2013 5:45 pm

So are you saying that even if I have repeated stages allowed, once it's set to a higher stage, the lower stages are useless as a package condition? In other words, let's say my package needs to be valid only for stage 10, if I set the same quest to stage 20 which makes that package invalid, I cannot reset it to stage 10 later on to re-validate that package? If so, what's the point of repeated stages?

And, if the above is true, how do I set a variable on the quest above from another quest to set the variables that will validate or invalidate my packages? I tried this:

(MyQuest as MyOtherQuestsVariableScript).iMyVariable = 1

But that didn't work, I think because it has something to do with setting the variables from another quest script that's not on the quest doing the calling. (I'm not sure if my terminology is correct, so let me know if I'm not making sense.)

User avatar
Danger Mouse
 
Posts: 3393
Joined: Sat Oct 07, 2006 9:55 am

Post » Wed May 08, 2013 3:54 pm


Yes.

Example of repeated stages: being able to call the same stage multiple times to run the same bit of coding, or to display the same bit of text repeatedly (more so for Oblivion that Skyrim, since Skyrim has objectives).

***

You need to do (MyQuestTheScriptI'mTryingtoChangeTheVariableInIsAttachedTo as MyScriptWhosePropertyI'mTryingToChange).Var = Value
User avatar
Rachel Tyson
 
Posts: 3434
Joined: Sat Oct 07, 2006 4:42 pm


Return to V - Skyrim