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.