All pastes #2109920 Raw Edit

Quests.yml

public text v1 · immutable
#2109920 ·published 2012-02-05 12:43 UTC
rendered paste body
# ----- Quest Design Guide -----
#
# First, let's cover the basic fields in a quest.
# Each root node is the quest name - below, the two quest names are 'example' and 'example2'.
# This is what you will use ingame to identify each quest.
# Inside this, we see the text nodes - pretty self-explanatory. Note that you can use
# <br> to denote a line break.
#
# The repeats option allows a quest to be completed a certain number of times. It acts as a limit. -1 denotes an
# unlimited completion times limit. Let's take an example. A limit of 1 would allow the quest to be completed once.
#
# Now we move on to the configuration of the two main configuration options - objectives and rewards.
#
# --- 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 freeform quest design. Note that each step should be marked
# by an ascending number, *with quotes* around it. Each objective within a step is incremented concurrently.
#
# The message variable is sent to the player on completion of each objective.
#
# --- Objective types ---
#
# To aid with generic objective design, each objective can use one of a common set of variables
# - amount, string, materialid, location, string, item and npcdestination (destination NPC ID).
# Each objective type may use one or more of these variables - a reference is provided below.
#
#  - Specifying item and locations -
# Item nodes have three sub-nodes, two that must be included and one optional.
# The id sub-node designates the item/block ID.
# The amount sub-node specifies the item amount.
# The optional data sub-node specifies the item data value to be used.
#
# Location nodes have 4 required sub-nodes, two optional.
# The world node specifies the world name of the location.
# The x ,y and z nodes specifies the x,y and z values.
# The pitch/yaw optional nodes specify the rotation (think aeroplanes) of the location.
#
# Example syntax:
# location:
#     x: 123 
#     y: 124
#     z: 111
#     world: 'world'
#
# Block destroy quest (destroy block) - break a certain amount of blocks.
# Uses: amount - the amount of blocks to break. materialid - the block ID to break.
#
# Build quest (build) - place a certain number of blocks
# Uses: materialid - the block ID to place. amount - the amount that must be placed.
#
# Combat quest (player combat) - kill a certain number of players.
# Uses: amount - the amount of players to kill. string - a list of which players should be targeted. '*' signifies all, '-' as the first character signifies a
# whitelist, g:group specifies a group to target.
#
# Collect quest (collect) - pick up a certain number of items.
# Uses: amount - the number of items to pick up. materialid - the ID to pick up.
#
# Delivery quest (delivery)- deliver an item to an npc.
# Uses: npcdestination - the NPC ID to deliver to. materialid - the material that must be in hand.
# amount - the amount of the material that must be in hand.
#
# Distance quest (move distance)- walk a certain number of blocks.
# Uses: amount - the amount of blocks to walk.
#
# Hunt quest (hunt) - kill a certain number of monsters.
# Uses: amount - the number of monsters to kill. string - which monsters to kill. '*' signifies all, '-' at 
# the start signifies that monsters not in the list will be counted.
#
# Location quest (move location)- be within a certain range of a location.
# Uses: location - the base location to move to. amount - the amount in blocks that the player can be away from the location before finishing.
#
#
# --- Rewards ---
#
# 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.
#
# Rank reward (rank) - grants a group ('rank') to a player.
# Specified by the rank: node.
#
# Permission reward (permission) - grants a permission to a player.
# Specified by the permission: node.
#
# Quest reward (quest) - grants a quest to a player. Note that it cannot be taken away from a player.
# Specified by the quest: node.
#
# Item reward (item) - gives an item to a player.
# Loaded from the item: nodes.
#
# Health reward (health) - gives health to a player.
# Loaded from the amount: node.
#
# Money reward (money) - gives money to a player.
# Loaded from the money: node.

"Begin Creating a Home":
    texts:
        description: Begin Creating a Home <br>A starter quest - Gather some stuff for your new home <br>(They must be collected from the ground!.)
        completion: <g>Quest Completed! <br>Superb! I will now give you acces to the '/sethome' & '/home' commands <br>and here's a little cash to get you started! cya around. <br>Ps. it might take 30 minutes or more for the commands to be available.
        acceptance: <g>Quest <y>accepted!<g> Please check the '/quest status' to see the items i need.
    repeats: 1
    objectives:
        '0':
            '0':
                type: collect
                materialid: 26
                amount: 1
                message: Mmm.... soft cozy bed! CHECK!
            '1':
                type: collect
                materialid: 47
                amount: 1
                message: Yay. Stuff to read!!! CHECK!
            '2':
                type: collect
                materialid: 54
                amount: 1
                message: A place to store your goods! CHECK!
    rewards:
         '0':
            type: permission
            permission: 'essentials.sethome'
         '1':
            type: permission
            permission: 'essentials.home'
         '2':
            type: command
            command: eco give <player> 500
            server: true
            
