Welcome Guest ( Log In | Register )

Furcadia - The Second Dreaming!!
 
Closed TopicStart new topic
> Frequently Asked Dragonspeak Codes, Cuffing DS, for Example
Cameo
post Feb 20 2004, 07:03 PM
Post #1
Group: Furres

Cameo

The following thread is designated as a resource for those players who are seeking DragonSpeak assistance. More often than not, various players unknowingly post the same question throughout the span of a few weeks; this resource archive serves as a reference, which will hopefully both minimize the repetitive threads and make demanded snippets of DragonSpeak a lot quicker to find for those who are drastically searching.

This thread will continually be updated with frequently-asked tutorials by Carrie O’Kaye. Thanks to those who have contributed! Remember that if you use a code, you MUST credit the authors -- it is not optional, it is MANDATORY.

Mason Beekin's KnowledgeBase

DragonSpeak Codes Index
- Cuff DS
- F3-Activated Cart Ride
- Go To Jail
- Gun DS
- Furre Pushing or Pulling Furre
- Object and Floor Making
- Removing Item that Leaving Furre was Carrying
- Multiple Wandering Non-Player Characters (using Map)
- Furre Dragging Object
- Dream Statistics
- Blocking Furre Prevention
- Train
- Floor Cycling (and Object Cycling)
- Following Pet
- Furre Hopping
- Turn-Activated Seat Ride

Go to the top of the page
 
+Quote Post
Cameo
post Feb 20 2004, 07:05 PM
Post #2
Group: Furres

Cameo

CUFF DS
Written by Carrie O'Kaye, Darkhorse Pterid and Graphite

Function:
One Furre, by the name of Captor, will be able to capture another Furre (the captive) and drag him around the map.
To activate the function, Captor says, "cuff."
To deactivate the function, Captor says, "uncuff."
To capture a captive, Captor bumps into a Furre.
QUOTE
(0:0) When everything is starting up,
   (5:300) set variable %dreamStarted to the value 0
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %dreamStarted is equal to 0,
   (5:300) set variable %dreamStarted to the value 1
   (5:300) set variable %cuff to the value 0

* When Captor says 'cuff', then enable the trapping mode.
(0:31) When a furre says {cuff},
 (1:70) and their name is {Captor},
 (1:200) and variable %cuff is equal to 0,
          (5:300) set variable %cuff to the value 1.

* When Captor walks into a furre while trapping mode is active, then 'cuff' the furre.
(0:1) Whenever somebody moves,
 (1:70) and their name is {Captor},
 (1:4) and they bump into a furre,
 (1:200) and variable %cuff is equal to 1,
          (5:350) set variable %captorPos to the X,Y position the triggering furre (moved from/is standing at).
          (5:351) set variable %captivePos to the X,Y position the triggering furre moved to.

* When the captor says 'uncuff' and we're currently 'cuffing' someone, then release this furre.
(0:31) When a furre says {uncuff},
 (1:70) and their name is {Captor},
 (1:200) and variable %cuff is equal to 1,
          (5:300) set variable %captorPos to the value 0.
          (5:300) set variable %captivePos to the value 0.
          (5:300) set variable %cuff to the value 0.

* When the captive tries to move, move him back to where he came from
(0:1) Whenever somebody moves,
(1:19) and they (moved from/are standing at) position (%captivePos),
 (1:200) and variable %cuff is equal to 1,
          (5:18) move the triggering furre back where they came from.

* When the captor moves succesfully, move the captive into the space he just left.
(0:1) Whenever somebody moves,
 (1:5) and they successfully moved,
 (1:19) and they (moved from/are standing at) position (%captorPos),
 (1:200) and variable %cuff is equal to 1,
          (5:351) set variable %captorPos to the X,Y position the triggering furre moved to.
   (3:2) at position (%captivePos) on the map,
          (5:350) set variable %captivePos to the X,Y position the triggering furre (moved from/is standing at).
          (5:16) move any furre present to (%captivePos) if there's nobody already there.




This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Cameo
post Feb 23 2004, 12:02 PM
Post #3
Group: Furres

Cameo

F3-ACTIVATED CART RIDE
Written by Graphite

Function:
Sit on a cart and press F3 to move the cart forward.
The cart's motion is restricted within floor 32 (wooden floor).
The cart is "passed on" to another Furre if the cart-rider bumps into another Furre.
QUOTE
(0:3) When somebody moves into object type 619,
(5:92) turn the triggering furre to face southwest.

(0:3) When somebody moves into object type 618,
(5:91) turn the triggering furre to face southeast.

(0:4) When a furre turns,
(3:5) where the triggering furre (moved from/is standing at),
(5:6) swap object types 619 and 618.

(0:19) When somebody uses object type 0,
(1:18) and they (moved from/are standing at) object type 619,
(1:13) and the triggering furre is facing northeast (up and right),
(1:40) and 1 step(s) northeast (up and right) from the triggering furre is floor 32,
(1:50) and 1 step(s) northeast (up and right) from the triggering furre is object 0,
(3:50) 1 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
(5:4) place object type 619.
(3:5) where the triggering furre (moved from/is standing at),
(5:4) place object type 0.
(5:80) move any furre present 1 step(s) northeast (up and right) if there's nobody already there.

(0:19) When somebody uses object type 0,
(1:18) and they (moved from/are standing at) object type 619,
(1:15) and the triggering furre is facing southwest (down and left),
(1:42) and 1 step(s) southwest (down and left) from the triggering furre is floor 32,
(1:52) and 1 step(s) southwest (down and left) from the triggering furre is object 0,
(3:52) 1 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
(5:4) place object type 619.
(3:5) where the triggering furre (moved from/is standing at),
(5:4) place object type 0.
(5:82) move any furre present 1 step(s) southwest (down and left) if there's nobody already there.

(0:19) When somebody uses object type 0,
(1:18) and they (moved from/are standing at) object type 618,
(1:14) and the triggering furre is facing southeast (down and right),
(1:41) and 1 step(s) southeast (down and right) from the triggering furre is floor 32,
(1:51) and 1 step(s) southeast (down and right) from the triggering furre is object 0,
(3:51) 1 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
(5:4) place object type 618.
(3:5) where the triggering furre (moved from/is standing at),
(5:4) place object type 0.
(5:81) move any furre present 1 step(s) southeast (down and right) if there's nobody already there.

