String DS!

Introduction

Strings are a powerful dreamweaving tool that allows for the capture and manipulation of text in your dream. Strings allow you to construct a message board for your Dream. You can easily add names to a High Score list. Strings enable you to set up:

  • On the fly sign editing.
  • Madlibs and other word games.
  • Build a homes can assigns houses by name.
  • Dreams can suggestion/comment boxes.
  • Stages can automatically emit anything said on the stage.
  • RP sessions can be broadcast to furres in another scene or saved for later.
  • Artists can have in-game comission forums.
  • RPers can update dynamic character sheets.
  • Locks off parts of your dream with verbal passwords.
  • Dynamic in-dream announcements that run on a schedule.
  • Make changes to your shared-furres list without having to reupload!

So how does String DS work? String DS manipulates text in a similar fasion to the way variables manipulate numbers.

String Limits

The Symbol for a String in Dragonspeak is ~ like # indicates a number or variable. Variable names begin with a % while String names must begin with a ~. A Dream can have # String Variables in addition to any numerical variables it might have. Each string can be # characters long.

Beginning with String DS

To begin with you need to capture some text and put it into a string. This update provides 5 ways to capture text:

     (5:250) set message ~ to {...}.
     (5:252) set message ~ to the triggering furre's name.
     (5:253) set message ~ to today's date.
     (5:254) set message ~ to the current time (in Furcadia Standard Time).
     (5:255) set message ~ to what the triggering furre just said.

Once you have some text in a string there are ways to compare it to other strings, variables and elements in your dream:

 (1:73) and message ~ matches the triggering furre's name,
 (1:74) and message ~ matches message ~,
 (1:75) and message ~ contains {...} somewhere within it,
 (1:76) and the length of message ~ is greater than #,
 (1:77) and the length of message ~ is equal to #,
 (1:173) and message ~ does not match the triggering furre's name,
 (1:174) and message ~ does not match message ~,
 (1:175) and message ~ does not contain {...} anywhere within it,
 (1:176) and the length of message ~ is less than or equal to #,
 (1:177) and the length of message ~ is not equal to #,

Strings can also be further manipulated:

     (5:251) copy message ~ onto message ~.
     (5:256) reverse message ~ from forwards to backwards.
     (5:257) take message ~ and add {...} onto the end of it.
     (5:258) take message ~ and add message ~ onto the end of it.
     (5:270) chop off the end of message ~, leaving just the first # characters of it still there.
     (5:271) chop off the beginning of message ~, leaving just the last # characters of it still there.
     (5:272) set message ~ to be the portion of message ~ from position # to position #.
     (5:273) chop off the end of message ~, removing the last # characters of it.
     (5:274) chop off the beginning of message ~, removing the first # characters of it.
     (5:275) use message ~ as an array, and copy entry # of it into message ~.
     (5:276) use message ~ as an array, and set entry # of it to {...}.

Putting it all together

An example simple Message system:

(0:30) When a furre says anything,
 (1:18) and the triggering furre (moved from/is standing at) object type #, (Set a special Messaging Object)
     (5:255) set message ~message to what the triggering furre just said.
(0:31) When a furre says {read message},
     (5:200) emit message {~message} to the triggering furre.

Reversing text on command!

(0:32) When a furre says something with {Backwards: } in it,
     (5:255) set message ~backward to what the triggering furre just said.
     (5:256) reverse message ~Backwards from forwards to backwards.
     (5:200) emit message {Backwards Translation: ~Backwards} to the triggering furre.



This page, subsequent pages and all content therein, unless otherwise stated is copyright © Dragon's Eye Productions. Site maintained by The Beekin Scribes.

Furcadia Creations