Difference between revisions of "Admin/NPC Quest Tutorial"

From Draccyserv Info
Jump to: navigation, search
(Special Delivery)
(4 intermediate revisions by the same user not shown)
Line 206: Line 206:
  
 
===In Game===
 
===In Game===
 +
When the player right clicks on Burger Bob, Dialog Tree B Section 1 appears in chat and the "Bobs Burger" item is '''removed''' from the player's inventory.
 +
 +
At this point, the "Burger Quest" Node has been reset and is no longer flagged as completed.
 +
 +
After the player clicks "???", Section 2 (Tree B) appears and the "Special Delivery!" Node is completed. The player receives 32 XP and is '''given''' 10 Emeralds.
  
 
----
 
----
[[file:burgerquest05.png|400px]]
 
 
[[file:burgerquest07.png|400px]]
 
[[file:burgerquest07.png|400px]]
 +
[[file:burgerquest05.png|400px]]
 
-----
 
-----
  
==Bugs==
+
In addition to "Burger Quest" having been reset, triggering Section 2 of Dialog Tree B has reset "Want Fries With That?", leaving only "Special Delivery!" completed.
This quest Tree isn't foolproof!
+
 
 +
"Special Delivery!" can stay flagged as completed indefinitely without affecting the Adventure restart, and so it is works as a trophy for having completed it.
  
There are ways to break the immersion slightly, but nothing that allows for a true sequence break.
 
  
 
==Eat Bob's Burger==
 
==Eat Bob's Burger==
Line 221: Line 226:
  
 
===Quest Config===
 
===Quest Config===
This quest node actually uses the Conditions provided in the lower section of the web tool, and is not triggered by dialog (not External Condition).
+
 
 +
 
 +
Since this is meant to be the 3rd Node, we're using the middle Node "Want Fries With That?" as the Parent for this one.
 +
 
 +
We'll use the same "Sandwich" Icon as always.
 +
 
 +
Since this is a part of a Fork and is presented as an alternate path, we'll change things up and use the Square Frame. We don't want to use the fancy frame ("C") since this is still not a very big accomplishment.
 
----
 
----
 
[[file:burgerquest_node3b1.png|400px]]
 
[[file:burgerquest_node3b1.png|400px]]
 
[[file:burgerquest_node3b2.png|400px]]
 
[[file:burgerquest_node3b2.png|400px]]
 
----
 
----
 +
This quest node actually uses the Conditions provided in the lower section of the web tool, so we '''will not check''' the External Condition.
 +
 +
Instead we will test to see if the player consumes the specual "Bobs Burger" item using the appropriate section in the "Conditions" part of the Configurator webpage.
 +
 
===Dialog Config===
 
===Dialog Config===
 +
Since this is a fork in the quest designed to be an alternate path, we'll use the alternate Dialog Tree C (mustard) to handle it.
 +
 +
We know that the "Eat Bob's Burger" quest is completed to make this happen, so we use that as a requirement ("IF QUEST 1").
 +
 +
To make sure we can't accidentally break sequence by giving the burger to another player, we also check for "Want Fries With That?" ("IF QUEST 2").
 +
 +
For Dialog Tree Section 1 , we want to immediately cut off the other quest path, so we reset "Want Fries With That?" and allow the player to respond.
  
 +
If the player walks away at this point, Dialog Tree C Section 1 will repeat the next time they right-click as it is the only tree with satisfied dependencies.
 
----
 
----
 
[[file:burgerquest_bob05.png|400px]]
 
[[file:burgerquest_bob05.png|400px]]
 
[[file:burgerquest_bob06.png|400px]]
 
[[file:burgerquest_bob06.png|400px]]
 +
----
 +
When the player clicks through Dialog Section 2 via "Sorry...", they will have to new Response options, one of which points to a reset mechanism in Section 3.
 +
----
 
[[file:burgerquest_bob07.png|400px]]
 
[[file:burgerquest_bob07.png|400px]]
 
----
 
----
 +