(0:19) When somebody uses object type 0,
(1:18) and they (moved from/are standing at) object type 618,
(1:16) and the triggering furre is facing northwest (up and left),
(1:43) and 1 step(s) northwest (up and left) from the triggering furre is floor 32,
(1:53) and 1 step(s) northwest (up and left) from the triggering furre is object 0,
(3:53) 1 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
(5:4) place object type 618.
(3:5) where the triggering furre (moved from/is standing at),
(5:4) place object type 0.
(5:83) move any furre present 1 step(s) northwest (up and left) if there's nobody already there.




This post has been edited by Carrie O\'Kaye: Nov 29 2004, 12:21 AM
Go to the top of the page
 
+Quote Post
Cameo
post Feb 24 2004, 10:45 AM
Post #4
Group: Furres

Cameo

GO TO JAIL
Written by Carrie O'Kaye

Function:
One Furre, by the name of Captor, will be able to send any Furre that he bumps into to a detention area (location (8,9)).
To activate the function, Captor says, "Punisher on".
To deactivate the function, Captor says, "Punisher off".
QUOTE
0:31) When a furre says {Punisher on},
(1:70) and their name is {Captor},
   (5:300) set variable %punishMode to the value 1

(0:31) When a furre says {Punisher off},
(1:70) and their name is {Captor},
   (5:300) set variable %punishMode to the value 0

(0:1) Whenever somebody moves,
(1:70) and their name is {Captor},
(1:200) and variable %punishMode is equal to 1,
(1:4) and they bump into a furre,
 (3:6) where the triggering furre moved into,
   (5:201) emit message {Go directly to jail. Do not pass "Go". Do not collect $200.} to any furre present
   (5:17) move any furre present to (8,9), or to someplace nearby if it's occupied




This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Cameo
post Feb 24 2004, 12:14 PM
Post #5
Group: Furres

Cameo

GUN DS
Provided by DarkHorse Pterid

Function:
When a furre uses a 'gun' object, a 'bullet' object fires out quickly up to 4 spaces away. Any furre standing in the path is sent to a specific 'jail' position.

The object numbers of the gun and bullet, and the position of the jail, should be substituted into the bold bits. The range of the bullet can be changed by adding/removing sections after each trigger.
QUOTE
(0:19) When somebody uses object type Gun,
  (1:13) and the triggering furre is facing northeast (up and right),
     (3:50) 1 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:50) 2 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:50) 3 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:50) 4 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
           (5:1000) redraw the screen and show everything that's just changed.

(0:19) When somebody uses object type Gun,
  (1:14) and the triggering furre is facing southeast (down and right),
     (3:51) 1 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:51) 2 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:51) 3 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:51) 4 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
           (5:1000) redraw the screen and show everything that's just changed.

(0:19) When somebody uses object type Gun,
  (1:15) and the triggering furre is facing southwest (down and left),
     (3:52) 1 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:52) 2 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:52) 3 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:52) 4 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
           (5:1000) redraw the screen and show everything that's just changed.


(0:19) When somebody uses object type Gun,
  (1:16) and the triggering furre is facing northwest (up and left),
     (3:53) 1 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:53) 2 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:53) 3 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
     (3:53) 4 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
           (5:5) change object type 0 to type Bullet.
           (5:16) move any furre present to (#,#) if there's nobody already there.
           (5:1000) redraw the screen and show everything that's just changed.
           (5:5) change object type Bullet to type 0.
           (5:1000) redraw the screen and show everything that's just changed.




This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Mar 23 2004, 09:48 PM
Post #6
Group: Furres

Carrie O'Kaye

FURRE PUSHING or PULLING FURRE
Written by smartguy362

Function:
A Furre can push another Furre away by Nth step.  "push #"
A Furre can pull another Furre, who is Nth step away, toward him.  "pull #"

Pushing
QUOTE
***NorthEast***
(0:32) When a furre says something with {push} 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:314) set variable %push to the number the triggering furre just said.
    (3:50) 1 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
          (5:80) move any furre present %push step(s) northeast (up and right) if there's nobody already there.
***SouthEast***
(0:32) When a furre says something with {push} 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:314) set variable %push to the number the triggering furre just said.
    (3:51) 1 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
          (5:81) move any furre present %push step(s) southeast if there's nobody already there.
***SouthWest***
(0:32) When a furre says something with {push} 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:314) set variable %push to the number the triggering furre just said.
    (3:52) 1 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
          (5:82) move any furre present %push step(s) southwest if there's nobody already there.
***NorthWest***
(0:32) When a furre says something with {push} 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:314) set variable %push to the number the triggering furre just said.
    (3:53) 1 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
          (5:83) move any furre present %push step(s) northwest if there's nobody already there.

Pulling
QUOTE
***NorthEast***
(0:32) When a furre says something with {pull} 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),
    (3:7) where the triggering furre is currently at,
          (5:82) move any furre present 1 step(s) southwest (down and left) if there's nobody already there.
(0:32) When a furre says something with {pull} 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:314) set variable %pull to the number the triggering furre just said.
    (3:50) %pull step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
          (5:82) move any furre present %pull step(s) southwest if there's nobody already there.
***SouthEast***
(0:32) When a furre says something with {pull} 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),
    (3:7) where the triggering furre is currently at,
          (5:83) move any furre present 1 step(s) northwest (up and left) if there's nobody already there.
(0:32) When a furre says something with {pull} 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:314) set variable %pull to the number the triggering furre just said.
    (3:51) %pull step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
          (5:83) move any furre present %pull step(s) northwest if there's nobody already there.
***SouthWest***
(0:32) When a furre says something with {pull} 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),
    (3:7) where the triggering furre is currently at,
          (5:80) move any furre present 1 step(s) northeast (up and right) if there's nobody already there.
(0:32) When a furre says something with {pull} 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:314) set variable %pull to the number the triggering furre just said.
    (3:52) %pull step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
          (5:80) move any furre present %pull step(s) northeast (up and right) if there's nobody already there.
