Creating a series of quests

Post » Mon Jun 18, 2012 10:23 pm

Hello, I created a mod with a quest which is given to the player via a custom character I placed in the game. I want to make an update to the mod adding another quest that starts after you have finished the first quest. How would I go about doing this? I've tried different methods I think would work all to no avail. Any ideas? Thanks.
User avatar
brandon frier
 
Posts: 3422
Joined: Wed Oct 17, 2007 8:47 pm

Post » Mon Jun 18, 2012 7:30 am

Still having trouble.
User avatar
Hayley Bristow
 
Posts: 3467
Joined: Tue Oct 31, 2006 12:24 am

Post » Mon Jun 18, 2012 11:51 am

You could add a dialogue condition to check whether the player completed the first quest via the GetQuestCompleted() condition before offering the second quest, or add the topic to offer the second quest via a Papyrus script after testing whether the first quest IsCompleted().
User avatar
Laura Tempel
 
Posts: 3484
Joined: Wed Oct 04, 2006 4:53 pm

Post » Mon Jun 18, 2012 7:43 pm

Do you know how I would go about writing such a Papyrus script for this reason?

Also, i tried setting the dialogue condition, but it didn't work :/
User avatar
Ross Thomas
 
Posts: 3371
Joined: Sat Jul 21, 2007 12:06 am

Post » Mon Jun 18, 2012 10:22 pm

I just did a quick test with the GetQuestCompleted() dialogue condition and I am pretty sure it does work when pointed at a completed quest. Did your first quest actually complete, or just stop?

Going the Papyrus route would be a lot more work...like everyone else, I'm still learning the best practices myself, but I think you'd probably want to register for updates in the main script of your second quest, and check periodically to see if the first quest had been completed. If it had, then you could set a quest variable, and test in a dialogue condition for the value of that variable.
User avatar
roxxii lenaghan
 
Posts: 3388
Joined: Wed Jul 05, 2006 11:53 am

Post » Mon Jun 18, 2012 10:54 pm

DreamKing, I don't think this is a good practice. Basically it will perform checks all the time until you start this quest, thus slowing down your CPU. Probably you wouldn't notice the difference but since it doesn't seem neccesary I would personally try to avoid this.

I'm a noob myself but I'll try to help.

First thing is: look at the Quest Stages Tab, click on the last stage where the quest is marked as completed and look to the right of the "Complete Quest" box. There you can apparently choose Next Quest. So use it. Maybe it's there for different reasons but if not, it must be the easiest way, so its worth trying.
EDIT: I checked in the wiki and it's not working: "Next Quest: This dropdown is currently not used in the game code."

Now if it doesn't work you need to use script. Your quest probably ends with a dialogue (e.g. when reporting to the quest giver) but basically whenever you have put script that completes a quest it's OK. It shouldn't be hard! If you have something like
GetOwningQuest().SetStage(50)
where 50 is an example of the stage that completes the quest, you should write below something like:
MyQuest02.Start()
Or, if you set your second quest as "Start Quest Enabled", you should write something like:
MyQuest02.SetStage(10)

Of course you don't really have to start the quest the same moment as you finish the previous one. It may be anywhere later in the dialogue.

Let us know if it worked, I actually haven't gotten to that point in my mod-making.

PS. I wanted to paste some links but I can't. I "don't have permission". Why? Anyway, check Creation Kit dot com wiki for various functions and stuff like that.
User avatar
candice keenan
 
Posts: 3510
Joined: Tue Dec 05, 2006 10:43 pm

Post » Mon Jun 18, 2012 4:37 pm

Universal, it's a fair point, but I was looking at the OP's situation--it sounded like they already have a mod they released, so I was trying to think of a solution that would work for users who already downloaded and finished the first quest. No question that you're right and the first quest should be edited, too, for players new to it.

Edit: does GetQuestCompleted() run all the time, BTW? I had assumed that if attached to a dialogue info, it only ran when the NPC was being spoken to. But as I wrote, I'm quite new to modding myself.

You need to be a member here for a certain amount of time and have a certain number of posts to be able to post links--it's spam prevention. I don't remember the specifics, but the numbers are small in both cases. Welcome to the forum!
User avatar
Robert Jackson
 
Posts: 3385
Joined: Tue Nov 20, 2007 12:39 am

Post » Mon Jun 18, 2012 9:14 am

Thanks for the help the two of you! But for some reason it just started to work haha. I think recompiling all scripts helps, as it fixes a few problems for me when I run into them. I'll report back here if I encounter any more problems.
User avatar
Penny Courture
 
Posts: 3438
Joined: Sat Dec 23, 2006 11:59 pm

Post » Mon Jun 18, 2012 12:06 pm

DreamKing, don't ask me, I was just being a [censored], I don't know very much. But I was referring to this: "I think you'd probably want to register for updates in the main script of your second quest, and check periodically to see if the first quest had been completed." I guess if it's a dialogue condition that we're talking about, it only runs once (or each time the player chooses the topic).


You need to be a member here for a certain amount of time and have a certain number of posts to be able to post links--it's spam prevention. I don't remember the specifics, but the numbers are small in both cases. Welcome to the forum!
Thanks! I suspected this is the case but couldn't find any information about it.
User avatar
victoria johnstone
 
Posts: 3424
Joined: Sat Oct 14, 2006 9:56 am


Return to V - Skyrim