Difference between revisions of "Fallout 4 Simple Fetch Quest Tutorial Chapter 6: Creating Dialog"

no edit summary
imported>Ravelabenergy
imported>Ravelabenergy
Line 11: Line 11:


=Start up the GECK by running the Bethesda.Net Launcher and Open up your Mod (as in Tutorial 3)=
=Start up the GECK by running the Bethesda.Net Launcher and Open up your Mod (as in Tutorial 3)=
[[image:Picture6-1.png]]


=Click on the Object Window, Scroll Down the left list, and expand Quest=
=Click on the Object Window, Scroll Down the left list, and expand Quest=


This list contains all the Quests in the world, and all Dialog is contained in Quests. The right list contains specific quests.
This list contains all the Quests in the world, and all Dialog is contained in Quests. The right list contains specific quests.
 
[[image:Picture6-2.png]]
 
=Right-Click in the right list to bring up a pop-up.=
=Right-Click in the right list to bring up a pop-up.=


The right list fills up with all the actors in the world.  
The right list fills up with all the actors in the world.  
[[image:Picture6-3.png]]


=Select New=
=Select New=


The Quest Window pops up. This is where you design an entire quest.  
The Quest Window pops up. This is where you design an entire quest.  
[[image:Picture6-4.png]]


=Enter a label for your quest in the ID textbox (AshSkowQuest)
=Enter a label for your quest in the ID textbox (AshSkowQuest)
Line 29: Line 37:


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.  
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.  
[[image:Picture6-5.png]]


=Click the OK button=
=Click the OK button=


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.
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.
[[image:Picture6-6.png]]


=Double-Click the AshSkowQuest=
=Double-Click the AshSkowQuest=
Line 39: Line 51:


Any NPC or item that can have a quest marker should be added hear. That means AshSkow!  
Any NPC or item that can have a quest marker should be added hear. That means AshSkow!  
[[image:Picture6-7.png]]


=Right-Click over Alias Name=
=Right-Click over Alias Name=
[[image:Picture6-8.png]]


=Select New Reference Alias=
=Select New Reference Alias=
[[image:Picture6-9.png]]


=Enter a name into the Alias Name text box (AshSkowAlias)=
=Enter a name into the Alias Name text box (AshSkowAlias)=
Line 49: Line 67:


Select AshSkow in the Drop Down  
Select AshSkow in the Drop Down  
[[image:Picture6-10.png]]


=Click the OK button=
=Click the OK button=


AshSkowAlias appears. This allow her to be used as a marker that shows up on the map in quests (I think!)  
AshSkowAlias appears. This allow her to be used as a marker that shows up on the map in quests (I think!)  
[[image:Picture6-11.png]]


=Click on the Scenes tab=
=Click on the Scenes tab=


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).  
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).  
[[image:Picture6-12.png]]


=Right-Click over the EditorID panel=
=Right-Click over the EditorID panel=


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.  
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.  
[[image:Picture6-13.png]]


=Select New=
=Select New=


The quest ID is shown as a prefix. Don’t use that as a scene ID, do the next step  
The quest ID is shown as a prefix. Don’t use that as a scene ID, do the next step  
[[image:Picture6-14.png]]


=Append NN to the text=
=Append NN to the text=


Where NN is the number of the scene  
Where NN is the number of the scene  
[[image:Picture6-15.png]]


=Click OK=
=Click OK=


Note the scene name appears in the EditorID.  
Note the scene name appears in the EditorID.  
[[image:Picture6-16.png]]


=Click on the scene name=
=Click on the scene name=


Note that the ID text box fills in with your scene name, AshSkowQuest01  
Note that the ID text box fills in with your scene name, AshSkowQuest01  
[[image:Picture6-17.png]]


=Click on the Player Dialogue checkbox=
=Click on the Player Dialogue checkbox=
Line 82: Line 116:
Right-click anywhere in the white area
Right-click anywhere in the white area
 
 
[[image:Picture6-18.png]]
=Select New Actor=
=Select New Actor=
[[image:Picture6-19.png]]


