Jump to content

Custom Radiant Quest won't reset?


Recommended Posts

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

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

  • Recently Browsing   0 members

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