Difference between revisions of "LlOwnerSay"
Jump to navigation
Jump to search
m |
Kireji Haiku (talk | contribs) m |
||
Line 12: | Line 12: | ||
* Some viewers do not display llOwnerSay text when {{LSLP|msg}} is empty ({{String}}). | * Some viewers do not display llOwnerSay text when {{LSLP|msg}} is empty ({{String}}). | ||
|constants | |constants | ||
|examples=<lsl>default | |examples= | ||
<lsl> | |||
default | |||
{ | { | ||
touch_start(integer | touch_start(integer num_detected) | ||
{ | { | ||
llOwnerSay("Ouch!" ); | llOwnerSay("Ouch!"); | ||
} | } | ||
}</lsl> | } | ||
</lsl> | |||
|helpers= | |helpers= | ||
<lsl> // | <lsl> | ||
// llOwnerSay extension for preventing silent failures | |||
// paste this code at the top of the script and replace | |||
// any calls to llOwnerSay below it with uOwnerSayPlus | |||
owner_say(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> | |||
|also_functions= | |also_functions= | ||
{{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}} | {{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}} |
Revision as of 08:37, 24 September 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Caveats
- If msg is longer than 1023 bytes, it will be truncated to 1023 bytes.
- 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 ("").
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 below it with uOwnerSayPlus
owner_say(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 |