Introduction
This protocol is currently used in my particle generator. It's also intended to be used in future works. Other people are welcome to use it, and to write scripts that interoperate with mine.
Return to protocol exchange
Format
The num argument of
llMessageLinked is used to specify the destination script. The number encodes in hex the script's creator, script number, and script function. The other arguments are used to pass data for the script. The script number is decoded as follows: 0xCCCCSSFF, where CCCC = Creator, SS = Script, FF = Function.
For instance, number 0x44770100 decodes as: Creator 0x4477 (Dale Glass), Script 01 (Speaker), Function 00 (Display message).
List of Creators
List of Scripts for Dale Glass
ID | Name | Description |
0x00 | Reserved | Used in pattern script as default, script fails if used to force choosing a script number |
0x01 | Speaker | Generates messages using specified method: say, whisper, etc |
0x02 | Message Parser | Parses user commands, sends link messages to other scripts to perform the actions |
0x03 | Particle Generator | Generates particle effects |
0x04 | Demo Mode | Interfaces with Notecard Loader, loading cards at an interval |
0x05 | Link Message Debugger | Helper script that dumps link messages |
0x06 | Notecard Loader | Loads notecards, feeds the lines into the Message Parser |
0x07 | Particle Randomizer | Randomly tweaks values in Particle Generator |
0xFF | Global Functions | Reserved for debug functions handled by all the scripts |
Speaker
This script produces messages for all the other ones. The other scripts never produce any output directly, sending it instead through the Speaker. This allows to easily control the output type for all the other scripts, or to silence it completely.
ID | Name | String | Key | Description |
0x00 | Say | Message | Unused | Outputs message specified in striing using the current output method |
0x01 | Type | Message type | Unused | Sets the type of output: whisper, say, shout, owner, instant, debug or none. The current default is "owner" (llOwnerSay) |
0x02 | Channel | Channel | Unused | Sets the channel for the message types that use it |
Message Parser
The message parser is the controlling script in my objects. It parses commands and sends link messages to other scripts to perform the work. The ID used for it will remain constant through all my future scripts, although the function performed will be different. This way, some things like for instance the Notecard Loader can be reused as-is in future works.
ID | Name | String | Key | Description |
0x00 | Parse | Message | Unused | Parse the passed message as if it was typed |
Particle Generator
ID | Name | String | Key | Description |
0x00 | Enable | Unused | Unused | Enables the generator |
0x01 | Disable | Unused | Unused | Disables the generator. The configuration is kept |
0x02 | Target | Unused | Target | Makes the particles target the specified key |
0x03 | Set variable | Data | Unused | Data is formatted as follows: var + "|" + arg1 + "|" + arg2 + "|" + arg3. The separators are required even if the argument is empty |
0x04 | Set pattern | Pattern | Unused | Sets the particle pattern. The argument is the numeric value that would be passed to llParticleSystem |
0x05 | Show status | Type | Format | Type is the dump type, "config" or "lsl". Format is the dump format for the "config" type: "condensed" or "long" |
0x06 | Set texture | Texture | Unused | Argument is the texture's name or key |
0x07 | Enable variable change messages | Unused | Unused | Enables notification when a variable changes |
0x08 | Disable variable change messages | Unused | Unused | Disables notification when a variable changes |
0x09 | Get variable | Callback | Variable name | Sends the variable's value with the "num" specified in the string |
0x0A | Set rotation | Rotation | Unused | Calls llTargetOmega with the rotation in the string (values joined with "|") |
Demo Mode
This script works together with the notecard loader. It scans the object's inventory for notecards starting with "config_" and asks the Notecard Loader to load them.
ID | Name | String | Key | Description |
0x00 | Set message | Message | Unused | Sets the message to be displayed on top of the object when in demo mode |
0x01 | Start | Interval | Unused | Starts the demo mode. The argument is the number of seconds to wait between each card |
0x02 | Stop | Unused | Unused | Leaves the demo mode |
Link Message Debugger
This is a debug helper script. It has no functions of its own, except the global ones (though it some day might get some). It listens for link messages and outputs them to the Speaker. Messages with the ID of the Speaker script, and string starting with "LINK:" are ignored, to avoid outputting its own output.
Notecard Loader
This script handles the loading of notecards. Its function is reading the cards, and feeding the output to the Message Parser. Each line is processed in this way:
First, it splits the line using the ":" separator, and throws out the first element in the list if there's more than one. This allows copy/pasting output from the message window into a notecard and have it load correctly without manual output. That is, this turns "Object: command" into "command".
Next, it splits the line using the "|" separator. Each element of the resulting list is processed as an individual line. This is done to work around the slowness of the dataserver. This is optional, and the loader will handle one command per line fine.
Finally, each line is fed to the Message Parser.
ID | Name | String | Key | Description |
0x00 | Load card | Card name | Unused | Starts loading the specified notecard. The passed name will be appended to "config_" (that is, a request to load "test" will load "config_test"). If a card is already being loaded, then the command will be rejected, and an error message produced |
0x01 | Set callback | Callback number | Unused | Sets the notecard load completion callback. Each call will overwrite the value set by the previous one. If called, the Notecard Loader will send a link message using the specified number to notify the interested party that the card finished loading. |
Global Functions
All the scripts respond to them, at once. Some may be unrecognized by older scripts. Unrecognized commands will result in a whisper of "Unrecognized reserved link command".
ID | Name | String | Key | Description |
0x00 | Version | Unused | Unused | Displays script name and version |
0x01 | Memory | Unused | Unused | Shows the available amount of memory |
0x02 | Reset | Unused | Unused | Resets the script |
0x03 | Enable debug | Unused | Unused | Enables debug mode. Some scripts will produce extra messages |
0x04 | Disable debug | Unused | Unused | Disables debug mode |
Jasa SEO Murah Jasa SEO Jasa Google Adwords Jasa Adwords Google Adwords Sepatu Safety Sepatu Futsal Cheapes Hostgator Coupon Link Booking Televisori offerte Notebook Offerte Govr Edo Ziedo Portatile Apple RDAnet Lorks Karikatur Bisnis Modal Kecil Bisnis UKM Berita Terbaru Iklan Baris Jasa SEO Murah SEO Indonesia Konsultan SEO SEO Belajar SEO Penumbuh Rambut Kursus SEO Jam Tangan Casio Grosir Baju Bisnis Online Kerupuk Kulit Social Bookmark Kumpulan Puisi WBC Wonogiri Penumbuh Rambut Jam Tangan Murah Jam Tangan Murah Jam Tangan Casio Penumbuh Rambut Kerupuk Kulit Alat Kantor Laku.com Belanja Online Grosir Eceran Murah dan Aman Jasa SEO Model Jilbab Fine Tableware Permanent Hair Removal island investment development professional makeup artist bali private villa sewa mobil jakarta murah Jual rumah Jakarta Contact Lens Technology