We use the terms CK, response, topic, branch, view, info and mod. CK is the Creation Kit, the tool used to modify Skyrim, and a mod is a modification to the game. Information about responses, topics, branches, views, and infos can be be found by searching their name on creationkit.com.
This is part 3 of a guide on making a basic quest. Part 1 can be found here and part 2 can be found here.
This is part 3 of a guide on making a basic quest. Part 1 can be found here and part 2 can be found here.
If you find any phrases colored any of the following colors, refer to this key to understand their purpose.
Red text denotes phrases or words of great import. Read sentences in this color carefully, and more than once.
Orange text signifies a section of text that applies only to certain readers/modders. Skim over this to see if it applies to you, and if it does, read it. Otherwise, you can skip it.
Purple/pink text is a sidenote, or a useful bit of information. Skip them if you want, but you may find useful information if you read them properly, especially if you're an advanced modder.
20) Go back to the Player Dialogue. We made Sam ask for help, but we never let the player accept. So in the topic section, while selecting the proper branch, make a new topic. (You know how... Right click and select new.) Add on to the name, something like YourQuestNameNo1 (TQSamQuestNo1 for me). Make the topic text
"No, I can't help.", or if you want to make your character particularly rude: "No, you crazy old man! Get away from me."+
Make the response something suitably miffed, (i.e "Fine, then.", "Curses upon you!", etc.) and check the Goodbye box. This makes the conversation end. In the Papyrus fragment labeled end, put in the following:
GetOwningQuest().SetStage(5)
This finds the quest that owns the piece of dialogue (our quest) and sets the stage to 5. If you remember us creating stage 5, it has no log entry. The player won't be able to tell we're in it. We're going to use it for a second request for help, so Sam will remember that the player said no to him, since you only get to stage 5 after you say no to him.
Make another topic, called YourQuestNameYes1, and give a topic text of:
"Sure, I'll help you.", or "Fine, you crazy old man." (if you're being rude). Make the response like this:
Here... Take this, yes. It's a list for you. Find all the things on it, and I'll give you a reward.
In the Papyrus fragment labeled End, put this in:
GetOwningQuest().SetStage(10)
This finds the quest that owns that piece of dialogue (our quest) and sets the stage to 10, which gives the list to the player and begins the function we created, which in turn, displays the quest objective.
Don't forget to create the condition GetIsAliasRef: Sam == 1. This applies to info you make. An easy and quick way to do this is to right click the condition GetIsAliasRef and click copy condition. Whenever you want, you can paste that condition into the Conditions box of any dialogue info. You can do this with all conditions.
Now, go back to the starting topic we created, where Sam tells us what he wants. Open it up.
21) In the box next to Responses, there is a white table labeled Links. Next to that is a checkbox called Invisible Continue. Don't touch that box unless you know what you're doing.. Right click in the table, and create a new link (Add Link is what you want to click). A prompt will appear with a list of all the topics we currently have. Double click Yes1 or No1, and it will appear as a link in the table. Add another link, and notice that the one you clicked previously has disappeared. You can't link to the same topic twice, so it hides it from the list. Click the other one, and that link will appear. You can copy and paste links without removing the CK's memory of conditions you copied.
The Invisible Continue is used to automatically jump to a new topic without giving the player a choice. This can be useful to randomize topics, and then jump to a random one, so the same conversation is never really the same (if that makes any sense).
22) Now create two more topics. "YourQuestNameNo2" and "YourQuestNameYes2" should be their names. Make them similar to our other topics, but have Sam acknowledge the fact that we've already refused him. So for No2:
"You refuse me yet again! A fool, you are..."
And for Yes2:
"Ah, this time you see the wisdom of mudcrab chitin. Delicious..."
No2 should be a goodbye, but it doesn't need to have a Papyrus fragment. (Unless you want to make a different No and Yes for each time you ask him, in which case you can create multiple stages, and repeat this process by setting to the next stage at the end of each No.)
Yes2 should have the same Papyrus fragment as the first yes. It should also be a goodbye.
23) Go back to your starting topic, and create a new info. (Right click and select new.) Give it a suitable response for the player asking if Sam needs help again. After all, this response will only be played after the player has said no already. Mine is:
"You know I need help. Mudcrab chitin is my life, firewood to cook it, and flowers to burn. Perfect... You will help?"
Link it to No2 and Yes2, and give it the condition GetStage YourQuest == 5. If you want the question to look different the second time, type in a different prompt. The prompt, if available, will show instead of the topic text. And you can do it per info.
You've finished all the dialogue for initiating the quest, but now we need to do the dialogue for the reward. Don't worry, the "Do you need anything?" topic won't show up unless any infos have conditions that allow them to answer. You shouldn't see that topic once you've accepted the quest.
24) In the Player Dialogue tab, navigate to the Branches table, in the far left of the window. Create a new one, called "YourQuestNameRewardBranch." Name the starting topic whatever the prompt is. The topic text can be:
"I have your things.", "Here's your stuff, you senile old man!", or whatever you like. Give a response:
"Ah, thank you. Yes, yes. Mmmm... That looks delicious. I almost want to eat it. You did a very good job finding these, didn't you. Well, you must be wanting your reward. I do have three things to give you. Here... Take it! Hahahaha!"
Try to paste this (the above text) into your response window. You can ignore this paragraph and the red text before this sentence if you know how CK dialogue works. It won't work, because it exceeds the 140 character limit that the CK has on responses (unless you've used this useful tweak). So instead, paste "Ah, thank you" through "didn't you". Be sure to end every response with the end of a sentence. Then, when the window pops up, right click where the Responses are and create another response. You can now paste the rest of the text in. This will make Sam say both lines, one after another. Now that you've done that, you can put in whatever you want. Just be sure to remember how to do this.
At the End: Papyrus Fragments section, type:
GetOwningQuest().SetStage(100)
Give it the extra condition GetStage YourQuest == 10, so we don't see this response once we've completed the quest.
Now, if you remember from Step 17, I told you to ignore the property CountTotaled, and the fact that it is conditional. Go back and look at it if you don't remember. Well, we made it Conditional so you can use it in Conditions. If you don't make it conditional, then it is usable from other scripts, but not Quest Stage conditions, Quest Objective Conditions, etc. If you didn't make it (the property CountTotaled), go and create it now, in the same place I created it in my script.
So create a new condition, but this time, search for GetVMQuestVariable. For the parameters, choose your quest, and the variable (whatever you called it), and make it so the value has to be == 1.
25) Now, you're quest can feasibly be done. It's missing a few elements, though. You can stop your quest there, or read on to make it more whole and complete.
Common Issues:
If you made your quest Start-Game Enabled, which it should be, learn how to generate in SEQ file here, or none of your dialogue will work. Press Ctrl + f4 while selecting Sam to get rid of the gray face bug.
Wrapping it Up:
There are a few things we have to do, to wrap up this quest. I was originally going to write a separate section on wrapping things up here, before realizing that creationkit.com has a section almost the same as the one I was going to make that you can find here. Whenever it says Bendu Olo, replace it with Sam, and ignore the parts called: Map Marker and Pickpocketing.
Thank you for reading this guide. I'm sorry if it was incredibly long, I just had a lot to put down, since there had been a request for a very in-depth, noob-safe tutorial here.
Red text denotes phrases or words of great import. Read sentences in this color carefully, and more than once.
Orange text signifies a section of text that applies only to certain readers/modders. Skim over this to see if it applies to you, and if it does, read it. Otherwise, you can skip it.
Purple/pink text is a sidenote, or a useful bit of information. Skip them if you want, but you may find useful information if you read them properly, especially if you're an advanced modder.
20) Go back to the Player Dialogue. We made Sam ask for help, but we never let the player accept. So in the topic section, while selecting the proper branch, make a new topic. (You know how... Right click and select new.) Add on to the name, something like YourQuestNameNo1 (TQSamQuestNo1 for me). Make the topic text
"No, I can't help.", or if you want to make your character particularly rude: "No, you crazy old man! Get away from me."+
Make the response something suitably miffed, (i.e "Fine, then.", "Curses upon you!", etc.) and check the Goodbye box. This makes the conversation end. In the Papyrus fragment labeled end, put in the following:
GetOwningQuest().SetStage(5)
This finds the quest that owns the piece of dialogue (our quest) and sets the stage to 5. If you remember us creating stage 5, it has no log entry. The player won't be able to tell we're in it. We're going to use it for a second request for help, so Sam will remember that the player said no to him, since you only get to stage 5 after you say no to him.
Make another topic, called YourQuestNameYes1, and give a topic text of:
"Sure, I'll help you.", or "Fine, you crazy old man." (if you're being rude). Make the response like this:
Here... Take this, yes. It's a list for you. Find all the things on it, and I'll give you a reward.
In the Papyrus fragment labeled End, put this in:
GetOwningQuest().SetStage(10)
This finds the quest that owns that piece of dialogue (our quest) and sets the stage to 10, which gives the list to the player and begins the function we created, which in turn, displays the quest objective.
Don't forget to create the condition GetIsAliasRef: Sam == 1. This applies to info you make. An easy and quick way to do this is to right click the condition GetIsAliasRef and click copy condition. Whenever you want, you can paste that condition into the Conditions box of any dialogue info. You can do this with all conditions.
Now, go back to the starting topic we created, where Sam tells us what he wants. Open it up.
21) In the box next to Responses, there is a white table labeled Links. Next to that is a checkbox called Invisible Continue. Don't touch that box unless you know what you're doing.. Right click in the table, and create a new link (Add Link is what you want to click). A prompt will appear with a list of all the topics we currently have. Double click Yes1 or No1, and it will appear as a link in the table. Add another link, and notice that the one you clicked previously has disappeared. You can't link to the same topic twice, so it hides it from the list. Click the other one, and that link will appear. You can copy and paste links without removing the CK's memory of conditions you copied.
The Invisible Continue is used to automatically jump to a new topic without giving the player a choice. This can be useful to randomize topics, and then jump to a random one, so the same conversation is never really the same (if that makes any sense).
22) Now create two more topics. "YourQuestNameNo2" and "YourQuestNameYes2" should be their names. Make them similar to our other topics, but have Sam acknowledge the fact that we've already refused him. So for No2:
"You refuse me yet again! A fool, you are..."
And for Yes2:
"Ah, this time you see the wisdom of mudcrab chitin. Delicious..."
No2 should be a goodbye, but it doesn't need to have a Papyrus fragment. (Unless you want to make a different No and Yes for each time you ask him, in which case you can create multiple stages, and repeat this process by setting to the next stage at the end of each No.)
Yes2 should have the same Papyrus fragment as the first yes. It should also be a goodbye.
23) Go back to your starting topic, and create a new info. (Right click and select new.) Give it a suitable response for the player asking if Sam needs help again. After all, this response will only be played after the player has said no already. Mine is:
"You know I need help. Mudcrab chitin is my life, firewood to cook it, and flowers to burn. Perfect... You will help?"
Link it to No2 and Yes2, and give it the condition GetStage YourQuest == 5. If you want the question to look different the second time, type in a different prompt. The prompt, if available, will show instead of the topic text. And you can do it per info.
You've finished all the dialogue for initiating the quest, but now we need to do the dialogue for the reward. Don't worry, the "Do you need anything?" topic won't show up unless any infos have conditions that allow them to answer. You shouldn't see that topic once you've accepted the quest.
24) In the Player Dialogue tab, navigate to the Branches table, in the far left of the window. Create a new one, called "YourQuestNameRewardBranch." Name the starting topic whatever the prompt is. The topic text can be:
"I have your things.", "Here's your stuff, you senile old man!", or whatever you like. Give a response:
"Ah, thank you. Yes, yes. Mmmm... That looks delicious. I almost want to eat it. You did a very good job finding these, didn't you. Well, you must be wanting your reward. I do have three things to give you. Here... Take it! Hahahaha!"
Try to paste this (the above text) into your response window. You can ignore this paragraph and the red text before this sentence if you know how CK dialogue works. It won't work, because it exceeds the 140 character limit that the CK has on responses (unless you've used this useful tweak). So instead, paste "Ah, thank you" through "didn't you". Be sure to end every response with the end of a sentence. Then, when the window pops up, right click where the Responses are and create another response. You can now paste the rest of the text in. This will make Sam say both lines, one after another. Now that you've done that, you can put in whatever you want. Just be sure to remember how to do this.
At the End: Papyrus Fragments section, type:
GetOwningQuest().SetStage(100)
Give it the extra condition GetStage YourQuest == 10, so we don't see this response once we've completed the quest.
Now, if you remember from Step 17, I told you to ignore the property CountTotaled, and the fact that it is conditional. Go back and look at it if you don't remember. Well, we made it Conditional so you can use it in Conditions. If you don't make it conditional, then it is usable from other scripts, but not Quest Stage conditions, Quest Objective Conditions, etc. If you didn't make it (the property CountTotaled), go and create it now, in the same place I created it in my script.
So create a new condition, but this time, search for GetVMQuestVariable. For the parameters, choose your quest, and the variable (whatever you called it), and make it so the value has to be == 1.
25) Now, you're quest can feasibly be done. It's missing a few elements, though. You can stop your quest there, or read on to make it more whole and complete.
Common Issues:
If you made your quest Start-Game Enabled, which it should be, learn how to generate in SEQ file here, or none of your dialogue will work. Press Ctrl + f4 while selecting Sam to get rid of the gray face bug.
Wrapping it Up:
There are a few things we have to do, to wrap up this quest. I was originally going to write a separate section on wrapping things up here, before realizing that creationkit.com has a section almost the same as the one I was going to make that you can find here. Whenever it says Bendu Olo, replace it with Sam, and ignore the parts called: Map Marker and Pickpocketing.
Thank you for reading this guide. I'm sorry if it was incredibly long, I just had a lot to put down, since there had been a request for a very in-depth, noob-safe tutorial here.