Difference between revisions of "LlSetText"

From Second Life Wiki
Jump to navigation Jump to search
(add useful snippet (aka, helper) = drag this script out of inventory onto an object to erase its set text)
m (link with useful snippet at llGetObjectPermMask - label an object to give away or sell)
Line 72: Line 72:
|also
|also
|also_functions
|also_functions
|also_articles={{LSL DefineRow||[[:Category:LSL Examples|Examples:]] [[SplitLine]] - Insert 'new line' escape codes at certain positions of a string}}
|also_articles=
{{LSL DefineRow||[[:Category:LSL Examples|Examples:]] [[SplitLine]] - Insert 'new line' escape codes at certain positions of a string}}
{{LSL DefineRow||[[llGetObjectPermMask]] useful snippet - label an object to give away or sell}}
|cat1=Effects
|cat1=Effects
|cat2=Prim
|cat2=Prim

Revision as of 12:10, 28 October 2007

Summary

Function: llSetText( string text, vector color, float alpha );
0.0 Forced Delay
10.0 Energy

Displays text over a prim with specific color and transparency (specified with alpha).

• string text text to display between the quotes
• vector color
• float alpha

Caveats

  • The floating text is a property of the prim and not the script, thus the text will remain if the script is deactivated or removed.
    • To remove floating text, one must assign an empty string with llSetText("", <1.0, 1.0, 1.0>, 1.0);
  • Vertical whitespace is removed from the end of the text string, so if you want vertical whitespace put any character (like a space) on the last line.
    • Bad: llSetText("Monkeys\n\n\n\n\n", <1.0, 1.0, 1.0>, 1.0);
    • Good: llSetText("Monkeys\n\n\n\n\n ", <1.0, 1.0, 1.0>, 1.0);

Examples

Example colors:

vector white = <1.0, 1.0, 1.0>;
vector red = <1.0, 0.0, 0.0>;
vector green = <0.0, 1.0, 0.0>;
vector blue = <0.0, 0.0, 1.0>;
vector grey = <0.5, 0.5, 0.5>;
vector black = <0.0, 0.0, 0.0>;
llSetText("I am on", <1.0, 1.0, 1.0>, 1.0);

<1.0, 1.0, 1.0> represents the values for red, green, and blue. <1.0, 1.0, 1.0>, means "white" and <0.0, 0.0, 0.0> means "black".

llSetText("I am off", <0.0, 0.0, 0.0>, 1.0);

The 1.0 is the alpha setting. 1.0 means fully opaque, and 0.0 would be completely transparent (invisible).

Example of how llSetText could be included in default code to show object's name in green text:

default
{
    state_entry()
    {
         llSay(0, "Hello, Avatar!");
         llSetText(llGetObjectName(), <0.0, 1.0, 0.0>, 1.0); // Display object's name in green
    }

    touch_start(integer total_number)
    {
         llSay(0, "Touched.");
    }
}

By default the floating text will appear on a single line. However, the floating text can be spread over multiple lines by using a line break "\n" (read SplitLine in section 'See Also').

     llSetText("I am \n on two lines!", <0.0, 1.0, 0.0>, 1.0);

Useful Snippets

Drag this script out of inventory onto an object to erase its set text:

// http://wiki.secondlife.com/wiki/llSetText
default
{
    state_entry()
    {
        llSetText("", <0.0, 0.0, 0.0>, 0.0);
        llRemoveInventory(llGetScriptName());
    }
}

See Also

Articles

•  Examples: SplitLine - Insert 'new line' escape codes at certain positions of a string
•  llGetObjectPermMask useful snippet - label an object to give away or sell

Deep Notes

Signature

function void llSetText( string text, vector color, float alpha );