1.x/List of Objective node types: Difference between revisions

From Citizens Wiki

< 1.x

No edit summary
No edit summary
Line 15: Line 15:


= Quest Types =
= Quest Types =


== Build ==
== Build ==
Line 27: Line 28:
         amount: 1        # Number of items that must be placed.
         amount: 1        # Number of items that must be placed.
</pre>
</pre>


== Location ==
== Location ==
Line 41: Line 43:
         leeway: 1        # The leeway in blocks that the player can be away from the location before finishing.
         leeway: 1        # The leeway in blocks that the player can be away from the location before finishing.
</pre>
</pre>
Note by aufdemrand: In previous versions the leeway in blocks was set with the amount: node. 1.1.6 on, use leeway: instead.




Line 55: Line 59:
</pre>
</pre>


Distance quest (move distance)- walk a certain number of blocks.
Uses:
* ''amount'' - the amount of blocks to walk.


Block destroy quest (destroy block) - break a certain amount of blocks.
== Move Distance ==
Uses:  
 
* ''amount'' - the amount of blocks to break.
Move distance quests requires the player to walk a certain number of blocks.
* ''materialid'' - the block ID to break.
 
<pre>'0':
    '0':   
        type: move distance  # Specifies move distance objective.
        amount: 1000        # The amount of blocks required to traverse.
</pre>
 
 
== Destroy Block ==
 
Destroy Block quests require the player to break a certain amount of blocks.
 
<pre>'0':
    '0':   
        type: destroy block  # Specifies hunt objective.
        amount: 10        # The amount of blocks to break.
        materialid: 1        # The type of block required.
</pre>
 
 
== Delivery ==
 
Delivery quests require the player to 'deliver' a specified item to a specified NPC.
 
<pre>'0':
    '0':
        type: delivery    # Delivery Quest type
        materialid: 341    # Slimeballs set as material to deliver.
        amount: 6      # Quantity: 6
        npcdestination: 22      # deliver to NPC ID
</pre>


Delivery quest (delivery)- deliver an item to an npc.
 
Uses:
== Player Combat ==
* ''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.


Combat quest (player combat) - kill a certain number of players.
Combat quest (player combat) - kill a certain number of players.
Uses:
* ''amount'' - the amount of players to kill.
* ''string'' - which players should be killed. Using '-' as the first character makes a whitelist. '*' represents all. g:group represents groups.


Collect quest (collect) - pick up a certain number of items.
<pre>'0':
Uses:  
    '0':
* ''amount'' - the number of items to pick up.
        type: player combat    # Player Combat type
* ''materialid'' - the ID to pick up.
        amount: 1    # Amount of players to kill
        string: Notch,fullwall,      # Which players should be killed. Using '-' as the first character makes a whitelist. '*' represents all. g:group represents groups.
</pre>
 
 
== KillNPC ==
 
Kill NPC quests require the player to slay a Guard NPC.  Note: EvilNPCs will be supported soon.
 
<pre>'0':
    '0':
        type: killNPC    # KillNPC type
        amount: 1
        string: Cantrell,Notch,      # Which NPCs should be killed. Using '-' as the first character makes a whitelist. '*' represents all. NPC ID or Name can be used.
</pre>
 
 
== Collect ==
 
Collect quest requires the player to pick up a certain number of items.
 
<pre>'0':
    '0':   
        type: collect  # Specifies hunt objective.
        amount: 10        # The amount of blocks to collect.
        materialid: 3        # The type of block required.
</pre>
 
Note: For the items to register, the player has to pick them up from the ground. Materials obtained through chests/furnaces will not register. This also opens up a possible exploit in which the player can throw down and pick up the same item to get it to count more than once. One way to protect against this would be to follow it up with a delivery quest that would require the items to be physically delivered to an NPC to check for the correct amount.

Revision as of 19:25, 13 February 2012

To aid with generic objective design, each objective can use one of a common set of variables: amount, string, materialid, location, item and npcdestination (destination NPC ID).

Each objective type may use one or more of these variables.

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 optional pitch/yaw nodes specify the rotation (think aeroplanes) of the location.


Quest Types

Build

Build quests require the player to place a certain number of blocks.

'0':
    '0':    
        type: build      # Specifies build objective.
        materialsid: 54  # Chest. Material player is required to build.
        amount: 1        # Number of items that must be placed.


Location

Location quests (move location) require the player be within a certain range of a location.

'0':
    '0':    
        type: move location   # Specifies loaction objective.
            x: 150       # Coordinates of location required to visit.
            y: 47
            z: 420
        time: 10         # The time (in seconds) that the player has to stay in this location for.
        leeway: 1        # The leeway in blocks that the player can be away from the location before finishing.

Note by aufdemrand: In previous versions the leeway in blocks was set with the amount: node. 1.1.6 on, use leeway: instead.


Hunt

Hunt quests require the player to kill a certain number of monsters.

'0':
    '0':    
        type: hunt   # Specifies hunt objective.
        amount: 10         # The amount of monsters the player needs to kill.
        string: *        # Any monster will do.  You can also specify.  Zombie, for example, will require only Zombies.
                      # Using '-' as the first character makes a whitelist. '*' represents all.


Move Distance

Move distance quests requires the player to walk a certain number of blocks.

'0':
    '0':    
        type: move distance   # Specifies move distance objective.
        amount: 1000         # The amount of blocks required to traverse.


Destroy Block

Destroy Block quests require the player to break a certain amount of blocks.

'0':
    '0':    
        type: destroy block   # Specifies hunt objective.
        amount: 10         # The amount of blocks to break.
        materialid: 1        # The type of block required.


Delivery

Delivery quests require the player to 'deliver' a specified item to a specified NPC.

'0':
    '0':
        type: delivery    # Delivery Quest type
        materialid: 341     # Slimeballs set as material to deliver.
        amount: 6      # Quantity: 6
        npcdestination: 22      # deliver to NPC ID


Player Combat

Combat quest (player combat) - kill a certain number of players.

'0':
    '0':
        type: player combat    # Player Combat type
        amount: 1    # Amount of players to kill
        string: Notch,fullwall,      # Which players should be killed. Using '-' as the first character makes a whitelist. '*' represents all. g:group represents groups.


KillNPC

Kill NPC quests require the player to slay a Guard NPC. Note: EvilNPCs will be supported soon.

'0':
    '0':
        type: killNPC    # KillNPC type
        amount: 1
        string: Cantrell,Notch,      # Which NPCs should be killed. Using '-' as the first character makes a whitelist. '*' represents all. NPC ID or Name can be used.


Collect

Collect quest requires the player to pick up a certain number of items.

'0':
    '0':    
        type: collect   # Specifies hunt objective.
        amount: 10         # The amount of blocks to collect.
        materialid: 3        # The type of block required.

Note: For the items to register, the player has to pick them up from the ground. Materials obtained through chests/furnaces will not register. This also opens up a possible exploit in which the player can throw down and pick up the same item to get it to count more than once. One way to protect against this would be to follow it up with a delivery quest that would require the items to be physically delivered to an NPC to check for the correct amount.