FurSuite Developers and Scriptwriters


FurSuite was developed to be a fully scriptable bot for Furcadia. The file type for FurSuite scripts is .FBS, which is short for FurBasic Script. FurBasic is VBScript under a different name, a very common language used by programmers on Windows.

For FurSuite to use a FurBasic file, it must be in the Scripts directory. You can find your FurSuite scripts directory in your documents.


Template.fbs
'FurBasic Script Template Sub Main() End Sub '========================= Sub Client_In(Data) End Sub Sub Client_Parsed(Data) End Sub Sub Server_In(Data, Source) End Sub Sub Server_Parsed(Data, Source) End Sub '========================= Sub FurreSays(Name, Message) End Sub Sub FurreEmotes(Name, Message) End Sub Sub FurreShouts(Name, Message) End Sub Sub FurreWhispers(Name, Message) End Sub Sub FurreMoves(Name, ToX, ToY, FromX, FromY) End Sub '========================= Sub OnLogin() End Sub Sub YouSay(Message) End Sub Sub YouMove(X, Y) End Sub '========================= Sub SystemRestarting() End Sub

Subroutines
Main ()
Called when FurSuite loads or reloads the script.
Client_In ( Data )
Called when FurSuite receives raw data from the Furcadia game client.
  • Data: String of raw data received from the Furcadia game client.
Client_Parsed ( Data )
Called after FurSuite has parsed the raw client data and will send the data to the Furcadia game server.
  • Data: String of parsed data received from the Furcadia game client.
Server_In ( Data, Source )
Called when FurSuite receives raw data from the Furcadia game server.
  • Data: String of raw data received from the Furcadia game server.
Server_Parsed ( Data, Source )
Called after FurSuite has parsed the raw server data and will send the data to the Furcadia game client.
  • Data: String of parsed data received from the Furcadia game server.
FurreSays ( Name, Message )
Called any time a furre says anything.
  • Name: String of the speaking furre's name.
  • Message: String of what the speaking furre said.
FurreEmotes ( Name, Message )
Called any time a furre emotes anything.
  • Name: String of the emoting furre's name.
  • Message: String of what the emoting furre did.
FurreShouts ( Name, Message )
Called any time a furre shouts anything.
  • Name: String of the shouting furre's name.
  • Message: String of what the shouting furre said.
FurreWhispers ( Name, Message )
Called any time a furre whispers anything to you.
  • Name: String of the whispering furre's name.
  • Message: String of what the whispering furre said.
FurreMoves ( Name, ToX, ToY, FromX, FromY )
Called any time a furre moves, tries to move or appears in a new location.
  • Name: String of the moving furre's name.
  • ToX: Integer of the X coordinate that the furre moved in to.
  • ToY: Integer of the Y coordinate that the furre moved in to.
  • FromX: Integer of the X coordinate that the furre moved from.
  • FromY: Integer of the Y coordinate that the furre moved from..
Furcadia Object
The Furcadia object is your ability to output to both the game client and the game server. The Furcadia object also allows you to modify the traffic travelling between the game client and the game server.
Call Furcadia.Disconnect()
Close the connection to Furcadia, disconnect and close FurSuite.
Call Furcadia.Client_Send( Data )
Send a string of data directly to the Furcadia game client.
Call Furcadia.Client_Drop()
Tell FurSuite to drop the current line from the incoming packet sent by the Furcadia game client.
Call Furcadia.Client_Print( Message )
Display a message directly in the Furcadia console.
Call Furcadia.Server_Send( Data )
Send a string of data directly to the Furcadia game server.
Call Furcadia.Server_Drop( State )
Tell FurSuite to remove lines from the incoming packet sent by the Furcadia game server while parsing the data.
  • Lines
    • No change: 0
    • Wipe the current line from the packet and all that follow: -1
    • Wipe every line from the packet beyond the current line: -2
    • Wipe a particular number of lines from the packet at the current line: 1 or more
Call Furcadia.Server_Wipe( Lines )
Tell FurSuite to remove lines from the incoming packet sent by the Furcadia game server before parsing the data.
  • Lines
    • No change: 0
    • Wipe the current line from the packet and all that follow: -1
    • Wipe every line from the packet beyond the current line: -2
    • Wipe a particular number of lines from the packet at the current line: 1 or more
Call Furcadia.Say( Message )
Make your furre say something.
Call Furcadia.Emote( Message )
Make your furre emote something.
Call Furcadia.Shout( Message )
Make your furre shout something. If shouts are not already on, they will be turned on.
Call Furcadia.Whisper( Name, Message )
Whisper something to another furre.
Call Furcadia.Rotate( Direction )
Rotate your furre either clockwise or counter-clockwise.
  • Direction
    • Clockwise: Empty, 0, "clockwise", "cw"
    • Counter-Clockwise: 1, "counterclockwise", "ccw"
Call Furcadia.Face( Direction )
Rotate your furre to face in any direction.
  • Direction
    • North East: 9, "northeast", "ne"
    • South East: 3, "southeast", "se"
    • South West: 1, "southwest", "sw"
    • North West: 7, "northeast", "ne"
