LlOwnerSay: Difference between revisions
Jump to navigation
Jump to search
Noted that swirly particle effects appear for the owner only |
Kireji Haiku (talk | contribs) mNo edit summary |
||
| Line 35: | Line 35: | ||
// single owner that the region still has a handle for | // single owner that the region still has a handle for | ||
if (llKey2Name(owner)) | if (llKey2Name(owner)) | ||
{ | |||
llOwnerSay(inputString); | llOwnerSay(inputString); | ||
} | |||
// group owned, must send the message publicly | // group owned, must send the message publicly | ||
else if (llList2Key(llGetObjectDetails(llGetKey(), [OBJECT_GROUP]), 0) == owner) | else if (llList2Key(llGetObjectDetails(llGetKey(), [OBJECT_GROUP]), 0) == owner) | ||
llWhisper( | { | ||
llWhisper(PUBLIC_CHANNEL, "/me : " + inputString); | |||
} | |||
// single owner, not present, send them an IM | // single owner, not present, send them an IM | ||
else | else | ||
{ | |||
llInstantMessage(owner, inputString); | llInstantMessage(owner, inputString); | ||
} | |||
} | } | ||
</lsl> | </lsl> | ||
Revision as of 23:21, 8 October 2013
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Caveats
- If msg is longer than 1024 bytes, it will be truncated to 1024 bytes. This can convey 1024 ASCII characters, or less 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).
Examples
<lsl> default {
touch_start(integer num_detected)
{
llOwnerSay("Ouch!");
}
}
</lsl>Useful Snippets
<lsl> // 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(PUBLIC_CHANNEL, "/me : " + inputString);
}
// single owner, not present, send them an IM
else
{
llInstantMessage(owner, inputString);
}
} </lsl>
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 | |
| • | llInstantMessage |
Articles
| • | Limits | – | SL limits and constrictions |