Link message

From Second Life Wiki
Revision as of 00:51, 4 February 2008 by Randall Lovenkraft (talk | contribs) (simple typo)
Jump to navigation Jump to search

Description

Event: link_message( integer sender_num, integer num, string str, key id ){ ; }

Triggered when task receives a link message via llMessageLinked library function call

• integer sender_num
• integer num
• string str
• key id

Caveats

  • 64 link_message events can queue, past that, they are silently dropped! Don't do too much in the event if they might be coming in fast.
All Issues ~ Search JIRA for related Bugs

Examples

//This is just an example script, you shouldn't handle touches within single script this way.

default
{
    touch_start(integer c)
    {
        llMessageLinked(LINK_THIS, 0, llDetectedName(0), llDetectedKey(0));
    }
    link_message(integer source, integer num, string str, key id)
    {
        llWhisper(0, str + " (" + (string)id + ") touched me!");
    }
}

Useful Snippets

// This is just an example script, you shouldn't handle link message within single script this way.

default{ // To propagate an unlimited number of arguments of any type.
	// Presumed, the separator string isn't used in any source string!
    state_entry() {    
        list my_list = [1, 2.0, "a string", <1, 2, 3>, <1, 2, 3, 4>, llGetOwner()];  
        string list_parameter = llDumpList2String(my_list, "|");	// Typecast list to a string
        llMessageLinked(LINK_THIS, 0, list_parameter, NULL_KEY)
    }

    link_message(integer sender_num, integer num, string list_argument, key id) {
        list re_list = llParseString2List(list_argument, ["|"], [""]);	// Typecast string back to a list
    }    
}

Notes

A script can hear its own link messages.

See Also

Functions

•  llMessageLinked

Deep Notes

Signature

event void link_message( integer sender_num, integer num, string str, key id );