Call Furcadia.Position( Action )
Change the stature of your Furre.
  • Action
    • Toggle: Empty, 0, "lie", "toggle"
    • Lie down: 1, "liedown"
    • Sit up: 2, "sit"
    • Stand up: 3, "stand"
Call Furcadia.Move( Direction, Spaces )
Move your furre in any direction any number of spaces.
  • Direction
    • North East: 9, "northeast", "ne"
    • South East: 3, "southeast", "se"
    • South West: 1, "southwest", "sw"
    • North West: 7, "northeast", "ne"
Call Furcadia.Item( Action )
Move your furre use, get or drop an item.
  • Action
    • Use: Empty, 0, "use"
    • Get / Drop: 1, "get", "drop"
Call Furcadia.GoMap( Where )
Go to a map based on the numerical value that represents the map's associated ASCII character.
Call Furcadia.Map( Where )
Tell the Furcadia game server that you want to go to a different map.
  • Where
    • Go Start: Empty, 0, "start", "gostart"
    • Go Back: -1, "back", "goback"
    • Vinca: 0, "v", "vinca"
    • Acropolis: 42, "a", "acropolis"
    • Allegria Island: 35, "ai", "allegriaisland"
    • Challenges: 36, "c", "challenges"
    • Furrabian Nights: 37, "fn", "furn", "furrabiannights"
    • Hawthorn: 39, "h", "hawthorn"
    • Imaginarium: 40, "i", "imaginarium"
    • Meovanni Village: 38, "m", "meovannivillage"
    • Naia Green: 68, "n", "naia", "naiagreen"
    • Olde Town: 105, "o", "oldetown"
    • The Wylde: 44, "w", "wylde", "thewylde",
Call Furcadia.DreamUpload( Self, MapFile )
Initiate dream uploading. Dreams will load in the empty space in front of your furre by default. Optionally change which map file will be loaded.
  • Self
    • Load the dream in space in front of your furre: False
    • Load the dream under your furre's feet: True
Call Furcadia.Flash()
Furcadia.Map_Height
Furcadia.Map_Width
Furcadia.Camera_X
Furcadia.Camera_Y
Furcadia.Players_Count
Call Furcadia.Players_Info( Id )
Call Furcadia.Players_InRange()
Call Furcadia.Players_Find( UserID )
Call Furcadia.Players_FindName( Name )
Call Furcadia.Players_Location( X, Y )
FurSuite Object
The FurSuite object gives you access to the core of FurSuite and access to the character's FurSuite ini file.
Call FurSuite.Create( Type, Name )
Create a new FurBasic object for your script.
Call FurSuite.Destroy( Name )
Destroy an existing FurBasic object from your script.
Call FurSuite.Continue()
FurSuite will continue to process events while your script "waits". This is the same as "doevents".
Call FurSuite.Pause( Milliseconds )
Your script will wait any number of milliseconds. One second is equal to 1000 milliseconds.
Call FurSuite.Disconnect()
Disconnect FurSuite from the Furcadia game server. This will not disconnect the Furcadia game client from FurSuite.
Call FurSuite.Reconnect()
FurSuite will disconnect and connect to the Furcadia game server.
Call FurSuite.Relog()
FurSuite will override your current Furcadia connection with a new Furcadia connection.
Call FurSuite.Respot()
FurSuite will either Reconnect or Relog. The result is the fastest reconnection with your furre remaining in the same location.
Call FurSuite.Connect()
FurSuite will connect to the Furcadia game server if it is disconnected.
Call FurSuite.Blacklist( Furre )
Add a furre to the blacklist.
Call FurSuite.Blacklisted( Furre )
Check to see if a furre is on the blacklist.
Call FurSuite.Whitelist( Furre )
Add a furre to the Whitelist.
Call FurSuite.Whitelisted( Furre )
Check to see if a furre is on the whitelist.
Call FurSuite.INI_Read( Section, Key, Optional DefaultKey )
Call FurSuite.INI_ReadBlock( Key )
Call FurSuite.INI_ReadSection( Section )
Call FurSuite.INI_Write( Section, Key, Value )
Call FurSuite.INI_WriteBlock( Key, Value )
Call FurSuite.INI_WriteSection( Section, Value )
Call FurSuite.Directory_Create( Path )
Call FurSuite.Directory_Exists( Path )
Call FurSuite.File_Exists( Path )
Call FurSuite.File_Delete( Path )
FurSuite "longtimer" Objects
Call longtimer.StartTimer()
Call longtimer.StopTimer()
Call longtimer.Interval( Milliseconds )
FurSuite "web" Objects
FurSuite "socket" Objects
Clipboard Object
Memory Object
Call Memory.ReadString( Address, Size )
Call Memory.ReadByte( Address )
Call Memory.ReadInteger( Address )
Call Memory.ReadLong( Address )
Call Memory.ReadFloat( Address )
Call Memory.WriteByte( Address, Value )
Call Memory.WriteInteger( Address, Value )
Call Memory.WriteLong( Address, Value )
Call Memory.WriteFloat( Address, Value )
Call Memory.WriteString( Address, Value )
Call Memory.WriteStringBytes( Address, Value, Optional Length, Optional Fill )