Stendhal Quest Coding: Difference between revisions
Content deleted Content added
imported>Hendrik Brummermann blue trigger words |
imported>Kribbel m replace old link |
||
| (156 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Navigation for Stendhal Top|Contributing}}
{{Navigation for Stendhal Contributors}}
{{Stendhal Quests}}▼
{{ TODO | Update page for changes in quest coding }}
▲{{Stendhal Quests}}
__TOC__
If you have ideas for new quests or are interested in helping to refine quest ideas, please have a look at the [[Stendhal Quest Contribution|Quest Contributor's Guide]] or the [[Stendhal Quest Ideas]].
== Before you start ==
Line 16 ⟶ 15:
This page describes how to code a quest. You don't need to know a lot about Java. You should, however, already have [[Configure a development environment (IDE)|setup an IDE]] and be able to compile and start a local Stendhal server.
This tutorial assumes that the new quest only uses NPCs and items that already exist in Stendhal. To add a new NPC, see [[Stendhal NPC Coding]].
== Creating a quest skeleton ==
Line 52 ⟶ 51:
public String getName() {
return "BeerForHayunn";
}
public List<String> getHistory(final Player player) {
final List<String> res = new ArrayList<String>();
return res;
}
}
Line 103 ⟶ 107:
== Commonly used conversation phrases ==
Good, Hayunn now replies to the trigger "quest". He does not, however, reply to "task". All other NPCs accept both words as synonym. A simple solution would be to add a second ''npc.addReply'' line. But there is a better way which makes it very easy to add additional synonyms later. We predefined lists of commonly used [
Let's adjust the above sample by using ''ConversationPhrases.QUEST_MESSAGES'' instead of the hard coded word "quest":
Line 150 ⟶ 154:
== Second Part of this Tutorial ==
Congratulations if you made it this far. You are now able to code basic dialogs with NPCs. The next section of this tutorial will describe advanced
| |||