How to start a quest through dialoguescript?

Post » Wed Jun 20, 2012 1:03 pm

I have a quest that is not 'StartGameEnabled', and it seems that I cannot get it running. I have a dialogue line ingame that should start it, but it does not. The papyrus fragment includes a 'SetStage' line to get it moving, a 'SetObjectiveDisplayed' line to direct the player, and a 'MyQuest.Start()' line to start it. The script is firing, as the other half is to end the current quest. Yet, the quest refuses to start. No alias's are filled, the stage is still 0, it's not Enabled, and it's state is 'Stopped'.

Am I missing something here? It should be as simple as setting the stage to kick it into motion, but I even have the 'Start' command and it wont start. I can also try to start it via console ingame, but nothing happens.

Thanks,
Alexander J. Velicky
User avatar
Jade MacSpade
 
Posts: 3432
Joined: Thu Jul 20, 2006 9:53 pm

Post » Wed Jun 20, 2012 9:39 am

From reading some of the threads here about the story manager, a quest won't start if its aliases aren't filled. You're not starting your quest through the story manager, but maybe it still applies. Can you try checking "Optional" for your aliases and seeing if that will start the quest?
User avatar
Charlotte Buckley
 
Posts: 3532
Joined: Fri Oct 27, 2006 11:29 am

Post » Wed Jun 20, 2012 7:56 am

I changed them to 'Specific Reference' which FORCED them to fill, and it now starts; which means that was the problem. Thanks! :)
User avatar
Jesus Lopez
 
Posts: 3508
Joined: Thu Aug 16, 2007 10:16 pm

Post » Tue Jun 19, 2012 10:36 pm

I changed them to 'Specific Reference' which FORCED them to fill, and it now starts; which means that was the problem. Thanks! :smile:

Just bear in mind that using "Specific Reference" locks them in memory permenantly:

http://www.creationkit.com/Quest_Alias_Tab
User avatar
Brian LeHury
 
Posts: 3416
Joined: Tue May 22, 2007 6:54 am

Post » Wed Jun 20, 2012 11:08 am

A little bit related to this, it's a problem that had me pulling my hair out for ages.
If you try to point an alias to a Unique Actor which "starts dead", the alias fails and hence your quest won't start properly.
Here too the solution is using Specific Reference instead of Unique Actor.
User avatar
Ice Fire
 
Posts: 3394
Joined: Fri Nov 16, 2007 3:27 am

Post » Wed Jun 20, 2012 5:42 am

Just bear in mind that using "Specific Reference" locks them in memory permenantly:

http://www.creationkit.com/Quest_Alias_Tab
Yeah, it's by no means a perminant solution but it prooved that alias's failing to fill was the problem.

Also, it seems that if you make an alias a 'specific ref' then save and play or something; then reopen the CK, THEN set it to Unique Actor that it will fill properly. I'm very slowly converting all my actor alias's to Unique Actor instead of Forced ref... How weird...
User avatar
Sara Johanna Scenariste
 
Posts: 3381
Joined: Tue Mar 13, 2007 8:24 pm

Post » Wed Jun 20, 2012 12:11 am

For the last bit, did you test it with a clean save? Because if you did, that really is weird.
User avatar
Svenja Hedrich
 
Posts: 3496
Joined: Mon Apr 23, 2007 3:18 pm

Post » Wed Jun 20, 2012 12:35 am

Just to clarify, you're trying to start Quest B in a dialogue assigned in Quest A. You set the stage of Quest A to say 10, where in that stage papyrus script box you're trying to start quest B? As long as you have a quest property assigned to quest b, questbproperty.start() should be all you need. Is the objective display part of quest B?



A little bit related to this, it's a problem that had me pulling my hair out for ages.
If you try to point an alias to a Unique Actor which "starts dead", the alias fails and hence your quest won't start properly.
Here too the solution is using Specific Reference instead of Unique Actor.

Make sure your unique actor doesn't have the cleanup script attached.
User avatar
courtnay
 
Posts: 3412
Joined: Sun Nov 05, 2006 8:49 pm

Post » Wed Jun 20, 2012 2:52 am

You could mark it as optional, and then have your quest script register for update and check the NPC periodicallyi and when it's alive again, Force it into the alias.
User avatar
Eileen Collinson
 
Posts: 3208
Joined: Thu Dec 28, 2006 2:42 am

Post » Wed Jun 20, 2012 8:27 am

Yeah, it's by no means a perminant solution but it prooved that alias's failing to fill was the problem.

Also, it seems that if you make an alias a 'specific ref' then save and play or something; then reopen the CK, THEN set it to Unique Actor that it will fill properly. I'm very slowly converting all my actor alias's to Unique Actor instead of Forced ref... How weird...

if you are re-testing off of the save game and not coc'ing from the main menu, it probably means your save game is corrupting your test (re-introducing saved data from previous version), unless this is some really strange bug (and even if it is, i would not trust it).

also Unique actor will not fill an alias unless it has a Persistent Location set in its reference
User avatar
Naomi Lastname
 
Posts: 3390
Joined: Mon Sep 25, 2006 9:21 am

Post » Wed Jun 20, 2012 4:22 am

also Unique actor will not fill an alias unless it has a Persistent Location set in its reference

What does this mean? Could you elaborate a bit please?
User avatar
Josh Sabatini
 
Posts: 3445
Joined: Wed Nov 14, 2007 9:47 pm

Post » Wed Jun 20, 2012 9:40 am

when you place your actor in the world as a reference, you can double click on it to edit. there is a tab called Persist Location. if you set this to a location specific to your actor, it can be filled as a Unique Actor alias. I believe what this does is it only loads your reference alias into memory for that specific location only.

a forced refernce loads the reference permanently into memory at all times, even long after the quest is finished.
User avatar
GEo LIme
 
Posts: 3304
Joined: Wed Oct 03, 2007 7:18 pm

Post » Wed Jun 20, 2012 6:22 am

A little bit related to this, it's a problem that had me pulling my hair out for ages.
If you try to point an alias to a Unique Actor which "starts dead", the alias fails and hence your quest won't start properly.
Here too the solution is using Specific Reference instead of Unique Actor.

Isn't that what the "Allow Dead" checkbox is for?
User avatar
ImmaTakeYour
 
Posts: 3383
Joined: Mon Sep 03, 2007 12:45 pm

Post » Wed Jun 20, 2012 12:28 am

when you place your actor in the world as a reference, you can double click on it to edit. there is a tab called Persist Location. if you set this to a location specific to your actor, it can be filled as a Unique Actor alias. I believe what this does is it only loads your reference alias into memory for that specific location only.

a forced refernce loads the reference permanently into memory at all times, even long after the quest is finished.
By the Nine this may be what I was missing! I'll try this to see if I can then just fill unique actor alias's!!!
User avatar
Dean Brown
 
Posts: 3472
Joined: Fri Aug 31, 2007 10:17 pm

Post » Tue Jun 19, 2012 10:59 pm

when you place your actor in the world as a reference, you can double click on it to edit. there is a tab called Persist Location. if you set this to a location specific to your actor, it can be filled as a Unique Actor alias. I believe what this does is it only loads your reference alias into memory for that specific location only.

a forced refernce loads the reference permanently into memory at all times, even long after the quest is finished.
Excellent, thanks for explaining that. Very interesting!

Isn't that what the "Allow Dead" checkbox is for?
Good point. Quest aliases confuses me a bit so I dunno hehe ;)
User avatar
Jennie Skeletons
 
Posts: 3452
Joined: Wed Jun 21, 2006 8:21 am


Return to V - Skyrim