Durai Posted October 23 Share Posted October 23 Long story short, I have a radiant quest mod that I'm working on that is about 90% done. You talk to an NPC once a certain condition is met and he'll give you a radiant location to track down a 'relic'. He can send you to an Imperial ruin, an animal den, or a Falmer hive. I have it set up so the dialogue response is random and triggers one of three repeatable quests. Each quest has stages 0, 10, 20 and 100 (used to have 200 as well but this issue still occurred so I got rid of the last stage). A global variable is used to determine whether a quest is active (0 or 1). All the properties/aliases are set up properly, and no scripts failed to save. Every quest ends with a script like this attached to a fragment: Spoiler THGF_Quest01.SetValue(0) THGF_RelicHunter003.stop() Utility.Wait(0.5) THGF_RelicHunter003.SetStage(0) Utility.Wait(0.5) THGF_RelicHunter003.Start() I added the waits just in case the scripts were firing off too quickly in succession. So this works great (at first) for around a dozen quests. Then eventually the quests stop 'resetting' and each quests is stuck at stage 100. I've used console commands to try and force them back to stage 0 but I get some text similar to [GetIsID 0.00] repeated a bunch of times, with the quest still stuck at stage 100. This would cause the dialogue prompt to stop appearing once all 3 quests got stuck at stage 100 (conditions to start are all stages are at 0 and so is the global variable) I ended up adding a 4th dialogue that only appeared when the global variable is at 0 and all three quests are at 100 with the following fragment: Spoiler THGF_RelicHunter001.stop() THGF_RelicHunter002.stop() THGF_RelicHunter003.stop() Utility.Wait(0.5) THGF_RelicHunter001.SetStage(0) THGF_RelicHunter002.SetStage(0) THGF_RelicHunter003.SetStage(0) Utility.Wait(0.5) THGF_RelicHunter001.Start() THGF_RelicHunter002.Start() THGF_RelicHunter003.Start() THGF_Quest01.SetValue(0) The dialogue would tell players to come back a little later (homage to Caius Cosades) and then fire the script. Lo and behold this worked out nicely. I'd go away for a day and then I'd be able to do my radiant quests again (then rinse and repeat, ad nauseam) My question is why do my stages get stuck to begin with? Is it because I'm not using the Story Manager? Are the aliases finding it difficult to find a location (despite the fact there should still be available locations)? Is this just how radiant quests are? Any help is greatly appreciated! Link to comment Share on other sites More sharing options...
xkkmEl Posted October 23 Share Posted October 23 Change your wait() after the THGF_RelicHunter003.stop to: while THGF_RelicHunter003.isStopping() Utility.wait( 0.1) endwhile Only then is it safe to setStage or start THGF_RelicHunter003. This of course applies to the other quests. Link to comment Share on other sites More sharing options...
Recommended Posts