Furcadia Links:

Furcadia Site
Furcadia Forums

Downloads:

Graphite's PatchMerger
Furcadia Historical Society

Play Furcadia!

DragonSpeak Systems
"ID Code in a Nutshell"
 

With the addition of Entry Codes in the New DS, ID tracking has become much easier to accomplish.
There has been alot of noise and different variations of ID tracking but Ecu is most notably the first to expose the public with the ideas of using Entry Codes as an ID tracking device.
To understand how entry codes actually track and ID I've put together this example with some explinations of what is going on.
It's not QDS or any of the others, but an Entry Code system stripped down to the very basics that make it work. Understanding how it works is the best way to get ready to make it work for you.

DSPK V04.00 Furcadia
New Dragonspeak Script "ID in a Nutshell"
Created by Nommad for Public Use

(0:0) When everything is starting up,
            (5:399) clear all variables to zero.
*reset the ID area
      (3:4) within the rectangle (#2,#0) - (#2,#199),
            (5:4) place object type #0.
            (5:1) set the floor to type #0.
            (5:42) place wall shape #0.
*reset Stats area you decide where and how much data you want to store
*      (3:4) within the rectangle (#x,#0) - (#xx,#199),
*this uses the left side of a max size map allowing for 5 columns for 10-15 stats
      (3:4) within the rectangle (#190,#0) - (#200,#199),
            (5:4) place object type #0.
            (5:1) set the floor to type #0.

* Look for a free ID slot in the ID column remove any entry code
(0:9) When a furre arrives in the dream,
            (5:316) set the triggering furre's entry code to #0.
            (5:300) set variable #%newID.y to the value #0.
            (5:530) set variable #%newID to the X,Y position of a random spot where the object is type #0 within the rectangle (#2,#1) - (#2,#199),

*this section is untested but I think it will only kick in when the dream has 198 ID slots taken
(0:9) When a furre arrives in the dream,
   (1:200) and variable #%newID.y is equal to #0,
            (5:200) emit message {I'm sorry All IDs are Taken.} to whoever set off the trigger.
            (5:78) eject the triggering furre.


*Assign and ID
(0:9) When a furre arrives in the dream,
   (1:201) and variable #%newID.y is greater than #0,
            (5:316) set the triggering furre's entry code to #%newID.y.
*Mark the ID slot as taken and/or use optional addition of some advanced DS to track the furre's x,y location
            (5:15) move the triggering furre to (#10,#10),(default entry location) or to someplace nearby if it's occupied.
*set any starting stats
            (5:40) set the floor to type #100 (hp or something) at (#190,#%newID.y).
            (5:41) place object type #100 at (gold or something) (#190,#%newID.y).
            (5:200) emit message {You're ID is %newID.y} to whoever set off the trigger.


*Process Data
(0:9) When a furre arrives in the dream,
(0:10) When a furre leaves the dream,
(0:1) Whenever somebody moves,
(0:15) When a furre uses the get/drop command,
(0:16) When a furre uses any object,
(0:30) When a furre says anything,
(0:71) When a furre stays in the same square for #1 seconds,
*etc. *etc including any actions that you want to effect stats...

*CLOSE any DS data that's still active before processing the triggering furre's data.
*Note this has become the most popular method of reading and writing the data to the dream.
*I personally do it different though this is probably better.
*simply place the objects and floors that represent the data numbers into the last used ID slot.
*I suggest beginners not use walls as they don't work the same as objects and floors

            (5:40) set the floor to type #%data1(hp or whatever) at (#190,#%playerID).
            (5:41) place object type #%data2(gold or whatever) at (#190,#%playerID).
            (5:40) set the floor to type #%data3 at (#192,#%playerID).
            (5:41) place object type #%data4 at (#192,#%playerID).
*etc. etc.
*OPEN the triggering furre's stats and information... first set the ID to the entry code.
*set current location
            (5:350) set variable #%playerxy to the X,Y position the triggering furre (moved from/is standing at).
*find, set and mark ID / Location
            (5:315) set variable #%playerID to the triggering furre's entry code.
            (5:40) set the floor to type #%playerxy.x at (#2,#%playerID).
            (5:41) place object type #%playerxy.y at (#2,#%playerID).
*load stats into variables
            (5:380) set variable #%data1(hp or something) to the floor type at (#190,#%playerID).
            (5:381) set variable #%data2(gold or somthing) to the object type at (#190,#%playerID).
            (5:380) set variable #%data3 to the floor type at (#190,#%playerID).
            (5:381) set variable #%data4 to the object type at (#190,#%playerID).
*rinse and reapeat for all the differnt stats you want to track...

*Open ID Slot and Clear Data when Furre Leaves the dream
(0:10) When a furre leaves the dream,
   (1:190) and their entry code is not #0,
            (5:40) set the floor to type #0 at (#2,#%playerID).
            (5:41) place object type #0 at (#2,#%playerID).
      (3:4) within the rectangle (#190,#%playerID) - (#200,#%playerID),
            (5:1) set the floor to type #0.
            (5:4) place object type #0.


*include this if you're using (0:71) to retrigger it.
(0:71) When a furre stays in the same square for #1 seconds,
            (5:19) move any furre present #0 step(s) forward (in the direction they're facing) if there's nobody already there.

*Clear out "Empty" IDs


*That's it... Entry Code Stat Tracking in a Nut Shell

*this will allow you to check the stats
(0:31) When a furre says {stats},
            (5:200) emit message {Hp: %data1 Gold: %data2 Something: %data3 Whatever: %data4} to whoever set off the trigger.

*this should let you test / change the data values
(0:32) When a furre says something with {set} in it,
            (5:314) set variable #%set to the number the triggering furre just said.
(0:32) When a furre says something with {set hp} in it,
            (5:300) set variable #%data1 to the value #%set.
(0:32) When a furre says something with {set gold} in it,
            (5:300) set variable #%data12 to the value #%set.
 (0:32) When a furre says something with {set something} in it,
            (5:300) set variable #%data3 to the value #%set.
(0:32) When a furre says something with {set whatever} in it,
            (5:300) set variable #%data4 to the value #%set.


*Endtriggers* 8888 *Endtriggers*



Return to Main