|
This documentation is free, but it is licensed under the terms of the GNU Free Documentation License as published by the Free Software Foundation; either version 1.2 of the License, or (at your option) any later version. http://www.gnu.org |
| Nope. | Invalid connection. |
| Invalid name or password. | Invalid login. |
| Name already taken: Please select another name. | Provided name is already taken. |
| Dragonroar | Plays introduction sound (Welcome!). |
| V{XXXX} | Version of the protocol the client should be reading. |
| END | End of MOTD; begin login. |
| &&&&&&&&&&&&& | Successful login. |
| !(n) | Client plays sound 'n'. |
| %(n) | Item 'n' is placed at furre's feet. |
| %0{name} | 'Name' is offline. |
| %1{name} | 'Name' is online. |
| ([{foo}] | Writes to output ['foo']. |
| )(x1)(y1) | Furre is removed from (x1,y1). |
| /{colors}(x1)(y1)(n)(x2)(y2) | Animates a furre from (x1,y1) to (X2,y2) with frame number 'n'. |
| 1(x1)(y1)(n) | Draws floor number 'n' at (x1,y1). |
| 6(x1)(y1)(x2)(y2)(n) | Execute a self-induced DS trigger. x and y are furre coordinates. 'n' is trigger location in DS. |
| 7(x1)(y1)(x2)(y2)(n) | Execute an other-induced DS trigger. x and y are furre coordinates. 'n' is trigger location in DS. |
| 8-trigger | It exists, but I'm not quite sure yet. :) |
| ;{map.map} | Client loads map.map. |
| <{colors}(x1)(y1)(n)" | Draws a furre at (x1,y1) with frame number 'n'. |
| = | Draw all queued drawing data; refresh client. |
| >(x1)(y1)(n) | Draws object number 'n' at (x1,y1). |
| @(x1)(y1)[(x2)(y2)] | Camera positioned at [from] (x1,y1) [to (x2,y2)]. |
| [[{foo}] | Client is booted [with message 'foo']. |
| ]! | Display warning of adult content. |
| ]#{n} {o} | Display message box ID 'n' with style 'o'. |
| ]&{key} pp{name} {n} | Display portrait of 'name'. |
| ]-#(n)[o][(gender)(species)(markings)] | Draws specitag 'n'. [If 'n' = A then draw furre specitag using 'gender', 'species', and 'markings'.] [If 'n' = B then draw Beekin badge 'o'.] |
| ]a | Client requests gate data. |
| ]cc{background.pcx} | Client uses background.pcx as background. |
| ]f{colors}(gender)(species)(markings){name} | Portrait is displayed with 'colors' depending on 'gender', 'species', and 'markings' with 'name'. |
| ]j(n) | Plays m(n).mid from the client's path. |
| ]q {n} {n} | Request to download dream 'n'. |
| ]r {patch} | Uses 'patch' as the client's graphics. |
| ]s(x1)(y1)(foo) | Renders text 'foo' at (x1,y1). |
| ]t(x1)(y1) | Removes text as (x1,y1). |
| ]u | Client requests rgate data. |
| ]va(x1)(y1) | Dragon breath at (x1,y1). |
| ]vb(x1)(y1) | Phoenix flame at (x1,y1). |
| ]w | Client version request. |
| ]}{color} | Color buffer check for client. |
| ^(n) | Item 'n' is placed in furre's paws. |
| polo {n} | Pong. |
| "cookies-accept | Accept cookies from others. |
| "cookies-reject | Reject cookies from others. |
| "eat-cookie | Eat a cookie from one's description. |
| "give-cookie {n} [{o}] | Give a cookie from one's description to furre 'n' [with message 'o']. |
| "make-cookie {n} [{o}] | Makes a cookie for furre 'n' [with message 'o']. |
| "make-secret {n} [{o}] | Makes a cookie for furre 'n' [with message 'o'] without alerting others. |
| "munch-cookie | Eat a cookie from one's description and alert others. |
| "secret-cookie {n} [{o}] | Makes a cookie for furre 'n' [with message 'o'] without alerting others. |
| "{foo} | Says 'foo'. |
| -{foo} | Yells 'foo'. |
| :{foo} | Emotes 'foo'. |
| decline | Reject a joining/summoning furre's request. |
| get | Picks up or drops an object. |
| goalleg | Go directly to Allegria map. |
| goback | Go directly to previous map. |
| gomap {n} | Go directly to map 'n'. |
| gostart | Go directly to Vinca map. |
| help | Requests help from Beekin Help Channel. |
| "info | Displays information held about one's character on the server. |
| join [{n}] | Request to join the company of a furre ['n']. |
| l (x1)(y1) | Looks at a furre at (x1,y1). |
| onln {n} | Request 'n' online status. |
| summon [{n}] | Request a furre ['n'] to join one's company. |
| use | Use the object in the furre's paws. |
| wh {n} {o} | Whisper 'o' to 'n'. |
| vascodagama | Finished download dream or patch. |
| which | Displays the heimdall (server process that controls character interaction) that one's character resides on, current index, and one's global ID. |
| who | Retrieve list of users on map from the server. |
| breath | Breaths dragon breath while in Dragon form. |
| chcol {colors}(gender)(species)(markings) | Silver Sponsorship members can change colors, gender, species, or markings online. |
| chdesc {description} | Silver Sponsorship members can change description to 'description' online. |
| color {colors}(gender)(species)(markings) | Silver Sponsorship members can change colors, gender, species, or markings online. |
| dragon | Transform into Dragon form. |
| desc {description} | Change description to 'description' online. |
| eagle | Transform into Eagle form while in Gryphon form. |
| flame | Flames Phoenix flame while in Phoenix form. |
| gryffe | Transform into Gryphon form. |
| phoenix | Transform into Phoenix form. |
| portrchng | Swap to next available portrait. |
| wings | Transform into furre with wings. |
| < | Rotate counter-clockwise. |
| > | Rotate clockwise. |
| lie | Toggles from lying to sitting to standing. |
| liedown | Go directly to lying down frame. |
| m 1 | Move southwest. |
| m 3 | Move northwest. |
| m 7 | Move northeast. |
| m 9 | Move southeast. |
| sit | Go directly to sitting down frame. |
| stand | Go directly to standing up frame. |
| "discard-rose | Removes a rose from one's description. |
| "discard-red-rose | Removes a red rose from one's description. |
| "discard-white-rose | Removes a white rose from one's description. |
| "discard-yellow-rose | Removes a yellow rose from one's description. |
| "give-rose {n} [{o}] | Give a rose to furre 'n' [with message 'o']. |
| "give-red-rose {n} [{o}] | Give a red rose to furre 'n' [with message 'o']. |
| "give-white-rose {n} [{o}] | Give a white rose to furre 'n' [with message 'o']. |
| "give-yellow-rose {n} [{o}] | Give a yellow rose to furre 'n' [with message 'o']. |
| =news | Toggles news channel. |
| =event | Toggles event channel. |
| ROLL {n}d{o} | Rolls 'n' die with 'o' sides with detailed results. |
| Winver {X} | Version of user's Windows. |
| connect {name} {password} {hash} | Connect to server using 'name' and 'password'. 'hash' is sent to the server and a response is sent back activating the client. |
| create {name} {password} {e-mail} N Y | Create a character with 'name' using 'password' at 'e-mail'. Not sure what N Y means. |
| desctags | Toggles description tags. |
| iamhere | Keep the client's connection alive. |
| marco {n} | Ping. |
| polon {n} | Pong. |
| quit | Quit Furcadia. |
| reconnect | Force a reconnection. |
| repq {n} {o} | Reply to question 'n' with answer 'o'. |
| rgate | Request to upload a dream. |
| roll {n}d{o} | Rolls 'n' die with 'o' sides. |
| setemail {n} | Set one's e-mail address to 'n'. |
| tdgate {n} | Register dream ID 'n'. |
| time | Request Furcadia central time. |
| version {n} | Send client's version 'n'. |
| "trade-accept | Finalize a trade. |
| "trade-add {n} | Add item 'n' to trade. * |
| "trade-end | Ends a trade. |
| "trade-reject | Reject a trade. |
| "trade-remove {n} | Remove item 'n' from trade. * |
| "trade-start [{n}] | Begin a trade [with furre 'n']. |
| "trade-status | View status of a trade. |
| "eject {n} | Eject user 'n' from dream. |
| "emit {n} | Emit message 'n' to furres in radius. |
| "emitloud {n} | Emit message 'n' to everyone. |
| "entrymusic {n} | Set dream music to 'n'. |
| "entrytext {n} | Set dream text to 'n'. |
| "pads-all | Furres can upload dreams to any upload pad. |
| "pads-owner | Only dream owner can upload dreams to upload pad. |
| "pads-shared | Dream owner and shared users can upload dreams to upload pad. |
| parental | Set a parental rating on one's dream. |
| "share {n} | Share control of dream with 'n'. |
| shield | Direct all summoned furres to the entrance of one's dream. |
| unload | Unload a dream. |
| unload all | Unload all dreams. |
| unload {n} | Unload dream 'n'. |
| "unshare {n} | Unshare dream ownership with 'n'. |
| "uploads-all | All furres can upload a dream to any empty spot. |
| "uploads-owner | Only dream owner can upload a dream to any empty spot. |
| "uploads-shared | Only dream owner and shared users can upload a dream to any empty spot. |
| bb | Join Beekin channel. |
| "block {n} {o} {p} | Ban furre 'n' for 'o' hours because reason 'p'. |
| "boot {n} {o} | Boot furre 'n' with reason 'o'. |
| "booty {n} {o} | Boot furre 'n' with reason 'o'. |
| c {n} | Claim 'n' help request. |
| claim {n} | Claim 'n' help request. |
| clear {n} | Clear 'n' help request from help queue. |
| isbeek {n} | Beekin access levels for 'n'. |
| jg {n} | Join group 'n'. |
| leave | Go off duty. |
| "list | List available Beekin commands. |
| "listf | Furres requesting assistance and Beekins on duty. |
| ob | Join Guardian channel. |
| onduty | Count of available Beekins in their respective groups. |
| que | Queued help requests in Help Channel. |
| rap {n} | View rap sheet of 'n'. |
| report 'n' | Report of a furre and their history. |
| "sendd {n} {o} | Send 'n' to Dream Channel with reason 'o'. |
| "sendg {n} {o} | Send 'n' to Guardian Channel with reason 'o'. |
| "sendh {n} {o} | Send 'n' to Help Channel with reason 'o'. |
| "sendw {n} {o} | Send 'n' to Welcome Channel with reason 'o'. |
| staffdream | Go to staff dream map. |
| tellgroup {n} | Tell 'n' to one's Beekin group. |
| telltrainees {n} | Tell 'n' to all Beekin trainees. |
| "transd {n} | Transfer 'n' to Dream Channel. |
| "transg {n} | Transfer 'n' to Guardian Channel. |
| "transh {n} | Transfer 'n' to Help Channel. |
| "transw {n} | Transfer 'n' to Welcome Channel. |
| "url {n} | Transfer 'n' to Dream Channel. |
|
Map File Format: This format is for unencrypted maps only. MAP V01.XX Furcadia\n height=NUMBER\n width=NUMBER\n revision=NUMBER\n patcht=PATCH TYPE\n patchs=DIRECTORY OR SERVER-NAME\n encoded=1 OR 0\n BODY\n width * height = Floor entry (unsigned short, entries stored starting at 0,0, then 0,1, etc.) width * height = Object entry (unsigned short, entries stored starting at 0,0, then 0,1, etc.) width * height * direction = Wall entry (unsigned byte, entries stored starting at 0,0, then 0,1, etc... direction consists of northwest wall, then the northeast wall) |
|
FSH File Format: This format applies to both encrypted and unencrypted FSHes. The only difference is that the palette entries for encrypted FSHes vary from entry to entry, so I think it's possible that there's some sort of checksum involved. unsigned short - chunk count (a chunk is a FSH entry) unsigned short * (chunk count) - chunk size chunk * chunk count - chunks Chunk: unsigned byte - width unsigned byte - height signed byte - X Offset signed byte - Y Offset width * height - Index of palette color used at specified pixel (The entries are reflected, that is, the last row is stored first. So, in a 32 by 64 entry, drawn location 0,64 is the first byte read, 1,64 is the second byte read, etc.) |
|
FS2 File Format: This file format is very similar to the FSH in the respect that it stores images the same way.
Entry: unsigned byte - width unsigned byte - height signed byte - X Offset signed byte - Y Offset unsigned? short - Object # to replace width * height - Index of palette color used at specified pixel (The entries are reflected, that is, the last row is stored first. So, in a 32 by 64 entry, drawn location 0,64 is the first byte read, 1,64 is the second byte read, etc.) |
|
FBJ File Format: This format can be tricky because the entries' properties can range from one to three bytes.
Entries (length dependent upon if x, y coords are used) (all bytes are signed): Properties: (X == 0) && (Y == 0) (length: 1 byte) ---------------------------------
(X <> 0) && (Y == 0) (length: 2 bytes) ---------------------------------
(X == 0) && (Y <> 0) (length: 2 bytes) ---------------------------------
(X <> 0) && (Y <> 0) (length: 3 bytes) ---------------------------------
|
|
DSB File Format: The last file format is quite useful because if you get it in your cache, you can get the DS to the dream.
|
if (((unsigned char) charin[0] < 32) || ((unsigned char) charin[0] > 127))}
return -1;if (((unsigned char) charin[1] < 32) || ((unsigned char) charin[1] > 127))
return -1;return (((unsigned char) charin[0] - 32) * 95) + ((unsigned char) charin[1] - 32);
// Boundaries}
if (intin <= 0)
intin = 0;if (intin >= 9025)intin = 9025;
// Conversion
charout[0] = (unsigned char)( (intin / 95) + 32 );
charout[1] = (unsigned char)( (intin % 95) + 32);
charout[2] = '\0';
'Converts a Furcadian number string to an IntegerEnd Function
Dim NumberString As String
Dim BigNumber As Integer, SmallNumber As Integer, WholeNumber As Integer
NumberString = Text
BigNumber = (Asc(Left$(NumberString, 1)) - 32)
BigNumber = BigNumber * 95
SmallNumber = Asc(Right$(NumberString, 1)) - 32
WholeNumber = BigNumber + SmallNumber
FurcToInt = WholeNumber
'Change Integer to a Furcadia number stringEnd Function
Dim RetStr As String
Dim charnum As Integer
Dim FrameValue As Integer
charnum = Int(Number / 95) + 32
RetStr = Chr$(charnum)
FrameValue = Number Mod 95
charnum = Int(FrameValue) + 32
RetStr = RetStr + Chr$(charnum)
IntToFurc = RetStr