Summon Ds
Ejection Protection Ds
Quicksand Ds
Share Anywhere Ds
Staff Status Ds
Infinite Door Ds
Freeze A Furre Ds
Share Check Ds
Staff Management Ds
*Mail Mod Ds*
~Anti-Idle Example~
~PVG Example~
Smart Anti-Spam Ds
Room Assign DS
Weekly Events DS
Multiple Square DS (New!)
Advanced Chat Sounds (New!)
Ds Summary: A simple yet effective ds used to teleport furres from any corner of the dream to the spot right infront of the invoker who had used the command without the need of that furre's consent.
Update (2/8/08): Better improved anti-idle! No more of that strange all furres suddenly sit junk xD
Update (2/27/08): Anti-idle further improved thanks to Crunchward ;)
+Summoning Ds (Shared Version- Can be modified for specific furres only if needed)+
~Created by Darvon Mitsumura~
(How to use: Simply type !Summon "name" and where it says name, replace with the furre's
actual name, and remember not to include the quotation marks in the command! Also for a
furre who has a space in between their name, use | accordingly. Example: Darvon|Mitsumura
or A|Random|Furre, etc.. Hope you enjoy! :D )
*Startup*
(0:0) When everything is starting up,
(5:300) set variable %summon to the value 0.
(5:300) set variable %summonhere to the value 0.
*Anti-Idle*
(0:32) When a furre says something with {!summon} in it,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(3:1) everywhere on the whole map,
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Setup Summon Spot*
(0:32) When a furre says something with {!summon} in it,
(1:13) and the triggering furre is facing northeast (up and right),
(1:11) and the triggering furre has got shared control (or is the dream owner),
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:352) move the position in variable %summonhere northeast (up and right) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:14) and the triggering furre is facing southeast (down and right),
(1:11) and the triggering furre has got shared control (or is the dream owner),
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:353) move the position in variable %summonhere southeast (down and right) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:15) and the triggering furre is facing southwest (down and left),
(1:11) and the triggering furre has got shared control (or is the dream owner),
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:354) move the position in variable %summonhere southwest (down and left) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:16) and the triggering furre is facing northwest (up and left),
(1:11) and the triggering furre has got shared control (or is the dream owner),
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %summonhere northwest (up and left) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
*Targeted Furre*
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {summoned} about the triggering furre is equal to 1,
(1:200) and variable %summon is equal to 1,
(5:200) emit message {You have been summoned!} to the triggering furre.
(3:1) everywhere on the whole map,
(5:15) move the triggering furre to (%summonhere), or to someplace nearby if it's occupied.
(5:300) set variable %summon to the value 0.
(5:600) memorize that the PhoenixSpeak info {summoned} about the triggering furre will now be 0.
Hope you all find this to be of some good use. Just don't abuse it :p
Note: Idle issue addressed and fixed accordingly ^^
This is in response to Faun Wood's request for forced teleporting of a furre. Have fun buddy!
Edit:
Decided to add the specified version as well incase anyone was clueless about how to change it xD
+Summoning Ds (Specified Version)+
~Created by Darvon Mitsumura~
(How to use: Simply type !Summon "name" and where it says name, replace with the furre's
actual name, and remember not to include the quotation marks in the command! Also for a
furre who has a space in between their name, use | accordingly. Example: Darvon|Mitsumura
or A|Random|Furre, etc.. Hope you enjoy! :D )
*Startup*
(0:0) When everything is starting up,
(5:300) set variable %summon to the value 0.
(5:300) set variable %summonhere to the value 0.
*Anti-Idle*
(0:32) When a furre says something with {!summon} in it,
(1:70) and the triggering furre's name is {...},
(3:1) everywhere on the whole map,
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Setup Summon Spot*
(0:32) When a furre says something with {!summon} in it,
(1:13) and the triggering furre is facing northeast (up and right),
(1:70) and the triggering furre's name is {...},
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:352) move the position in variable %summonhere northeast (up and right) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:14) and the triggering furre is facing southeast (down and right),
(1:70) and the triggering furre's name is {...},
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:353) move the position in variable %summonhere southeast (down and right) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:15) and the triggering furre is facing southwest (down and left),
(1:70) and the triggering furre's name is {...},
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:354) move the position in variable %summonhere southwest (down and left) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:16) and the triggering furre is facing northwest (up and left),
(1:70) and the triggering furre's name is {...},
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %summonhere northwest (up and left) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
*Targeted Furre*
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {summoned} about the triggering furre is equal to 1,
(1:200) and variable %summon is equal to 1,
(5:200) emit message {You have been summoned!} to the triggering furre.
(3:1) everywhere on the whole map,
(5:15) move the triggering furre to (%summonhere), or to someplace nearby if it's occupied.
(5:300) set variable %summon to the value 0.
(5:600) memorize that the PhoenixSpeak info {summoned} about the triggering furre will now be 0.
Only thing you need to change here is to find all the lines where it says "
(1:70) and the triggering furre's name is {...},
" and replace ... in the brackets with the furre's name you wish to allow to use this command. For use with multiple specified furres, just copy and paste the ds more than once, replacing ... each time you paste a new set to a specific furre's name.
Got a dreamweaving question to ask me but can't find me online? Well click
here
then!
[
Copy this
|
Start New
|
Full Size
]
Summary: Simply put.. This PS/DS mix will allow the owner to protect any staff member or special furre from ejection through banning of the ejector. All that the owner has to do is use the commands
=Protect
and
=Unprotect
along with the furre's name (Any spaces should be replaced with | instead). Any furre will also be allowed to use
=Check Furres|Name
to see whom they may or may not eject to avoid getting an accidental ban. This system was created to prevent ejection wars between shared furres or any of the like. Abuse has always played a big role in some dreams where drama happens to be quite common. On a final note, the owner may also use
=Unban Furres|Name
to allow certain furres to return to the dream if at all it seems plausible.
-=Ejection Protection=-
/Created by Darvon Mitsumura\
*Assign/Check Special User Values*
(0:32) When a furre says something with {=Protect} in it,
(1:10) and the triggering furre is the dream owner,
(5:601) memorize that the PhoenixSpeak info {specialuser} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {[PARAM1] has been set up so that anyone ejecting [PARAM1] will recieve an automatic ban.} to the triggering furre.
(0:32) When a furre says something with {=Unprotect} in it,
(1:10) and the triggering furre is the dream owner,
(5:601) memorize that the PhoenixSpeak info {specialuser} about the furre named {[PARAM1]} will now be 0.
(5:200) emit message {[PARAM1] is no longer under the protection of ejections..} to the triggering furre.
(0:32) When a furre says something with {=Check} in it,
(1:610) and the PhoenixSpeak info {specialuser} about the furre named {[PARAM1]} is equal to 1,
(5:200) emit message {[PARAM1] is currently under the protection of anti-ejection..} to the triggering furre.
(0:32) When a furre says something with {=Check} in it,
(1:611) and the PhoenixSpeak info {specialuser} about the furre named {[PARAM1]} is not equal to 1,
(5:200) emit message {[PARAM1] is not currently under the protection of anti-ejection..} to the triggering furre.
*Decision Making Process*
(0:74) When a furre ejects someone from the dream,
(1:110) and the triggering furre is not the dream owner,
(5:600) memorize that the PhoenixSpeak info {detect} about the triggering furre will now be 1.
(5:300) set variable %detect to the value 1.
(0:10) When a furre leaves the dream,
(1:600) and the PhoenixSpeak info {specialuser} about the triggering furre is equal to 1,
(1:200) and variable %detect is equal to 1,
(5:300) set variable %banuser to the value 1.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:10) When a furre leaves the dream,
(1:601) and the PhoenixSpeak info {specialuser} about the triggering furre is not equal to 1,
(1:200) and variable %detect is equal to 1,
(5:300) set variable %detectoff to the value 1.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {detect} about the triggering furre is equal to 1,
(1:200) and variable %banuser is equal to 1,
(1:200) and variable %detect is equal to 1,
(5:600) memorize that the PhoenixSpeak info {banned} about the triggering furre will now be 1.
(5:600) memorize that the PhoenixSpeak info {detect} about the triggering furre will now be 0.
(5:200) emit message {Your character has been banned for ejecting an important staff member under the protection of anti-ejection. If there has been a misunderstanding then make sure to contact the owner asap.} to the triggering furre.
(5:78) eject the triggering furre.
(5:300) set variable %banuser to the value 0.
(5:300) set variable %detect to the value 0.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {detect} about the triggering furre is equal to 1,
(1:200) and variable %detectoff is equal to 1,
(1:200) and variable %detect is equal to 1,
(5:600) memorize that the PhoenixSpeak info {detect} about the triggering furre will now be 0.
(5:300) set variable %detectoff to the value 0.
(5:300) set variable %detect to the value 0.
*Auto Ban Character*
(0:9) When a furre arrives in the dream,
(1:600) and the PhoenixSpeak info {banned} about the triggering furre is equal to 1,
(5:200) emit message {This character is currently banned from the dream.. Please contact the owner if you feel some sort of mistake has been made.} to the triggering furre.
(5:78) eject the triggering furre.
*Unban Character*
(0:32) When a furre says something with {=Unban} in it,
(1:10) and the triggering furre is the dream owner,
(5:601) memorize that the PhoenixSpeak info {banned} about the furre named {[PARAM1]} will now be 0.
(5:200) emit message {[PARAM1] has now been unbanned from the dream.} to the triggering furre.
Feel free to change the prefix "=" to whichever prefix you would rather prefer to use.
Originally Requested by In Harmony.
Introduction: For those of you who are interested in having quicksand traps in your dream that end up leading to a cellar or a perhaps a place called "Hell", this here is a good example that I have decided to release to the public.
-=Quicksand Ds=-
/By Darvon Mitsumura\
*Idle Furre Pulled Under*
(0:71) When a furre stays in the same square for 1 seconds,
(1:18) and the triggering furre (moved from/is standing at) object type 2564,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(5:15) move the triggering furre to (#,#), or to someplace nearby if it's occupied.
(5:200) emit message {...} to the triggering furre.
(5:5) change object type 2564 to type 2560.
(0:71) When a furre stays in the same square for 1 seconds,
(1:18) and the triggering furre (moved from/is standing at) object type 2563,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2563 to type 2564.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:71) When a furre stays in the same square for 1 seconds,
(1:18) and the triggering furre (moved from/is standing at) object type 2562,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2562 to type 2563.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:71) When a furre stays in the same square for 1 seconds,
(1:18) and the triggering furre (moved from/is standing at) object type 2561,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2561 to type 2562.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:71) When a furre stays in the same square for 1 seconds,
(1:18) and the triggering furre (moved from/is standing at) object type 2560,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2560 to type 2561.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Furre Moves Through Quicksand*
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2561,
(1:3) and they move into object type 2560,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2560 to type 2561.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2561,
(1:3) and they move into object type 2560,
(3:5) where the triggering furre moved from,
(5:5) change object type 2561 to type 2560.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2562,
(1:3) and they move into object type 2560,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2560 to type 2562.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2562,
(1:3) and they move into object type 2560,
(3:5) where the triggering furre moved from,
(5:5) change object type 2562 to type 2560.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2563,
(1:3) and they move into object type 2560,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2560 to type 2563.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2563,
(1:3) and they move into object type 2560,
(3:5) where the triggering furre moved from,
(5:5) change object type 2563 to type 2560.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2564,
(1:3) and they move into object type 2560,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2560 to type 2564.
(0:1) Whenever somebody moves,
(1:18) and the triggering furre (moved from/is standing at) object type 2564,
(1:3) and they move into object type 2560,
(3:5) where the triggering furre moved from,
(5:5) change object type 2564 to type 2560.
*Furre Leaves Dream In Quicksand*
(0:10) When a furre leaves the dream,
(1:18) and the triggering furre (moved from/is standing at) object type 2561,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2561 to type 2560.
(0:10) When a furre leaves the dream,
(1:18) and the triggering furre (moved from/is standing at) object type 2562,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2562 to type 2560.
(0:10) When a furre leaves the dream,
(1:18) and the triggering furre (moved from/is standing at) object type 2563,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2563 to type 2560.
(0:10) When a furre leaves the dream,
(1:18) and the triggering furre (moved from/is standing at) object type 2564,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:5) change object type 2564 to type 2560.
In this example you should probably notice a part that is incomplete as shown below:
(5:15) move the triggering furre to (#,#), or to someplace nearby if it's occupied.
(5:200) emit message {...} to the triggering furre.
All you need to do here is put in the coordinants of the where the furre is sent once they have sunk to far below the surface. The message that is emitted as a result is up to you to decide.
This ds uses the objects
2560 to 2564 (In Exact Order)
at a rate interval of
one second per object switch
. You may change the objects to meet your own standards if so desired.
Just remember to edit the furre positions starting from 2561 and going onto 2564 by adding a higher Y value each time the object is switched.
This will produce the slow downward descent which actually looks best infact if you use 3D colored mud that is just like that 3D colored water shape.
If you are able to comprehend how this ds works fully then you could even add more shapes into the ds for a descent that takes even longer.
Have fun and try not to get too carried away with letting yourself get sucked under too like my friends and I have xD
Originally created for McKaela Kaiyou
Brief Summary: This DS is simply for those who have a dream in which they tend to usually be more often on an alt then on the actual owner/bot of the dream. It can also be setup for certain managers to use at their own discretion.
-=Share Anywhere!=-
By Darvon Mitsumura
*Furres with ability to Share*
(0:32) When a furre says something with {!share} in it,
(1:70) and the triggering furre's name is {...},
(5:601) memorize that the PhoenixSpeak info {shared} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {[PARAM1] has been designated share.} to the triggering furre.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Owner Notification*
(0:9) When a furre arrives in the dream,
(1:10) and the triggering furre is the dream owner,
(5:350) set variable %notifier to the X,Y position the triggering furre (moved from/is standing at).
(0:1) Whenever somebody moves,
(1:10) and the triggering furre is the dream owner,
(1:5) and they successfully moved,
(1:1101) and there's no furre at (%notifier),
(5:351) set variable %notifier to the X,Y position the triggering furre moved to.
(0:32) When a furre says something with {!share} in it,
(1:70) and the triggering furre's name is {...},
(3:2) at position (%notifier) on the map,
(5:201) emit message {[FURRE] has designated share to [PARAM1].} to any furre present.
*Give Share if Needed*
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {shared} about the triggering furre is equal to 1,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(5:102) share dream control with the triggering furre.
(5:600) memorize that the PhoenixSpeak info {shared} about the triggering furre will now be 0.
All that needs to be filled in for this ds is where it asks for the triggering furre's name in both parts.
The "Owner Notification" section is not required unless managers are allowed to use this ds.
To add more furres that you wish to distribute share
,
just copy the section under "Furres with ability to Share" and paste it within the same section as well as the same for the last section under "Owner Notification"
Also note, this is for temporary share only.
If by some chance you wish for this ds to instate permanent share on whichever furre it is used on, then you must remove the last line from "Give Share if Needed".
(5:600) memorize that the PhoenixSpeak info {shared} about the triggering furre will now be 0.
Not something I highly recommend doing though if the one who owns the dream isn't the only one able to use this ds.
A simple DS version of my script I had used for years now. I had already released this years back, but had forgotten to make it more simplistic for those who were vauge on variables hehe.. Well here it is again, and this time with its own instructions included in this thread
First the Script:
/Staff Status DS\
Created by Darvon Mitsumura
-Staff Timers-
*Staff Counters*
(0:0) When everything is starting up,
(5:300) set variable %minutesfurre1 to the value 0.
(5:300) set variable %hoursfurre1 to the value 0.
(5:300) set variable %daysfurre1 to the value 0.
(5:300) set variable %availablefurre1 to the value 0.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(5:300) set variable %availablefurre2 to the value 0.
*PASTE NEW STAFF HERE*
*Angelic|Sin*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Angelic|Sin},
(5:300) set variable %availablefurre1 to the value 1.
(5:300) set variable %minutesfurre1 to the value 0.
(5:300) set variable %hoursfurre1 to the value 0.
(5:300) set variable %daysfurre1 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Angelic|Sin},
(5:300) set variable %availablefurre1 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre1 is less than 60,
(1:200) and variable %availablefurre1 is equal to 0,
(5:302) take variable %minutesfurre1 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre1 is equal to 60,
(1:202) and variable %hoursfurre1 is less than 24,
(1:200) and variable %availablefurre1 is equal to 0,
(5:302) take variable %hoursfurre1 and add 1 to it.
(5:300) set variable %minutesfurre1 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre1 is equal to 24,
(1:200) and variable %availablefurre1 is equal to 0,
(5:302) take variable %daysfurre1 and add 1 to it.
(5:300) set variable %hoursfurre1 to the value 0.
*Rasengu*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
-Dream Uptime Startup (Do not touch this section!)-
(0:0) When everything is starting up,
(5:50) set countdown timer 101 to go off in 60 seconds.
(5:300) set variable %upminutes to the value 0.
(5:300) set variable %uphours to the value 0.
(5:300) set variable %updays to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %upminutes is less than 60,
(5:302) take variable %upminutes and add 1 to it.
(5:50) set countdown timer 101 to go off in 60 seconds.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %upminutes is equal to 60,
(1:202) and variable %uphours is less than 24,
(5:302) take variable %uphours and add 1 to it.
(5:300) set variable %upminutes to the value 0.
(5:50) set countdown timer 101 to go off in 60 seconds.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %uphours is equal to 24,
(5:302) take variable %updays and add 1 to it.
(5:300) set variable %uphours to the value 0.
(5:50) set countdown timer 101 to go off in 60 seconds.
-Info (Please copy and paste more emit lines when necessary!)-
(0:31) When a furre says {StaffStatus},
(5:200) emit message {Times of Staff Members Last Seen Since Dream Uptime:} to the triggering furre.
(5:200) emit message {Angelic Sin: Last seen %daysfurre1 day(s) %hoursfurre1 hour(s) %minutesfurre1 minute(s) since dream uptime. } to the triggering furre.
(5:200) emit message {Rasengu: Last seen %daysfurre2 day(s) %hoursfurre2 hour(s) %minutesfurre2 minute(s) since dream uptime. } to the triggering furre.
(5:200) emit message {DREAM UPTIME: %updays day(s) %uphours hour(s) %upminutes minute(s).} to the triggering furre.
I used both Angelic Sin and Rasengu as beginning examples. You can easily use the replace command on the DragonSpeak Editor to find their name and replace it with the ones you wish to use instead.
INSTRUCTIONS:
+Adding New Staff (Starting from furre2)+
1. Copy the following lines underneath the -Staff Timers- section:
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(5:300) set variable %availablefurre2 to the value 0.
and paste them below the original ones like so:
-Staff Timers-
*Staff Counters*
(0:0) When everything is starting up,
(5:300) set variable %minutesfurre1 to the value 0.
(5:300) set variable %hoursfurre1 to the value 0.
(5:300) set variable %daysfurre1 to the value 0.
(5:300) set variable %availablefurre1 to the value 0.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(5:300) set variable %availablefurre2 to the value 0.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(5:300) set variable %availablefurre2 to the value 0.
*PASTE NEW STAFF HERE*
2. Now change the variable name # of the lines you copied and pasted from 2 to 3 like so:
-Staff Timers-
*Staff Counters*
(0:0) When everything is starting up,
(5:300) set variable %minutesfurre1 to the value 0.
(5:300) set variable %hoursfurre1 to the value 0.
(5:300) set variable %daysfurre1 to the value 0.
(5:300) set variable %availablefurre1 to the value 0.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(5:300) set variable %availablefurre2 to the value 0.
(5:300) set variable %minutesfurre3 to the value 0.
(5:300) set variable %hoursfurre3 to the value 0.
(5:300) set variable %daysfurre3 to the value 0.
(5:300) set variable %availablefurre3 to the value 0.
*PASTE NEW STAFF HERE*
3. For the newly added staff member, copy the following section *Rasengu* as he is currently the one set as furre2:
*Rasengu*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
and paste this section below the *Rasengu* section you just copied but make sure it remains above the section -Dream Uptime Startup (Do not touch this section!)- as shown below:
*Rasengu*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
*Rasengu*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
-Dream Uptime Startup (Do not touch this section!)-
4. Now to the newly added section you just copied and pasted below the original one, change the name Rasengu for the whole copied section to whomever the new staff member's name is that you are adding. As an example I shall use the name Kapy to demonstrate the changes:
*Rasengu*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
*Kapy*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Kapy},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Kapy},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
-Dream Uptime Startup (Do not touch this section!)-
Also make sure to change the variable name # for this newly copied section from 2 to 3 as follows just like I have done for Kapy's section below:
*Rasengu*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 1.
(5:300) set variable %minutesfurre2 to the value 0.
(5:300) set variable %hoursfurre2 to the value 0.
(5:300) set variable %daysfurre2 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Rasengu},
(5:300) set variable %availablefurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre2 is less than 60,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %minutesfurre2 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre2 is equal to 60,
(1:202) and variable %hoursfurre2 is less than 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %hoursfurre2 and add 1 to it.
(5:300) set variable %minutesfurre2 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre2 is equal to 24,
(1:200) and variable %availablefurre2 is equal to 0,
(5:302) take variable %daysfurre2 and add 1 to it.
(5:300) set variable %hoursfurre2 to the value 0.
*Kapy*
(0:9) When a furre arrives in the dream,
(1:70) and the triggering furre's name is {Kapy},
(5:300) set variable %availablefurre3 to the value 1.
(5:300) set variable %minutesfurre3 to the value 0.
(5:300) set variable %hoursfurre3 to the value 0.
(5:300) set variable %daysfurre3 to the value 0.
(0:10) When a furre leaves the dream,
(1:70) and the triggering furre's name is {Kapy},
(5:300) set variable %availablefurre3 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:202) and variable %minutesfurre3 is less than 60,
(1:200) and variable %availablefurre3 is equal to 0,
(5:302) take variable %minutesfurre3 and add 1 to it.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %minutesfurre3 is equal to 60,
(1:202) and variable %hoursfurre3 is less than 24,
(1:200) and variable %availablefurre3 is equal to 0,
(5:302) take variable %hoursfurre3 and add 1 to it.
(5:300) set variable %minutesfurre3 to the value 0.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %hoursfurre3 is equal to 24,
(1:200) and variable %availablefurre3 is equal to 0,
(5:302) take variable %daysfurre3 and add 1 to it.
(5:300) set variable %hoursfurre3 to the value 0.
-Dream Uptime Startup (Do not touch this section!)-
5. As a final step, copy Rasengu's emit under section -Info (Please copy and paste more emit lines when necessary!)- as shown below:
(5:200) emit message {Rasengu: Last seen %daysfurre2 day(s) %hoursfurre2 hour(s) %minutesfurre2 minute(s) since dream uptime. } to the triggering furre.
and paste it just below the original one but also just above the DREAM UPTIME emit while changing Rasengu's name to the staff member you just added. In this case Kapy for example. Don't forget to change the variable name # from 2 to 3 within the copied emit so it may finally look something like this in its entirety:
-Info (Please copy and paste more emit lines when necessary!)-
(0:31) When a furre says {StaffStatus},
(5:200) emit message {Times of Staff Members Last Seen Since Dream Uptime:} to the triggering furre.
(5:200) emit message {Angelic Sin: Last seen %daysfurre1 day(s) %hoursfurre1 hour(s) %minutesfurre1 minute(s) since dream uptime. } to the triggering furre.
(5:200) emit message {Rasengu: Last seen %daysfurre2 day(s) %hoursfurre2 hour(s) %minutesfurre2 minute(s) since dream uptime. } to the triggering furre.
(5:200) emit message {Kapy: Last seen %daysfurre3 day(s) %hoursfurre3 hour(s) %minutesfurre3 minute(s) since dream uptime. } to the triggering furre.
(5:200) emit message {DREAM UPTIME: %updays day(s) %uphours hour(s) %upminutes minute(s).} to the triggering furre.
To keep adding more staff, just repeat this process, and don't forget to keep adding 1 to the variable name # each time you add a new staff member. In this case we just completed furre3 so now the variable name # will be furre4 and so on and so forth. This may look like a bit of work, but I can assure it becomes very quick and easy with a small bit of practice.
+Removing Staff+
Just remove all the lines you copied and pasted for that furre. It is pretty easy to do ^^
+Replacing Staff+
Simply change the name of the furre you no longer have as staff to that of the newly intended staff member for all lines within the ds. No need to mess with anything else wink.gif
Enjoy! Hope the little tutorial helps to break it all down. Just let me know if any problems arise and either I or others shall be glad to assist you.
Originally requested by Selene Extacy.
Introduction: This Ds's purpose is simply to replace the need for countless lines of door ds by simply using specified floor tiles as entrance and exit points instead.
-=Infinite Door DS=-
/Created by Darvon Mitsumura\
*Floor Check*
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(5:351) set variable %check1 to the X,Y position the triggering furre moved to.
(5:380) set variable %check2 to the floor type at (%check1).
(5:380) set variable %savedvalue to the floor type at (%check1).
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(1:201) and variable %check2 is greater than 179,
(1:202) and variable %check2 is less than 192,
(5:301) copy the value of variable %check2 into variable %check3.
(5:308) divide variable %check2 by 2 and put the remainder in variable %eoo.
*Take Action or Reset*
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(1:201) and variable %check3 is greater than 179,
(1:202) and variable %check3 is less than 192,
(1:200) and variable %eoo is equal to 0,
(5:302) take variable %savedvalue and add 1 to it.
(5:512) set variable %destination to the X,Y position of a random spot where the floor is type %savedvalue somewhere in the dream.
(5:15) move the triggering furre to (%destination), or to someplace nearby if it's occupied.
(5:300) set variable %check2 to the value 0.
(5:300) set variable %check3 to the value 0.
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(1:201) and variable %check3 is greater than 179,
(1:202) and variable %check3 is less than 192,
(1:206) and variable %eoo is not equal to 0,
(5:300) set variable %eoo to the value 0.
(5:300) set variable %check2 to the value 0.
(5:300) set variable %check3 to the value 0.
Note the following lines below:
(1:201) and variable %check2 is greater than 179,
(1:202) and variable %check2 is less than 192,
(1:201) and variable %check3 is greater than 179,
(1:202) and variable %check3 is less than 192,
Both of these lines specify the floor tiles in which the ds looks for
.
In this case
it is looking for floor shape 180 to 191
.
These lines can be changed to whatever range you wish to use for the tile teleports.
Just make sure you change all 3 sets in the main ds above.
Now how exactly does this all work you might ask? Well in the above example, the ds will search for the floor shapes 180 to 191 everytime a furre moves, and when a furre moves over one of those floor shapes, the ds will then take into consideration whether that floor shape happens to be an entrance of exit through the use of even and odd numbers. Even numbers tell the ds that the floor shape is an entrance while odd numbers tell the ds that the floor shape is an exit floor.
Now to state an example that should help you better understand the usefulness of this ds:
A furre walks onto the floor shape 180 which is even. This means that the ds will then look for its counterpart (the odd number) for an exit route to teleport the furre to, that being in this case 181 which comes right after 180. Each even and odd value is paired together to further make placing down entrance and exit values less confusing.
You may only use a floor shape once within the designated range as this will prevent the ds from randomly teleporting you to the wrong floor shape by accident instead of the intended one.
With the use of a patch merger like
PatchFusion
, you can easily replace or copy over the floor shapes you wish to use as teleporters so that they may blend in with the floor shapes around them.
This is the more advanced way to go about door teleporting, but can prove easily sufficient to those willing to not have to constantly enter in values for each entrance and exit within their ds.
The ds even supports door locking which can be done by simply blocking the teleporting floor shape from being walkable through one method or another.
Below is a map along with the Infinite Door Ds to help anyone further understand the usefulness of this script.
Infinite Doors Map and DS
Enjoy and if you have any questions, do feel free to post here :)
Ds Summary: This little nifty script will allow you to freeze a furre from running around of your choice just by adding their name to the command.
There is actually a broad freeze furre script out there somewhere already, but I decided to make an individual freeze furre script anyhow just for fun.
*Freeze Individual Furres (Shared Version)*
~Created by Darvon|Mitsumura~
(To use, simply type !freeze "name" and replace the word name with the furre's name,
excluding the quotation marks! If a furre has more than one name with a space, simply
use | where needed. Example: !freeze Darvon|Mitsumura or A|Random|Furre. Enjoy!)
(0:32) When a furre says something with {!freeze} in it,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(5:601) memorize that the PhoenixSpeak info {frozen} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {[PARAM1] has been frozen! Type !unfreeze [PARAM1] to allow [PARAM1] to move again at any time.} to the triggering furre.
(0:32) When a furre says something with {!unfreeze} in it,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(5:601) memorize that the PhoenixSpeak info {frozen} about the furre named {[PARAM1]} will now be 0.
(5:200) emit message {[PARAM1] has been unfrozen!} to the triggering furre.
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(1:600) and the PhoenixSpeak info {frozen} about the triggering furre is equal to 1,
(5:18) move the triggering furre back where they came from.
(5:200) emit message {You have been frozen and are not allowed to move until you are released.} to the triggering furre.
Note: If you would like frozen furres to not be able to teleport while frozen, just simply add the following line to each of your teleport commands:
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
Hope you all enjoy ^^
Description: A very useful easy to implement ds in telling you who in the dream at the moment has share. What is really nice about this updated version is that it also
now tells you who has anti-ejection enabled when used in conjunction with Ejection Protection DS.
-=Share Check Ds with anti-ejection integrated=-
/By Darvon Mitsumura\
(0:31) When a furre says {!shared},
(1:200) and variable %sharecheck is equal to 1,
(5:200) emit message {Sorry but a share check is already in progress, please wait a few moments before trying this command again.} to the triggering furre.
(0:31) When a furre says {!shared},
(1:206) and variable %sharecheck is not equal to 1,
(5:350) set variable %shareinfo to the X,Y position the triggering furre (moved from/is standing at).
(5:300) set variable %sharecheck to the value 1.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(5:50) set countdown timer 43 to go off in 5 seconds.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(1:200) and variable %sharecheck is equal to 1,
(1:601) and the PhoenixSpeak info {sharecheck} about the triggering furre is not equal to 1,
(5:610) remember the PhoenixSpeak info {employee} about the triggering furre, and put it in variable %curlev.
(5:610) remember the PhoenixSpeak info {specialuser} about the triggering furre, and put it in variable %special.
(3:2) at position (%shareinfo) on the map,
(5:201) emit message {[FURRE] currently holds share. Anti-Ejection Protection: %special (1 on, 0 off)} to any furre present.
(5:600) memorize that the PhoenixSpeak info {sharecheck} about the triggering furre will now be 1.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(1:206) and variable %sharecheck is not equal to 1,
(1:600) and the PhoenixSpeak info {sharecheck} about the triggering furre is equal to 1,
(5:600) memorize that the PhoenixSpeak info {sharecheck} about the triggering furre will now be 0.
(0:50) When countdown timer 43 goes off,
(5:300) set variable %sharecheck to the value 0.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(3:2) at position (%shareinfo) on the map,
(5:201) emit message {Shared furre check complete!} to any furre present.
Have fun with this one :D
Originally Requested by Selene Extacy.
Introduction: This DS/PS mix will allow you to set shared levels for your employees so that they may be entitled to using less or more powerful commands. This especially comes in handy when you got staff positions such as your regulars versus your bouncers and managers. It even allows you to designate to any furre a new permanent employee level without even having to add them into the ds anymore. Pretty neat huh? Just simply use the
!designate command with a number and then the furre's name.
Just
don't forget to replace any spaces in the furre's name with "|" excluding the quotation marks.
Once done, the furre will automatically be given share.
Update (7/30/08)- Now fully comes complete with many various built in commands! Yay :D
+=Employee Level Manager=+
/Created by Darvon Mitsumura\
+Auto-Share for Employees not yet in DS*+
(0:9) When a furre arrives in the dream,
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(5:102) share dream control with the triggering furre.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(5:102) share dream control with the triggering furre.
*+Strip Share When Employee is set to 0+*
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(1:110) and the triggering furre is not the dream owner,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 0,
(5:200) emit message {You have been stripped of all permissions for this dream. If you wish to know why then please contact the owner asap.} to the triggering furre.
(5:78) eject the triggering furre.
*Level 1 Commands*
((Auto Hop))
(0:1) Whenever somebody moves,
(1:4) and they bump into a furre,
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%slave1),
(3:7) where the triggering furre is currently at,
(5:19) move any furre present 2 step(s) forward (in the direction they're facing) if there's nobody already there.
*Switch!*
(0:31) When a furre says {!switch},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(1:13) and the triggering furre is facing northeast (up and right),
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%slave1),
(3:50) 1 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
(5:16) move any furre present to (234,14) if there's nobody already there.
(5:350) set variable %switchie to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %switched to the X,Y position the triggering furre (moved from/is standing at).
(5:352) move the position in variable %switched northeast (up and right) 1 step(s).
(0:31) When a furre says {!switch},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(1:14) and the triggering furre is facing southeast (down and right),
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%slave1),
(3:51) 1 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
(5:16) move any furre present to (234,14) if there's nobody already there.
(5:350) set variable %switchie to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %switched to the X,Y position the triggering furre (moved from/is standing at).
(5:353) move the position in variable %switched southeast (down and right) 1 step(s).
(0:31) When a furre says {!switch},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(1:15) and the triggering furre is facing southwest (down and left),
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%slave1),
(3:52) 1 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
(5:16) move any furre present to (234,14) if there's nobody already there.
(5:350) set variable %switchie to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %switched to the X,Y position the triggering furre (moved from/is standing at).
(5:354) move the position in variable %switched southwest (down and left) 1 step(s).
(0:31) When a furre says {!switch},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(1:16) and the triggering furre is facing northwest (up and left),
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%slave1),
(3:53) 1 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
(5:16) move any furre present to (234,14) if there's nobody already there.
(5:350) set variable %switchie to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %switched to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %switched northwest (up and left) 1 step(s).
(0:31) When a furre says {!switch},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(1:601) and the PhoenixSpeak info {frozen} about the triggering furre is not equal to 1,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%slave1),
(5:14) move the triggering furre to ( %switched ) if there's nobody already there.
(3:2) at position (234,14) on the map,
(5:16) move any furre present to ( %switchie ) if there's nobody already there.
*ID*
(0:31) When a furre says {!id},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:350) set variable %check to the X,Y position the triggering furre (moved from/is standing at).
(5:381) set variable %checkitem to the object type at (%check).
(5:200) emit message {The object you are standing at is: %checkitem} to the triggering furre.
*Level 1 Command Info*
(0:31) When a furre says {!commands},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 0,
(5:200) emit message {Current Level 1 Commands: !switch, !id, !check furrename, !shared. Passive Ability: Auto-Hop} to the triggering furre.
-----------------------------------------------------------------------------------------------------------
*Level 2 Commands*
*Freeze Individual Furres*
~Created by Darvon|Mitsumura~
(To use, simply type !freeze "name" and replace the word name with the furre's name,
excluding the quotation marks! If a furre has more than one name with a space, simply
use | where needed. Example: !freeze Darvon|Mitsumura or A|Random|Furre. Enjoy!)
(0:32) When a furre says something with {!freeze} in it,
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(5:601) memorize that the PhoenixSpeak info {frozen} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {[PARAM1] has been frozen! Type !unfreeze [PARAM1] to allow [PARAM1] to move again at any time.} to the triggering furre.
(0:32) When a furre says something with {!unfreeze} in it,
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(5:601) memorize that the PhoenixSpeak info {frozen} about the furre named {[PARAM1]} will now be 0.
(5:200) emit message {[PARAM1] has been unfrozen!} to the triggering furre.
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(1:600) and the PhoenixSpeak info {frozen} about the triggering furre is equal to 1,
(5:18) move the triggering furre back where they came from.
(5:200) emit message {You have been frozen and are not allowed to move until you are released.} to the triggering furre.
*Furre Controlling Commands*
(0:31) When a furre says {!turn},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(3:10) in the space right in front of the triggering furre,
(5:94) turn any furre present clockwise.
(0:31) When a furre says {!stand},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(3:10) in the space right in front of the triggering furre,
(5:73) make any furre present stand up.
(0:31) When a furre says {!sit},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(3:10) in the space right in front of the triggering furre,
(5:74) make any furre present sit down.
(0:31) When a furre says {!lay},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(3:10) in the space right in front of the triggering furre,
(5:75) make any furre present lie down.
-Shared Cuff (Single Use) Ds-
(0:0) When everything is starting up,
(5:300) set variable %mastert1 to the value 0.
(0:1) Whenever somebody moves,
(1:19) and they (moved from/are standing at) position (%slave1),
(1:5) and they successfully moved,
(5:18) move the triggering furre back where they came from.
(0:1) Whenever somebody moves,
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:5) and they successfully moved,
(1:19) and they (moved from/are standing at) position (%master1),
(1:1002) and the triggering furre is holding item 159 in their paws,
(3:2) at position (%slave1) on the map,
(5:16) move any furre present to (%master1) if there's nobody already there.
(5:351) set variable %master1 to the X,Y position the triggering furre moved to.
(5:350) set variable %slave1 to the X,Y position the triggering furre (moved from/is standing at).
(0:31) When a furre says {!uncuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(5:300) set variable %master1 to the value 0.
(5:300) set variable %slave1 to the value 0.
(5:300) set variable %mastert1 to the value 0.
(3:1) everywhere on the whole map,
(5:77) place object type 0 in the paws of any furre present.
(0:31) When a furre says {!cuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:206) and variable %mastert1 is not equal to 0,
(5:200) emit message {Sorry but Cuff is still in use!} to the triggering furre.
(0:31) When a furre says {!cuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:200) and variable %mastert1 is equal to 0,
(5:350) set variable %master1 to the X,Y position the triggering furre (moved from/is standing at).
(5:301) copy the value of variable %master1 into variable %slave1.
(5:76) place object type 159 in the triggering furre's paws.
(0:31) When a furre says {!cuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:13) and the triggering furre is facing northeast (up and right),
(1:200) and variable %mastert1 is equal to 0,
(5:352) move the position in variable %slave1 northeast (up and right) 1 step(s).
(5:300) set variable %mastert1 to the value 1.
(0:31) When a furre says {!cuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:14) and the triggering furre is facing southeast (down and right),
(1:200) and variable %mastert1 is equal to 0,
(5:353) move the position in variable %slave1 southeast (down and right) 1 step(s).
(5:300) set variable %mastert1 to the value 1.
(0:31) When a furre says {!cuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:15) and the triggering furre is facing southwest (down and left),
(1:200) and variable %mastert1 is equal to 0,
(5:354) move the position in variable %slave1 southwest (down and left) 1 step(s).
(5:300) set variable %mastert1 to the value 1.
(0:31) When a furre says {!cuff},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:16) and the triggering furre is facing northwest (up and left),
(1:200) and variable %mastert1 is equal to 0,
(5:355) move the position in variable %slave1 northwest (up and left) 1 step(s).
(5:300) set variable %mastert1 to the value 1.
(0:1) Whenever somebody moves,
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 1,
(1:1101) and there's no furre at (%master1),
(1:119) and they (didn't move from/aren't standing at) position (%slave1),
(1:5) and they successfully moved,
(1:206) and variable %mastert1 is not equal to 0,
(1:1002) and the triggering furre is holding item 159 in their paws,
(5:351) set variable %master1 to the X,Y position the triggering furre moved to.
(0:18) When somebody drops object type 159,
(5:300) set variable %master1 to the value 0.
(5:300) set variable %slave1 to the value 0.
(5:300) set variable %mastert1 to the value 0.
(3:5) where the triggering furre (moved from/is standing at),
(5:5) change object type 159 to type 0.
(5:200) emit message {Cuff Disengaged!} to the triggering furre.
(0:10) When a furre leaves the dream,
(1:1002) and the triggering furre is holding item 159 in their paws,
(5:300) set variable %master1 to the value 0.
(5:300) set variable %slave1 to the value 0.
(5:300) set variable %mastert1 to the value 0.
(3:5) where the triggering furre (moved from/is standing at),
(5:5) change object type 159 to type 0.
*Level 2 Command Info*
(0:31) When a furre says {!commands},
(1:602) and the PhoenixSpeak info {employee} about the triggering furre is greater than 2,
(5:200) emit message {Current Level 2 Commands: !freeze furrename/!unfreeze furrename, !turn, !stand, !sit, !lay, !cuff/!uncuff} to the triggering furre.
-------------------------------------------------------------------------------------------------
*Level 3 Commands*
-=Share Anywhere!=-
By Darvon Mitsumura
*Furres With ability to Share*
(0:32) When a furre says something with {!giveshare} in it,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:601) memorize that the PhoenixSpeak info {shared} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {[PARAM1] has been designated share.} to the triggering furre.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Owner Notification*
(0:9) When a furre arrives in the dream,
(1:10) and the triggering furre is the dream owner,
(5:350) set variable %notifier to the X,Y position the triggering furre (moved from/is standing at).
(0:1) Whenever somebody moves,
(1:10) and the triggering furre is the dream owner,
(1:5) and they successfully moved,
(1:1101) and there's no furre at (%notifier),
(5:351) set variable %notifier to the X,Y position the triggering furre moved to.
(0:32) When a furre says something with {!giveshare} in it,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(3:2) at position (%notifier) on the map,
(5:201) emit message {[FURRE] has designated share to [PARAM1].} to any furre present.
*Give Share if Needed*
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {shared} about the triggering furre is equal to 1,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(5:102) share dream control with the triggering furre.
(5:600) memorize that the PhoenixSpeak info {shared} about the triggering furre will now be 0.
+Summoning Ds (Specified Version)+
~Created by Darvon Mitsumura~
(How to use: Simply type !Summon "name" and where it says name, replace with the furre's
actual name, and remember not to include the quotation marks in the command! Also for a
furre who has a space in between their name, use | accordingly. Example: Darvon|Mitsumura
or A|Random|Furre, etc.. Hope you enjoy! :D )
*Startup*
(0:0) When everything is starting up,
(5:300) set variable %summon to the value 0.
(5:300) set variable %summonhere to the value 0.
*Anti-Idle*
(0:32) When a furre says something with {!summon} in it,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(3:1) everywhere on the whole map,
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Setup Summon Spot*
(0:32) When a furre says something with {!summon} in it,
(1:13) and the triggering furre is facing northeast (up and right),
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:352) move the position in variable %summonhere northeast (up and right) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:14) and the triggering furre is facing southeast (down and right),
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:353) move the position in variable %summonhere southeast (down and right) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:15) and the triggering furre is facing southwest (down and left),
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:354) move the position in variable %summonhere southwest (down and left) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
(0:32) When a furre says something with {!summon} in it,
(1:16) and the triggering furre is facing northwest (up and left),
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:300) set variable %summon to the value 1.
(5:350) set variable %summonhere to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %summonhere northwest (up and left) 1 step(s).
(5:601) memorize that the PhoenixSpeak info {summoned} about the furre named {[PARAM1]} will now be 1.
(5:200) emit message {Summoning [PARAM1].} to the triggering furre.
*Targeted Furre*
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {summoned} about the triggering furre is equal to 1,
(1:200) and variable %summon is equal to 1,
(5:200) emit message {You have been summoned!} to the triggering furre.
(3:1) everywhere on the whole map,
(5:15) move the triggering furre to (%summonhere), or to someplace nearby if it's occupied.
(5:300) set variable %summon to the value 0.
(5:600) memorize that the PhoenixSpeak info {summoned} about the triggering furre will now be 0.
*Make Item*
(0:32) When a furre says something with {!makeitem} in it,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:314) set variable %makeitem to the number the triggering furre just said.
(3:7) whereever the triggering furre was at when the trigger activated,
(5:4) place object type %makeitem.
*Level 3 Command Info*
(0:31) When a furre says {!commands},
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:200) emit message {Current Level 3 Commands: !giveshare furrename, !summon furrename, !walk on/!walk off, !makeitem #, !designate} to the triggering furre.
--------------------------------------------------------------------------------------------------------------
*-Owner Designates Employee Level (Example of use: !Designate 2 Joe|the|loser)-*
*Note: If you set a furre to 0, they will lose all permissions entirely as well as be
ejected to automatically remove share. This is useful when someone in your ds will
attempt to keep rejoining the dream to regain their original access.*
(0:32) When a furre says something with {!designate} in it,
(1:10) and the triggering furre is the dream owner,
(5:314) set variable %temporary to the number the triggering furre just said.
(5:601) memorize that the PhoenixSpeak info {employee} about the furre named {[PARAM2]} will now be %temporary.
(5:200) emit message {[PARAM2]'s new employee level has been set to %temporary.} to the triggering furre.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*-Level 3 Employees can Designate Employee Level up to 2!(Example of use: !Designate 2 Joe|the|loser)-*
*Note: If you set a furre to 0, they will lose all permissions entirely as well as be
ejected to automatically remove share. This is useful when someone in your ds will
attempt to keep rejoining the dream to regain their original access.*
(0:32) When a furre says something with {!designate} in it,
(1:110) and the triggering furre is not the dream owner,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:314) set variable %temporary to the number the triggering furre just said.
(0:32) When a furre says something with {!designate} in it,
(1:110) and the triggering furre is not the dream owner,
(1:202) and variable %temporary is less than 3,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(1:611) and the PhoenixSpeak info {employee} about the furre named {[PARAM2]} is not equal to 3,
(5:601) memorize that the PhoenixSpeak info {employee} about the furre named {[PARAM2]} will now be %temporary.
(5:200) emit message {[PARAM2]'s new employee level has been set to %temporary.} to the triggering furre.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(3:2) at position (%notifier) on the map,
(5:201) emit message {[FURRE] has set [PARAM2]'s employee level to %temporary.} to any furre present.
(0:32) When a furre says something with {!designate} in it,
(1:110) and the triggering furre is not the dream owner,
(1:201) and variable %temporary is greater than 2,
(1:600) and the PhoenixSpeak info {employee} about the triggering furre is equal to 3,
(5:200) emit message {Error! Level 3 Employees are not allowed to set anyone above the value of 2!} to the triggering furre.
(0:32) When a furre says something with {!designate} in it,
(1:110) and the triggering furre is not the dream owner,
(1:610) and the PhoenixSpeak info {employee} about the furre named {[PARAM2]} is equal to 3,
(5:200) emit message {Error! You are not allowed to demote another furre at your level!} to the triggering furre.
Have fun and be creative with the commands each level can use. If you have any questions about how to further tweak the ds, please feel free to post them here.
Mail Mod Updates:
Update (5/30/09)- Sorry for the late update but mail mod has long been discontinued. Version 1.2 had been cancelled since a new idea had arisen for the mod to improve it greatly, but after all the work, I kind of got lazy on it. As of now though it is entirely obselete since Furcadia now has offline messages anyhow. The exploited glitch was also somehow fixed so the current version doesn't work so great as it used to. I have to admit, this was a very fun project and I hope all of those who used it found some benefit in it at the time. ^^
Update (10/20/08)- Version 1.2 is currently in the works and is almost ready to be released. This new version will incorperate much more in dream customizability than ever before. The keyboard and display have even been updated for better visibility of typing keys and reading messages. This release will also include a Group Dream Package version with a much quicker and more powerful display engine.
Current Version: v. 1.1
Roamheart Info: It would appear there have been quite a few number of people asking or searching for a mail system for their dream's DS, when it just wasn't seemingly possible as both variables and ps could only hold numbers and not text or letters. After much hard work and dedication, I managed to pull off a rather interesting result. With this system you may type up your own custom messages with up to a 60 character limit. Please do look through the readme as it contains loads of helpful information, including how to install what is required to run the mail mod. Do not be alarmed about the text flashing while you type or read a message, this is due to the display engine being limited to using 1 ds button per letter within the alphabet to display the message. Just try and imagine a single letter jumping around all over the screen within a single seconds worth of time. Sounds crazy don't it? Anyhow. All I ask in return is that you give me credit where credit is due. Thanks and I hope you enjoy playing with this new invention of mine xD
Download
Here!
Introduction: The anti-idle trick has become one of my favorites since the day both Crunchward and I perfected it with the summoning ds (
X
). Without this trick, sadly a few special ds lines would have been very lacking in their ability to detect idle furries.
But now that this trick has been crafted, those ds lines are now fully capable of performing new tasks with the use of PS that were once useless to us before..
These ds lines consist of conditions such as the following (3):
(0:70) When a furre idles (doesn't do ANYTHING) for # seconds,
(0:71) When a furre stays in the same square for # seconds,
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for # seconds,
Technically I prefer to use the last one since it works the best all around.
Here below I shall show you a simple example of how anti-idle might be used to put these ds commands to good use and then give you the reason for why it is necessary to use this method:
(0:31) When a furre says {!detect},
(1:11) and the triggering furre has got shared control (or is the dream owner),
(1:200) and variable %search is equal to 0,
(5:300) set variable %search to the value 1.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:200) and variable %search is equal to 1,
(1:600) and the PhoenixSpeak info {detected} about the triggering furre is equal to 0,
(5:204) emitloud message {{FURRE] is currently on the map!} to everyone on the map.
(5:600) memorize that the PhoenixSpeak info {detected} about the triggering furre will now be 1.
This ds if tested will only preform once since I didn't bother to make it reset and loop. But the basic concept here behind this is the anti-idle. Do you see where it might be? Hehe well if you haven't noticed it yet, the anti-idle ds is just a simple line that goes something like this:
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
In the above example, the purpose of this anti-idle was to affect all furries on the map by shifting them forward 0 spaces. Why is this so important? It is because the moment a furre stops moving, they begin their idle count. Do not be fooled by the fact that the ds controls when a furre can or cannot idle for in truth, it is the dream itself that keeps track of furre idling! This means that the above ds, without the anti-idle ds in place would be useless since most furries have already been idle for more than one second.. This anti-idle will reset their idle and cause the ds to pick them up. Very ingenious right?
Note: This anti-idle can also be applied to single furries or a desired selection through the use of an area ds line.
Hope you enjoy messing around with this new trick, because with it, so many more things are now possible :D
Introduction: PVG, Also known as "Phoenixspeak Variable Generation" is a very neat new trick I had originally devised in order to break the ice on my upcoming v. 1.2 of Mail Mod. It's use is soo simple yet very effective. I remember back when I thought about how Furcadia could be soo much better off if you didn't need ds for every new ps variable name you had to make manually. Well surprisingly, I already had that answered and never bothered to try it until now.. Lol xD
Anyhow.. To help you to better understand what I might be talking about, here below I have provided you all with a simple example of PVG in use:
(0:0) When everything is starting up,
(5:300) set variable %randomnumber to the value 15.
(5:300) set variable %pvgvalue to the value 0.
(5:300) set variable %pvgvalue2 to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %pvgvalue2 is equal to 8,
(1:200) and variable %pvgvalue is equal to 0,
(5:300) set variable %pvgvalue2 to the value 0.
(5:300) set variable %randomnumber to the value 15.
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %pvgvalue2 is equal to 8,
(5:602) memorize that the PhoenixSpeak info {test%pvgvalue} about this dream will now be 0.
(5:304) take variable %pvgvalue and subtract 1 from it.
(0:100) When 1 seconds have passed, offset by 0,
(1:206) and variable %pvgvalue2 is not equal to 8,
(5:302) take variable %pvgvalue and add 1 to it.
(5:302) take variable %pvgvalue2 and add 1 to it.
(5:304) take variable %randomnumber and subtract 1 from it.
(5:602) memorize that the PhoenixSpeak info {test%pvgvalue} about this dream will now be %randomnumber.
In the above example, all the ds is really doing is creating one ps variable name after the next (with some random value attached) starting from 1 and going up to 8. This means there will be a test1 up to a test8 ps array of variable names. The ds then goes in the opposite direction making test8 0 to start with and keeps going through each ps variable until it reaches test1 where it repeates the process a second time. Very simple example, but you get the point ^^
To be honest this is a very advanced technique and requires loads of understanding for how it might be used properly. It really isn't something I can teach you so easily since it requires a vast understanding of both PS and variables combined.
There is however one thing that should be noted when using PVG and that is the fact that a ps redirector is required in order for this ds to be of any use. This means you need a ps variable (or normal variable) that can point the ds in the right direction for which generated ps variable name you would like the ds to use at the given time.
More can be learned about this method through my Smart Anti-Spam Ds
here
or on this website.
Introduction: This Ds unlike the previous anti-spam dses does not require a jail. Interested? Perhaps you should read on to find out why xD. The idea behind this Ds actually comes from an age old game I used to play called Starcraft. What truely should happen if you spam on Starcraft? Well you basically get temporarly IP banned.
This is what this script does and does best.. If a spammer should arise, the ds will warn them that they are posting too much too fast. This happens when someone attempts to post 4 messages in a given interval of 4 seconds. Now if the spammer should continue to spam past that rate, 6 messages in 4 seconds, this would result in a temporary ban.
The temporary ban uses a special timer system I have devised through the use of a new method I would like to call PVG or "Phoenixspeak Variable Generation" (more can be learned about PVG on
this
page). With this method the ds can keep track of many multiple spam ban timers currently in progress without the need for extra ds per PS Variable Name used.
On a final note, I would like to indicate that another specialty of this ds is its ability to punish spammers with a longer ban time if more than one furre is spamming it up and getting booted as a result. Sounds really cool right?
Anyhow here is the ds below:
Update (10/27/08): Added unbanning just for the hell of it xD
-=Smart Anti-Spam Ds=-
By Darvon Mitsumura
*Startup*
(0:0) When everything is starting up,
(5:300) set variable %spamcheck to the value 0.
(5:300) set variable %penalty to the value 0.
(5:300) set variable %sbanclock to the value 0.
(5:300) set variable %ptimer to the value 0.
(5:300) set variable %pcheck to the value 0.
(5:300) set variable %pcheck2 to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {penalty2} about this dream is equal to 0,
(5:602) memorize that the PhoenixSpeak info {penalty2} about this dream will now be 1.
*Spam counter*
(0:36) When a furre says or emotes anything,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(5:610) remember the PhoenixSpeak info {spam} about the triggering furre, and put it in variable %spamcheck.
(5:302) take variable %spamcheck and add 1 to it.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be %spamcheck.
(5:300) set variable %spamcheck to the value 0.
(0:73) When a furre doesn't speak (or emote) for 4 seconds,
(1:602) and the PhoenixSpeak info {spam} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {spam} about the triggering furre, and put it in variable %spamcheck.
(5:304) take variable %spamcheck and subtract 1 from it.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be %spamcheck.
(5:300) set variable %spamcheck to the value 0.
(0:73) When a furre doesn't speak (or emote) for 5 seconds,
(1:602) and the PhoenixSpeak info {spam} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {spam} about the triggering furre, and put it in variable %spamcheck.
(5:304) take variable %spamcheck and subtract 1 from it.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be %spamcheck.
(5:300) set variable %spamcheck to the value 0.
(0:73) When a furre doesn't speak (or emote) for 6 seconds,
(1:602) and the PhoenixSpeak info {spam} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {spam} about the triggering furre, and put it in variable %spamcheck.
(5:304) take variable %spamcheck and subtract 1 from it.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be %spamcheck.
(5:300) set variable %spamcheck to the value 0.
(0:73) When a furre doesn't speak (or emote) for 7 seconds,
(1:602) and the PhoenixSpeak info {spam} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {spam} about the triggering furre, and put it in variable %spamcheck.
(5:304) take variable %spamcheck and subtract 1 from it.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be %spamcheck.
(5:300) set variable %spamcheck to the value 0.
(0:73) When a furre doesn't speak (or emote) for 8 seconds,
(1:602) and the PhoenixSpeak info {spam} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {spam} about the triggering furre, and put it in variable %spamcheck.
(5:304) take variable %spamcheck and subtract 1 from it.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be %spamcheck.
(5:300) set variable %spamcheck to the value 0.
*Spam Warning*
(0:36) When a furre says or emotes anything,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(1:600) and the PhoenixSpeak info {spam} about the triggering furre is equal to 4,
(5:200) emit message {You are currently considered to be spamming, please stop now before you are forced to serve a 2 minute temporary ban or greater..} to the triggering furre.
*Spam-Killer*
(0:36) When a furre says or emotes anything,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(1:600) and the PhoenixSpeak info {spam} about the triggering furre is equal to 6,
(1:620) and the PhoenixSpeak info {penalty2} about this dream is equal to 1,
(5:612) remember the PhoenixSpeak info {penalty} about this dream, and put it in variable %penalty.
(5:302) take variable %penalty and add 1 to it.
(5:600) memorize that the PhoenixSpeak info {sban} about the triggering furre will now be %penalty.
(5:602) memorize that the PhoenixSpeak info {penalty} about this dream will now be %penalty.
(5:602) memorize that the PhoenixSpeak info {ptimer%penalty} about this dream will now be 120.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be 0.
(5:300) set variable %penalty to the value 0.
(5:200) emit message {You have been temporarly banned for spamming.. Nice work.. :)} to the triggering furre.
(5:78) eject the triggering furre.
(0:36) When a furre says or emotes anything,
(1:111) and the triggering furre hasn't got shared control (and is not the dream owner),
(1:600) and the PhoenixSpeak info {spam} about the triggering furre is equal to 6,
(1:622) and the PhoenixSpeak info {penalty2} about this dream is greater than 1,
(5:612) remember the PhoenixSpeak info {penalty2} about this dream, and put it in variable %penalty.
(5:304) take variable %penalty and subtract 1 from it.
(5:600) memorize that the PhoenixSpeak info {sban} about the triggering furre will now be %penalty.
(5:602) memorize that the PhoenixSpeak info {penalty2} about this dream will now be %penalty.
(5:602) memorize that the PhoenixSpeak info {ptimer%penalty} about this dream will now be 120.
(5:600) memorize that the PhoenixSpeak info {spam} about the triggering furre will now be 0.
(5:300) set variable %penalty to the value 0.
(5:200) emit message {You have been temporarly banned for spamming.. Nice work.. :)} to the triggering furre.
(5:78) eject the triggering furre.
*Deny/Allow Entry*
(0:9) When a furre arrives in the dream,
(1:602) and the PhoenixSpeak info {sban} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {sban} about the triggering furre, and put it in variable %penalty.
(0:9) When a furre arrives in the dream,
(1:602) and the PhoenixSpeak info {sban} about the triggering furre is greater than 0,
(1:622) and the PhoenixSpeak info {ptimer%penalty} about this dream is greater than 0,
(5:200) emit message {You are still currently serving out your spam ban so best to try again later..} to the triggering furre.
(5:78) eject the triggering furre.
(5:300) set variable %penalty to the value 0.
(0:9) When a furre arrives in the dream,
(1:602) and the PhoenixSpeak info {sban} about the triggering furre is greater than 0,
(1:620) and the PhoenixSpeak info {ptimer%penalty} about this dream is equal to 0,
(5:600) memorize that the PhoenixSpeak info {sban} about the triggering furre will now be 0.
(5:200) emit message {Congratulations.. You are no longer banned for spamming. Best not let it happen again..} to the triggering furre.
(5:300) set variable %penalty to the value 0.
*Sban Timer (The more spammers, the longer the punishment..)*
(0:100) When 1 seconds have passed, offset by 0,
(1:622) and the PhoenixSpeak info {penalty} about this dream is greater than 0,
(1:620) and the PhoenixSpeak info {penalty} about this dream is equal to %sbanclock,
(5:300) set variable %sbanclock to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(1:622) and the PhoenixSpeak info {penalty} about this dream is greater than 0,
(1:622) and the PhoenixSpeak info {penalty} about this dream is greater than %sbanclock,
(1:206) and variable %sbanclock is not equal to 0,
(5:302) take variable %sbanclock and add 1 to it.
(0:100) When 1 seconds have passed, offset by 0,
(1:622) and the PhoenixSpeak info {penalty} about this dream is greater than 0,
(1:622) and the PhoenixSpeak info {penalty} about this dream is greater than %sbanclock,
(1:200) and variable %sbanclock is equal to 0,
(5:612) remember the PhoenixSpeak info {penalty2} about this dream, and put it in variable %sbanclock.
(0:100) When 1 seconds have passed, offset by 0,
(5:612) remember the PhoenixSpeak info {penalty} about this dream, and put it in variable %pcheck.
(5:612) remember the PhoenixSpeak info {penalty2} about this dream, and put it in variable %pcheck2.
(0:100) When 1 seconds have passed, offset by 0,
(1:203) and variable %pcheck is equal to variable %pcheck2,
(1:620) and the PhoenixSpeak info {ptimer%sbanclock} about this dream is equal to 0,
(5:602) memorize that the PhoenixSpeak info {penalty} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {penalty2} about this dream will now be 1.
(5:300) set variable %pcheck to the value 0.
(5:300) set variable %pcheck2 to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(1:204) and variable %pcheck is greater than variable %pcheck2,
(1:620) and the PhoenixSpeak info {ptimer%sbanclock} about this dream is equal to 0,
(5:612) remember the PhoenixSpeak info {penalty2} about this dream, and put it in variable %ptimer.
(5:302) take variable %ptimer and add 1 to it.
(5:602) memorize that the PhoenixSpeak info {penalty2} about this dream will now be %ptimer.
(5:300) set variable %pcheck to the value 0.
(5:300) set variable %pcheck2 to the value 0.
(5:300) set variable %ptimer to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(1:622) and the PhoenixSpeak info {penalty} about this dream is greater than 0,
(1:622) and the PhoenixSpeak info {ptimer%sbanclock} about this dream is greater than 0,
(5:612) remember the PhoenixSpeak info {ptimer%sbanclock} about this dream, and put it in variable %ptimer.
(5:304) take variable %ptimer and subtract 1 from it.
(5:602) memorize that the PhoenixSpeak info {ptimer%sbanclock} about this dream will now be %ptimer.
(5:300) set variable %ptimer to the value 0.
*Unban Spammer*
(0:32) When a furre says something with {!unsban } in it,
(1:10) and the triggering furre is the dream owner,
(1:610) and the PhoenixSpeak info {sban} about the furre named {[PARAM1]} is equal to 0,
(5:200) emit message {[PARAM1] is currently not spam banned..} to the triggering furre.
(0:32) When a furre says something with {!unsban } in it,
(1:10) and the triggering furre is the dream owner,
(1:612) and the PhoenixSpeak info {sban} about the furre named {[PARAM1]} is greater than 0,
(5:601) memorize that the PhoenixSpeak info {sban} about the furre named {[PARAM1]} will now be 0.
(5:200) emit message {[PARAM1] has been unbanned.} to the triggering furre.
This ds has been fully tested and appears to be completely bug free.. Have fun with it! ^^
Originally requested by Illiorn/Rexxar
Summary: This ds/ps mix is a totally customizable room teleport and assign system that allows you to set entrance and exit points for each room you wish to setup. But this is not what its true purpose was intended for.. The real reason behind this fun filled ds is its ability to label each room you create teleports for with a desired owner of your choice. The owner who is assigned to the following room will be allowed control over that room with the ability to lock their door with a pass, unlock it, check the current password, and even boot out unwanted furries (In order for the boot command to work, you must use the "=boothere" commands on the dream owner where they want furries to be booted to) :)
Below you shall find all the commands explained in detail to the best of my ability..
BaH dream owners should find this ds/ps combination to very useful I am sure ^^
-=Room Assign=-
~By Darvon Mitsumura~
*Owner Controls*
(0:31) When a furre says {=boothere},
(1:10) and the triggering furre is the dream owner,
(5:350) set variable %bzone to the X,Y position the triggering furre (moved from/is standing at).
(5:602) memorize that the PhoenixSpeak info {bootx} about this dream will now be %bzone.x.
(5:602) memorize that the PhoenixSpeak info {booty} about this dream will now be %bzone.y.
(5:200) emit message {Boot coordinants set to (%bzone.x,%bzone.y) x,y} to the triggering furre.
(0:32) When a furre says something with {=editroom} in it,
(1:10) and the triggering furre is the dream owner,
(5:314) set variable %room to the number the triggering furre just said.
(5:200) emit message {Room %room Options:} to the triggering furre.
(5:200) emit message {Use =placedown on the spot infront of your furre to designate the outside teleporter for the room. (Teleporter should be infront of or behind door)} to the triggering furre.
(5:200) emit message {Once this is done.. The inside teleporter must be designated with =setx # and =sety # (x and y coordinants) since it is likely unreachable at the moment. (Teleporter should be infront of or behind door)} to the triggering furre.
(5:200) emit message {To designate an owner to this room if necessary, type =assign "furrename" (Replace furrename with actual furre's name. Do not use spaces!)} to the triggering furre.
(5:200) emit message {To unassign a current owner to this room type =unassign.} to the triggering furre.
(0:31) When a furre says {=placedown},
(1:10) and the triggering furre is the dream owner,
(1:622) and the PhoenixSpeak info {rx%room} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {ry%room} about this dream is greater than 8,
(5:612) remember the PhoenixSpeak info {rx%room} about this dream, and put it in variable %refresh.x.
(5:612) remember the PhoenixSpeak info {ry%room} about this dream, and put it in variable %refresh.y.
(5:612) remember the PhoenixSpeak info {x%refresh.xx&%refresh.y} about this dream, and put it in variable %refresh2.x.
(5:612) remember the PhoenixSpeak info {y%refresh.xx&%refresh.y} about this dream, and put it in variable %refresh2.y.
(5:632) forget the PhoenixSpeak info {x%refresh.xx&%refresh.y} about this dream.
(5:632) forget the PhoenixSpeak info {y%refresh.xx&%refresh.y} about this dream.
(5:632) forget the PhoenixSpeak info {xx%refresh2.xx&%refresh2.y} about this dream.
(5:632) forget the PhoenixSpeak info {yy%refresh2.xx&%refresh2.y} about this dream.
(5:300) set variable %refresh to the value 0.
(5:300) set variable %refresh2 to the value 0.
(0:31) When a furre says {=placedown},
(1:10) and the triggering furre is the dream owner,
(1:13) and the triggering furre is facing northeast (up and right),
(5:350) set variable %placedown to the X,Y position the triggering furre (moved from/is standing at).
(5:352) move the position in variable %placedown northeast (up and right) 1 step(s).
(5:602) memorize that the PhoenixSpeak info {x%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {y%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {rx%room} about this dream will now be %placedown.x.
(5:602) memorize that the PhoenixSpeak info {ry%room} about this dream will now be %placedown.y.
(5:200) emit message {Room %room outside teleporter set to (%placedown.x,%placedown.y). Note that the inside teleporter must now be assigned in order for this teleporter to work properly.} to the triggering furre.
(0:31) When a furre says {=placedown},
(1:10) and the triggering furre is the dream owner,
(1:14) and the triggering furre is facing southeast (down and right),
(5:350) set variable %placedown to the X,Y position the triggering furre (moved from/is standing at).
(5:353) move the position in variable %placedown southeast (down and right) 1 step(s).
(5:602) memorize that the PhoenixSpeak info {x%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {y%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {rx%room} about this dream will now be %placedown.x.
(5:602) memorize that the PhoenixSpeak info {ry%room} about this dream will now be %placedown.y.
(5:200) emit message {Room %room outside teleporter set to (%placedown.x,%placedown.y). Note that the inside teleporter must now be assigned in order for this teleporter to work properly.} to the triggering furre.
(0:31) When a furre says {=placedown},
(1:10) and the triggering furre is the dream owner,
(1:15) and the triggering furre is facing southwest (down and left),
(5:350) set variable %placedown to the X,Y position the triggering furre (moved from/is standing at).
(5:354) move the position in variable %placedown southwest (down and left) 1 step(s).
(5:602) memorize that the PhoenixSpeak info {x%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {y%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {rx%room} about this dream will now be %placedown.x.
(5:602) memorize that the PhoenixSpeak info {ry%room} about this dream will now be %placedown.y.
(5:200) emit message {Room %room outside teleporter set to (%placedown.x,%placedown.y). Note that the inside teleporter must now be assigned in order for this teleporter to work properly.} to the triggering furre.
(0:31) When a furre says {=placedown},
(1:10) and the triggering furre is the dream owner,
(1:16) and the triggering furre is facing northwest (up and left),
(5:350) set variable %placedown to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %placedown northwest (up and left) 1 step(s).
(5:602) memorize that the PhoenixSpeak info {x%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {y%placedown.xx&%placedown.y} about this dream will now be 0.
(5:602) memorize that the PhoenixSpeak info {rx%room} about this dream will now be %placedown.x.
(5:602) memorize that the PhoenixSpeak info {ry%room} about this dream will now be %placedown.y.
(5:200) emit message {Room %room outside teleporter set to (%placedown.x,%placedown.y). Note that the inside teleporter must now be assigned in order for this teleporter to work properly.} to the triggering furre.
(0:32) When a furre says something with {=setx} in it,
(1:10) and the triggering furre is the dream owner,
(1:201) and variable %placedown.x is greater than 7,
(1:201) and variable %placedown.y is greater than 8,
(5:314) set variable %setcoor.x to the number the triggering furre just said.
(5:200) emit message {Inside teleporter x coordinant for room %room set to: %setcoor.x. Now use =sety to finish the setup for this room.} to the triggering furre.
(0:32) When a furre says something with {=sety} in it,
(1:10) and the triggering furre is the dream owner,
(1:201) and variable %placedown.x is greater than 7,
(1:201) and variable %placedown.y is greater than 8,
(1:201) and variable %setcoor.x is greater than 9,
(5:314) set variable %setcoor.y to the number the triggering furre just said.
(5:602) memorize that the PhoenixSpeak info {xx%setcoor.xx&%setcoor.y} about this dream will now be %placedown.x.
(5:602) memorize that the PhoenixSpeak info {x%placedown.xx&%placedown.y} about this dream will now be %setcoor.x.
(5:602) memorize that the PhoenixSpeak info {yy%setcoor.xx&%setcoor.y} about this dream will now be %placedown.y.
(5:602) memorize that the PhoenixSpeak info {y%placedown.xx&%placedown.y} about this dream will now be %setcoor.y.
(5:200) emit message {Inside teleporter coordinants for room %room now set to: (%setcoor.x,%setcoor.y) x,y. Setup for room %room now complete! Use =assign "furrename", =unassign, and =properties "room#" to your advantage to assign/unassign an owner to the currently selected room or to check the properties of any room number.} to the triggering furre.
(5:300) set variable %placedown to the value 0.
(5:300) set variable %setcoor to the value 0.
*Assign Owner*
(0:32) When a furre says something with {=assign} in it,
(1:10) and the triggering furre is the dream owner,
(1:611) and the PhoenixSpeak info {room} about the furre named {[PARAM1]} is not equal to 0,
(5:611) remember the PhoenixSpeak info {room} about the furre named {[PARAM1]}, and put it in variable %assign.
(5:200) emit message {This furre already has room %assign assigned! Please use =editroom # option and =unassign to first unassign this furre of its current room #.} to the triggering furre.
(0:32) When a furre says something with {=assign} in it,
(1:10) and the triggering furre is the dream owner,
(1:610) and the PhoenixSpeak info {room} about the furre named {[PARAM1]} is equal to 0,
(5:612) remember the PhoenixSpeak info {rid%room} about this dream, and put it in variable %assign.
(5:302) take variable %assign and add 1 to it.
(5:602) memorize that the PhoenixSpeak info {rid%room} about this dream will now be %assign.
(5:602) memorize that the PhoenixSpeak info {ro%room} about this dream will now be 1.
(5:601) memorize that the PhoenixSpeak info {room} about the furre named {[PARAM1]} will now be %room.
(5:601) memorize that the PhoenixSpeak info {rid} about the furre named {[PARAM1]} will now be %assign.
(5:200) emit message {[PARAM1] has now been designated owner of room %room with a special matching room id number of %assign.} to the triggering furre.
(5:300) set variable %assign to the value 0.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:31) When a furre says {=unassign},
(1:10) and the triggering furre is the dream owner,
(1:620) and the PhoenixSpeak info {ro%room} about this dream is equal to 0,
(5:200) emit message {There is currently no one assigned to this room..} to the triggering furre.
(0:31) When a furre says {=unassign},
(1:10) and the triggering furre is the dream owner,
(1:620) and the PhoenixSpeak info {ro%room} about this dream is equal to 1,
(5:612) remember the PhoenixSpeak info {rid%room} about this dream, and put it in variable %assign.
(5:612) remember the PhoenixSpeak info {rx%room} about this dream, and put it in variable %assign2.x.
(5:612) remember the PhoenixSpeak info {ry%room} about this dream, and put it in variable %assign2.y.
(5:302) take variable %assign and add 1 to it.
(5:602) memorize that the PhoenixSpeak info {rid%room} about this dream will now be %assign.
(5:632) forget the PhoenixSpeak info {ro%room} about this dream.
(5:632) forget the PhoenixSpeak info {rl%room} about this dream.
(5:632) forget the PhoenixSpeak info {p%assign2.xx&%assign2.y} about this dream.
(5:200) emit message {Room %room no longer has an owner and it's room id has been altered to %assign as a result.} to the triggering furre.
(5:300) set variable %assign to the value 0.
(5:300) set variable %assign2 to the value 0.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
*Owner Check Controls*
(0:32) When a furre says something with {=properties} in it,
(1:10) and the triggering furre is the dream owner,
(5:314) set variable %room2 to the number the triggering furre just said.
(5:612) remember the PhoenixSpeak info {rx%room2} about this dream, and put it in variable %prop1.x.
(5:612) remember the PhoenixSpeak info {ry%room2} about this dream, and put it in variable %prop1.y.
(5:612) remember the PhoenixSpeak info {x%prop1.xx&%prop1.y} about this dream, and put it in variable %prop2.x.
(5:612) remember the PhoenixSpeak info {y%prop1.xx&%prop1.y} about this dream, and put it in variable %prop2.y.
(5:612) remember the PhoenixSpeak info {xx%prop2.xx&%prop2.y} about this dream, and put it in variable %prop3.x.
(5:612) remember the PhoenixSpeak info {yy%prop2.xx&%prop2.y} about this dream, and put it in variable %prop3.y.
(5:612) remember the PhoenixSpeak info {ro%room2} about this dream, and put it in variable %prop4.
(5:612) remember the PhoenixSpeak info {rid%room2} about this dream, and put it in variable %prop5.
(5:612) remember the PhoenixSpeak info {p%prop1.xx&%prop1.y} about this dream, and put it in variable %prop6.
(5:200) emit message {Room %room2 properties:} to the triggering furre.
(5:200) emit message {Outside Teleporter Coordinants: (%prop1.x,%prop1.y) x,y} to the triggering furre.
(5:200) emit message {Inside Teleporter Coordinants: (%prop2.x,%prop2.y) x,y} to the triggering furre.
(5:200) emit message {Any Current Owner?: %prop4 (1=yes,0=no)} to the triggering furre.
(5:200) emit message {Current Room ID: %prop5} to the triggering furre.
(5:200) emit message {Current Room Password: %prop6 (0=Unlocked)} to the triggering furre.
(5:300) set variable %prop1 to the value 0.
(5:300) set variable %prop2 to the value 0.
(5:300) set variable %prop3 to the value 0.
(5:300) set variable %prop4 to the value 0.
(5:300) set variable %prop5 to the value 0.
(5:300) set variable %prop6 to the value 0.
*Check for Incompatible ID*
(0:9) When a furre arrives in the dream,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {room} about the triggering furre, and put it in variable %rc1.
(5:610) remember the PhoenixSpeak info {rid} about the triggering furre, and put it in variable %rc2.
(5:612) remember the PhoenixSpeak info {rid%rc1} about this dream, and put it in variable %rc3.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(1:600) and the PhoenixSpeak info {room} about the triggering furre is equal to %rc1,
(1:207) and variable %rc2 is not equal to variable %rc3,
(5:600) memorize that the PhoenixSpeak info {room} about the triggering furre will now be 0.
(5:600) memorize that the PhoenixSpeak info {rid} about the triggering furre will now be 0.
*Room Owner Commands*
(0:32) When a furre says something with {=roompass } in it,
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {room} about the triggering furre, and put it in variable %room3.
(5:612) remember the PhoenixSpeak info {rx%room3} about this dream, and put it in variable %room4.x.
(5:612) remember the PhoenixSpeak info {ry%room3} about this dream, and put it in variable %room4.y.
(5:314) set variable %room5 to the number the triggering furre just said.
(5:602) memorize that the PhoenixSpeak info {p%room4.xx&%room4.y} about this dream will now be %room5.
(5:200) emit message {Your room's password lock is now active as %room5, to turn off your password lock at anytime, just say =unlockroom} to the triggering furre.
(5:300) set variable %room3 to the value 0.
(5:300) set variable %room4 to the value 0.
(5:300) set variable %room5 to the value 0.
(0:31) When a furre says {=unlockroom},
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {room} about the triggering furre, and put it in variable %room3.
(5:612) remember the PhoenixSpeak info {rx%room3} about this dream, and put it in variable %room4.x.
(5:612) remember the PhoenixSpeak info {ry%room3} about this dream, and put it in variable %room4.y.
(5:602) memorize that the PhoenixSpeak info {p%room4.xx&%room4.y} about this dream will now be 0.
(5:300) set variable %room3 to the value 0.
(5:300) set variable %room4 to the value 0.
(5:200) emit message {Your room is now unlocked..} to the triggering furre.
(0:31) When a furre says {=checkroompass},
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {room} about the triggering furre, and put it in variable %room3.
(5:612) remember the PhoenixSpeak info {rx%room3} about this dream, and put it in variable %room4.x.
(5:612) remember the PhoenixSpeak info {ry%room3} about this dream, and put it in variable %room4.y.
(5:612) remember the PhoenixSpeak info {p%room4.xx&%room4.y} about this dream, and put it in variable %room5.
(5:200) emit message {Your room's password lock is currently set as %room5 (0=Unlocked).} to the triggering furre.
(5:300) set variable %room3 to the value 0.
(5:300) set variable %room4 to the value 0.
(5:300) set variable %room5 to the value 0.
(0:32) When a furre says something with {=boot } in it,
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(1:600) and the PhoenixSpeak info {pres} about the triggering furre is equal to 0,
(5:200) emit message {You must be in your room and next to the targeted furre for booting to work..} to the triggering furre.
(0:32) When a furre says something with {=boot } in it,
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(1:600) and the PhoenixSpeak info {pres} about the triggering furre is equal to 1,
(5:350) set variable %locate1 to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %locate2 to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %locate1 northwest (up and left) 5 step(s).
(5:353) move the position in variable %locate2 southeast (down and right) 5 step(s).
(5:601) memorize that the PhoenixSpeak info {boot} about the furre named {[PARAM1]} will now be 1.
(5:19) move any furre present 0 step(s) forward (in the direction they're facing) if there's nobody already there.
(5:200) emit message {Detecting whether [PARAM1] is present beside you in your room for booting.. You will notice your success upon seeing the furre dissapper accordingly..} to the triggering furre.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {boot} about the triggering furre is equal to 1,
(1:180) and the triggering furre is not within the rectangle (%locate1) - (%locate2),
(5:600) memorize that the PhoenixSpeak info {boot} about the triggering furre will now be 0.
(0:72) When a furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
(1:600) and the PhoenixSpeak info {boot} about the triggering furre is equal to 1,
(1:80) and the triggering furre is within the rectangle (%locate1) - (%locate2),
(5:612) remember the PhoenixSpeak info {bootx} about this dream, and put it in variable %boot.x.
(5:612) remember the PhoenixSpeak info {booty} about this dream, and put it in variable %boot.y.
(5:15) move the triggering furre to (%boot.x,%boot.y), or to someplace nearby if it's occupied.
(5:600) memorize that the PhoenixSpeak info {boot} about the triggering furre will now be 2.
(5:200) emit message {You have been booted from the room..} to the triggering furre.
*Pass Command for Entry*
(0:32) When a furre says something with {=lockpass } in it,
(5:314) set variable %pchecking to the number the triggering furre just said.
(5:200) emit message {Temporary password entry value is now set as %pchecking} to the triggering furre.
*Teleportation*
(0:1) Whenever somebody moves,
(5:351) set variable %checker to the X,Y position the triggering furre moved to.
(0:1) Whenever somebody moves,
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:602) and the PhoenixSpeak info {room} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {room} about the triggering furre, and put it in variable %room6.
(0:1) Whenever somebody moves,
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to 0,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to %pchecking,
(1:621) and the PhoenixSpeak info {rx%room6} about this dream is not equal to %checker.x,
(1:621) and the PhoenixSpeak info {rx%room6} about this dream is not equal to %checker.y,
(1:200) and variable %pchecking is equal to 0,
(5:18) move the triggering furre back where they came from.
(5:200) emit message {This door is currently locked with a password. Type =lockpass # if you wish to try and enter this room.} to the triggering furre.
(0:1) Whenever somebody moves,
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to 0,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to %pchecking,
(1:621) and the PhoenixSpeak info {rx%room6} about this dream is not equal to %checker.x,
(1:621) and the PhoenixSpeak info {rx%room6} about this dream is not equal to %checker.y,
(1:201) and variable %pchecking is greater than 0,
(5:18) move the triggering furre back where they came from.
(5:200) emit message {Incorrect password! Please try again..} to the triggering furre.
(5:300) set variable %pchecking to the value 0.
(0:1) Whenever somebody moves,
(1:13) and the triggering furre is facing northeast (up and right),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to 0,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:352) move the position in variable %warp2 northeast (up and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:13) and the triggering furre is facing northeast (up and right),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to 0,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to %pchecking,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:352) move the position in variable %warp2 northeast (up and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(5:300) set variable %pchecking to the value 0.
(0:1) Whenever somebody moves,
(1:13) and the triggering furre is facing northeast (up and right),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:622) and the PhoenixSpeak info {p%checker.xx&%checker.y}} about this dream is greater than 0,
(1:620) and the PhoenixSpeak info {rx%room6} about this dream is equal to %checker.x,
(1:620) and the PhoenixSpeak info {ry%room6} about this dream is equal to %checker.y,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:352) move the position in variable %warp2 northeast (up and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:14) and the triggering furre is facing southeast (down and right),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to 0,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:353) move the position in variable %warp2 southeast (down and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:14) and the triggering furre is facing southeast (down and right),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to 0,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to %pchecking,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:353) move the position in variable %warp2 southeast (down and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(5:300) set variable %pchecking to the value 0.
(0:1) Whenever somebody moves,
(1:14) and the triggering furre is facing southeast (down and right),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:622) and the PhoenixSpeak info {p%checker.xx&%checker.y}} about this dream is greater than 0,
(1:620) and the PhoenixSpeak info {rx%room6} about this dream is equal to %checker.x,
(1:620) and the PhoenixSpeak info {ry%room6} about this dream is equal to %checker.y,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:353) move the position in variable %warp2 southeast (down and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:15) and the triggering furre is facing southwest (down and left),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to 0,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:354) move the position in variable %warp2 southwest (down and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:15) and the triggering furre is facing southwest (down and left),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to 0,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to %pchecking,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:354) move the position in variable %warp2 southwest (down and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(5:300) set variable %pchecking to the value 0.
(0:1) Whenever somebody moves,
(1:15) and the triggering furre is facing southwest (down and left),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:622) and the PhoenixSpeak info {p%checker.xx&%checker.y}} about this dream is greater than 0,
(1:620) and the PhoenixSpeak info {rx%room6} about this dream is equal to %checker.x,
(1:620) and the PhoenixSpeak info {ry%room6} about this dream is equal to %checker.y,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:354) move the position in variable %warp2 southwest (down and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:16) and the triggering furre is facing northwest (up and left),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to 0,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:355) move the position in variable %warp2 northwest (up and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:16) and the triggering furre is facing northwest (up and left),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:621) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is not equal to 0,
(1:620) and the PhoenixSpeak info {p%checker.xx&%checker.y} about this dream is equal to %pchecking,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:355) move the position in variable %warp2 northwest (up and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(5:300) set variable %pchecking to the value 0.
(0:1) Whenever somebody moves,
(1:16) and the triggering furre is facing northwest (up and left),
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:622) and the PhoenixSpeak info {p%checker.xx&%checker.y}} about this dream is greater than 0,
(1:620) and the PhoenixSpeak info {rx%room6} about this dream is equal to %checker.x,
(1:620) and the PhoenixSpeak info {ry%room6} about this dream is equal to %checker.y,
(5:612) remember the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:355) move the position in variable %warp2 northwest (up and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:620) and the PhoenixSpeak info {rx%room6} about this dream is equal to %checker.x,
(1:620) and the PhoenixSpeak info {ry%room6} about this dream is equal to %checker.y,
(5:600) memorize that the PhoenixSpeak info {pres} about the triggering furre will now be 1.
(5:200) emit message {Welcome to your room [FURRE]! Current commands available to you: =roompass # (set pass lock # to prevent unwanted guests), =unlockroom (Take off pass lock), =checkroompass (See your current pass lock #), =boot "furrename" (Boot any unwanted individual out of your room that is close enough to you).} to the triggering furre.
(0:1) Whenever somebody moves,
(1:13) and the triggering furre is facing northeast (up and right),
(1:622) and the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream is greater than 8,
(5:612) remember the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:352) move the position in variable %warp2 northeast (up and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:14) and the triggering furre is facing southeast (down and right),
(1:622) and the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream is greater than 8,
(5:612) remember the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:353) move the position in variable %warp2 southeast (down and right) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:15) and the triggering furre is facing southwest (down and left),
(1:622) and the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream is greater than 8,
(5:612) remember the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:354) move the position in variable %warp2 southwest (down and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:16) and the triggering furre is facing northwest (up and left),
(1:622) and the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream is greater than 8,
(5:612) remember the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream, and put it in variable %warp1.x.
(5:612) remember the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream, and put it in variable %warp1.y.
(5:384) set variable %warp2 to the x,y position (%warp1).
(5:355) move the position in variable %warp2 northwest (up and left) 1 step(s).
(5:15) move the triggering furre to (%warp2), or to someplace nearby if it's occupied.
(0:1) Whenever somebody moves,
(1:622) and the PhoenixSpeak info {x%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {y%checker.xx&%checker.y} about this dream is greater than 8,
(1:601) and the PhoenixSpeak info {rx%room6} about the triggering furre is not equal to %checker.x,
(1:601) and the PhoenixSpeak info {ry%room6} about the triggering furre is not equal to %checker.y,
(5:300) set variable %room6 to the value 0.
(0:1) Whenever somebody moves,
(1:622) and the PhoenixSpeak info {xx%checker.xx&%checker.y} about this dream is greater than 7,
(1:622) and the PhoenixSpeak info {yy%checker.xx&%checker.y} about this dream is greater than 8,
(1:600) and the PhoenixSpeak info {pres} about the triggering furre is equal to 1,
(5:600) memorize that the PhoenixSpeak info {pres} about the triggering furre will now be 0.
*Prevent Foul Play*
(0:10) When a furre leaves the dream,
(1:600) and the PhoenixSpeak info {pres} about the triggering furre is equal to 1,
(5:600) memorize that the PhoenixSpeak info {pres} about the triggering furre will now be 0.
Command Usage:
-Owner Only-
=boothere - Allows the owner to set the boot out spot for all furries being kicked out of an individuals room. (Set this as soon as you implement the script into your ds in order for the boot command to work!!)
=editroom # - Target the room in which the following commands below can be used with.
=placedown - Set the entrance or outside teleport coordinants infront of the owner furrie for the currently room that was targeted previously.
=setx - Used after placedown command is used for setting up the exit or inside teleport x coordinant for the room targeted previously.
=sety - Used after setx command for setting up the exit or inside teleport y coordinant thus completing the teleporter setup for the room targeted previously.
=assign "furrename" - Assigns a furre to the room the teleporters were setup for to become the owner of that room. This command is also under the editroom command as well.. (No spaces in the name please..)
=unassign - Unassign the furre owner currently for the room that was targeted previously
=Properties # - Check a room's current properties such as teleporter coordinants, room id, etc..
-Room Owner Commands-
=roompass # - Lock the room with a password. (Setting to 0 will keep it unlocked.)
=unlockroom - Name says it all..
=checkroompass - Used to check to see what the pass currently is set to incase the owner forgets :)
=boot "furrename" - Only works when the owner is in their own room. One being targeted must not be too far off from owner for detection to pick them up upon attempting to boot.
-User Commands-
=lockpass # - Temporarily sets the checking password to what the triggering furre just said until the attempt in trying to use it to get past a locked door has been confirmed.
Well that about covers it..
Hope you enjoy and if you need to change the = trigger to something else, you could just simply use the replace option under the edit tab.
Note: When using this ds/ps, do not use with other already present ds teleport spots since it would be useless if not otherwise.. First have those ds teleporters removed then use it! :D
Originally requested by Meyjer (Finally got around to this..)
Introduction: This as the title of this topic states will allow you to add events to each day of the week of any sort as desired. This means if you wanted to have something show up on your map that is usually hidden other days of the week, this works just fine. Also the best part about this ds/ps is its ability to update itself properly even after being down for a day or more.
/Weekly Events DS\
~By Darvon Mitsumura~
*Set Day*
(0:0) When everything is starting up,
(5:300) set variable %cday to the value 1.
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %cday is equal to 1,
(5:632) forget the PhoenixSpeak info {Monday} about this dream.
(5:632) forget the PhoenixSpeak info {Tuesday} about this dream.
(5:632) forget the PhoenixSpeak info {Wednesday} about this dream.
(5:632) forget the PhoenixSpeak info {Thursday} about this dream.
(5:632) forget the PhoenixSpeak info {Friday} about this dream.
(5:632) forget the PhoenixSpeak info {Saturday} about this dream.
(5:632) forget the PhoenixSpeak info {Sunday} about this dream.
(5:300) set variable %cday to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(5:602) memorize that the PhoenixSpeak info {[WDAY]} about this dream will now be 1.
*Clear Previous Day*
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Sunday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Monday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Sunday} about this dream.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Monday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Tuesday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Monday} about this dream.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Tuesday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Wednesday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Tuesday} about this dream.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Wednesday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Thursday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Wednesday} about this dream.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Thursday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Friday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Thursday} about this dream.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Friday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Saturday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Friday} about this dream.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Saturday} about this dream is equal to 1,
(1:620) and the PhoenixSpeak info {Sunday} about this dream is equal to 1,
(5:632) forget the PhoenixSpeak info {Saturday} about this dream.
*Detect Day*
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Monday} about this dream is equal to 1,
(5:300) set variable %day to the value 1.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Tuesday} about this dream is equal to 1,
(5:300) set variable %day to the value 2.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Wednesday} about this dream is equal to 1,
(5:300) set variable %day to the value 3.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Thursday} about this dream is equal to 1,
(5:300) set variable %day to the value 4.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Friday} about this dream is equal to 1,
(5:300) set variable %day to the value 5.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Saturday} about this dream is equal to 1,
(5:300) set variable %day to the value 6.
(0:100) When 1 seconds have passed, offset by 0,
(1:620) and the PhoenixSpeak info {Sunday} about this dream is equal to 1,
(5:300) set variable %day to the value 7.
*Monday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 1,
(5:204) emitloud message {Monday has arrived! Time to start off a brand new week!} to everyone on the map.
*Tuesday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 2,
(5:204) emitloud message {Tuesday has rolled around! Rock on :)} to everyone on the map.
*Wednesday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 3,
(5:204) emitloud message {Wednesday has touched down! We are about half way through the week ^^} to everyone on the map.
*Thursday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 4,
(5:204) emitloud message {Thursday has made its appearance! Time to welcome another day :D} to everyone on the map.
*Friday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 5,
(5:204) emitloud message {Friday has finally hit the scene! Party hardy late into the night folks ^^} to everyone on the map.
*Saturday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 6,
(5:204) emitloud message {Saturday is now here! Finally time to relax for the weekend.} to everyone on the map.
*Sunday Events*
(0:101) When the time is 00:02 FST
(1:200) and variable %day is equal to 7,
(5:204) emitloud message {Sunday has stepped forward! The day of rest is upon us, enjoy it while you can :P} to everyone on the map.
I have setup an example emit for each day of the week. To add a new event just copy the first two lines of the example under that day and paste it just below that example. You can then change the time in which you want the event to occur for the first line (Note: This is in military time form, so it goes from 00:00 midnight to 23:59, 1 minute before midnight of the same day). The second line is the day indicator and should not be changed.. After that, add what you want to happen. Very simple and effective :)
Hope you all enjoy and if any problems arise, please contact me accordingly. I am sure there shouldn't be any issues though if anything xD
Ds Summary: This ds allows the owner to save any size square of their choice where they are currently standing and recall it wherever they chose to do so. It also allows the owner to save as many squares to the ps as they like. One of the advantages about this ps unlike others is its ability to cut down on useless ps memory usage as well as clear out any previous data for the square # that is currently being saved upon.
Due to its ability to save any size square, the saving and recalling process takes a bit of time depending upon the size you chose. I can say though that for any normal square like 5x5, you should hardly be waiting that long at all. If you do something like 10x10, expect to wait like about 15 to 20 seconds or so.
Below are the commands and a short description as to how to use them:
*Commands*
!set # - Changes the square currently selected that data will be saved to and recalled from. The default this value is set to upon dream startup is 1. This command only works before or after having saved or recalled a square, not during these processes!
!save # - Saves the size square of your choice with the center being right where you are standing at. For example: If you were to say !save 5, then it will save a 5x5 square.
!recall - Recalls the currently selected square with the center right where you are standing at. !set # determines which square is recalled just like it would for saving.
Tips when using: If you plan to save a spot and recall it someplace else, it might be a good idea to save another square of the place you are going to be recalling to. This way you can undo your previous recall if you don't like what you see or are just fooling around. Also make sure the second square is bigger than the first or else undoing a change will not fully cover what was altered previously, and don't forget the spot you saved at to prevent shifting!
Anyhow, here be the ds:
*Multiple Square Save and Recall (Any Size)*
By Darvon Mitsumura
=Startup=
(0:0) When everything is starting up,
(5:399) clear all variables to zero.
(5:300) set variable %set to the value 1.
=Furre Tracker=
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
(1:19) and the triggering furre (moved from/is standing at) position (%inf),
(1:201) and variable %size2 is more than 0,
(5:351) set variable %inf to the X,Y position the triggering furre moved to.
=Change Targeted Square=
(0:32) When a furre says something with {!set} in it,
(1:10) and the triggering furre is the dream owner,
(1:202) and variable %size2 is less than 1,
(1:202) and variable %recall is less than 1,
(5:314) set variable %set to the number the triggering furre just said.
(5:200) emit message {Now changing to square #%set} to the triggering furre.
(0:32) When a furre says something with {!set} in it,
(1:10) and the triggering furre is the dream owner,
(1:202) and variable %size2 is less than 1,
(1:202) and variable %recall is less than 1,
(1:622) and the PhoenixSpeak info {sql%set} about this dream is more than 1,
(5:200) emit message {This square currently holds data.} to the triggering furre.
(0:32) When a furre says something with {!set} in it,
(1:10) and the triggering furre is the dream owner,
(1:202) and variable %size2 is less than 1,
(1:202) and variable %recall is less than 1,
(1:623) and the PhoenixSpeak info {sql%set} about this dream is less than 2,
(5:200) emit message {This square is currently clear.} to the triggering furre.
=Save Square=
(0:32) When a furre says something with {!save} in it,
(1:10) and the triggering furre is the dream owner,
(5:314) set variable %size to the number the triggering furre just said.
(0:32) When a furre says something with {!save} in it,
(1:10) and the triggering furre is the dream owner,
(1:202) and variable %size2 is less than 1,
(1:201) and variable %size is more than 1,
(5:350) set variable %inf to the X,Y position the triggering furre (moved from/is standing at).
(5:301) copy the value of variable %size into variable %size2.
(5:200) emit message {Saving a %size x %size square to square #%set, please wait..} to the triggering furre.
(5:304) take variable %size and subtract 1 from it.
(5:301) copy the value of variable %size into variable %size3.
(5:350) set variable %top to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %bottom to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %top2 to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %bottom2 to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %top northwest (up and left) %size step(s).
(5:354) move the position in variable %bottom southwest (down and left) %size step(s).
(5:304) take variable %size and subtract 1 from it.
(5:355) move the position in variable %top2 northwest (up and left) %size step(s).
(5:354) move the position in variable %bottom2 southwest (down and left) %size step(s).
(5:301) copy the value of variable %size2 into variable %size6.
(5:301) copy the value of variable %size3 into variable %size7.
(5:301) copy the value of variable %size2 into variable %size8.
(5:301) copy the value of variable %size3 into variable %size9.
(0:32) When a furre says something with {!save} in it,
(1:10) and the triggering furre is the dream owner,
(1:201) and variable %size2 is more than 1,
(1:622) and the PhoenixSpeak info {sql%set} about this dream is more than 1,
(5:200) emit message {It would appear previous data was saved for square #%set, clearing first..} to the triggering furre.
(5:612) remember the PhoenixSpeak info {sql%set} about this dream, and put it in variable %sizec.
(5:301) copy the value of variable %sizec into variable %sized.
(5:304) take variable %sized and subtract 1 from it.
(5:301) copy the value of variable %sizec into variable %size10.
(5:301) copy the value of variable %sized into variable %size11.
(5:301) copy the value of variable %sizec into variable %size12.
(5:301) copy the value of variable %sized into variable %size13.
(5:300) set variable %clear to the value 1.
(5:50) set countdown timer 105 to go off in 1 seconds.
(5:50) set countdown timer 106 to go off in 1 seconds.
(0:32) When a furre says something with {!save} in it,
(1:10) and the triggering furre is the dream owner,
(1:201) and variable %size2 is more than 1,
(1:623) and the PhoenixSpeak info {sql%set} about this dream is less than 1,
(5:602) memorize that the PhoenixSpeak info {sql%set} about this dream will now be %size2.
(5:50) set countdown timer 101 to go off in 1 seconds.
(5:50) set countdown timer 102 to go off in 1 seconds.
(0:50) When countdown timer 105 goes off,
(1:201) and variable %size12 is more than 0,
(1:202) and variable %size10 is less than 1,
(5:304) take variable %size12 and subtract 1 from it.
(0:50) When countdown timer 106 goes off,
(1:201) and variable %size13 is more than 0,
(1:202) and variable %size11 is less than 1,
(5:304) take variable %size13 and subtract 1 from it.
(0:50) When countdown timer 105 goes off,
(1:201) and variable %size12 is more than 0,
(1:202) and variable %size10 is less than 1,
(5:301) copy the value of variable %sizec into variable %size10.
(0:50) When countdown timer 106 goes off,
(1:201) and variable %size13 is more than 0,
(1:202) and variable %size11 is less than 1,
(5:301) copy the value of variable %sized into variable %size11.
(0:50) When countdown timer 105 goes off,
(1:201) and variable %size12 is more than 0,
(5:301) copy the value of variable %size10 into variable %size15.
(5:632) forget the PhoenixSpeak info {sqlf%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlo%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlw%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwt%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwe%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwte%set.xx&%size12.xx&%size15.x} about this dream.
(5:304) take variable %size15 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqlf%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlo%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlw%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwt%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwe%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwte%set.xx&%size12.xx&%size15.x} about this dream.
(5:304) take variable %size15 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqlf%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlo%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlw%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwt%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwe%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwte%set.xx&%size12.xx&%size15.x} about this dream.
(5:304) take variable %size15 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqlf%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlo%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlw%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwt%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwe%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwte%set.xx&%size12.xx&%size15.x} about this dream.
(5:304) take variable %size15 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqlf%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlo%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlw%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwt%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwe%set.xx&%size12.xx&%size15.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqlwte%set.xx&%size12.xx&%size15.x} about this dream.
(0:50) When countdown timer 106 goes off,
(1:201) and variable %size13 is more than 0,
(5:301) copy the value of variable %size11 into variable %size16.
(5:632) forget the PhoenixSpeak info {sqsf%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqso%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqsw%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswt%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswe%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswte%set.xx&%size13.xx&%size16.x} about this dream.
(5:304) take variable %size16 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqsf%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqso%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqsw%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswt%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswe%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswte%set.xx&%size13.xx&%size16.x} about this dream.
(5:304) take variable %size16 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqsf%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqso%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqsw%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswt%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswe%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswte%set.xx&%size13.xx&%size16.x} about this dream.
(5:304) take variable %size16 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqsf%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqso%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqsw%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswt%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswe%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswte%set.xx&%size13.xx&%size16.x} about this dream.
(5:304) take variable %size16 and subtract 1 from it.
(5:632) forget the PhoenixSpeak info {sqsf%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqso%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqsw%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswt%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswe%set.xx&%size13.xx&%size16.x} about this dream.
(5:632) forget the PhoenixSpeak info {sqswte%set.xx&%size13.xx&%size16.x} about this dream.
(0:50) When countdown timer 105 goes off,
(1:201) and variable %size12 is more than 0,
(1:201) and variable %size10 is more than 0,
(5:304) take variable %size10 and subtract 5 from it.
(0:50) When countdown timer 106 goes off,
(1:201) and variable %size13 is more than 0,
(1:201) and variable %size11 is more than 0,
(5:304) take variable %size11 and subtract 5 from it.
(0:50) When countdown timer 105 goes off,
(1:201) and variable %size2 is more than 0,
(5:50) set countdown timer 105 to go off in 1 seconds.
(0:50) When countdown timer 106 goes off,
(1:201) and variable %size2 is more than 0,
(5:50) set countdown timer 106 to go off in 1 seconds.
(0:100) When 1 seconds have passed, offset by 0,
(1:201) and variable %size2 is more than 0,
(1:200) and variable %size12 is equal to 0,
(1:200) and variable %size13 is equal to 0,
(1:200) and variable %clear is equal to 1,
(5:300) set variable %go to the value 1.
(5:300) set variable %clear to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %go is equal to 1,
(5:602) memorize that the PhoenixSpeak info {sql%set} about this dream will now be %size2.
(5:300) set variable %go to the value 0.
(3:2) at position (%inf) on the map,
(5:201) emit message {Data cleared, now saving square..} to any furre present.
(5:50) set countdown timer 101 to go off in 1 seconds.
(5:50) set countdown timer 102 to go off in 1 seconds.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:200) and variable %size6 is equal to 0,
(5:304) take variable %size8 and subtract 2 from it.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:200) and variable %size7 is equal to 0,
(5:304) take variable %size9 and subtract 2 from it.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 0,
(1:200) and variable %size6 is equal to 0,
(5:301) copy the value of variable %size2 into variable %size6.
(5:354) move the position in variable %top southwest (down and left) %size6 step(s).
(5:355) move the position in variable %top northwest (up and left) %size6 step(s).
(5:353) move the position in variable %top southeast (down and right) 1 step(s).
(5:354) move the position in variable %top southwest (down and left) 1 step(s).
(5:355) move the position in variable %bottom northwest (up and left) %size6 step(s).
(5:354) move the position in variable %bottom southwest (down and left) %size6 step(s).
(5:352) move the position in variable %bottom northeast (up and right) 1 step(s).
(5:355) move the position in variable %bottom northwest (up and left) 1 step(s).
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 0,
(1:200) and variable %size7 is equal to 0,
(5:301) copy the value of variable %size3 into variable %size7.
(5:354) move the position in variable %top2 southwest (down and left) %size7 step(s).
(5:355) move the position in variable %top2 northwest (up and left) %size7 step(s).
(5:353) move the position in variable %top2 southeast (down and right) 1 step(s).
(5:354) move the position in variable %top2 southwest (down and left) 1 step(s).
(5:355) move the position in variable %bottom2 northwest (up and left) %size7 step(s).
(5:354) move the position in variable %bottom2 southwest (down and left) %size7 step(s).
(5:352) move the position in variable %bottom2 northeast (up and right) 1 step(s).
(5:355) move the position in variable %bottom2 northwest (up and left) 1 step(s).
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(5:380) set variable %flr to the floor type at (%top).
(5:381) set variable %obj to the object type at (%top).
(5:382) set variable %wall to the wall shape at (%top).
(5:383) set variable %wallt to the wall texture at (%top).
(5:384) set variable %tope to the x,y position (%top).
(5:302) take variable %tope.x and add 1 to it.
(5:382) set variable %walle to the wall shape at (%tope).
(5:383) set variable %wallte to the wall texture at (%tope).
(5:380) set variable %flr3 to the floor type at (%bottom).
(5:381) set variable %obj3 to the object type at (%bottom).
(5:382) set variable %wall3 to the wall shape at (%bottom).
(5:383) set variable %wall3t to the wall texture at (%bottom).
(5:384) set variable %bottome to the x,y position (%bottom).
(5:302) take variable %bottome.x and add 1 to it.
(5:382) set variable %wall3e to the wall shape at (%bottome).
(5:383) set variable %wall3te to the wall texture at (%bottome).
(5:301) copy the value of variable %size8 into variable %size10.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %flr is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlf%set.xx&%size10.xx&%size6.x} about this dream will now be %flr.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %obj is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlo%set.xx&%size10.xx&%size6.x} about this dream will now be %obj.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %wall is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlw%set.xx&%size10.xx&%size6.x} about this dream will now be %wall.
(5:602) memorize that the PhoenixSpeak info {sqlwt%set.xx&%size10.xx&%size6.x} about this dream will now be %wallt.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %walle is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlwe%set.xx&%size10.xx&%size6.x} about this dream will now be %walle.
(5:602) memorize that the PhoenixSpeak info {sqlwte%set.xx&%size10.xx&%size6.x} about this dream will now be %wallte.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(5:304) take variable %size10 and subtract 1 from it.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %flr3 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlf%set.xx&%size10.xx&%size6.x} about this dream will now be %flr3.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %obj3 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlo%set.xx&%size10.xx&%size6.x} about this dream will now be %obj3.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %wall3 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlw%set.xx&%size10.xx&%size6.x} about this dream will now be %wall3.
(5:602) memorize that the PhoenixSpeak info {sqlwt%set.xx&%size10.xx&%size6.x} about this dream will now be %wall3t.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(1:201) and variable %wall3e is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlwe%set.xx&%size10.xx&%size6.x} about this dream will now be %wall3e.
(5:602) memorize that the PhoenixSpeak info {sqlwte%set.xx&%size10.xx&%size6.x} about this dream will now be %wall3te.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size8 is more than 1,
(5:304) take variable %size6 and subtract 1 from it.
(5:353) move the position in variable %top southeast (down and right) 1 step(s).
(5:352) move the position in variable %top northeast (up and right) 1 step(s).
(5:352) move the position in variable %bottom northeast (up and right) 1 step(s).
(5:353) move the position in variable %bottom southeast (down and right) 1 step(s).
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(5:380) set variable %flr to the floor type at (%top).
(5:381) set variable %obj to the object type at (%top).
(5:382) set variable %wall to the wall shape at (%top).
(5:383) set variable %wallt to the wall texture at (%top).
(5:384) set variable %tope to the x,y position (%top).
(5:302) take variable %tope.x and add 1 to it.
(5:382) set variable %walle to the wall shape at (%tope).
(5:383) set variable %wallte to the wall texture at (%tope).
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(1:201) and variable %flr is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlf%set.xx&%size8.xx&%size6.x} about this dream will now be %flr.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(1:201) and variable %obj is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlo%set.xx&%size8.xx&%size6.x} about this dream will now be %obj.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(1:201) and variable %wall is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlw%set.xx&%size8.xx&%size6.x} about this dream will now be %wall.
(5:602) memorize that the PhoenixSpeak info {sqlwt%set.xx&%size8.xx&%size6.x} about this dream will now be %wallt.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(1:201) and variable %walle is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqlwe%set.xx&%size8.xx&%size6.x} about this dream will now be %walle.
(5:602) memorize that the PhoenixSpeak info {sqlwte%set.xx&%size8.xx&%size6.x} about this dream will now be %wallte.
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(5:304) take variable %size6 and subtract 1 from it.
(5:353) move the position in variable %top southeast (down and right) 1 step(s).
(5:352) move the position in variable %top northeast (up and right) 1 step(s).
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(5:380) set variable %flr2 to the floor type at (%top2).
(5:381) set variable %obj2 to the object type at (%top2).
(5:382) set variable %wall2 to the wall shape at (%top2).
(5:383) set variable %wall2t to the wall texture at (%top2).
(5:384) set variable %top2e to the x,y position (%top2).
(5:302) take variable %top2e.x and add 1 to it.
(5:382) set variable %wall2e to the wall shape at (%top2e).
(5:383) set variable %wall2te to the wall texture at (%top2e).
(5:380) set variable %flr4 to the floor type at (%bottom2).
(5:381) set variable %obj4 to the object type at (%bottom2).
(5:382) set variable %wall4 to the wall shape at (%bottom2).
(5:383) set variable %wall4t to the wall texture at (%bottom2).
(5:384) set variable %bottom2e to the x,y position (%bottom2).
(5:302) take variable %bottom2e.x and add 1 to it.
(5:382) set variable %wall4e to the wall shape at (%bottom2e).
(5:383) set variable %wall4te to the wall texture at (%bottom2e).
(5:301) copy the value of variable %size9 into variable %size11.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %flr2 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqsf%set.xx&%size11.xx&%size7.x} about this dream will now be %flr2.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %obj2 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqso%set.xx&%size11.xx&%size7.x} about this dream will now be %obj2.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %wall2 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqsw%set.xx&%size11.xx&%size7.x} about this dream will now be %wall2.
(5:602) memorize that the PhoenixSpeak info {sqswt%set.xx&%size11.xx&%size7.x} about this dream will now be %wall2t.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %wall2e is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqswe%set.xx&%size11.xx&%size7.x} about this dream will now be %wall2e.
(5:602) memorize that the PhoenixSpeak info {sqswte%set.xx&%size11.xx&%size7.x} about this dream will now be %wall2te.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(5:304) take variable %size11 and subtract 1 from it.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %flr4 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqsf%set.xx&%size11.xx&%size7.x} about this dream will now be %flr4.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %obj4 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqso%set.xx&%size11.xx&%size7.x} about this dream will now be %obj4.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %wall4 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqsw%set.xx&%size11.xx&%size7.x} about this dream will now be %wall4.
(5:602) memorize that the PhoenixSpeak info {sqswt%set.xx&%size11.xx&%size7.x} about this dream will now be %wall4t.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(1:201) and variable %wall4e is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqswe%set.xx&%size11.xx&%size7.x} about this dream will now be %wall4e.
(5:602) memorize that the PhoenixSpeak info {sqswte%set.xx&%size11.xx&%size7.x} about this dream will now be %wall4te.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size9 is more than 1,
(5:304) take variable %size7 and subtract 1 from it.
(5:353) move the position in variable %top2 southeast (down and right) 1 step(s).
(5:352) move the position in variable %top2 northeast (up and right) 1 step(s).
(5:352) move the position in variable %bottom2 northeast (up and right) 1 step(s).
(5:353) move the position in variable %bottom2 southeast (down and right) 1 step(s).
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(5:380) set variable %flr2 to the floor type at (%top2).
(5:381) set variable %obj2 to the object type at (%top2).
(5:382) set variable %wall2 to the wall shape at (%top2).
(5:383) set variable %wall2t to the wall texture at (%top2).
(5:384) set variable %top2e to the x,y position (%top2).
(5:302) take variable %top2e.x and add 1 to it.
(5:382) set variable %wall2e to the wall shape at (%top2e).
(5:383) set variable %wall2te to the wall texture at (%top2e).
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(1:201) and variable %flr2 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqsf%set.xx&%size9.xx&%size7.x} about this dream will now be %flr2.
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(1:201) and variable %obj2 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqso%set.xx&%size9.xx&%size7.x} about this dream will now be %obj2.
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(1:201) and variable %wall2 is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqsw%set.xx&%size9.xx&%size7.x} about this dream will now be %wall2.
(5:602) memorize that the PhoenixSpeak info {sqswt%set.xx&%size9.xx&%size7.x} about this dream will now be %wall2t.
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(1:201) and variable %wall2e is more than 0,
(5:602) memorize that the PhoenixSpeak info {sqswe%set.xx&%size9.xx&%size7.x} about this dream will now be %wall2e.
(5:602) memorize that the PhoenixSpeak info {sqswte%set.xx&%size9.xx&%size7.x} about this dream will now be %wall2te.
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(5:304) take variable %size7 and subtract 1 from it.
(5:353) move the position in variable %top2 southeast (down and right) 1 step(s).
(5:352) move the position in variable %top2 northeast (up and right) 1 step(s).
(0:50) When countdown timer 101 goes off,
(1:200) and variable %size8 is equal to 1,
(1:200) and variable %size6 is equal to 0,
(5:304) take variable %size8 and subtract 1 from it.
(0:50) When countdown timer 102 goes off,
(1:200) and variable %size9 is equal to 1,
(1:200) and variable %size7 is equal to 0,
(5:304) take variable %size9 and subtract 1 from it.
(0:50) When countdown timer 101 goes off,
(1:201) and variable %size2 is more than 0,
(1:202) and variable %recall is less than 1,
(5:50) set countdown timer 101 to go off in 1 seconds.
(0:50) When countdown timer 102 goes off,
(1:201) and variable %size2 is more than 0,
(1:202) and variable %recall is less than 1,
(5:50) set countdown timer 102 to go off in 1 seconds.
(0:100) When 1 seconds have passed, offset by 0,
(1:201) and variable %size2 is more than 0,
(1:200) and variable %size8 is equal to 0,
(1:200) and variable %size9 is equal to 0,
(1:202) and variable %recall is less than 1,
(3:2) at position (%inf) on the map,
(5:201) emit message {Square finished saving for square #%set !} to any furre present.
(5:300) set variable %size2 to the value 0.
(5:300) set variable %flr to the value 0.
(5:300) set variable %obj to the value 0.
(5:300) set variable %wall to the value 0.
(5:300) set variable %wallt to the value 0.
(5:300) set variable %walle to the value 0.
(5:300) set variable %wallte to the value 0.
(5:300) set variable %flr2 to the value 0.
(5:300) set variable %obj2 to the value 0.
(5:300) set variable %wall2 to the value 0.
(5:300) set variable %wall2t to the value 0.
(5:300) set variable %wall2e to the value 0.
(5:300) set variable %wall2te to the value 0.
(5:300) set variable %flr3 to the value 0.
(5:300) set variable %obj3 to the value 0.
(5:300) set variable %wall3 to the value 0.
(5:300) set variable %wall3t to the value 0.
(5:300) set variable %wall3e to the value 0.
(5:300) set variable %wall3te to the value 0.
(5:300) set variable %flr4 to the value 0.
(5:300) set variable %obj4 to the value 0.
(5:300) set variable %wall4 to the value 0.
(5:300) set variable %wall4t to the value 0.
(5:300) set variable %wall4e to the value 0.
(5:300) set variable %wall4te to the value 0.
=Recall Square=
(0:31) When a furre says {!recall},
(1:10) and the triggering furre is the dream owner,
(1:202) and variable %size2 is less than 1,
(1:622) and the PhoenixSpeak info {sql%set} about this dream is more than 1,
(5:300) set variable %recall to the value 1.
(5:350) set variable %inf to the X,Y position the triggering furre (moved from/is standing at).
(5:612) remember the PhoenixSpeak info {sql%set} about this dream, and put it in variable %size.
(5:301) copy the value of variable %size into variable %size2.
(5:200) emit message {Loading a %size x %size square for square #%set, please wait..} to the triggering furre.
(5:304) take variable %size and subtract 1 from it.
(5:301) copy the value of variable %size into variable %size3.
(5:350) set variable %top to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %bottom to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %top2 to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %bottom2 to the X,Y position the triggering furre (moved from/is standing at).
(5:355) move the position in variable %top northwest (up and left) %size step(s).
(5:354) move the position in variable %bottom southwest (down and left) %size step(s).
(5:304) take variable %size and subtract 1 from it.
(5:355) move the position in variable %top2 northwest (up and left) %size step(s).
(5:354) move the position in variable %bottom2 southwest (down and left) %size step(s).
(5:301) copy the value of variable %size2 into variable %size10.
(5:301) copy the value of variable %size3 into variable %size11.
(5:301) copy the value of variable %size2 into variable %size12.
(5:301) copy the value of variable %size3 into variable %size13.
(5:50) set countdown timer 103 to go off in 1 seconds.
(5:50) set countdown timer 104 to go off in 1 seconds.
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:200) and variable %size10 is equal to 0,
(5:304) take variable %size12 and subtract 2 from it.
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:200) and variable %size11 is equal to 0,
(5:304) take variable %size13 and subtract 2 from it.
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 0,
(1:200) and variable %size10 is equal to 0,
(5:301) copy the value of variable %size2 into variable %size10.
(5:354) move the position in variable %top southwest (down and left) %size10 step(s).
(5:355) move the position in variable %top northwest (up and left) %size10 step(s).
(5:353) move the position in variable %top southeast (down and right) 1 step(s).
(5:354) move the position in variable %top southwest (down and left) 1 step(s).
(5:355) move the position in variable %bottom northwest (up and left) %size10 step(s).
(5:354) move the position in variable %bottom southwest (down and left) %size10 step(s).
(5:352) move the position in variable %bottom northeast (up and right) 1 step(s).
(5:355) move the position in variable %bottom northwest (up and left) 1 step(s).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 0,
(1:200) and variable %size11 is equal to 0,
(5:301) copy the value of variable %size3 into variable %size11.
(5:354) move the position in variable %top2 southwest (down and left) %size11 step(s).
(5:355) move the position in variable %top2 northwest (up and left) %size11 step(s).
(5:353) move the position in variable %top2 southeast (down and right) 1 step(s).
(5:354) move the position in variable %top2 southwest (down and left) 1 step(s).
(5:355) move the position in variable %bottom2 northwest (up and left) %size11 step(s).
(5:354) move the position in variable %bottom2 southwest (down and left) %size11 step(s).
(5:352) move the position in variable %bottom2 northeast (up and right) 1 step(s).
(5:355) move the position in variable %bottom2 northwest (up and left) 1 step(s).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(5:301) copy the value of variable %size12 into variable %size14.
(5:612) remember the PhoenixSpeak info {sqlf%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %flr.
(5:612) remember the PhoenixSpeak info {sqlo%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %obj.
(5:612) remember the PhoenixSpeak info {sqlw%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wall.
(5:612) remember the PhoenixSpeak info {sqlwt%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wallt.
(5:612) remember the PhoenixSpeak info {sqlwe%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %walle.
(5:612) remember the PhoenixSpeak info {sqlwte%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wallte.
(5:304) take variable %size14 and subtract 1 from it.
(5:612) remember the PhoenixSpeak info {sqlf%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %flr3.
(5:612) remember the PhoenixSpeak info {sqlo%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %obj3.
(5:612) remember the PhoenixSpeak info {sqlw%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wall3.
(5:612) remember the PhoenixSpeak info {sqlwt%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wall3t.
(5:612) remember the PhoenixSpeak info {sqlwe%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wall3e.
(5:612) remember the PhoenixSpeak info {sqlwte%set.xx&%size14.xx&%size10.x} about this dream, and put it in variable %wall3te.
(5:304) take variable %size10 and subtract 1 from it.
(5:40) set the floor to type %flr at (%top).
(5:41) place object type %obj at (%top).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:201) and variable %wall is more than 0,
(5:65) place wall shape %wall with texture %wallt at (%top).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:201) and variable %walle is more than 0,
(5:384) set variable %tope to the x,y position (%top).
(5:302) take variable %tope.x and add 1 to it.
(5:65) place wall shape %walle with texture %wallte at (%tope).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:202) and variable %wall is less than 1,
(1:202) and variable %walle is less than 1,
(5:63) place wall shape 0 at (%top).
(5:384) set variable %tope to the x,y position (%top).
(5:302) take variable %tope.x and add 1 to it.
(5:63) place wall shape 0 at (%tope).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:201) and variable %wall3 is more than 0,
(5:65) place wall shape %wall3 with texture %wall3t at (%bottom).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:201) and variable %wall3e is more than 0,
(5:384) set variable %bottome to the x,y position (%bottom).
(5:302) take variable %bottome.x and add 1 to it.
(5:65) place wall shape %wall3e with texture %wall3te at (%bottome).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(1:202) and variable %wall3 is less than 1,
(1:202) and variable %wall3e is less than 1,
(5:63) place wall shape 0 at (%bottom).
(5:384) set variable %bottome to the x,y position (%bottom).
(5:302) take variable %bottome.x and add 1 to it.
(5:63) place wall shape 0 at (%bottome).
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size12 is more than 1,
(5:40) set the floor to type %flr3 at (%bottom).
(5:41) place object type %obj3 at (%bottom).
(5:300) set variable %flr to the value 0.
(5:300) set variable %obj to the value 0.
(5:300) set variable %wall to the value 0.
(5:300) set variable %wallt to the value 0.
(5:300) set variable %walle to the value 0.
(5:300) set variable %wallte to the value 0.
(5:300) set variable %flr3 to the value 0.
(5:300) set variable %obj3 to the value 0.
(5:300) set variable %wall3 to the value 0.
(5:300) set variable %wall3t to the value 0.
(5:300) set variable %wall3e to the value 0.
(5:300) set variable %wall3te to the value 0.
(5:353) move the position in variable %top southeast (down and right) 1 step(s).
(5:352) move the position in variable %top northeast (up and right) 1 step(s).
(5:352) move the position in variable %bottom northeast (up and right) 1 step(s).
(5:353) move the position in variable %bottom southeast (down and right) 1 step(s).
(0:50) When countdown timer 103 goes off,
(1:200) and variable %size12 is equal to 1,
(5:612) remember the PhoenixSpeak info {sqlf%set.xx&%size12.xx&%size10.x} about this dream, and put it in variable %flr.
(5:612) remember the PhoenixSpeak info {sqlo%set.xx&%size12.xx&%size10.x} about this dream, and put it in variable %obj.
(5:612) remember the PhoenixSpeak info {sqlw%set.xx&%size12.xx&%size10.x} about this dream, and put it in variable %wall.
(5:612) remember the PhoenixSpeak info {sqlwt%set.xx&%size12.xx&%size10.x} about this dream, and put it in variable %wallt.
(5:612) remember the PhoenixSpeak info {sqlwe%set.xx&%size12.xx&%size10.x} about this dream, and put it in variable %walle.
(5:612) remember the PhoenixSpeak info {sqlwte%set.xx&%size12.xx&%size10.x} about this dream, and put it in variable %wallte.
(5:304) take variable %size10 and subtract 1 from it.
(5:40) set the floor to type %flr at (%top).
(5:41) place object type %obj at (%top).
(0:50) When countdown timer 103 goes off,
(1:200) and variable %size12 is equal to 1,
(1:201) and variable %wall is more than 0,
(5:65) place wall shape %wall with texture %wallt at (%top).
(0:50) When countdown timer 103 goes off,
(1:200) and variable %size12 is equal to 1,
(1:201) and variable %walle is more than 0,
(5:384) set variable %tope to the x,y position (%top).
(5:302) take variable %tope.x and add 1 to it.
(5:65) place wall shape %walle with texture %wallte at (%tope).
(0:50) When countdown timer 103 goes off,
(1:200) and variable %size12 is equal to 1,
(1:202) and variable %wall is less than 1,
(1:202) and variable %walle is less than 1,
(5:63) place wall shape 0 at (%top).
(5:384) set variable %tope to the x,y position (%top).
(5:302) take variable %tope.x and add 1 to it.
(5:63) place wall shape 0 at (%tope).
(0:50) When countdown timer 103 goes off,
(1:200) and variable %size12 is equal to 1,
(5:300) set variable %flr to the value 0.
(5:300) set variable %obj to the value 0.
(5:300) set variable %wall to the value 0.
(5:300) set variable %wallt to the value 0.
(5:300) set variable %walle to the value 0.
(5:300) set variable %wallte to the value 0.
(5:353) move the position in variable %top southeast (down and right) 1 step(s).
(5:352) move the position in variable %top northeast (up and right) 1 step(s).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(5:301) copy the value of variable %size13 into variable %size15.
(5:612) remember the PhoenixSpeak info {sqsf%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %flr2.
(5:612) remember the PhoenixSpeak info {sqso%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %obj2.
(5:612) remember the PhoenixSpeak info {sqsw%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall2.
(5:612) remember the PhoenixSpeak info {sqswt%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall2t.
(5:612) remember the PhoenixSpeak info {sqswe%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall2e.
(5:612) remember the PhoenixSpeak info {sqswte%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall2te.
(5:304) take variable %size15 and subtract 1 from it.
(5:612) remember the PhoenixSpeak info {sqsf%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %flr4.
(5:612) remember the PhoenixSpeak info {sqso%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %obj4.
(5:612) remember the PhoenixSpeak info {sqsw%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall4.
(5:612) remember the PhoenixSpeak info {sqswt%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall4t.
(5:612) remember the PhoenixSpeak info {sqswe%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall4e.
(5:612) remember the PhoenixSpeak info {sqswte%set.xx&%size15.xx&%size11.x} about this dream, and put it in variable %wall4te.
(5:304) take variable %size11 and subtract 1 from it.
(5:40) set the floor to type %flr2 at (%top2).
(5:41) place object type %obj2 at (%top2).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:201) and variable %wall2 is more than 0,
(5:65) place wall shape %wall2 with texture %wall2t at (%top2).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:201) and variable %wall2e is more than 0,
(5:384) set variable %top2e to the x,y position (%top2).
(5:302) take variable %top2e.x and add 1 to it.
(5:65) place wall shape %wall2e with texture %wall2te at (%top2e).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:202) and variable %wall2 is less than 1,
(1:202) and variable %wall2e is less than 1,
(5:63) place wall shape 0 at (%top2).
(5:384) set variable %top2e to the x,y position (%top2).
(5:302) take variable %top2e.x and add 1 to it.
(5:63) place wall shape 0 at (%top2e).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:201) and variable %wall4 is more than 0,
(5:65) place wall shape %wall4 with texture %wall4t at (%bottom2).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:201) and variable %wall4e is more than 0,
(5:384) set variable %bottom2e to the x,y position (%bottom2).
(5:302) take variable %bottom2e.x and add 1 to it.
(5:65) place wall shape %wall4e with texture %wall4te at (%bottom2e).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(1:202) and variable %wall4 is less than 1,
(1:202) and variable %wall4e is less than 1,
(5:63) place wall shape 0 at (%top4).
(5:384) set variable %top4e to the x,y position (%top4).
(5:302) take variable %top4e.x and add 1 to it.
(5:63) place wall shape 0 at (%top4e).
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size13 is more than 1,
(5:40) set the floor to type %flr4 at (%bottom2).
(5:41) place object type %obj4 at (%bottom2).
(5:300) set variable %flr2 to the value 0.
(5:300) set variable %obj2 to the value 0.
(5:300) set variable %wall2 to the value 0.
(5:300) set variable %wall2t to the value 0.
(5:300) set variable %wall2e to the value 0.
(5:300) set variable %wall2te to the value 0.
(5:300) set variable %flr4 to the value 0.
(5:300) set variable %obj4 to the value 0.
(5:300) set variable %wall4 to the value 0.
(5:300) set variable %wall4t to the value 0.
(5:300) set variable %wall4e to the value 0.
(5:300) set variable %wall4te to the value 0.
(5:353) move the position in variable %top2 southeast (down and right) 1 step(s).
(5:352) move the position in variable %top2 northeast (up and right) 1 step(s).
(5:352) move the position in variable %bottom2 northeast (up and right) 1 step(s).
(5:353) move the position in variable %bottom2 southeast (down and right) 1 step(s).
(0:50) When countdown timer 104 goes off,
(1:200) and variable %size13 is equal to 1,
(5:612) remember the PhoenixSpeak info {sqsf%set.xx&%size13.xx&%size11.x} about this dream, and put it in variable %flr2.
(5:612) remember the PhoenixSpeak info {sqso%set.xx&%size13.xx&%size11.x} about this dream, and put it in variable %obj2.
(5:612) remember the PhoenixSpeak info {sqsw%set.xx&%size13.xx&%size11.x} about this dream, and put it in variable %wall2.
(5:612) remember the PhoenixSpeak info {sqswt%set.xx&%size13.xx&%size11.x} about this dream, and put it in variable %wall2t.
(5:612) remember the PhoenixSpeak info {sqswe%set.xx&%size13.xx&%size11.x} about this dream, and put it in variable %wall2e.
(5:612) remember the PhoenixSpeak info {sqswte%set.xx&%size13.xx&%size11.x} about this dream, and put it in variable %wall2te.
(5:304) take variable %size11 and subtract 1 from it.
(5:40) set the floor to type %flr2 at (%top2).
(5:41) place object type %obj2 at (%top2).
(0:50) When countdown timer 104 goes off,
(1:200) and variable %size13 is equal to 1,
(1:201) and variable %wall2 is more than 0,
(5:65) place wall shape %wall2 with texture %wall2t at (%top2).
(0:50) When countdown timer 104 goes off,
(1:200) and variable %size13 is equal to 1,
(1:201) and variable %wall2e is more than 0,
(5:384) set variable %top2e to the x,y position (%top2).
(5:302) take variable %top2e.x and add 1 to it.
(5:65) place wall shape %wall2e with texture %wall2te at (%top2e).
(0:50) When countdown timer 104 goes off,
(1:200) and variable %size13 is equal to 1,
(1:202) and variable %wall2 is less than 1,
(1:202) and variable %wall2e is less than 1,
(5:63) place wall shape 0 at (%top2).
(5:384) set variable %top2e to the x,y position (%top2).
(5:302) take variable %top2e.x and add 1 to it.
(5:63) place wall shape 0 at (%top2e).
(0:50) When countdown timer 104 goes off,
(1:200) and variable %size13 is equal to 1,
(5:300) set variable %flr2 to the value 0.
(5:300) set variable %obj2 to the value 0.
(5:300) set variable %wall2 to the value 0.
(5:300) set variable %wall2t to the value 0.
(5:300) set variable %wall2e to the value 0.
(5:300) set variable %wall2te to the value 0.
(5:353) move the position in variable %top2 southeast (down and right) 1 step(s).
(5:352) move the position in variable %top2 northeast (up and right) 1 step(s).
(0:50) When countdown timer 103 goes off,
(1:200) and variable %size12 is equal to 1,
(1:200) and variable %size10 is equal to 0,
(5:304) take variable %size12 and subtract 1 from it.
(0:50) When countdown timer 104 goes off,
(1:200) and variable %size13 is equal to 1,
(1:200) and variable %size11 is equal to 0,
(5:304) take variable %size13 and subtract 1 from it.
(0:50) When countdown timer 103 goes off,
(1:201) and variable %size2 is more than 0,
(1:200) and variable %recall is equal to 1,
(5:50) set countdown timer 103 to go off in 1 seconds.
(0:50) When countdown timer 104 goes off,
(1:201) and variable %size2 is more than 0,
(1:200) and variable %recall is equal to 1,
(5:50) set countdown timer 104 to go off in 1 seconds.
(0:100) When 1 seconds have passed, offset by 0,
(1:201) and variable %size2 is more than 0,
(1:200) and variable %size12 is equal to 0,
(1:200) and variable %size13 is equal to 0,
(1:200) and variable %recall is equal to 1,
(3:2) at position (%inf) on the map,
(5:201) emit message {Square finished recalling for square #%set !} to any furre present.
(5:300) set variable %size2 to the value 0.
(5:300) set variable %recall to the value 0.
(5:300) set variable %flr to the value 0.
(5:300) set variable %obj to the value 0.
(5:300) set variable %wall to the value 0.
(5:300) set variable %wallt to the value 0.
(5:300) set variable %walle to the value 0.
(5:300) set variable %wallte to the value 0.
(5:300) set variable %flr2 to the value 0.
(5:300) set variable %obj2 to the value 0.
(5:300) set variable %wall2 to the value 0.
(5:300) set variable %wall2t to the value 0.
(5:300) set variable %wall2e to the value 0.
(5:300) set variable %wall2te to the value 0.
(5:300) set variable %flr3 to the value 0.
(5:300) set variable %obj3 to the value 0.
(5:300) set variable %wall3 to the value 0.
(5:300) set variable %wall3t to the value 0.
(5:300) set variable %wall3e to the value 0.
(5:300) set variable %wall3te to the value 0.
(5:300) set variable %flr4 to the value 0.
(5:300) set variable %obj4 to the value 0.
(5:300) set variable %wall4 to the value 0.
(5:300) set variable %wall4t to the value 0.
(5:300) set variable %wall4e to the value 0.
(5:300) set variable %wall4te to the value 0.
I hope you enjoy this ds and if you would like to change the command prefix from ! to something else, use the ds editor and click on the edit tab, then select replace from the drop down menu and place {! into the first blank and { with the command prefix you would prefer after it in the second blank. Then click replace all to make the changes. Make sure to have case sensitive unchecked and forward selected. Also have your typing cursor at the top of the script in order to catch all the command lines on the way down.
Originally requested by Nashoba-Le
Summary: A simple yet effective ds that will add sounds to both normal chat and emotes and differs for both the posting furre and the viewing furres who hear/see the post. It also avoids making sounds when the silent prefix is used.
*Messenger Stylized Chatting Sounds*
~By Darvon Mitsumura~
*Target Poster*
(0:36) When a furre says or emotes anything,
(5:350) set variable %chat to the X,Y position the triggering furre (moved from/is standing at).
(5:381) set variable %chat2 to the object type at (%chat).
(3:7) whereever the triggering furre was at when the trigger activated,
(5:4) place object type 66.
*Command Prefix for No Sound (Change to current silent prefix)*
(0:32) When a furre says something with {!} in it,
(5:350) set variable %nosound to the X,Y position the triggering furre (moved from/is standing at).
*Viewer Sounds (Change sounds if desired)*
(0:30) When a furre says anything,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%nosound),
(3:9) everyplace that can be seen from (%chat),
(4:4) only where there is no object type 66,
(5:9) play sound 20 to any furre present.
(0:33) When a furre poses/emotes anything,
(3:9) everyplace that can be seen from (%chat),
(4:4) only where there is no object type 66,
(5:9) play sound 25 to any furre present.
*Poster Sounds (Change sounds if desired)*
(0:30) When a furre says anything,
(1:119) and the triggering furre (didn't move from/isn't standing at) position (%nosound),
(5:8) play sound 28 to the triggering furre.
(0:33) When a furre poses/emotes anything,
(5:8) play sound 24 to the triggering furre.
*Quick Clear*
(0:36) When a furre says or emotes anything,
(3:7) whereever the triggering furre was at when the trigger activated,
(5:4) place object type %chat2.
(5:300) set variable %nosound to the value 0.
Hope you all have fun with it :D