Stendhal Quest Editor

From Arianne
Revision as of 19:47, 12 September 2012 by imported>Hendrik Brummermann (Task 3: Ask the player for a new axe)
Jump to navigation Jump to search



This tutorial will explain how to use the Stendhal Quest Editor to create your own quest for Stendhal. It will start slowly with some simple NPC interaction.

When you open the Stendhal Quest Editor, you are greeted with a form that might appear complicated. But don't be scared. We will look at the different input fields in small steps as need for them arises.


Task 1: Respond to "job" by saying "I am a lumberjack."

Our first task is, to make the NPC listen for "job". We call those words triggers. In the blue area, select "JOB" in the drop down box called "Predefined Triggers".

Next, we want that the NPCs replies with "I am a lumberjack." The green area is dedicated to actions, SayTextAction is already preselected. So all you need to do, is to replace "Hello, World" with the sentence.


 

 


You are already done.

Now click the Save-button and think of a name for your quest. (It might be a good idea to include your nickname to prevent conflicts with other people).

Task 2: Respond to "lumberjack" by saying "I cut wood"

The player might not know what a lumberjack does. So we should explain it:


 

 

First of all, we need to indicate, that "lumberjack" is a word, which the player may say. The client prints those words in blue. In the editor (or the java code), we use the "#" character to achieve the highlighting.

And second, we have to define a reaction. Unlike "job", "lumberjack" is not a predefined standard trigger, so it is not in the drop down list. Therefore we have to use the custom trigger field.

Aside: The graph view

In the next section, we will have a look at asking questions and reacting to answer. But before we go there, we should have a look at the [Graph]-page:

 

You can see a red box in the middle labelled ATTENDING. This is a state.

We see the two triggers JOB and lumberjack on either side of ATTENDING. They are called transitions because in principle they can change the current state. But for now, we only have one single state. So they both start and end in ATTENDING.

If you point the mouse cursor at a transition, you can see a box on the right with detailed information.

Task 3: Ask the player for a new axe

Let's offer a quest! If the player says quest, the NPC shall ask him for a new axe:

I broke my axe. Please, will you get me a new axe?

But this time, we are waiting for an answer, either yes or no. We could just add those words as triggers. But that would mean, that we can only ask one yes/no-question.

When the player says yes or no, the NPC needs to remember that he asked for an axe. This short term memory is achieved by using another state. Any state would do, but per convention there is QUEST_OFFERED just for this situation.

 

To recap: If the player says QUEST, the NPC will transit from ATTENDING to QUEST_OFFERED. In this state, he will only accept YES and NO:

 

Template:TODO: QUEST OFFERED in source/target states

Task 4: SetQuestAction