Difference between revisions of "LlOwnerSay"
Jump to navigation
Jump to search
(add caveat: llOwnerSay not found in 2007-08 "Linden Scripting Language Guide.html") |
m (<lsl> tag to <source>) |
||
(36 intermediate revisions by 17 users not shown) | |||
Line 1: | Line 1: | ||
{{LSL_Function | {{LSL_Function | ||
|inject-2={{LSL_Function/limits}}{{LSL_Function/chat||msg}} | |||
|func_id=292|func_sleep=0.0|func_energy=10.0 | |func_id=292|func_sleep=0.0|func_energy=10.0 | ||
|func=llOwnerSay|p1_type=string|p1_name=msg | |func=llOwnerSay|p1_type=string|p1_name=msg | ||
| | |func_desc=Says {{LSLP|msg}} to the object's owner only, if the owner is currently in the same [[region]]. | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats=* | |caveats= | ||
* | * If {{LSLP|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 [[deed]]ed to a group. | |||
* Some viewers do not display llOwnerSay text when {{LSLP|msg}} is empty ({{String}}). | |||
* 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). | |||
|constants | |constants | ||
|examples=< | |examples= | ||
default { | <source lang="lsl2"> | ||
touch_start() | default | ||
{ | |||
touch_start(integer num_detected) | |||
{ | { | ||
llOwnerSay("Ouch!" ); | llOwnerSay("Ouch!"); | ||
} | } | ||
} | } | ||
</ | </source> | ||
|helpers | |helpers= | ||
<source lang="lsl2"> | |||
// 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); | |||
} | |||
} | |||
</source> | |||
|also_functions= | |also_functions= | ||
{{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}} | {{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}} | ||
Line 23: | Line 55: | ||
{{LSL DefineRow||[[llSay]]|Sends chat limited to 20 meters}} | {{LSL DefineRow||[[llSay]]|Sends chat limited to 20 meters}} | ||
{{LSL DefineRow||[[llShout]]|Sends chat limited to 100 meters}} | {{LSL DefineRow||[[llShout]]|Sends chat limited to 100 meters}} | ||
{{LSL DefineRow||[[llInstantMessage]]|}} | {{LSL DefineRow||[[llRegionSayTo]]|Sends private chat region wide}} | ||
{{LSL DefineRow||[[llInstantMessage]]|Sends private chat anywhere on the grid}} | |||
|also_events | |also_events | ||
|also_tests | |also_tests= | ||
{{LSL DefineRow|[[llOwnerSay Test]]|}} | |||
|also_articles | |also_articles | ||
|notes | |notes | ||
Line 31: | Line 65: | ||
|negative_index | |negative_index | ||
|cat1=Communications | |cat1=Communications | ||
|haiku={{Haiku|Speak to me only.|Murmur secrets in my ear:|Clandestine whispers.}} | |||
|cat2 | |cat2 | ||
|cat3 | |cat3 | ||
|cat4 | |cat4 | ||
}} | }} |
Latest revision as of 13:06, 22 January 2015
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llOwnerSay( string msg );0.0 | Forced Delay |
10.0 | Energy |
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).
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 |