The "Eat Bob's Burger" quest will be reset in Section 3, allowing the player to return to the [[Admin/NPC_Quest_Tutorial#Want_Fries_With_That?|Cashier]] to complete "Want Fries With That?" again.
 +
 +
If the player does not confirm, the [[Admin/NPC_Quest_Tutorial#Want_Fries_With_That?|Cashier]] NPC's Dialog Tree B will not trigger due to the presence of a completed "Eat Bob's Burger" quest.
 +
 
===In Game===
 
===In Game===
 +
After receiving the "Bobs Burger" item from the [[Admin/NPC_Quest_Tutorial#Want_Fries_With_That?|Cashier]], the player immediately eats it.
 +
 +
Trying to talk to the Cashier again reveals no dialog related to the Adventure.
 +
 +
The player now has "Eat Bob's Burger" completed in the Quest Status Screen.
  
 
----
 
----
Line 240: Line 275:
 
[[file:burgerquest09.png|400px]]
 
[[file:burgerquest09.png|400px]]
 
-----
 
-----
 +
Bob does not take it well. Dialog Tree C Section 1 is triggered when the player right-clicks the NPC.
 +
 +
Further Dialog progression reveals that the player has another chance.
 +
 +
The player clicks "Sure". The Node "Eat Bob's Burger" is reset in the Quest Status Screen.
 +
 +
The player can now go back to McLevel's and talk to the Cashier to try again.
 +
 +
This alternate path can be repeated indefinitely, and rewards 16 XP every time the player picks up another burger.
 +
 +
It can technically be used as a very tedious XP farm.
 +
 +
 +
==Bugs==
 +
This quest Tree isn't foolproof! Here are some known problems:
 +
 +
* The player can throw away the "Bobs Burger" item after receiving it from the Cashier. Burger Bob will act like you still have the burger.
 +
* If a player is given the "Bobs Burger" item and eats it, they will complete the "Bob's Burger"
 +
 +
;Notes:
 +
:Fortunately nothing that allows for a meaningful sequence break, but it hurts immersion.
 +
:For the second scenario, the Quest flags should still allow Burger Bob's Dialog Tree A to operate properly.
 +
  
 
== Related Pages ==
 
== Related Pages ==

Revision as of 21:17, 16 May 2020

Introduction

On this page you can follow along with a comprehensive breakdown of the interactions between Quest and Dialog mechanisms. Using the webpage tools and Toolbook utilities, you can create completely custom adventures for players.

In this example, we'll explore the Burger Quest tree, which will cover most techniques you'll want to use for Draccyserv's Quests.


This tutorial uses Admin-only webpages: The Dialog Configurator and the Quest Configurator

Vocabulary

It's a good idea to get familiar with terminology used throughout this guide and within the server utilities.

Quest
A custom form of Minecraft Advancement. More info HERE
Quest Status Screen
The (Advancements Screen) which pops up when the appropriate keyboard key is pressed (default is L)
Node (Quests)
The a single quest objective in a Quest Tree, which is linked to other neighboring Nodes
Nodes are "linked" when they share a chain of dependency (shows as white line in Quest Status screen).
Tree/Chain (Quests)
The series of Nodes interlinked in series, starting from the named Node ("Burger Quest" tree starts from "Burger Quest" node)
Since different Quest lines branch off of each other, earlier Nodes always represent larger Trees
Fork (Quests)
The split quest route that occurs when more than one Node continues on from its Parent Quest Node
Parent (Quests)
The linked Node occurring immediately previous to the Node in question, to which the Node in question is dependent.
Root (Quests)
Lowest possible Node in a Tree, also representing a specific tabbed panel in the Quest Status Screen.
Shows as all-caps with (ROOT) in the Parent Quest selection on the Quest Configurator
Clickable
A button-like span of text appearing in-chat which allows players to interact with NPC Dialog and other features using mouse clicks.
Adventure
The combined components (Dialog, Special Functions, Recipe, Etc) surrounding a Quest Tree
Dialog Section
A span of text (up to a paragraph) which is displayed according to the parameters specified in the Dialog Configurator
May be referred to as a "Dialog Line" in some screenshots/notes. This terminology is being phased out.
Player Response/Option (Dialog)
A Clickable which can optionally be presented in-chat after a Dialog Section (up to 3 per Section).
These specifically navigate to another section of Dialog as specified in the Dialog Configurator

Quick Tips

Before you begin, keep the following in mind:

  • Web tools work like submission forms. You need to submit/save your work before it shows up on the server.
  • The server automatically updates to reflect these changes on a schedule (60 second intervals, but may be changed soon)
  • Expanded Dialog Trees (B and C) need to have mutually exclusive quest requirements or they might show up in chat at the same time.
  • Quests can be granted or reset in the middle of dialog, allowing you to fork progression into different paths per multiple choice response.

Quest Start

The Burger Quest adventure involves running an errand for a lazy burger fan.


Quest Config

The Parent Quest is set to Central City (A root panel/tab), so this is one of the first nodes players will see when they have Central City (Root) unlocked.

We're using a regular Draccyserv item sprite (Sandwich) to act as the icon for all the Nodes in the Burger Quest Tree. This shows up on top of the frame graphic in the Quest Status Screen.

This is the first Node, which is set up to use a round frame and will reward 5 XP to give the player a little incentive.


Burgerquest node1.png


Most importantly, because we want to complete this Quest using interaction with NPC Dialog, we want to set it as External Condition by checking the box.

This means we aren't using the Condition options on the Quest Configurator, which will not see any use in this tutorial until the last section.

Dialog Config

Note that the 3 possible Dialog Trees for a given NPC are color-coded on the Dialog Configurator webpage.


Burgerquest bob01.png


We're working in Tree A (aqua),

The first section presents the player with 3 different Responses. The first and third options here only lead to some flavor-text dialog, so we'll focus on the middle response ("Sure."), which points to Section 3.


Burgerquest bob02.png


Section 3 uses one of the Special Operations.

In this simple example, the only operation happening is "Complete Quest". We're telling it to complete "Burger Quest".

This means that as soon as Section 3 is triggered and shows up in-chat, the quest will be completed.

Note that saved names will often appear in a simplified format within the tools, where punctuation is removed and underscores replace spaces.


In Game

When the player right-clicks an NPC that is using the "Burger Bob" dialog set, the first Section from Tree A shows up.

They're presented with one of 3 Player Responses. In this case, the player has clicked "Sure.", which has triggered Section 3 (still in Tree A).

As Section 3 pops up in-chat, the Node "Burger Quest" is completed, and the player receives 5 XP as incentive to keep going.


Burgerquest01.png Burgerquest02.png


This allows further quest Nodes to become visible in the Quest Status Screen.

As expected, the "Sandwich" Icon on the Round Frame is visible, and the frame is colorized because this first Node ("Burger Quest") is completed.

Want Fries With That?

Now that we have something to do for Burger Bob, we're required to go to another NPC at a McLevel's location and pick up his burger. Apparently he put the order in already?


Quest Config

We want this quest to depend on the one that was just completed, so the Parent of this quest is set to Burger Quest.

We're using the same Sandwich icon as before, and the round frame as well.

Now that the player is getting somewhere, we can reward a little more XP (16) than the first Node.


Burgerquest node2.png


This Node is triggered by NPC dialog as well, so we check the "External Condition" box once again.


Dialog Config

The Cashier NPC from McLevel's will provide the necessary interaction. This NPC is already configured with dialog unrelated to the quest in Dialog Tree A.

We'll set up the Cashier's alternate Dialog Tree B (lavender) to trigger when the "Burger Quest" Node is flagged as completed ("IF QUEST 1").

Since this dialog is supposed to complete the "Want Fries With That?" quest, we know to disable it if that quest is already complete ("UNLESS QUEST 1").

We also want to disable it if a specific future Node in the Quest tree is completed, to prevent accidental sequence-breaking ("UNLESS QUEST 2").

Down in the Player Response options, there are two responses, one of which advances the Adventure (Section 2) and one of which is a dead-end joke response (Section 3).


Burgerquest cashier01.png Burgerquest cashier02.png


And so, in Section 2 we once again go into the Special Operations.

As with the first Node, we will set the target quest, "Want Fries With That?" to be completed.

In Addition, we will give the player a specially named item with custom lore: "Bobs Burger"

In Game

Because "Burger Quest" is flagged as complete, Dialog Tree B shows up when the player right clicks the Cashier NPC at McLevel's.


Burgerquest04.png Burgerquest03.png


In this case, the player has clicked "Sure.", which has triggered Section 2 (still in Tree B).

The dialog appears for Section 2, the player is rewarded with 16 XP and the quest Node "Want Fries With That?" is completed.

Special Delivery

If you decide to do the decent thing and bring this hungry stranger his precious burger, you'll be rewarded!

Quest Config

Since this is meant to be the 3rd Node, we're using the middle Node "Want Fries With That?" as the Parent for this one.

We'll use the same "Sandwich" Icon as always, and stick with the round frame since this isn't a big accomplishment.


Burgerquest node3a.png


Since the player is now completing this very minor Adventure, we'll reward a payout of 32 XP.

This is another Node triggered by NPC Dialog, so it gets the External Condition checkbox.

Dialog Config

As with the Cashier, Burger Bob already has Dialog Tree A used from the start of the quest.

The alternate Dialog Tree B will be configured to check for progress on the Adventure.

Tree B will only show up if "Want Fries With That?" is completed ("IF QUEST 1"), which should mean the player is holding the "Bobs Burger" item.

This Node is part of a Fork, so there is an adjacent Node with the same Parent.

Dialog Tree B will not show up if the alternate Node in the Fork, "Eat Bob's Burger", is completed ("UNLESS QUEST 1").

Since we want to automatically reset the quest (not usually recommended), we're going to use the Special Operations to reset "Burger Quest" first.

We will remove one instance of the "Bobs Burger" item from the player's inventory as they are expected to be holding it.

In the event that the player walks away from the NPC at this stage, Dialog Tree B Section 1 will start over as the "Want Fries With That?" quest is still flagged as completed.


Burgerquest bob03.png Burgerquest bob04.png


Proceeding to Dialog Section 2 from the "???" Player Response, we complete the quest "Special Delivery" and reset "Want Fries With That?" to finish rolling back the quest for the next replay.

In this case the Dialog text describes a "tip", so we'll reward the player with 10 emeralds for completing the Adventure.

Now that the quests related to the alternate Dialog Trees are no longer completed, the original Dialog Tree A should be triggered the next time a player right-clicks to the NPC.

In Game

When the player right clicks on Burger Bob, Dialog Tree B Section 1 appears in chat and the "Bobs Burger" item is removed from the player's inventory.

At this point, the "Burger Quest" Node has been reset and is no longer flagged as completed.

After the player clicks "???", Section 2 (Tree B) appears and the "Special Delivery!" Node is completed. The player receives 32 XP and is given 10 Emeralds.


Burgerquest07.png Burgerquest05.png


In addition to "Burger Quest" having been reset, triggering Section 2 of Dialog Tree B has reset "Want Fries With That?", leaving only "Special Delivery!" completed.

"Special Delivery!" can stay flagged as completed indefinitely without affecting the Adventure restart, and so it is works as a trophy for having completed it.


Eat Bob's Burger

Option 2 on the Fork from the "Want Fries With That?" node gives the player the chance to do the unthinkable!

Quest Config

Since this is meant to be the 3rd Node, we're using the middle Node "Want Fries With That?" as the Parent for this one.

We'll use the same "Sandwich" Icon as always.

Since this is a part of a Fork and is presented as an alternate path, we'll change things up and use the Square Frame. We don't want to use the fancy frame ("C") since this is still not a very big accomplishment.


Burgerquest node3b1.png Burgerquest node3b2.png


This quest node actually uses the Conditions provided in the lower section of the web tool, so we will not check the External Condition.

Instead we will test to see if the player consumes the specual "Bobs Burger" item using the appropriate section in the "Conditions" part of the Configurator webpage.

Dialog Config

Since this is a fork in the quest designed to be an alternate path, we'll use the alternate Dialog Tree C (mustard) to handle it.

We know that the "Eat Bob's Burger" quest is completed to make this happen, so we use that as a requirement ("IF QUEST 1").

To make sure we can't accidentally break sequence by giving the burger to another player, we also check for "Want Fries With That?" ("IF QUEST 2").

For Dialog Tree Section 1 , we want to immediately cut off the other quest path, so we reset "Want Fries With That?" and allow the player to respond.

If the player walks away at this point, Dialog Tree C Section 1 will repeat the next time they right-click as it is the only tree with satisfied dependencies.


Burgerquest bob05.png Burgerquest bob06.png


When the player clicks through Dialog Section 2 via "Sorry...", they will have to new Response options, one of which points to a reset mechanism in Section 3.


Burgerquest bob07.png


The "Eat Bob's Burger" quest will be reset in Section 3, allowing the player to return to the Cashier to complete "Want Fries With That?" again.

If the player does not confirm, the Cashier NPC's Dialog Tree B will not trigger due to the presence of a completed "Eat Bob's Burger" quest.

In Game

After receiving the "Bobs Burger" item from the Cashier, the player immediately eats it.

Trying to talk to the Cashier again reveals no dialog related to the Adventure.

The player now has "Eat Bob's Burger" completed in the Quest Status Screen.


Burgerquest10.png Burgerquest08.png Burgerquest09.png


Bob does not take it well. Dialog Tree C Section 1 is triggered when the player right-clicks the NPC.

Further Dialog progression reveals that the player has another chance.

The player clicks "Sure". The Node "Eat Bob's Burger" is reset in the Quest Status Screen.

The player can now go back to McLevel's and talk to the Cashier to try again.

This alternate path can be repeated indefinitely, and rewards 16 XP every time the player picks up another burger.

It can technically be used as a very tedious XP farm.


Bugs

This quest Tree isn't foolproof! Here are some known problems:

  • The player can throw away the "Bobs Burger" item after receiving it from the Cashier. Burger Bob will act like you still have the burger.
  • If a player is given the "Bobs Burger" item and eats it, they will complete the "Bob's Burger"
Notes
Fortunately nothing that allows for a meaningful sequence break, but it hurts immersion.
For the second scenario, the Quest flags should still allow Burger Bob's Dialog Tree A to operate properly.


Related Pages

NPC Dialog Creation

Quest Creation