example:
    texts:
        description: A build quest
        completion: <g>You win! Here's some stone.
        acceptance: <g>Challenge <y>accepted<g>.
    requirements:
        '0':
            type: rank
            rank: 'your-rank-here'
    repeats: -1
    objectives:
        '0':
            '0':
                type: build
                materialid: 1
                amount: 3
                message: Built. Now come back here!
    rewards:
        '0':
            type: item
            id: 1
            amount: 64
            take: false
example2:
    texts:
        description: A fetch quest
        completion: <g>You win! Give me that stone.
        acceptance: <g>Challenge <y>accepted<g>.
    repeats: 1
    objectives:
        '0':
            '0':
                type: collect
                materialid: 1
                amount: 3
                message: A voice echoes... "I want that stone now!"
    rewards:
         '0':
            type: item
            id: 1
            amount: 3
            take: true
example3:
    texts:
        description: A mob quest - kill any 3 of zombie, pig or chicken
        completion: <g>You win!
        acceptance: <g>Challenge <y>accepted<g>.
    repeats: 2
    objectives:
        '0':
            '0':
                type: hunt
                string: 'zombie, pig, chicken'
                amount: 3
                message: Monsters slain \o/.
    rewards:
         '0':
            type: item
            id: 1
            amount: 3
            take: true
            
"Package for Jones":
    texts:
        description: Package for Jones <br>Jones needs more books to document his discoveries in the deserted castle!
        completion: Thank you for bringing these books!. There's still much left to discover here!
        acceptance: <g>'Package for Jones' Quest <y>Accepted<g>.
    repeats: -1
    delay: 30
    objectives:
        '0':
            '0':
                type: collect
                materialid: 340
                amount: 3
                message: You can hear lancell yell to you... <br> "Now go deliver those books to Jones in the deserted castle out SE!"
        '1':
            '0':
                type: delivery
                npcdestination: 0
                materialid: 340
                amount: 3
                finishhere: true
    rewards:
        '0':
            type: command
            command: eco give <player> 250
            server: true         
        '1':
            type: item
            id: 340
            amount: 3
            take: true
"Hidden Castle Treasure 1":
    texts:
        description: Hidden Castle Treasure 1 <br>An explorer quest - Find a way to the chest in the basement.
        completion: <g>Quest Completed! - Here's your share of the treasure.
        acceptance: <g>Quest <y>accepted!<g>.
    repeats: -1
    delay: 30
    objectives:
        '0':
            '0':
                type: location
                location: 
                    x: -280
                    y: 69
                    z: -432
                    world: world
                amount: 2
                message: Good. Now bring it to me!
    rewards:
         '0':
            type: item
            id: 314
            amount: 1
            take: false
         '1':
            type: item
            id: 317
            amount: 1
            take: false
         '2':
            type: item
            id: 35
            amount: 10
            take: false
         '3':
            type: item
            id: 37
            amount: 10
            take: false
         '4':
            type: item
            id: 297
            amount: 5
            take: false
"Hidden Castle Treasure 2":
    texts:
        description: Hidden Castle Treasure 2 <br>An explorer quest - Find a way to the second chest.
        completion: <g>Quest Completed! - Here's your share of the treasure.
        acceptance: <g>Quest <y>accepted!<g>.
    repeats: -1
    delay: 30
    objectives:
        '0':
            '0':
                type: location
                location: 
                    x: -275
                    y: 118
                    z: -442
                    world: world
                amount: 1
                message: Good. Now bring it to me!
    rewards:
         '0':
            type: item
            id: 241
            amount: 3
            take: false
         '1':
            type: item
            id: 41
            amount: 2
            take: false
         '2':
            type: item
            id: 35
            amount: 10
            take: false
         '3':
            type: item
            id: 37
            amount: 10
            take: false
         '4':
            type: item
            id: 297
            amount: 5
            take: false
"Package for Jorgen":
    texts:
        description: Package for Jorgen <br>Jorgen needs another pickaxe in the dwarven city!
        completion: Thank you for bringing this pickaxe!. There's still much left to discover here!
        acceptance: <g>'Package for Jorgen' Quest <y>Accepted<g>.
    requirements:
        '0':
            type: rank
            rank: 'Contributer'
    repeats: -1
    delay: 30
    objectives:
        '0':
            '0':
                type: collect
                materialid: 270
                amount: 1
                message: You can hear lancell yell to you... <br>"Now go deliver that pickaxe to Jorgen at the dwarven village out N!"
        '1':
            '0':
                type: delivery
                npcdestination: 2
                materialid: 270
                amount: 1
                finishhere: true
    rewards:
        '0':
            type: command
            command: eco give <player> 250
            server: true         
        '1':
            type: item
            id: 270
            amount: 1
            take: true