Difference between revisions of "LlOwnerSay"

From Second Life Wiki
Jump to navigation Jump to search
m (Corrected incorrect grammatical use of "less" in "This can convey 1024 ASCII characters, or less if non-ASCII are present." to "fewer")
m (<lsl> tag to <source>)
 
Line 14: Line 14:
|constants
|constants
|examples=
|examples=
<lsl>
<source lang="lsl2">
default
default
{
{
Line 22: Line 22:
     }
     }
}
}
</lsl>
</source>
|helpers=
|helpers=
<lsl>
<source lang="lsl2">
// llOwnerSay extension for preventing silent failures
// llOwnerSay extension for preventing silent failures
// paste this code at the top of the script and replace
// paste this code at the top of the script and replace
Line 49: Line 49:
     }
     }
}
}
</lsl>
</source>
|also_functions=
|also_functions=
{{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}}
{{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}}

Latest revision as of 14:06, 22 January 2015

Summary

Function: llOwnerSay( string msg );

Says msg to the object's owner only, if the owner is currently in the same region.

• string msg message to be transmitted

Caveats

  • If msg is longer than 1024 bytes, it will be truncated to 1024 bytes. This can convey 1024 ASCII characters, or fewer if non-ASCII are present.
  • Silently fails ~45 seconds after the owner leaves the region the object is in.
  • Silently fails when the object to which the script is attached is deeded to a group.
  • Some viewers do not display llOwnerSay text when msg is empty ("").
  • Produces swirly particle effects for the owner (who sees the message) but these effects do not appear to be visible to other avatars (who don't).
All Issues ~ Search JIRA for related Bugs

Examples

default
{
    touch_start(integer num_detected)
    {
        llOwnerSay("Ouch!");
    }
}

Useful Snippets

// llOwnerSay extension for preventing silent failures
// paste this code at the top of the script and replace
// any calls to llOwnerSay with uOwnerSayPlus

uOwnerSayPlus(string inputString)
{
    key owner = llGetOwner();

    // single owner that the region still has a handle for
    if (llKey2Name(owner))
    {
        llOwnerSay(inputString);
    }
    // group owned, must send the message publicly
    else if (llList2Key(llGetObjectDetails(llGetKey(), [OBJECT_GROUP]), 0) == owner)
    {
        llWhisper(0, "/me : " + inputString);
    }
    // single owner, not present, send them an IM
    else
    {
        llInstantMessage(owner, inputString);
    }
}

See Also

Functions

•  llRegionSay Sends chat region wide
•  llWhisper Sends chat limited to 10 meters
•  llSay Sends chat limited to 20 meters
•  llShout Sends chat limited to 100 meters
•  llRegionSayTo Sends private chat region wide
•  llInstantMessage Sends private chat anywhere on the grid

Articles

•  Limits SL limits and constrictions

Deep Notes

Search JIRA for related Issues

Tests

• llOwnerSay Test

Signature

function void llOwnerSay( string msg );

Haiku

Speak to me only.
Murmur secrets in my ear:
Clandestine whispers.