Difference between revisions of "MySay"
Kireji Haiku (talk | contribs) m (minor readability improvements) |
Omei Qunhua (talk | contribs) m (Corrected example heading. Function mySay does not return a string.) |
||
Line 4: | Line 4: | ||
|p1_type=string|p1_name=objectName | |p1_type=string|p1_name=objectName | ||
|p2_type=string|p2_name=msg | |p2_type=string|p2_name=msg | ||
|func_desc=Cleaner chat on a user's screen. Gives a less-cluttered, more professional looking output. | |func_desc=Cleaner chat on a user's screen. Gives a less-cluttered, more professional looking output. | ||
|func_footnote= | |func_footnote= |
Revision as of 06:06, 21 December 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: mySay( string objectName, string msg );Cleaner chat on a user's screen. Gives a less-cluttered, more professional looking output.
• string | objectName | |||
• string | msg |
<lsl> mySay(string objectName, string msg) {
string nameBeforeChange = llGetObjectName();
llSetObjectName(objectName); llSay(PUBLIC_CHANNEL, "/me " + msg);
llSetObjectName(nameBeforeChange);
} </lsl> See also: mySayOwner, Category:LSL_Chat
Examples
<lsl>
mySay("","Processing, please wait.");
</lsl>
//user sees just: 17:04 Processing, please wait.
//You don't need to specify anything in the first parameter. The second one is limited to the normal chat limitation of a maximum of 255 bytes for that string. You may if you wish in the function swap in llWhisper or llShout.
If you have many different scripts in the same prim using mySay and competing at the same time for the object name, one might grab object name while it is blank, and then set it back to blank, wiping out the object name. This version compensates for that competition.
<lsl> mySay(string objectName, string msg) {
string nameBeforeChange = llGetObjectName();
while (nameBeforeChange == "") nameBeforeChange = llGetObjectName();
llSetObjectName(objectName); llSay(PUBLIC_CHANNEL, "/me " + msg);
llSetObjectName(nameBeforeChange);
}
</lsl>Notes
What this does:
Instead of users having their vision obscured by text like this covering half their screen:
[14:04] Animated Living Sofa Combo Couple & Solo 2.1e whispers: Lie F 1
They see just this:
[14:04] Lie F 1