=Click on your NPC alias (AshSkowAlias) then click the OK button=
=Click on your NPC alias (AshSkowAlias) then click the OK button=
 
 
[[image:Picture6-20.png]]
=Double-click the empty gray box underneath Start Greeting=
=Double-click the empty gray box underneath Start Greeting=


The Quest ID is prefixed, but don’t you dare click OK, instead…  
The Quest ID is prefixed, but don’t you dare click OK, instead…  
[[image:Picture6-21.png]]


=Append GreetingNN=
=Append GreetingNN=


Where NN is some unique greeting number like 01  
Where NN is some unique greeting number like 01  
[[image:Picture6-22.png]]


=Click the OK button=
=Click the OK button=


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  
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  
[[image:Picture6-23.png]]


=Type a greeting into the Response Text box=
=Type a greeting into the Response Text box=
Line 103: Line 149:


Again, this is what the player will seen when prompted to talk to the character.  
Again, this is what the player will seen when prompted to talk to the character.  
[[image:Picture6-24.png]]


=Click the OK button=
=Click the OK button=


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.  
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.  
[[image:Picture6-25.png]]


=Click the OK button again=
=Click the OK button again=


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.  
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.  
[[image:Picture6-26.png]]


=Click the OK button=
=Click the OK button=
Line 117: Line 169:


Remember: the Start Greeting is what the player will see when he or she first engages the NPC (usually by selecting the Talk option)  
Remember: the Start Greeting is what the player will see when he or she first engages the NPC (usually by selecting the Talk option)  
[[image:Picture6-27.png]]


=Right-click on the white scene area=
=Right-click on the white scene area=
[[image:Picture6-28.png]]


=Select Add Phase at End=
=Select Add Phase at End=


Typically each phase contains dialog. After the greeting, we will add 4-part interactive dialog, which requires adding a Phase 1  
Typically each phase contains dialog. After the greeting, we will add 4-part interactive dialog, which requires adding a Phase 1  
[[image:Picture6-29.png]]


=Right Click Over the Phase name=
=Right Click Over the Phase name=
 
 
[[image:Picture6-30.png]]
=Select Edit=
=Select Edit=
   
   
[[image:Picture6-31.png]]
=Give the Phase a name=
=Give the Phase a name=


Line 133: Line 195:


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.  
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.  
[[image:Picture6-32.png]]


=Click the OK button=
=Click the OK button=


We’re ready to add interactive dialog  
We’re ready to add interactive dialog  
[[image:Picture6-33.png]]


=Right-click over the white area under the phase=  
=Right-click over the white area under the phase=  
[[image:Picture6-34.png]]


=Select New Action > Player Dialogue=
=Select New Action > Player Dialogue=


The Topic Info dialog pops up allowing you to set initial options. We aren’t ready just yet to add any options.  
The Topic Info dialog pops up allowing you to set initial options. We aren’t ready just yet to add any options.  
[[image:Picture6-35.png]]


=Click the OK button=
=Click the OK button=
Line 153: Line 223:


NPC’s have no prompts  
NPC’s have no prompts  
[[image:Picture6-36.png]]


=BEGIN PROMPT-RESPONSE PROCEDURE=
=BEGIN PROMPT-RESPONSE PROCEDURE=
[[image:Picture6-37.png]]


=Double-click * EMPTY under Positive Response=
=Double-click * EMPTY under Positive Response=
 
 
[[image:Picture6-38.png]]
=Enter a prompt in the Prompt: box=  
=Enter a prompt in the Prompt: box=  
[[image:Picture6-39.png]]


=Double-click EMPTY under Response Text=
=Double-click EMPTY under Response Text=


Note the prompt is filled in “Agree”  
Note the prompt is filled in “Agree”  
[[image:Picture6-40.png]]