***NorthWest***
(0:32) When a furre says something with {pull} 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),
    (3:7) where the triggering furre is currently at,
          (5:81) move any furre present 1 step(s) southeast (down and right) if there's nobody already there.
(0:32) When a furre says something with {pull} 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:314) set variable %pull to the number the triggering furre just said.
    (3:53) %pull step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
          (5:81) move any furre present %pull step(s) southeast if there's nobody already there.




This post has been edited by Carrie O\'Kaye: Nov 9 2004, 10:15 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Apr 8 2004, 12:59 AM
Post #7
Group: Furres

Carrie O'Kaye

OBJECT AND FLOOR MAKING
Written by Dreamless Dancer

Purpose:
To allow either the owner of a dream, and/or any shared furres, the ability to design rooms together in a dream so that several people can come together and decide on a design of a section of the dream. Also useful for looking at how various things look from your patch too.  sb.gif

The code uses several commands and 'flags' (literally, object 65 is the flag) to control the code, it can be turned off, set so that only the owner can make stuff, or that both the owner and any shared friends can use it.

Commands:
stop that clears the flags and inhibits the creation of floors / objects.
enable make owner allows the owner of the dream to make stuff.
enable make share allows shared furre's to participate in the fun.
makeitem object creates an object directly in front the triggering furre.
makeitem floor creates a floor directly in front the triggering furre.
Note that we are now using dual keywords for the code, parts of the code rely on both words, other parts just the makeitem trigger word. The flag I call MakeWhat governs whether or not something does get created at the end of the chunk.

Additional notes:
It is NOT necessary to use variables for the positions of the flag object, I use it here for two reasons;
1) to clearly indicate what flag the code is checking down in the actual placing part.
2) because I use a lot of flags and it's handy for me to reference a flag by name rather than have to keep notes and or scroll about trying to remember the position I used for what.
QUOTE
* // begin startup code

(0:0) When everything is starting up,
  (5:300) set variable %DreamReset to the value 0.

