Denizen/0.7/Example Scripts/Beginner Scripts: Difference between revisions

From Citizens Wiki

< Denizen‎ | 0.7

No edit summary
No edit summary
Line 46: Line 46:


Denizens:
Denizens:
   Interact Scripts:
   Notch:
  - 10 Random conversations
    Interact Scripts:
    - 10 Random conversations




Line 60: Line 61:
       Click Trigger:
       Click Trigger:
         Script:
         Script:
         - CHAT 'This is step 1.'
         - CHAT "This is step 1."
         - ZAP RANDOM:2-3
         - ZAP RANDOM:2-3
     2:
     2:
       Click Trigger:
       Click Trigger:
         Script:
         Script:
         - CHAT 'This is step 2. Now, back to step 1!'
         - CHAT "This is step 2. Now, back to step 1!"
         - ZAP 1
         - ZAP 1
     3:
     3:
       Click Trigger:
       Click Trigger:
         Script:
         Script:
         - CHAT 'This is step 3. Now, back to step 1!'
         - CHAT "This is step 3. Now, back to step 1!"
         - ZAP 1
         - ZAP 1
</syntaxhighlight>
</syntaxhighlight>
}}
}}


{{codebox|height=250px|Notch loves cookies, and RANDOM chat.|<syntaxhighlight line='true' lang="yaml">
# A small script for conversing with Notch, with an easter egg
# if you can figure out the magic word.
#
# ---- Assignments.yml
Denizens:
  Notch:
    Interact Scripts:
    - 10 Notch Greeting
# ---- Random conversations.yml
'Notch Greeting':
  Type: Interact
  Requirements:
    Mode: None
  Steps:
    1:
      Click Trigger:
        Script:
        - RANDOM 3
        - CHAT 'I Like Cookies!'
        - CHAT 'MMmm.. cookies are my favorite!'
        - CHAT 'Cocoa and Wheat make me freak!'
      Chat Trigger:
        1:
          Trigger: 'I love /cookie/s!'
          Script:
          - CHAT 'Me too!'
          - EMOTE 'gives <PLAYER> some cookies.'
          - EMOTE 'gives <PLAYER> some cookies.'
          - GIVE COOKIE QTY:6
          - ZAP 2
    2:
      Click Trigger:
        Script:
        - CHAT 'How were the cookies?'
</syntaxhighlight>
}}


==Joe the Builder==
==Joe the Builder==

Revision as of 15:58, 19 September 2012

Sometimes the best way to learn is by looking at some examples. The following beginner scripts use basic denizen commands and requirements to provide some nice basic functionality for your Denizens.

Example scripts are provided with both the assignments and the scripts in the same box. Be sure and put the text in the correct file in your plugins folder.
  • Assignments should always be appended to plugins\Denizen\assignments.yml
  • Scripts can be placed in any .yml file in the plugins\Denizen\scripts\ directory. Remember: You can have multiple scripts per file!



and now... the scripts!


Simple, random conversations

A great way to provide some nice immersion into your world is as simple as a basic interaction with a Denizen NPC outputting a random response. There are a couple different ways this can be done, as provided in the examples below. Since this concept is simple, it can be done with a Quick Script as well as an Interact Script.


Code: Quick Script conversation with the RANDOM command.
{{{2}}}


Code: Interact Script conversation with the ZAP command.
{{{2}}}


Code: Notch loves cookies, and RANDOM chat.
{{{2}}}

Joe the Builder

This is the script from the start-up kit. It's 2 interact scripts assigned to 1 Denizen named Steve. He will respond different to a right-click by a player depending on whether or not the player has the modifyworld.* permission.

Basic Repeatable Fetch Quest

Here is the fastest way to do a repeatable 'fetch' quest. Useful for custom crafting-type NPCs. Once the player agrees to help, he can turn in the items as often as he wants to receive the reward.

Basic Unrepeatable Fetch Quest

By adding 3 lines to the script above, it becomes un-repeatable.

The Race

Coach wants you to RUN, BOY! This script uses a TASK script and a Location trigger to make a timed race for the player. Good example of ZAP and RUNTASK/CANCELTASK command usage. Be sure and define a Location Bookmark called 'theTree' using the /denizen bookmark location command.