Problem with quest losing forced alias on load

Post » Wed Jan 23, 2013 12:59 am

Hey guys. I have (what I thought) is a pretty cool radiant quest where the player can recruit any hunter in the game to become the guild merchant. How that works, is the recruiting quest picks an alias (called VendorAlias) using VendorAlias.ForceRefTo(akSpeaker), when you speak to a hunter. When this quest is almost finished it removes all factions from that actor. When the quest is complete, a new quest runs in the background (but not hidden yet, so I can test it I have it displaying in the journal) with an alias called NewVendorAlias. This alias has a new package to sit tight in the guild, and has a couple of new factions. This alias is filled by the reference in the first quest, using NewVendorAlias.ForceRefTo(Alias_VendorAlias.GetActorRef()). This works beautifully. When the quest is complete, the actor changes outfits, and makes their way to the guild. When there, they idle on markers, and are members of the guild.

Then the player saves the game, and reloads...

At this point, the alias in the background quest just vanishes (svq shows an empty alias), and the actor goes back to their original editor location.

How can I stop that? I've tried messing around with other things but can't fix it. When the game is loaded, the background quest drops that actor alias.

Really need help with this one :smile:

EDIT


Solved
User avatar
Rozlyn Robinson
 
Posts: 3528
Joined: Wed Jun 21, 2006 1:25 am

Post » Tue Jan 22, 2013 5:06 pm

Seriously guys I flupping rock, I seriously am a modding machine lately ;). I've solved it.

What I had originally, was:

Stage 60 of Recruit Quest

Alias_VendorAlias.GetActorRef().RemoveFromAllFactions()NewVendorAlias.ForceRefTo(Alias_VendorAlias.GetActorRef())Utility.Wait(1.0)HISWRVendorQuest.Start()Utility.Wait(1.0)SetStage(65)


I thought ok, so the alias fills in my background quest, then that quest starts. Works fine, but drops the alias when the game later loads. I switched to:


Alias_VendorAlias.GetActorRef().RemoveFromAllFactions()HISWRVendorQuest.Start()Utility.Wait(1.0)NewVendorAlias.ForceRefTo(Alias_VendorAlias.GetActorRef())Utility.Wait(1.0)SetStage(65)

Starting the quest, then filling the alias. I changed the background quest to have a 0 stage set as startup, and a 10 stage set as doing stuff; added a SetStage(10) to the final stage of this recruiting quest. So the quest begins, goes to stage 0. Alias is then filled, then the quest is set to stage 10. And now it works like a dream.

Brilliant. Posted my results incase anyone else has trouble :smile:
User avatar
Ross Thomas
 
Posts: 3371
Joined: Sat Jul 21, 2007 12:06 am

Post » Tue Jan 22, 2013 4:23 pm

Uh...ok but does it seem normal to you what happened in the first situation? If yes, why?
Are you sure the issue happened only on load and not ealyer maybe?
User avatar
suzan
 
Posts: 3329
Joined: Mon Jul 17, 2006 5:32 pm

Post » Wed Jan 23, 2013 5:57 am

Uh...ok but does it seem normal to you what happened in the first situation? If yes, why?
Are you sure the issue happened only on load and not ealyer maybe?

Positively 100% sure mate. I bug test like a mofo.

The alias seemed as though it was treated like a Current Game variable, that was reset when loading.

Once I switched to launching the quest, then filling its alias, bing bang bosh it was fixed.
User avatar
leni
 
Posts: 3461
Joined: Tue Jul 17, 2007 3:58 pm

Post » Tue Jan 22, 2013 10:57 pm

Positively 100% sure mate. I bug test like a mofo.

The alias seemed as though it was treated like a Current Game variable, that was reset when loading.

Once I switched to launching the quest, then filling its alias, bing bang bosh it was fixed.

I thought I just read somewhere the other day that quests which are not currently running always have all their aliases set to NULL. In which case, it kind of makes sense that you couldn't store anything in the new quest's alias until you'd already started it.
User avatar
Misty lt
 
Posts: 3400
Joined: Mon Dec 25, 2006 10:06 am

Post » Wed Jan 23, 2013 2:42 am

I thought I just read somewhere the other day that quests which are not currently running always have all their aliases set to NULL. In which case, it kind of makes sense that you couldn't store anything in the new quest's alias until you'd already started it.
I thought so too. But in this case I would expect they clear as soon as quest started, before save and load. That's why I asked.
I just hate if load would do such a thing. I hate it since loading gave me a realy hard time with my first mod and text replacement.
User avatar
Bloomer
 
Posts: 3435
Joined: Sun May 27, 2007 9:23 pm

Post » Wed Jan 23, 2013 4:34 am

I would have expected the alias to be NULL right from the start. How the NPC took on the AI pack in that case would be rather mysterious to me, unless setting the alias silently started the quest, gave him the behavior, and kept that running for the session. This would assume that calling start resets everything and starts it again of course.

Situations like this I'd prefer an error back from the script telling you a quest that's not running can't fill aliases.
User avatar
dean Cutler
 
Posts: 3411
Joined: Wed Jul 18, 2007 7:29 am

Post » Tue Jan 22, 2013 11:00 pm

I would have expected the alias to be NULL right from the start. How the NPC took on the AI pack in that case would be rather mysterious to me, unless setting the alias silently started the quest, gave him the behavior, and kept that running for the session. This would assume that calling start resets everything and starts it again of course.

Situations like this I'd prefer an error back from the script telling you a quest that's not running can't fill aliases.

I usually go the error route to, but in this case I had the merchant alias set as an objective, so if the quest marker disappeared it was obvious from any load situation.
User avatar
Trent Theriot
 
Posts: 3395
Joined: Sat Oct 13, 2007 3:37 am

Post » Wed Jan 23, 2013 4:45 am

No, what I meant was I'd prefer Papyrus tell you that's not possible. You shouldn't be able to fill an alias on a quest that isn't running yet.
User avatar
natalie mccormick
 
Posts: 3415
Joined: Fri Aug 18, 2006 8:36 am


Return to V - Skyrim