=Enter a response under the Response Text box.=
=Enter a response under the Response Text box.=
Line 169: Line 249:


Note you only have 150 characters—slightly more than a Tweet  
Note you only have 150 characters—slightly more than a Tweet  
[[image:Picture6-41.png]]


=Click the OK button=
=Click the OK button=
Line 176: Line 258:


Note the positive response is already filled in
Note the positive response is already filled in
[[image:Picture6-42.png]]


=END PROMPT-RESPONSE PROCEDURE=
=END PROMPT-RESPONSE PROCEDURE=
 
 
[[image:Picture6-43.png]]
=Do a similar Prompt-Response Procedure for the PLAYER’s Negative, Neutral, and Question Responses=
=Do a similar Prompt-Response Procedure for the PLAYER’s Negative, Neutral, and Question Responses=


Line 185: Line 271:
(Neutral) Stall—I might.
(Neutral) Stall—I might.
(Question) Ask Why—Why should I?  
(Question) Ask Why—Why should I?  
[[image:Picture6-44.png]]


=Do a similar Prompt-Response Procedure for the NPC’s Positive Negative, Neutral, and Question Responses=
=Do a similar Prompt-Response Procedure for the NPC’s Positive Negative, Neutral, and Question Responses=
Line 195: Line 283:


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:
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:
[[image:Picture6-45.png]]


=Click OK=
=Click OK=


You’re almost done. You have to loop to main dialog until either the player refuses or the player agrees.  
You’re almost done. You have to loop to main dialog until either the player refuses or the player agrees.  
[[image:Picture6-47.png]]


=Right-click in the white scene area=
=Right-click in the white scene area=
   
   
[[image:Picture6-48.png]]
=Select Add Phase at End =
=Select Add Phase at End =
[[image:Picture6-49.png]]


=Right-click in the white phase area=
=Right-click in the white phase area=
[[image:Picture6-49.png]]


=Select New Action > Start Scene=  
=Select New Action > Start Scene=  
[[image:Picture6-50.png]]


=Click OK=  
=Click OK=  
[[image:Picture6-51.png]]


=Double-click (Empty)=
=Double-click (Empty)=
 
 
[[image:Picture6-52.png]]
=Right-click under Editor ID=
=Right-click under Editor ID=
 
 
[[image:Picture6-53.png]]
=Select New=  
=Select New=  
[[image:Picture6-54.png]]


=Select the Scene and Start Phase in the drop down boxes=
=Select the Scene and Start Phase in the drop down boxes=


In our example AshSkowQuest01 and Scene01Phase01, respectively  
In our example AshSkowQuest01 and Scene01Phase01, respectively  
[[image:Picture6-56.png]]


=Click OK=  
=Click OK=  
[[image:Picture6-57.png]]


=Click OK=
=Click OK=
Line 227: Line 339:


You’re ready to test.  
You’re ready to test.  
[[image:Picture6-58.png]]


=Click OK to exit the scene tab=
=Click OK to exit the scene tab=
[[image:Picture6-59.png]]


=File > Save=
=File > Save=
 
 
[[image:Picture6-60.png]]
=Run Fallout 4=
=Run Fallout 4=


(you know how to do this, so I’ll skip all the steps. Continue until you get to the room)  
(you know how to do this, so I’ll skip all the steps. Continue until you get to the room)  
[[image:Picture6-61.png]]


=Position the dot over Ash Skow=  
=Position the dot over Ash Skow=  
[[image:Picture6-62.png]]


=Select Talk=
=Select Talk=
 
 
[[image:Picture6-63.png]]
=(Wait)=
=(Wait)=
 
 
[[image:Picture6-64.png]]
=Enjoy the rest of the dialog!=
=Enjoy the rest of the dialog!=


In the next tutorial we’ll do code.
In the next tutorial we’ll do code.
[image:Picture6-65.png]]