Why do I do this to myself?

Post » Sat Oct 03, 2015 3:27 am

I've got another one of those stupidly complicated papyrus puzzles. I have a quest where the aliases all fill, but not before the first quest fragment runs.

The basic problem is that I need the quest to restart itself on completion. I can't get that to happen, so I'm using three more or less identical quests and starting them with a script event. That bit works fine.

The thing is that rather than replicate my scenes and dialogue three times (and have to fix each bug in three places) I set up a scenes quest to do handle the shared content. And then, because I need to reset the scene quest, I needed to move my dialogue into another quest so all my "say once" infos didn't repeat each time the quest ran. And I ended up creating a separate data quest as well, because I wasn't sure which properties would get reset and it seemed like I good idea to keep the data separate from scenes or dialogue.

Anyway, my kickoff quest runs just fine. So in a startup fragment, I try and force equivalent aliases on the data quest. If they all fill I can have hte scene quest (which is about to start) simply mirror the data quest aliases and it won't matter which of the three kicker quests actually provided the data.

The only thing is some of the values that are being passed are None. Which is weird, because sqv shows them all filled.

Conclusion? They're still filling when the fragment runs.

The solution is probably to store the kickoff quest reference somewhere reliable and then start the scene runner. The scene runner can then spin in a wait loop until the aliases are filled and things should proceed from there.

Anyway, I needed to vent a little bit. I hope that's all right.
User avatar
Katy Hogben
 
Posts: 3457
Joined: Mon Oct 30, 2006 12:20 am

Post » Fri Oct 02, 2015 6:15 pm

Take a look at the companions radiant quests, Aela's in particular, as most of these seem to repeat.
The side quests in specific, not the main quest.
User avatar
Sabrina garzotto
 
Posts: 3384
Joined: Fri Dec 29, 2006 4:58 pm

Post » Fri Oct 02, 2015 9:53 pm

Mmmm... the Dark Bortherhood Forever missions might work even better. They kick off a new mission the minute you close the old one, which is just what I want here.

I think ... I think the problem is that I'm asking the alias matching to work too hard and that's slowing things down.

Anyway - new plan: formlist containing carriage drivers.

Then I set these aliases:

  • alias for pc
  • alias for PC's location, type hold
  • alias for driver in list and in pcs location
  • alias for second driver in list (reuse in quest not allowed, so will get a different one)
  • alias for second driver's location, type hold

That, plus a few link refs on the first driver gives me everything I need, and should be fairly fast.

Better yet, I can run all of that on the scene quest and get rid of the alias passing altogether. I didn't do that before because I was having problems getting the alias to fill right. So I made a radiant kicker for each hold (initially for each pair of holds) and force the aliases. If this works reliably (and it does on a small test quest) then it's a much simpler way to solve the problem.

User avatar
Samantha hulme
 
Posts: 3373
Joined: Wed Jun 21, 2006 4:22 pm


Return to V - Skyrim