(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %DreamReset is equal to 0.
  (5:300) set variable %DreamReset to the value 1.
  (5:300) set variable %OwnerMakeEnable.x to the value 0.
  (5:300) set variable %OwnerMakeEnable.y to the value 0.
  (5:300) set variable %ShareMakeEnable.x to the value 0.
  (5:300) set variable %ShareMakeEnable.y to the value 1.
  (5:300) set variable %MakeWhat.x to the value 0.
  (5:300) set variable %MakeWhat.y to the value 2.

* // end startup code

* // begin lock code

(0:31) When a furre says {enable make owner},
(1:10) and the triggering furre is the dream owner,
  (5:41) place object type 65 at (%OwnerMakeEnable).
  (5:41) place object type 0 at (%ShareMakeEnable).

(0:31) When a furre says {enable make share},
(1:10) and the triggering furre is the dream owner,
  (5:41) place object type 65 at (%OwnerMakeEnable).
  (5:41) place object type 65 at (%ShareMakeEnable).

(0:31) When a furre says {stop that},
(1:10) and the triggering furre is the dream owner,
  (5:41) place object type 0 at (%OwnerMakeEnable).
  (5:41) place object type 0 at (%ShareMakeEnable).

* // end lock code

* // begin make stuff
* // this creates an object or floor of the specified type directly in front the triggerer
* // first step is getting the triggering furre's position and the number which they uttered

(0:32) When a furre says something with {makeitem object} in it,
  (5:314) set variable %WhichObject to the number the triggering furre just said.
  (5:350) set variable %MakeItWhere to the X,Y position the triggering furre (moved from/is standing at).
  (5:41) place object type 65 at (%MakeWhat).

(0:32) When a furre says something with {makeitem floor} in it,
  (5:314) set variable %WhichFloor to the number the triggering furre just said.
  (5:350) set variable %MakeItWhere to the X,Y position the triggering furre (moved from/is standing at).
  (5:41) place object type 65 at (%MakeWhat).

* // we then move that position one step in the direction the furre is facing

(0:32) When a furre says something with {makeitem} in it,
(1:13) and the triggering furre is facing northeast (up and right),
  (5:352) move the position in variable %MakeItWhere northeast (up and right) 1 step(s).

(0:32) When a furre says something with {makeitem} in it,
(1:14) and the triggering furre is facing southeast (down and right),
  (5:353) move the position in variable %MakeItWhere southeast (down and right) 1 step(s).

(0:32) When a furre says something with {makeitem} in it,
(1:15) and the triggering furre is facing southwest (down and left),
  (5:354) move the position in variable %MakeItWhere southwest (down and left) 1 step(s).

(0:32) When a furre says something with {makeitem} in it,
(1:16) and the triggering furre is facing northwest (up and left),
  (5:355) move the position in variable %MakeItWhere northwest (up and left) 1 step(s).

* // Now we get funky and do more code saving tricks, we get the current object / floor
* // depending on which command we're using

* // making object, get floor
(0:32) When a furre says something with {makeitem object} in it,
   (5:380) set variable %WhichFloor to the floor type at (%MakeItWhere).

* // making floor, get object
(0:32) When a furre says something with {makeitem floor} in it,
   (5:381) set variable %WhichObject to the object type at (%MakeItWhere).

* // Now we bother with the flags and see if the object gets placed.
* // You can leave the emit out if you don't need or want it.
* // As mentioned above, here is where the variable positions are used for the flags.

(0:32) When a furre says something with {makeitem} in it,
(1:11) and the triggering furre has got shared control (or is the dream owner),
(1:1013) and position (%OwnerMakeEnable) is object type 65,
(1:1013) and position (%ShareMakeEnable) is object type 65,
(1:1013) and position (%MakeWhat) is object type 65,
  (5:41) place object type %WhichObject at (%MakeItWhere).
  (5:40) set the floor to type %WhichFloor at (%MakeItWhere).
  (5:200) emit message {Placed object %WhichObject and floor %WhichFloor at %MakeItWhere.x, %MakeItWhere.y } to whoever set off the trigger.

(0:32) When a furre says something with {makeitem} in it,
(1:10) and the triggering furre is the dream owner,
(1:1013) and position (%OwnerMakeEnable) is object type 65,
(1:1013) and position (%ShareMakeEnable) is object type 0,
(1:1013) and position (%MakeWhat) is object type 65,
  (5:41) place object type %WhichObject at (%MakeItWhere).
  (5:40) set the floor to type %WhichFloor at (%MakeItWhere).
  (5:200) emit message {Placed object %WhichObject and floor %WhichFloor at %MakeItWhere.x, %MakeItWhere.y } to whoever set off the trigger.

* // NEEDED, must clear the flag at MakeWhat otherwise the next utterance of makeitem will trigger
(0:32) When a furre says something with {makeitem} in it,
  (5:41) place object type 0 at (%MakeWhat).




This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Apr 13 2004, 11:07 PM
Post #8
Group: Furres

Carrie O'Kaye

REMOVING ITEM THAT LEAVING FURRE WAS CARRYING
Written by Graphite

Function:
  When a Furre leaves the Dream carrying an item, where the Furre leaves, the item usually appears.  This DS erases the item after the Furre has left.
QUOTE
* when another furre leaves the dream and there is already a position/item in the variables, replace that first
(0:10) When a furre leaves the dream,
 (1:206) and variable %leavepos is not equal to 0,
          (5:41) place object type %leaveitem at (%leavepos).
          (5:300) set variable %leavepos to the value 0.

* remember the position and the item that was beneath the furre
(0:10) When a furre leaves the dream,
          (5:350) set variable %leavepos to the X,Y position the triggering furre (moved from/is standing at).
          (5:381) set variable %leaveitem to the object type at (%leavepos).
          (5:41) place object type 0 at (%leavepos).

* to stop people from picking up the item within the second, replace the old item the moment somebody moves (so they can't possible reach the item)
(0:1) Whenever somebody moves,
 (1:206) and variable %leavepos is not equal to 0,
          (5:41) place object type %leaveitem at (%leavepos).
          (5:300) set variable %leavepos to the value 0.

* make sure to always replace the object within one second atleast.
(0:100) When 1 seconds have passed, offset by 0,
 (1:206) and variable %leavepos is not equal to 0,
          (5:41) place object type %leaveitem at (%leavepos).
          (5:300) set variable %leavepos to the value 0.




This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Jun 2 2004, 12:07 PM
Post #9
Group: Furres

Carrie O'Kaye

MULTIPLE WANDERING NON-PLAYER CHARACTERS (using Map; maximum 201 NPCs)
Written and Patched by Carrie O'Kaye  --  NPC Patch

Function:
A non-player character wanders around.  If he encounters an object or a Furre, he will change direction.  This DS is designed to handle up to 201 NPCs -- yes, "two hundred and one" smile.gif.

Patching:
- When you're aligning your NPC images, make sure that your NPC is standing in the centre of the floor.
- The order that you've put the images in your patch your NPC graphics is extremely important.  Have a look at the NPC file that comes with the Sample Patch.
- Assuming that you've patch your NPC into iteme.fsh and your first NPC starts with item 2400, this is how you should order your NPC images,
  2400 - Standing NPC facing SE
  2401 - Standing NPC facing SW
  2402 - Standing NPC facing NW
  2403 - Standing NPC facing NE
  2404 - Walking NPC facing SE
  2405 - Another walking NPC facing SE
  2406 - Walking NPC facing SW
  2407 - Another walking NPC facing SW
  2408 - Walking NPC facing NW
  2409 - Another walking NPC facing NW
  2410 - Walking NPC facing NE
  2411 - Another walking NPC facing NE


DragonSpeak:
Each NPC is assigned an identification number (%npcID).  Thus, for each NPC, copy the exact same DS code but change the 2nd line
  (5:300) set variable %npcID to the value 0
to represent which NPC you are referring to.
QUOTE
(0:100) When 1 seconds have passed, offset by 0,
   (5:300) set variable %npcID to the value 0
   (5:381) set variable %npcObjBase to the object type at (0,%npcID)
   (5:381) set variable %npcDir to the object type at (2,%npcID)
   (5:381) set variable %npcPos.x to the object type at (4,%npcID)
   (5:381) set variable %npcPos.y to the object type at (6,%npcID)
   (5:301) copy the value of variable %npcPos into variable %npcToPos
   (5:300) set variable %else to the value 1

(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %npcDir is equal to 0,
   (5:353) move the position in variable %npcToPos southeast (down and right) 1 step(s)
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %npcDir is equal to 1,
   (5:354) move the position in variable %npcToPos southwest (down and left) 1 step(s)
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %npcDir is equal to 2,
   (5:355) move the position in variable %npcToPos northwest (up and left) 1 step(s)
(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %npcDir is equal to 3,
   (5:352) move the position in variable %npcToPos northeast (up and right) 1 step(s)

(0:100) When 1 seconds have passed, offset by 0,
(1:1101) and there's no furre at (%npcToPos),
(1:1013) and position (%npcToPos) is object type 0,
   (5:41) place object type 0 at (%npcPos)
   (5:301) copy the value of variable %npcDir into variable %npcObj
   (5:306) multiply variable %npcObj by 2
   (5:301) copy the value of variable %npcToPos.y into variable %temp
   (5:308) divide variable %temp by 2 and put the remainder in variable %npcObjOff
   (5:303) take variable %npcObj and add variable %npcObjOff to it
   (5:303) take variable %npcObj and add variable %npcObjBase to it
   (5:302) take variable %npcObj and add 4 to it
   (5:41) place object type %npcObj at (%npcToPos)
   (5:41) place object type %npcToPos.x at (4,%npcID)
   (5:41) place object type %npcToPos.y at (6,%npcID)
   (5:300) set variable %else to the value 0

(0:100) When 1 seconds have passed, offset by 0,
(1:200) and variable %else is equal to 1,
   (5:301) copy the value of variable %npcDir into variable %npcObj
   (5:303) take variable %npcObj and add variable %npcObjBase to it
   (5:41) place object type %npcObj at (%npcPos)
   (5:313) set variable %npcDir to the total of rolling 1 dice with 4 sides minus 1
   (5:41) place object type %npcDir at (2,%npcID)

Map:
For each NPC, you would need to place objects on the map at the following locations.  The type of objects that is placed has the following meanings.
  (0,%npcID) place the item that is the first FSH shape that represents your NPC type (winged Wyrmme, unwinged Wyrmme, bear or squirrel).
  (2,%npcID) place the item representing the direction that the NPC is facing when you start your Dream.
     item 0 - NPC is facing SE
     item 1 - NPC is facing SW
     item 2 - NPC is facing NW
     item 3 - NPC is facing NE

  (4,%npcID)  place the item representing the starting x-coordinate of your NPC.
  (6,%npcID) place the item representing the starting y-coordinate of your NPC.

For example, for %npcID 0, you would need to place objects at (0,0), (2,0), (4,0) and (6,0).
For %npcID 1, you would need to place objects at (0,1), (2,1), (4,1) and (6,1).
And so on...

Here is a general example.  If you want to create a Dream with one NPC.  And you have an NPC type that you've patched as items 2400 to 2411 as described above.  And you want your NPC to face NE at (10,20) when the Dream first starts.
  Place item 2400 at (0,0)
  Place item 3 at (2,0)
  Place item 10 at (4,0)
  Place item 20 at (6,0)

The NPC will behave strangely as he hits the edges of the map.  To restrict the area where the NPC walks, enclose the area with objects.



This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Jul 7 2004, 01:41 PM
Post #10
Group: Furres

Carrie O'Kaye

FURRE DRAGGING OBJECT
Written by DarkHorse Pterid

This works similarly to the cuff DS, but allows a named furre to drag objects around, as opposed to furres. (Replace John Smith with your own character.)

Instructions for use:
* Face the object to wish to drag.
* Say "Drag".
* Walk around, dragging the object behind you.
* Say "Drop" to drop the object.
* Or, you automatically drop it when you move onto any other object. Stay on object 0 for best results. smile.gif

QUOTE
***Initialisation
(0:0) When everything is starting up,
           (5:300) set variable %drag1head.x to the value 0.
           (5:300) set variable %drag1head.y to the value 0.
           (5:300) set variable %drag1tail.x to the value 0.
           (5:300) set variable %drag1tail.y to the value 0.
           (5:300) set variable %drag1flag to the value 0.
           (5:300) set variable %drag1obj to the value 0.

***The getting-ready bit (6 triggers)
(0:31) When a furre says {Drag},
  (1:70) and their name is {John Smith},
           (5:350) set variable %drag1head to the X,Y position the triggering furre (moved from/is standing at).
           (5:301) copy the value of variable %drag1head into variable %drag1tail
           (5:300) set variable %drag1flag to the value 1.

(0:31) When a furre says {Drag},
  (1:70) and their name is {John Smith},
  (1:13) and the triggering furre is facing northeast (up and right),
           (5:352) move the position in variable %drag1tail northeast (up and right) 1 step(s).

(0:31) When a furre says {Drag},
  (1:70) and their name is {John Smith},
  (1:14) and the triggering furre is facing southeast (down and right),
           (5:353) move the position in variable %drag1tail southeast (down and right) 1 step(s).

(0:31) When a furre says {Drag},
  (1:70) and their name is {John Smith},
  (1:15) and the triggering furre is facing southwest (down and left),
           (5:354) move the position in variable %drag1tail southwest (down and left) 1 step(s).

(0:31) When a furre says {Drag},
  (1:70) and their name is {John Smith},
  (1:16) and the triggering furre is facing northwest (up and left),
           (5:355) move the position in variable %drag1tail northwest (up and left) 1 step(s).

(0:31) When a furre says {Drag},
  (1:70) and their name is {John Smith},
           (5:381) set variable %drag1obj to the object type at (%drag1tail).

***The actual dragging
(0:1) Whenever somebody moves,
  (1:200) and variable %drag1flag is equal to 1,
  (1:5) and they successfully moved,
  (1:19) and they (moved from/are standing at) position (%drag1head),
  (1:18) and they (moved from/are standing at) object type 0,
           (5:41) place object type %drag1obj at (%drag1head).
           (5:41) place object type 0 at (%drag1tail).
           (5:301) copy the value of variable %drag1head into variable %drag1tail.
           (5:351) set variable %drag1head to the X,Y position the triggering furre moved to.

***Automatically drop when you move onto another object
(0:1) Whenever somebody moves,
  (1:200) and variable %drag1flag is equal to 1,
  (1:5) and they successfully moved,
  (1:19) and they (moved from/are standing at) position (%drag1head),
  (1:118) and they (didn't move from/aren't standing at) object type 0,
           (5:300) set variable %drag1flag to the value 0.

***Drop when you say so
(0:31) When a furre says {Drop},
  (1:70) and their name is {John Smith},
  (1:200) and variable %drag1flag is equal to 1,
           (5:300) set variable %drag1flag to the value 0.




This post has been edited by Carrie O\'Kaye: Jun 30 2000, 05:00 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Aug 26 2004, 01:44 PM
Post #11
Group: Furres

Carrie O'Kaye

DREAM STATISTICS
Written by Kon-Tiki, Rafkin and DarkHorse Pterid

Function:  Say "Stats" to know how many Furres have visited your Dream, and how long the Dream has been up!
QUOTE
(0:0) When everything is starting up,
           (5:300) set variable %TotalVisitors to the value 0.
           (5:300) set variable %TotalVisitorsToday to the value 0.
           (5:300) set variable %Current to the value 0.
           (5:300) set variable %Max to the value 0.
           (5:300) set variable %MaxToday to the value 0.
           (5:300) set variable %Seconds to the value 0.
           (5:300) set variable %Minutes to the value 0.
           (5:300) set variable %Hours to the value 0.
           (5:300) set variable %Days to the value 0.

(0:100) When 1 seconds have passed, offset by 0,
           (5:302) take variable %Seconds and add 1 to it.

(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %Seconds is equal to 60,
           (5:300) set variable %Seconds to the value 0.
           (5:302) take variable %Minutes and add 1 to it.

(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %Minutes is equal to 60,
           (5:300) set variable %Minutes to the value 0.
           (5:302) take variable %Hours and add 1 to it.

(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %Hours is equal to 24,
           (5:300) set variable %Hours to the value 0.
           (5:302) take variable %Days and add 1 to it.

(0:101) When the time is 00:00 FST
           (5:300) set variable %TotalVisitorsToday to the value 0.
           (5:300) set variable %MaxToday to the value 0.

(0:9) When a furre arrives in the dream,
           (5:302) take variable %TotalVisitors and add 1 to it.
           (5:302) take variable %TotalVisitorsToday and add 1 to it.
           (5:302) take variable %Current and add 1 to it.

(0:9) When a furre arrives in the dream,
  (1:204) and variable %Current is greater than variable %Max,
           (5:301) copy the value of variable %Current into variable %Max.

(0:9) When a furre arrives in the dream,
  (1:204) and variable %Current is greater than variable %MaxToday,
           (5:301) copy the value of variable %Current into variable %MaxToday.

(0:10) When a furre leaves the dream,
  (1:119) and they (didn't move from/aren't standing at) position (0,0),
           (5:304) take variable %Current and subtract 1 from it.

(0:31) When a furre says {Stats},
  (1:11) and the triggering furre has got shared control (or is the dream owner),
           (5:200) emit message {Total of visitors: %TotalVisitors } to whoever set off the trigger.
           (5:200) emit message {Total of visitors today: %TotalVisitorsToday } to whoever set off the trigger.
           (5:200) emit message {Max. of visitors: %Max } to whoever set off the trigger.
           (5:200) emit message {Max. of visitors today: %MaxToday } to whoever set off the trigger.
           (5:200) emit message {Dream uptime: %Days days, %Hours hours, %Minutes minutes, %Seconds seconds.} to whoever set off the trigger.
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Sep 14 2004, 01:35 AM
Post #12
Group: Furres

Carrie O'Kaye

BLOCKING FURRE PREVENTION
Written by Nommad Spiritwind and Dreamless Dancer

Function:  When you bump into a Furre, you switch place with the Furre whom you have bumped into.

Usage:
1.  Positions (8,9) and (10,9)  must contain a walkable floor and walkable object.
2.  Position (8,9) and (10,9) must be in a hidden area of your map.

QUOTE
(0:1) Whenever somebody moves,
 (1:4) and they bump into a furre,
          (5:350) set variable %bumpFromPos to the X,Y position the triggering furre (moved from/is standing at).
          (5:351) set variable %bumpToPos to the X,Y position the triggering furre moved to.
     (3:2) at position (%bumpToPos) on the map,
          (5:16) move any furre present to (8,9) if there's nobody already there.
          (5:14) move the triggering furre to (10,9) if there's nobody already there.
     (3:2) at position (8,9) on the map,
          (5:16) move any furre present to (%bumpFromPos), if there's nobody already there.
          (5:14) move the triggering furre to (%bumpToPos) if there's nobody already there.




This post has been edited by Carrie O\'Kaye: Sep 14 2004, 06:09 PM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Sep 19 2004, 10:57 AM
Post #13
Group: Furres

Carrie O'Kaye

TRAIN
Written by Carrie O'Kaye

Function:  Set-up a train system with unlimited number of box-cars.

Usage:
There are 3 sets of graphics.
  Item IDs 2400 - 2407 represent a set of engines that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
  Item IDs 2408 - 2415 represent a set of box-cars that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
  Item IDs 2416 - 2423 represent another set of non-walkable box-cars that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)

Place the engine (2400 - 2407) on the map, followed by a  box-car (2408 - 2415) alternating with the other set of non-walkable box-cars (2416 - 2423).  Remember to rewrite the DS to indicate the starting positions and directions of the engine and tail (last box-car) of the train.

Place floors on the map to indicate where the train should turn.
  Essentially, you tell the train where to turn by placing floors on the map.  No messing around with DS!  If you want to switch train tracks, change the floor via DS.
  I've used Floors 16-23 to tell the Head and Tail to change direction.  (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)

NB:  All the text that is in bold below, may need to be changed.
QUOTE
(0:0) When everything is starting up,
           (5:300) set variable %dreamStarted to the value 0.
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %dreamStarted is equal to 0.
           (5:300) set variable %dreamStarted to the value 1.

* Set the starting x,y-coordinates for the Head of the Train
           (5:300) set variable %headPos.x to the value 8.
           (5:300) set variable %headPos.y to the value 16.

* Set the starting direction of the Head of the Train (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
           (5:300) set variable %headDir to the value 0.

* Set the starting x,y-coordinates for the Tail of the Train
           (5:300) set variable %tailPos.x to the value 18.
           (5:300) set variable %tailPos.y to the value 10.

* Set the starting direction of the Tail of the Train (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
           (5:300) set variable %tailDir to the value 7.

* Determine the Direction of the Train According to Floor
(0:100) When 1 seconds have passed, offset by 0,
           (5:380) set variable %headFloor to the floor type at (%headPos).
           (5:380) set variable %tailFloor to the floor type at (%tailPos).

* If you want to use different Floor types to indicate a change of direction, change the following mathematics.
* Here, I've used Floors 16-23 to tell the Head and Tail to change direction.  (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
(0:100) When 1 seconds have passed, offset by 0,
  (1:201) and variable %headFloor is greater than 15.
  (1:202) and variable %headFloor is less than 24.

           (5:301) copy the value of variable %headFloor into variable %headDir.
           (5:304) take variable %headDir and subtract 16 from it.
(0:100) When 1 seconds have passed, offset by 0,
  (1:201) and variable %tailFloor is greater than 15.
  (1:202) and variable %tailFloor is less than 24.

           (5:301) copy the value of variable %tailFloor into variable %tailDir.
           (5:304) take variable %tailDir and subtract 16 from it.

* Replace the Engine with a Box-Car
* Item IDs 2408 - 2415 represent a set of box-cars that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
(0:100) When 1 seconds have passed, offset by 0,
           (5:301) copy the value of variable %headDir into variable %boxCarObj.
           (5:302) take variable %boxCarObj and add 2408 to it.
           (5:41) place object type %boxCarObj at (%headPos).

* Move the Train
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 0.
           (5:353) move the position in variable %headPos southeast (down and right) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 1.
           (5:353) move the position in variable %headPos southeast (down and right) 1 step(s).
           (5:354) move the position in variable %headPos southwest (down and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 2.
           (5:354) move the position in variable %headPos southwest (down and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 3.
           (5:354) move the position in variable %headPos southwest (down and left) 1 step(s).
           (5:355) move the position in variable %headPos northwest (up and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 4.
           (5:355) move the position in variable %headPos northwest (up and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 5.
           (5:352) move the position in variable %headPos northeast (up and right) 1 step(s).
           (5:355) move the position in variable %headPos northwest (up and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 6.
           (5:352) move the position in variable %headPos northeast (up and right) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %headDir is equal to 7.
           (5:352) move the position in variable %headPos northeast (up and right) 1 step(s).
           (5:353) move the position in variable %headPos southeast (down and right) 1 step(s).

(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 0.
           (5:353) move the position in variable %tailPos southeast (down and right) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 1.
           (5:353) move the position in variable %tailPos southeast (down and right) 1 step(s).
           (5:354) move the position in variable %tailPos southwest (down and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 2.
           (5:354) move the position in variable %tailPos southwest (down and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 3.
           (5:354) move the position in variable %tailPos southwest (down and left) 1 step(s).
           (5:355) move the position in variable %tailPos northwest (up and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 4.
           (5:355) move the position in variable %tailPos northwest (up and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 5.
           (5:352) move the position in variable %tailPos northeast (up and right) 1 step(s).
           (5:355) move the position in variable %tailPos northwest (up and left) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 6.
           (5:352) move the position in variable %tailPos northeast (up and right) 1 step(s).
(0:100) When 1 seconds have passed, offset by 0,
  (1:200) and variable %tailDir is equal to 7.
           (5:352) move the position in variable %tailPos northeast (up and right) 1 step(s).
           (5:353) move the position in variable %tailPos southeast (down and right) 1 step(s).

* What to do when there's an idiot standing infront of the engine...
(0:100) When 1 seconds have passed, offset by 0,
  (1:1100) and there's a furre at (%headPos),
     (3:2) at position (%headPos) on the map,
           (5:201) emit message { SPLAT! } to any furre present.
           (5:9) play sound 40 to any furre present.
           (5:17) move any furre present to (20,22), or to someplace nearby if it's occupied.


* Erase the Tail, Display the Engine and Move the Furre
* Item IDs 2400 - 2407 represent a set of engines that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
* Item IDs 2408 - 2415 represent a set of box-cars that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
* Item IDs 2416 - 2423 represent another set of box-cars that are facing in their respective directions. (0=SE; 1=S; 2=SW; 3=W; 4=NW; 5=N; 6=NE; 7=E)
(0:100) When 1 seconds have passed, offset by 0,
           (5:41) place object type 0 at (%tailPos).
           (5:301) copy the value of variable %headDir into variable %boxCarObj.
           (5:302) take variable %boxCarObj and add 2400 to it.
           (5:41) place object type %boxCarObj at (%headPos).
           (5:6) swap object types 2408 and 2416.
           (5:6) swap object types 2409 and 2417.
           (5:6) swap object types 2410 and 2418.
           (5:6) swap object types 2411 and 2419.
           (5:6) swap object types 2412 and 2420.
           (5:6) swap object types 2413 and 2421.
           (5:6) swap object types 2414 and 2422.
           (5:6) swap object types 2415 and 2423.
        (4:3) only where an object type 2416 is,

           (5:97) turn any furre present to face southeast.
           (5:81) move any furre present 1 step(s) southeast (down and right) if there's nobody already there.
        (4:0) clear all filtering,
        (4:3) only where an object type 2417 is,
           (5:98) turn any furre present to face southwest.
           (5:86) move any furre present 1 step(s) SW & 1 step(s) SE if there's nobody already there.
        (4:0) clear all filtering,
         (4:3) only where an object type 2418 is,
           (5:98) turn any furre present to face southwest.
           (5:82) move any furre present 1 step(s) southwest (down and left) if there's nobody already there.
        (4:0) clear all filtering,
        (4:3) only where an object type 2419 is,
           (5:97) turn any furre present to face southeast.
           (5:85) move any furre present 1 step(s) NE & 1 step(s) SE if there's nobody already there.
       (4:0) clear all filtering,
        (4:3) only where an object type 2420 is,
           (5:96) turn any furre present to face northeast.
           (5:80) move any furre present 1 step(s) northeast (up and right) if there's nobody already there.
        (4:0) clear all filtering,
        (4:3) only where an object type 2421 is,
           (5:96) turn any furre present to face northeast.
           (5:84) move any furre present 1 step(s) NE & 1 step(s) NW if there's nobody already there.
        (4:0) clear all filtering,
        (4:3) only where an object type 2422 is,
           (5:99) turn any furre present to face northwest.
           (5:83) move any furre present 1 step(s) northwest (up and left) if there's nobody already there.
        (4:0) clear all filtering,
        (4:3) only where an object type 2423 is,
           (5:99) turn any furre present to face northwest.
           (5:87) move any furre present 1 step(s) SW & 1 step(s) NW if there's nobody already there.




This post has been edited by Carrie O\'Kaye: Oct 22 2004, 12:32 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Sep 29 2004, 01:52 AM
Post #14
Group: Furres

Carrie O'Kaye

FLOOR CYCLING (and Object Cycling)
Written by DarkHorse Pterid

Function:  Everywhere on your map, Floors 500 - 507 will cycle from 500 to 507 then repeat the same sequence.
QUOTE
(0:100) When 1 seconds have passed, offset by 0,
           (5:3) swap floor types 500 and 501.
           (5:3) swap floor types 500 and 502.
           (5:3) swap floor types 500 and 503.
           (5:3) swap floor types 500 and 504.
           (5:3) swap floor types 500 and 505.
           (5:3) swap floor types 500 and 506.
           (5:3) swap floor types 500 and 507.

For Object Cycling, you would need to use "(5:6) swap object types # and #." instead of "(5:3) swap floor types # and #."

ADDENDUM:  DragonSpeak 3.00 introduced a set of very useful Effect commands.
           (5:400) Cycle the three object types in this sequence one step forward: #, #, #.
           (5:401) Cycle the four object types in this sequence one step forward: #, #, #, #.
           (5:402) Cycle the five object types in this sequence one step forward: #, #, #, #, #.
           (5:410) Cycle the three floor types in this sequence one step forward: #, #, #.
           (5:411) Cycle the four floor types in this sequence one step forward: #, #, #, #.
           (5:412) Cycle the five floor types in this sequence one step forward: #, #, #, #, #.


Example of use:
QUOTE
(0:100) When 1 seconds have passed, offset by 0,
           (5:402) Cycle the five object types in this sequence one step forward: 500, 501, 502, 503, 504.




This post has been edited by Carrie O\'Kaye: Nov 23 2004, 03:55 PM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Oct 21 2004, 08:07 PM
Post #15
Group: Furres

Carrie O'Kaye

FOLLOWING PET
Written and patched by Carrie O'Kaye -- NPC Patch

Function:  Pick up a collar (item #418) and a pet (item #2400-2403) will walk right behind you every step of the way!  Drop the collar and the pet disappears.  If you walk into another object, the pet will temporarily disappear.

QUOTE
* DROP COLLAR
(0:18) When somebody drops object type 418,
 (3:53) 1 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2400 to type 0
 (3:50) 1 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2401 to type 0
 (3:51) 1 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2402 to type 0
 (3:52) 1 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2403 to type 0

* MOVE FURRE
** ERASE PET
(0:1) Whenever somebody moves,
(1:5) and they successfully moved,
 (3:53) 1 step(s) northwest (up and left) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2400 to type 0
 (3:50) 1 step(s) northeast (up and right) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2401 to type 0
 (3:51) 1 step(s) southeast (down and right) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2402 to type 0
 (3:52) 1 step(s) southwest (down and left) from where the triggering furre (moved from/is standing),
   (5:5) change object type 2403 to type 0

** PLACE PET
(0:61) When a furre moves southeast,
(1:5) and they successfully moved,
(1:1002) and they are holding item 418 in their paws,
 (3:5) where the triggering furre (moved from/is standing at),
   (5:5) change object type 0 to type 2400
(0:62) When a furre moves southwest,
(1:5) and they successfully moved,
(1:1002) and they are holding item 418 in their paws,
 (3:5) where the triggering furre (moved from/is standing at),
   (5:5) change object type 0 to type 2401
(0:63) When a furre moves northwest,
(1:5) and they successfully moved,
(1:1002) and they are holding item 418 in their paws,
 (3:5) where the triggering furre (moved from/is standing at),
   (5:5) change object type 0 to type 2402
(0:60) When a furre moves northeast,
(1:5) and they successfully moved,
(1:1002) and they are holding item 418 in their paws,
 (3:5) where the triggering furre (moved from/is standing at),
   (5:5) change object type 0 to type 2403




This post has been edited by Carrie O\'Kaye: Oct 22 2004, 12:08 AM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Nov 9 2004, 10:12 AM
Post #16
Group: Furres

Carrie O'Kaye

HOPPING FURRE
Written by Dreamless Dancer

Function:  Say, "hop #" where # represents a number, and you will hop # steps ahead.
QUOTE
(0:32) When a furre says something with {hop } in it,
  (5:314) set variable %hopper to the number the triggering furre just said.
(3:7) where the triggering furre is currently at,
  (5:19) move any furre present %hopper step(s) forward (in the direction they're facing) if there's nobody already there.




This post has been edited by Carrie O\'Kaye: Nov 10 2004, 07:09 PM
Go to the top of the page
 
+Quote Post
Carrie O'Kaye
post Nov 29 2004, 12:17 AM
Post #17
Group: Furres

Carrie O'Kaye

TURN-ACTIVATED SEAT RIDE
Written by Carrie O'Kaye

Function:  Sit on item #3 (light wooden seat) and you'll start moving forward.  Turn and the seat turns with you.  Just like a car!

QUOTE
(0:72) When a Furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
 (1:18) and they (moved from/are standing at) object type 3,
 (1:13) and the triggering Furre is facing northeast (up and right),
 (1:50) and 1 step(s) northeast (up and right) from the triggering Furre is object 0,
    (3:7) where the triggering Furre is currently at,
          (5:19) move any Furre present 1 step(s) forward (in the direction they're facing) if there's nobody already there.
          (5:5) change object type 3 to type 0.
    (3:50) 1 step(s) northeast (up and right) from where the triggering Furre (moved from/is standing),
          (5:5) change object type 0 to type 3.

(0:72) When a Furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
 (1:18) and they (moved from/are standing at) object type 3,
 (1:14) and the triggering Furre is facing southeast (down and right),
 (1:51) and 1 step(s) southeast (down and right) from the triggering Furre is object 0,
    (3:7) where the triggering Furre is currently at,
          (5:19) move any Furre present 1 step(s) forward (in the direction they're facing) if there's nobody already there.
          (5:5) change object type 3 to type 0.
    (3:51) 1 step(s) southeast (down and right) from where the triggering Furre (moved from/is standing),
          (5:5) change object type 0 to type 3.

(0:72) When a Furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
 (1:18) and they (moved from/are standing at) object type 3,
 (1:15) and the triggering Furre is facing southwest (down and left),
 (1:52) and 1 step(s) southwest (down and left) from the triggering Furre is object 0,
    (3:7) where the triggering Furre is currently at,
          (5:19) move any Furre present 1 step(s) forward (in the direction they're facing) if there's nobody already there.
          (5:5) change object type 3 to type 0.
    (3:52) 1 step(s) southwest (down and left) from where the triggering Furre (moved from/is standing),
          (5:5) change object type 0 to type 3.

(0:72) When a Furre remains motionless (doesn't turn, sit, stand or move) for 1 seconds,
 (1:18) and they (moved from/are standing at) object type 3,
 (1:16) and the triggering Furre is facing northwest (up and left),
 (1:53) and 1 step(s) northwest (up and left) from the triggering Furre is object 0,
    (3:7) where the triggering Furre is currently at,
          (5:19) move any Furre present 1 step(s) forward (in the direction they're facing) if there's nobody already there.
          (5:5) change object type 3 to type 0.
    (3:53) 1 step(s) northwest (up and left) from where the triggering Furre (moved from/is standing),
          (5:5) change object type 0 to type 3.




This post has been edited by Carrie O\'Kaye: Nov 29 2004, 12:18 AM
Go to the top of the page
 
+Quote Post

Closed TopicStart new topic

 



Lo-Fi Version Time is now: 10th June 2026 - 07:33 AM