LlMessageLinked

De DigiWiki.

default
{ 
    // assumptions  // object name: LSLWiki // script name: _lslwiki
    state_entry() 
    {
        llMessageLinked(LINK_THIS, 0, llGetScriptName(), "");
    }
 
    link_message(integer sender_num, integer num, string msg, key id) 
    {
        llOwnerSay(msg);
        // the owner of object LSLWiki will hear
        // LSLWiki:_lslwiki
    }    
}

Infinite Loop

Message_Control(integer l, integer n) // Message_Total_Lack_Of_Control
{
    integer r = (++n); // Increment the value of n.
    llMessageLinked( l, r, "", ""); // Send the result to l
}
 
default
{
    state_entry()
    {
        Message_Control(LINK_SET, 0); // Tell all the scripts in the object that we have state_entered.
    }
    link_message(integer Sender, integer Number, string String, key Key) // This script is in the object too.
    {
        Message_Control(Sender, Number); // No filtering condition exists.
        llOwnerSay(((string)Number)); // Look at all the pretty numbers!
    }
}
default
{ 
    // Quick and dirty debugging link_messages
    link_message(integer sender_num, integer num, string msg, key id) 
    {
        llSay(DEBUG_CHANNEL, llList2CSV([sender_num, num, msg, id]));
    }
}
// This is just an example script, you shouldn't handle link message within single script this way.
 
default
{ 
    // To propagate an unlimted 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, "|");	// Convert the list to a string
        llMessageLinked(LINK_THIS, 0, list_parameter, "")
    }
 
    link_message(integer sender_num, integer num, string list_argument, key id) 
    {
        list re_list = llParseString2List(list_argument, ["|"], []);	// Parse the string back to a list
    }
}
Outils personnels
  • Cette page a été consultée 1 362 fois.
donate
Google Ads