Fallout 4 Simple Fetch Quest Tutorial Chapter 6: Creating Dialog
Fallout 4 Simple Fetch Quest Tutorial Chapter 6: Creating Dialog | |
---|---|
Fallout 4 Scripting Quest Tutorial Series, Chapter 6: Creating Dialog | |
Return to Tutorial Hub | |
Previous Tutorial | Next Tutorial |
Note: This tutorial is written in Action-Reaction style — Headers are the action you have to do, and the pictures that follow depict the reaction (or result) of the Creation Kit.
Start up the GECK by running the Bethesda.Net Launcher and Open up your Mod (as in Tutorial 3)Edit
Click on the Object Window, Scroll Down the left list, and expand QuestEdit
This list contains all the Quests in the world, and all Dialog is contained in Quests. The right list contains specific quests.
Right-Click in the right list to bring up a pop-up.Edit
The right list fills up with all the actors in the world.
Select NewEdit
The Quest Window pops up. This is where you design an entire quest.
Enter a label for your quest in the ID textbox (AshSkowQuest)Edit
Enter a name for your quest in the Quest Name textbox (Ash Skow Quest)
Note, your ID should follow proper coding variable conventions (starts with a letter, letters and numbers only, no spaces). The quest name can contain spaces, and is what is displayed to the user when the quest starts.
Click the OK buttonEdit
Note: AshSkowQuest appears in the right list as a quest. OK saves your quest and exits, but clicking on any tab in the Quest window also saves your quest.
Double-Click the AshSkowQuestEdit
Click on the Quest Aliases tab
Any NPC or item that can have a quest marker should be added here. That means AshSkow!
Right-Click over Alias NameEdit
Select New Reference AliasEdit
Enter a name into the Alias Name text box (AshSkowAlias)Edit
Select the radio button for Unique Actor
Select AshSkow in the Drop Down
Click the OK buttonEdit
AshSkowAlias appears. This allow her to be used as a marker that shows up on the map in quests (I think!)
Click on the Scenes tabEdit
Notice, you now have more tabs to play with. We’ll go over the major ones in more detail later. But the main tabs are Scenes (where the dialog takes place), Quest Stages & Quest Objectives (where you keep track of Quest progress and add most of your code).
Right-Click over the EditorID panelEdit
What we’re going to do is create a scene. Each scene is associated with dialog. It is also associated with a Quest “state”. For example, in the first state of a quest you usually have dialog where the NPC asks the player for help. The second state of a quest is asking if the player has completed. The third and final state of the quest is where the player has completed and gets a reward.
Select NewEdit
The quest ID is shown as a prefix. Don’t use that as a scene ID, do the next step
Append NN to the textEdit
Where NN is the number of the scene
Click OKEdit
Note the scene name appears in the EditorID.
Click on the scene nameEdit
Note that the ID text box fills in with your scene name, AshSkowQuest01
Click on the Player Dialogue checkboxEdit
Right-click anywhere in the white area
Select New ActorEdit
Click on your NPC alias (AshSkowAlias) then click the OK buttonEdit
Double-click the empty gray box underneath Start GreetingEdit
The Quest ID is prefixed, but don’t you dare click OK, instead…
Append GreetingNNEdit
Where NN is some unique greeting number like 01
Click the OK buttonEdit
There are many inputs here, but the only one that matters is the Response Text. This is the greeting the player will see when prompted to talk to the NPC
Type a greeting into the Response Text boxEdit
Example: “Hi there! Can you help me find something?”
Again, this is what the player will seen when prompted to talk to the character.
Click the OK buttonEdit
Note the Response Text is filled with your greeting. This pop-up also allows you to change many options when we start scripting the quest—like when the greeting appears. But for now, we can ignore most of what’s in this box.
Click the OK button againEdit
Yet another dialog box pops up allowing you to change options. Again, you don’t need to do anything at this point in your quest-scripting knowledge.
Click the OK buttonEdit
Finally we’re back to the main scene window.
Remember: the Start Greeting is what the player will see when he or she first engages the NPC (usually by selecting the Talk option)
Right-click on the white scene areaEdit
Select Add Phase at EndEdit
Typically each phase contains dialog. After the greeting, we will add 4-part interactive dialog, which requires adding a Phase 1
Right Click Over the Phase nameEdit
Select EditEdit
Give the Phase a nameEdit
Like Scene01Phase01
Why are we doing this? Because it will allow us to loop to the phase and repeat the 4-part dialog until the player either accepts or denies the quest.
Click the OK buttonEdit
We’re ready to add interactive dialog
Right-click over the white area under the phaseEdit
Select New Action > Player DialogueEdit
The Topic Info dialog pops up allowing you to set initial options. We aren’t ready just yet to add any options.
Click the OK buttonEdit
The 4-part dialog box pops up. This is the most important box. You will enter player prompts and player responses, followed by NPC responses.
The prompt is a short description of what your player will say. An example is “Agree”
The response is what your player actually says. Example: “I agree to your quest”
NPC’s have no prompts
BEGIN PROMPT-RESPONSE PROCEDUREEdit
Double-click * EMPTY under Positive ResponseEdit
Enter a prompt in the Prompt: boxEdit
Double-click EMPTY under Response TextEdit
Note the prompt is filled in “Agree”
Enter a response under the Response Text box.Edit
Example: Sure. I’ll do it.
Note you only have 150 characters—slightly more than a Tweet
Click the OK buttonEdit
Note both Prompt and Response Text boxes are filled in. Click the OK button
Note the positive response is already filled in
END PROMPT-RESPONSE PROCEDUREEdit
Do a similar Prompt-Response Procedure for the PLAYER’s Negative, Neutral, and Question ResponsesEdit
Use the following Prompt—Response (Negative) Refuse—Sorry, I’m busy. (Neutral) Stall—I might. (Question) Ask Why—Why should I?
Do a similar Prompt-Response Procedure for the NPC’s Positive Negative, Neutral, and Question ResponsesEdit
Remember NPC’s don’t have prompts so only add the Response Text. Use the Following (Positive) Thank you so much! (Negative) Please help when you have time. (Neutral) Make up your mind. (Question) Because I’ll reward you.
Before you do anything, note that the positive & negative responses end the dialog. You must check “End Running Scene” in the Topic Info window for these responses:
Click OKEdit
You’re almost done. You have to loop to main dialog until either the player refuses or the player agrees.
Right-click in the white scene areaEdit
Select Add Phase at EndEdit
Right-click in the white phase areaEdit
Select New Action > Start SceneEdit
Click OKEdit
Double-click (Empty)Edit
Right-click under Editor IDEdit
Select NewEdit
Select the Scene and Start Phase in the drop down boxesEdit
In our example AshSkowQuest01 and Scene01Phase01, respectively
Click OKEdit
Click OKEdit
Now after any four-way response, the scene loop properly.
You’re ready to test.
Click OK to exit the scene tabEdit
File > SaveEdit
Run Fallout 4Edit
(you know how to do this, so I’ll skip all the steps. Continue until you get to the room)
Position the dot over Ash SkowEdit
Select TalkEdit
(Wait)Edit
Enjoy the rest of the dialog!Edit
In the next tutorial we’ll do code.