1.x/Quester: Difference between revisions

From Citizens Wiki

< 1.x

No edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Questers''' allow players to go on many different types of quests. They can collect or place blocks, attack mobs, travel a certain distance, and more! Quests are fully customizable in the ''quests.yml'' file. You can assign these quests to a quester and send your players on fun quests. See below for information on setting up a quester and customizing your quests.
{{NoSupport}}
'''Questers''' allow players to go on many different types of quests. They can collect or place blocks, attack mobs, travel a certain distance, and more! Quests are fully customizable in the [[1.x/Quests.yml]] file. You can assign these quests to a quester and send your players on fun quests. See below for information on setting up a quester and customizing your quests.


== Commands ==
== Commands ==
'''[]''' - Mandatory
<br>'''()''' - Optional


'''Command''' - command's syntax
{| class="wikitable collapsible collapsed" style="text-align: center; width: 100%"
<br>'''Args Description''' - description of the command's arguments
|-
<br>'''Require Selected''' - whether the command requires an NPC to be selected
! style="width: 100%; background-color:#ADD8E6" colspan="6" | '''Quester Commands'''
<br>'''Require Ownership''' - whether the commands requires you to be the owner of the NPC
|-
<br>'''Permission''' - command's permission node
<br>'''Description''' - short description of the command
 
{| class="wikitable" style="text-align: center;"
! style="width: 250px;" | Command
! style="width: 250px;" | Command
! style="width: 200px;" | Args Description
! style="width: 200px;" | Args Description
Line 85: Line 80:
== Quest Configuration ==
== Quest Configuration ==


See [[Quests.yml]] for detailed information about writing and editing quest structure.
See [[1.x/Quests.yml]] for detailed information about writing and editing quest structure.
 
=== Basics ===
 
Quests are defined in the quests.yml file located in plugins/Citizens. Each root node in that file is a quest name - below, the two example quest names in quest.yml are 'example' and 'example2'. This is what you will use ingame to identify each quest.
Inside this, there are text nodes - pretty self-explanatory. Note that you can use <br> to denote a line break.
 
The repeats: option allows you to set a limit for the number of times you can repeat the quest. -1 denotes an unlimited repeat count. Set it to 1 for once-off quests.
 
The delay: option allows you to specify the time (in minutes) before one is allowed to retake the quest.
 
=== Objectives ===
 
Thus far, objectives have a set structure - a number of different 'steps' and a number of objectives within each step. This allows for more free-form quest design. Note that each step should be marked by an ascending number '''with single quotes''' around it. Each objective within a step is incremented concurrently.
 
The message variable is sent to the player on completion of each objective.
Using the variable optional: true from Citizens 1.1.1 onwards will make an objective optional to completing each quest step. Be warned: if there's only one objective in the step, the step will be '''instantly''' completed.
Using the variable finishhere: true from Citizens 1.1.1 onwards will make the quest be completed instantly as soon as the objective is completed (no need to return to the npc). Can be used in conjunction with optional objectives for interesting possibilities.
 
'''Objective Types'''
 
 
=== Rewards ===
 
'''Format:''' Name (''type specifier'') - '''description'''
 
These can be used as both rewards ''and'' requirements to start a quest. As rewards, they can be either give rewards, or take rewards. As requirements, they can only be used to take from a player. Rewards can also be specified under each objective, and also for each step, using the same syntax.
 
Command reward (command) - executes a command.
Specified by the command: node. Use <player> as a variable that will be replaced with the name of the player who is receiving the reward. Use <world> as a variable that will be replaced with the name of the world the player is currently in. Use server: true to execute the command from the console.
Ex:
    '0':
        type: command
        command: give <player> 1 100
        server: false
 
NPC reward (npc) - grants an npc to a player.
Uses a name: node to specify the name of the npc, and a comma-separated list of toggles in the types: node (eg. trader,quester,guard). Will create an NPC owned by the player who completed the quest, with a generated UID.
Ex:
    '0':
        type: npc
        npcid: 1 (optional - gives the ownership of npc specified by this id to the player)
        name: 'Bill'
        types: 'guard,trader,quester'
        location:
            x: 10
            y: 10
            z: -50
            world: 'test'
 
Rank reward (rank) - grants a group ('rank') to a player.
Specified by the rank: node.
Ex:
    '0':
        type: rank
        rank: 'admin'
 
Permission reward (permission) - grants a permission to a player.
Specified by the permission: node.
Ex:
    '0':
        type: permission
        permission: 'quests.admin'
 
Quest reward (quest) - grants a quest to a player. Note that it cannot be taken away from a player.
Specified by the quest: node.
Ex:
    '0':
        type: quest
        quest: 'builder'
 
Item reward (item) - gives an item to a player.
Loaded from the item: nodes.
Ex:
    '0':
        type: item
        item:
            id: 10
            amount: 50
            data: 0
 
Health reward (health) - gives health to a player.
Loaded from the amount: node.
Ex:
    '0':
        type: health
        amount: 10


Money reward (money) - gives money to a player.
== Troubleshooting Quests.yml ==
Loaded from the money: node.
Ex:
    '0':
        type: money
        money: 100


Teleport reward (teleport) - teleports a player to a location.
Many problems with quest files are caused by incorrectly formatted YAML.  To make sure your YAML quest file is able to be parsed correctly, this handy tool may be of help. [http://yaml-online-parser.appspot.com/ This online YAML parser] will take input syntax in the left window, and if correctly parsed, will show a result in the right side. If errors occur, check your [[1.x/Quests.yml]] formatting and try again.
Loaded from the location: node.
Ex:
    '0':
        type: teleport
        location:
            x: 10
            y: 50
            z: -10
            world: 'main'


== Troubleshooting ==
When writing custom quests, check format thoroughly, especially objectives. The [[1.x/Quests.yml]] page outlines each node required by quests.


Many problems with quest files are caused incorrectly formatted YAML.  To make sure your YAML quest file is able to be parsed correctly, this handy tool may be of help. [http://yaml-online-parser.appspot.com/ This online YAML parser] will take input syntax in the left window, and if correctly parsed, will show a result in the right side.  If errors occur, check your quest.yml formatting and try again.
{{NavBox}}
[[Category:Citizens1]]

Latest revision as of 13:49, 1 May 2012

Not Supported!
This page is about Citizens 1.x, while the current version is Citizens 2.0.2. This page's content may be outdated, and shouldn't be trusted as being correct. See this page's talk page for more information. If you were looking for the 2.0.2 equivalent of this page, try Quester. If you feel this message was displayed in error, please contact an administrator.

Questers allow players to go on many different types of quests. They can collect or place blocks, attack mobs, travel a certain distance, and more! Quests are fully customizable in the 1.x/Quests.yml file. You can assign these quests to a quester and send your players on fun quests. See below for information on setting up a quester and customizing your quests.

Commands

Usage

To accept a quest, go to a quester NPC. Via left clicking, you can scroll through the descriptions of each possible quest that the quester has assigned to it and that you can accept. Right click to accept the quest.

Only one quest can be accepted at any time - use /quest abort to abandon the current quest.

The status of the current quest can be viewed at any time via /quest status. On completion of the quest, return to the original quester NPC and right click them to finish the quest.

Quest Configuration

See 1.x/Quests.yml for detailed information about writing and editing quest structure.

Troubleshooting Quests.yml

Many problems with quest files are caused by incorrectly formatted YAML. To make sure your YAML quest file is able to be parsed correctly, this handy tool may be of help. This online YAML parser will take input syntax in the left window, and if correctly parsed, will show a result in the right side. If errors occur, check your 1.x/Quests.yml formatting and try again.

When writing custom quests, check format thoroughly, especially objectives. The 1.x/Quests.yml page outlines each node required by quests.