<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BrownBoxStudio+Resident</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BrownBoxStudio+Resident"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/BrownBoxStudio_Resident"/>
	<updated>2026-07-28T00:11:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Link_message&amp;diff=1198883</id>
		<title>Link message</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Link_message&amp;diff=1198883"/>
		<updated>2016-01-20T04:02:18Z</updated>

		<summary type="html">&lt;p&gt;BrownBoxStudio Resident: Added description for 3rd parameter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Event|event_id=29|event_delay|event=link_message&lt;br /&gt;
|p1_type=integer|p1_subtype=link|p1_name=sender_num|p1_desc=The link number of the prim that contained the script that called [[llMessageLinked]].&lt;br /&gt;
|p2_type=integer|p2_name=num|p2_desc=Second parameter of the llMessageLinked call.&lt;br /&gt;
|p3_type=string|p3_name=str|p3_desc= The message that was sent from the script that called [[llMessageLinked]].&lt;br /&gt;
|p4_type=key|p4_name=id|p4_desc=Fourth parameter of the llMessageLinked call.&lt;br /&gt;
|event_desc=Triggered when the script receives a link message that was sent by a call to [[llMessageLinked]]. llMessageLinked is used to send messages from one script to another.&lt;br /&gt;
|event_footnote=&#039;&#039;&#039;id&#039;&#039;&#039; is often used as a second string field (in LSL the [[key]] type is implemented as a [[string]] with just custom operators). [[typecast|Typecasting]] between [[string]] and [[key]] types has no effect on the data contained. The sizes of &#039;&#039;&#039;str&#039;&#039;&#039; and &#039;&#039;&#039;id&#039;&#039;&#039; are only limited by available script memory.&lt;br /&gt;
|constants&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=*64 link_message events can queue, past that, they are silently dropped!  Don&#039;t do too much in the event if they might be coming in fast.&lt;br /&gt;
*&#039;&#039;&#039;sender_num&#039;&#039;&#039; does not reflect how a message was sent, there is no way to know if it was sent with a LINK_* flag or the [[llGetLinkNumber|specific link number]].&lt;br /&gt;
*If &#039;&#039;&#039;str&#039;&#039;&#039; and &#039;&#039;&#039;id&#039;&#039;&#039; are bigger than available memory the script will crash with a Stack-Heap Collision.&lt;br /&gt;
|examples=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl2&amp;quot;&amp;gt;&lt;br /&gt;
//This is just an example script, you shouldn&#039;t handle touches within single script this way.&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
        llMessageLinked(LINK_THIS, 0, llDetectedName(0), llDetectedKey(0));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    link_message(integer source, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
        llWhisper(0, str + &amp;quot; (&amp;quot; + (string)id + &amp;quot;) touched me!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl2&amp;quot;&amp;gt;&lt;br /&gt;
// This is just an example script, you shouldn&#039;t handle link message within single script this way.&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
     // To propagate an unlimited number of arguments of any type.&lt;br /&gt;
     // Presumed, the separator string isn&#039;t used in any source string!&lt;br /&gt;
&lt;br /&gt;
    state_entry() &lt;br /&gt;
    {    &lt;br /&gt;
        list my_list = [1, 2.0, &amp;quot;a string&amp;quot;, &amp;lt;1, 2, 3&amp;gt;, &amp;lt;1, 2, 3, 4&amp;gt;, llGetOwner()];  &lt;br /&gt;
        string list_parameter = llDumpList2String(my_list, &amp;quot;|&amp;quot;);	// Produce a | delimited string from the list&lt;br /&gt;
        llMessageLinked(LINK_THIS, 0, list_parameter, NULL_KEY);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    link_message(integer sender_num, integer num, string list_argument, key id) &lt;br /&gt;
    {&lt;br /&gt;
        list re_list = llParseString2List(list_argument, [&amp;quot;|&amp;quot;], [&amp;quot;&amp;quot;]);	// Convert the string back to a list&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|also_header&lt;br /&gt;
|also_events&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llMessageLinked]]}}&lt;br /&gt;
|also_articles&lt;br /&gt;
|also_footer&lt;br /&gt;
|notes={{LSL Tip|A script can hear its own link messages.}}&lt;br /&gt;
|mode&lt;br /&gt;
|cat1=Link&lt;br /&gt;
|cat2=Communications&lt;br /&gt;
|cat3=Link Message&lt;br /&gt;
|cat4&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>BrownBoxStudio Resident</name></author>
	</entry>
</feed>