Don't click here unless you want to be banned.

LSL Wiki : AlternativeCommunications

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are

Alternative Communications

There are many alternatives to the traditional (XML/Email/Chat/Link Message) way of communicating between two scripts. This page was created to facilitate the discussion of these alternatives.

Parcel URLs

By setting a land's music or video stream URL (via llSetParcelMusicURL and llParcelMediaCommandList) it is possible to communicate information to out-of-world servers. By setting the URL to something like"bar", when a user's avatar passes over the land in question, his or her client will invoke the URL and send the data "bar" in a variable "foo" to test.php. This can be used as an alternative to email for transmitting XML-RPC channel keys, for example.

PHP example:
Needs an URL like

if ( isset($_GET['command']) {
$fh fopen('log.txt','a');


ASP example:
Needs an URL like
Command: <b><%=request.querystring("command")%></b>
<% if request.querystring("command")= "Hello" then %>
Hello World
<% else %> 
<% end if %>



llKey2Name and llSetObjectName can be used as a way of communicating 255-character strings between multiple objects within the same simulator. Each "listening" object knows the "broadcasting" object's key, and repeately calls llKey2Name, noting any changes in the broadcaster's name. When the broadcaster wants to send a message, it simply changes its name to the message it wants to send.
Don't use this, email is much more reliable.
This can be used to feed data into an infinite loop in a touch event to enable llMapDestination, a sick way around a stupid restriction -- BW
In the past I used this for a score board with a FPS, the game tracker on the avatar would keep track of user status, and would dump that to a prim name; then the score board would just poll that key whenever it wanted to update. Very efficiant, very secure, very fast. -- BW



llRemoteLoadScriptPin can be used to communicate between objects in the same simulator. A script rigged to call llMessageLinked in state_entry can be transferred to a properly set up object (see llSetRemoteScriptAccessPin). The newly transferred script will trigger the link_message event in the receiving object's scripts. This allows objects to transfer information without using a timer or external servers.


Notecards & llGiveInventory

Like the above, llGiveInventory can be used to transfer data without using a timer. The inventory transfer triggers the changed event in the receiving object. To obtain the information on the new notecard the receiver can call llGetNotecardLine.


Comments [Hide comments/form]
Added the ASP example :-)
-- AeolusWaves (2006-01-25 09:09:32)
Yay, finally. My page went into something very useful. xD
-- KairaOverdrive (2006-01-25 09:50:50)
Those are really great tips and tricks
-- KairaOverdrive (2006-01-25 09:51:10)
My problem with this page is that things which are listed as 'disadvantages' are not really disadvantages. They're merely limitations. :-)
-- (2007-12-29 10:05:12)