Basic DS
by: Arinos

DS, or DragonSpeak works like this:

     When something happens (cause)
          and something else is this way (additional condition)
                 at this place on the map (area)
                      only where this is or only if this is (filter)
                            Do this! (effect)

It's written in English so that anyone can understand it.  A line of dragon speak starts with a number because Furcadia only actually sees numbers - it ignores words.  That's why, in dragon speak, you can type anything you want for a note to yourself, but you can't make a note with a number in it.  The first number in a line of dragon speak tells Furcadia what kind of line it is.  The second tells it what you want it to do.

   0:????  Causes
   1:????  Additional Conditions
   3:????  Area
   4:????  Filters
   5:????  Effects

The only thing Furcadia REALLY needs is a cause followed by one or more effects.  You don't have to always include additional conditions or filters - and if you don't use an area, Furcadia sort of assumes you mean all over the map.  You can have as many additional conditions, areas, filters, and effects as you want under each effect- but something has to cause all that to happen - so there must be at least one cause before them.

The most basic ds in dream making is "teleport ds".  This is used to go from one area of your dream to another - like when you go through a door and wind up in another room.  Or when you use very basic stairs.  Teleport DS looks like this:

(0:7) When somebody moves into position (#,#),
          (5:15) move the triggering furre to (#,#), or to someplace nearby if it's occupied.

Those (#,#) marks want the X,Y position in your dream.  You can find this out by going into dream editor and putting your mouse over the tile you want to find the X,Y position for.  The Current X and Current Y position will appear in the information box in the lower left corner of the dream editor.  They are highlighted in gray so it's easy to see.

You would fill in the (#,#) like this:

(0:7) When somebody moves into position (12,43),
          (5:15) move the triggering furre to (108,34), or to someplace nearby if it's occupied.

That means when a furre steps on the tile or bumps into the tile at 12, 43, they would be moved to the tile at 108,34.  This could be used for doors, or for moving a furre up or down stairs.

The next important part of dragon speak that most people learn is how to make tables change from empty to full and back again.  This is a little more complicated, but still very simple.  It looks like this:

(0:3) When somebody moves into object type #,
     (3:6) where the triggering furre moved into,
          (5:5) change object type # to type #.

Again, the #'s want a number.  Object numbers are displayed in your dream editor by selecting the object and then looking at the box on the left that says "Current Object" - it will have a number after those words if you've selected an object.

Let's get the default tables to change...

(0:3) When somebody moves into object type 61,
     (3:6) where the triggering furre moved into,
          (5:5) change object type 61 to type 191.

Now that will change an empty table to a full one, but we also want to change it back to empty once we're done....

(0:3) When somebody moves into object type 191,
(3:6) where the triggering furre moved into,
(5:5) change object type 191 to type 61.

Notice how one says when a furre moves into an empty table - change from an empty table to a full one... and one says, when a furre moves into a full table, change from a full table to a empty one.

This is really handy because it doesn't have to be just tables.  You could make it switch pillow colors or change a pookie into a key and back again.  Very handy!

The next thing people begin to learn is animation.  Now it used to be pretty involved before the Squirrel Edition came out, but now animation is so simple.  This is what animation ds looks like:

(0:100) When 1 seconds have passed, offset by 0,
     (3:1) everywhere on the whole map,
          (5:401) Cycle the four object types in this sequence one step forward: 1073, 1074, 1075, 1076.
          (5:401) Cycle the four object types in this sequence one step forward: 1077, 1078, 1079, 1080.

Remember - you can have as many effects after a cause as you want!  The DS above will animate all the default waterfalls!  It looks complicated, but it isn't.  "When 1 seconds have passed, offset by 0" means that every one second, it will do what you've told it to do.  The offset by 0 means how long you want that to wait before it begins to trigger the very first time.  Since we want it to start as soon as we upload the dream, we've told it not to wait before it begins triggering every second.

You could use this ds for other things as well.  You could use it to animate a sink, or make butterflies flutter.

Note:  Having a lot of triggers all going off at the same time will cause some lag in your dream - the more triggers you have going off, and the more furres you have in the dream - the worse the lag.  Try not to have more than 5 offset timers going off at once since they trigger every so many seconds.  As you can see in the previous example, one trigger is animating both the left facing and right facing waterfalls.  It's only one trigger, but it's doing two things.

Finally, we get down to locking rooms.  Locking a room involves teleport ds and making the lock turn on and off as well as setting an object in front of the door so you can't go through.  This is DS out of my DS recipes file - it's a standard locking room.

First we set up the teleport DS for the doors:

This is for going in the room...
(0:7) When somebody moves into position (#,#),
          (5:14) move the triggering furre to (#,#) if there's nobody already there.

This is for going out of the room:
(0:7) When somebody moves into position (#,#),
          (5:14) move the triggering furre to (#,#) if there's nobody already there.

Next, we make the lock work and change the objects from something like a door to a rock.

(0:7) When somebody moves into position (#,#),the lock
     (3:2) at position (#,#) on the map, the lock
          (5:6) swap object types # and #. on lock with off lock
     (3:2) at position (#,#) on the map, the door
          (5:6) swap object types # and #. the door with a rock

Again, we have one trigger doing more than one thing - it is making the lock change from on to off and back and it is making a door change to something unwalkable and back.

There is more than one way to make a locking room, but that will be covered in more advanced tutorials.

For now, play around with these examples and see what other causes you can use to make those things happen instead.  One of the best ways to learn ds is to jump in and experiment.