<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beast+Winterwolf</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beast+Winterwolf"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Beast_Winterwolf"/>
	<updated>2026-07-28T05:13:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=945452</id>
		<title>LlSetText</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=945452"/>
		<updated>2010-06-21T22:14:09Z</updated>

		<summary type="html">&lt;p&gt;Beast Winterwolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:PRIM_TEXT|set}}{{Issues/SVC-4539}}{{LSL_Function&lt;br /&gt;
|func_id=152&lt;br /&gt;
|func_sleep=0.0&lt;br /&gt;
|func_energy=10.0&lt;br /&gt;
|func=llSetText&lt;br /&gt;
|sort=SetText&lt;br /&gt;
|p1_type=string|p1_name=text&lt;br /&gt;
|p2_type=vector|p2_name=color&lt;br /&gt;
|p3_type=float|p3_name=alpha&lt;br /&gt;
|func_desc=Displays &#039;&#039;&#039;text&#039;&#039;&#039; that hovers over the prim with specific &#039;&#039;&#039;color&#039;&#039;&#039; and translucency (specified with &#039;&#039;&#039;alpha&#039;&#039;&#039;). &lt;br /&gt;
|return_text&lt;br /&gt;
|spec=&lt;br /&gt;
|caveats=&lt;br /&gt;
*If more than one llSetText is called (By reset,interaction or script state) within a prim the latest call will take priority over the previous.&lt;br /&gt;
*&#039;&#039;&#039;text&#039;&#039;&#039; is [[limit]]ed to 254 [[bytes]], if the string is longer it will be truncated to 254 bytes, even if that means the truncation will chop a character in half.&lt;br /&gt;
*An unbroken line of text of a great length may be broken automatically into two lines (one above the other).&lt;br /&gt;
*Floating text can be seen through walls and other object. Be considerate of neighbors in malls and apartment buildings. &lt;br /&gt;
**Visability distance increases with prim size.&lt;br /&gt;
*Removing the script or deactivating it will not remove the prim&#039;s floating text.&lt;br /&gt;
**Floating text is a prim property and not dependent on a script for its continued existence.&lt;br /&gt;
*To remove floating text, use the following:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&amp;lt;/lsl&amp;gt;&lt;br /&gt;
*Shift-copying does not keep the floating text prim property. If the llSetText() script is not triggered when a copy made, the copy will not have the floating text.&lt;br /&gt;
*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.&lt;br /&gt;
*Multiple linebreaks with empty lines are converted to a single linebreak, so add a whitespace character on every line you want to skip:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;Monkeys\n\n\n\n\n&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Bad&lt;br /&gt;
llSetText(&amp;quot;Monkeys\n \n \n \n \n &amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Good&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|examples=&lt;br /&gt;
Example of how llSetText could be included in default code to show object&#039;s name in green text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Hello, Avatar!&amp;quot;);&lt;br /&gt;
         llSetText(llGetObjectName(), &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0); // Display the object&#039;s current name in green&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Touched.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
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 &amp;quot;\n&amp;quot; (read [[SplitLine]] in section &#039;See Also&#039;).&lt;br /&gt;
===Color &amp;amp; Alpha===&lt;br /&gt;
{{{!}} class=&amp;quot;sortable&amp;quot; {{Prettytable|style=float:right; margin-top:0;}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
! Color&lt;br /&gt;
! Code&lt;br /&gt;
{{!}}- style=&amp;quot;background:white&amp;quot;&lt;br /&gt;
{{!}}White &lt;br /&gt;
{{!}}&amp;lt;1.0, 1.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:grey&amp;quot;&lt;br /&gt;
{{!}}Grey &lt;br /&gt;
{{!}}&amp;lt;0.5, 0.5, 0.5&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:black; color:white;&amp;quot;&lt;br /&gt;
{{!}}{{!}}Black &lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:red; color:white;&amp;quot;&lt;br /&gt;
{{!}}Red&lt;br /&gt;
{{!}}&amp;lt;1.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:green; color:white;&amp;quot;&lt;br /&gt;
{{!}}Green&lt;br /&gt;
{{!}}&amp;lt;0.0, 1.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:blue; color:white;&amp;quot;&lt;br /&gt;
{{!}}Blue&lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
The x, y &amp;amp; z components of the vector are used to represent red, green, and blue respectively. The range is different than traditional RGB, instead of being 0 -&amp;gt; 255, LSL uses 0 -&amp;gt; 1. &amp;lt;1.0, 1.0, 1.0&amp;gt;, means &amp;quot;white&amp;quot; and &amp;lt;0.0, 0.0, 0.0&amp;gt; means &amp;quot;black&amp;quot;:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am white&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//white text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am black&amp;quot;, &amp;lt;0.0, 0.0, 0.0&amp;gt;, 1.0);//black text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
The 1.0 is the alpha setting. 1.0 means fully opaque, and 0.0 would be completely transparent (invisible):&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;alpha&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 0.5);//50% translucent green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
===Multiple lines===&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am \n on two lines!&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);//two lines of green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
Drag this script out of inventory onto an object to erase its set text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;// http://wiki.secondlife.com/wiki/llSetText&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
        llRemoveInventory(llGetScriptName());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
Code to easily specify appearance of hovertext:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
vector  blue        = &amp;lt;0,0,1&amp;gt;;&lt;br /&gt;
vector  orange      = &amp;lt;1,0.5,0&amp;gt;;&lt;br /&gt;
vector  cyan        = &amp;lt;0,1,1&amp;gt;;&lt;br /&gt;
vector  pink        = &amp;lt;1,0.5,0.76&amp;gt;;&lt;br /&gt;
vector  green       = &amp;lt;0,1,0&amp;gt;;&lt;br /&gt;
vector  red         = &amp;lt;1,0,0&amp;gt;;&lt;br /&gt;
vector  white       = &amp;lt;1,1,1&amp;gt;;&lt;br /&gt;
vector  yellow      = &amp;lt;1,1,0.1&amp;gt;;&lt;br /&gt;
vector  purple      = &amp;lt;1,0,1&amp;gt;;&lt;br /&gt;
vector  black       = &amp;lt;0,0,0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
string  hoverText   = &amp;quot;TEXT GOES HERE&amp;quot;; // Sets the text&lt;br /&gt;
vector  hoverColor  = white; // Sets the color the text will show. Use predefined colors or any RGB color vector in float form&lt;br /&gt;
float   hoverAlpha  = 1.0; // Sets the text&#039;s transparency, 1.0 being SOLID, while 0 would be clear,&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(hoverText, hoverColor, hoverAlpha);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To make hovertext under linked prims you can use this simple function:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
mySetLinkText(integer linknum, string text, vector color, float alpha) {&lt;br /&gt;
    llSetLinkPrimitiveParamsFast(linknum,[PRIM_TEXT,text,color,alpha]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// For example:&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        mySetLinkText(LINK_SET, &amp;quot;TEST&amp;quot;, &amp;lt;0,1,0&amp;gt;, 0.5);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|also&lt;br /&gt;
|also_functions&lt;br /&gt;
|also_constants=&lt;br /&gt;
{{LSL DefineRow||[[PRIM_TEXT]]}}&lt;br /&gt;
|also_articles=&lt;br /&gt;
{{LSL DefineRow||[[:Category:LSL Examples|Examples]]: [[SplitLine]]|Insert &#039;new line&#039; escape codes at certain positions of a string}}&lt;br /&gt;
{{LSL DefineRow||Useful snippet: [[llGetObjectPermMask]]|Label an object with text and newlines to give away or sell}}&lt;br /&gt;
|notes=To actually display text on a prim, see [[XyzzyText]], or consider using parcel prim [[:Category:LSL_Media|Media]] options (useful only if you have control over the land&#039;s media settings.)&lt;br /&gt;
|cat1=Effects&lt;br /&gt;
|cat2=Prim&lt;br /&gt;
|cat3=Stop&lt;br /&gt;
|cat4=Floating Text&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Beast Winterwolf</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=944722</id>
		<title>LlSetText</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=944722"/>
		<updated>2010-06-21T03:46:00Z</updated>

		<summary type="html">&lt;p&gt;Beast Winterwolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:PRIM_TEXT|set}}{{Issues/SVC-4539}}{{LSL_Function&lt;br /&gt;
|func_id=152&lt;br /&gt;
|func_sleep=0.0&lt;br /&gt;
|func_energy=10.0&lt;br /&gt;
|func=llSetText&lt;br /&gt;
|sort=SetText&lt;br /&gt;
|p1_type=string|p1_name=text&lt;br /&gt;
|p2_type=vector|p2_name=color&lt;br /&gt;
|p3_type=float|p3_name=alpha&lt;br /&gt;
|func_desc=Displays &#039;&#039;&#039;text&#039;&#039;&#039; that hovers over the prim with specific &#039;&#039;&#039;color&#039;&#039;&#039; and translucency (specified with &#039;&#039;&#039;alpha&#039;&#039;&#039;). &lt;br /&gt;
|return_text&lt;br /&gt;
|spec=&lt;br /&gt;
|caveats=&lt;br /&gt;
*If more than one llSetText is called (By reset,interaction or script state) within a prim the latest call will take priority over the previous.&lt;br /&gt;
*&#039;&#039;&#039;text&#039;&#039;&#039; is [[limit]]ed to 254 [[bytes]], if the string is longer it will be truncated to 254 bytes, even if that means the truncation will chop a character in half.&lt;br /&gt;
*An unbroken line of text of a great length may be broken automatically into two lines (one above the other).&lt;br /&gt;
*Floating text can be seen through walls and other object. Be considerate of neighbors in malls and apartment buildings. &lt;br /&gt;
**Visability distance increases with prim size.&lt;br /&gt;
*Removing the script or deactivating it will not remove the prim&#039;s floating text.&lt;br /&gt;
**Floating text is a prim property and not dependent on a script for its continued existence.&lt;br /&gt;
*To remove floating text, use the following:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&amp;lt;/lsl&amp;gt;&lt;br /&gt;
*Shift-copying does not keep the floating text prim property. If the llSetText() script is not triggered when a copy made, the copy will not have the floating text.&lt;br /&gt;
*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.&lt;br /&gt;
*Multiple linebreaks with empty lines are converted to a single linebreak, so add a whitespace character on every line you want to skip:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;Monkeys\n\n\n\n\n&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Bad&lt;br /&gt;
llSetText(&amp;quot;Monkeys\n \n \n \n \n &amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Good&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|examples=&lt;br /&gt;
Example of how llSetText could be included in default code to show object&#039;s name in green text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Hello, Avatar!&amp;quot;);&lt;br /&gt;
         llSetText(llGetObjectName(), &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0); // Display the object&#039;s current name in green&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Touched.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
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 &amp;quot;\n&amp;quot; (read [[SplitLine]] in section &#039;See Also&#039;).&lt;br /&gt;
===Color &amp;amp; Alpha===&lt;br /&gt;
{{{!}} class=&amp;quot;sortable&amp;quot; {{Prettytable|style=float:right; margin-top:0;}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
! Color&lt;br /&gt;
! Code&lt;br /&gt;
{{!}}- style=&amp;quot;background:white&amp;quot;&lt;br /&gt;
{{!}}White &lt;br /&gt;
{{!}}&amp;lt;1.0, 1.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:grey&amp;quot;&lt;br /&gt;
{{!}}Grey &lt;br /&gt;
{{!}}&amp;lt;0.5, 0.5, 0.5&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:black; color:white;&amp;quot;&lt;br /&gt;
{{!}}{{!}}Black &lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:red; color:white;&amp;quot;&lt;br /&gt;
{{!}}Red&lt;br /&gt;
{{!}}&amp;lt;1.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:green; color:white;&amp;quot;&lt;br /&gt;
{{!}}Green&lt;br /&gt;
{{!}}&amp;lt;0.0, 1.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:blue; color:white;&amp;quot;&lt;br /&gt;
{{!}}Blue&lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
The x, y &amp;amp; z components of the vector are used to represent red, green, and blue respectively. The range is different than traditional RGB, instead of being 0 -&amp;gt; 255, LSL uses 0 -&amp;gt; 1. &amp;lt;1.0, 1.0, 1.0&amp;gt;, means &amp;quot;white&amp;quot; and &amp;lt;0.0, 0.0, 0.0&amp;gt; means &amp;quot;black&amp;quot;:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am white&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//white text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am black&amp;quot;, &amp;lt;0.0, 0.0, 0.0&amp;gt;, 1.0);//black text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
The 1.0 is the alpha setting. 1.0 means fully opaque, and 0.0 would be completely transparent (invisible):&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;alpha&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 0.5);//50% translucent green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
===Multiple lines===&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am \n on two lines!&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);//two lines of green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
Drag this script out of inventory onto an object to erase its set text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;// http://wiki.secondlife.com/wiki/llSetText&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
        llRemoveInventory(llGetScriptName());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
Code to easily specify appearance of hovertext:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
vector  blue        = &amp;lt;0,0,1&amp;gt;;&lt;br /&gt;
vector  orange      = &amp;lt;1,0.5,0&amp;gt;;&lt;br /&gt;
vector  cyan        = &amp;lt;0,1,1&amp;gt;;&lt;br /&gt;
vector  pink        = &amp;lt;1,0.5,0.76&amp;gt;;&lt;br /&gt;
vector  green       = &amp;lt;0,1,0&amp;gt;;&lt;br /&gt;
vector  red         = &amp;lt;1,0,0&amp;gt;;&lt;br /&gt;
vector  white       = &amp;lt;1,1,1&amp;gt;;&lt;br /&gt;
vector  yellow      = &amp;lt;1,1,0.1&amp;gt;;&lt;br /&gt;
vector  purple      = &amp;lt;1,0,1&amp;gt;;&lt;br /&gt;
vector  black       = &amp;lt;0,0,0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
string  hoverText   = &amp;quot;TEXT GOES HERE&amp;quot;; // Sets the text&lt;br /&gt;
vector  hoverColor  = white; // Sets the color the text will show. Use predefined colors or any RGB color vector in float form&lt;br /&gt;
float   hoverAlpha  = 1.0; // Sets the text&#039;s transparency, 1.0 being SOLID, while 0 would be clear,&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(hoverText, hoverColor, hoverAlpha);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To make hovertext under linked prims you can use this simple script (put him in each prim):&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
        if (llGetSubString(id, 0, 7) == &amp;quot;SET_TEXT&amp;quot;) {&lt;br /&gt;
            llSetText(str, (vector)llGetSubString(id, 9, -1), num/1000.0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To do it, just use this function in your main script:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
mySetLinkText(integer linknum, string text, vector color, float alpha)&lt;br /&gt;
{&lt;br /&gt;
    llMessageLinked(linknum, llRound(alpha*1000), text, &amp;quot;SET_TEXT &amp;quot;+(string)color);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// For example:&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        mySetLinkText(LINK_SET, &amp;quot;TEST&amp;quot;, &amp;lt;0,1,0&amp;gt;, 0.5);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|also&lt;br /&gt;
|also_functions&lt;br /&gt;
|also_constants=&lt;br /&gt;
{{LSL DefineRow||[[PRIM_TEXT]]}}&lt;br /&gt;
|also_articles=&lt;br /&gt;
{{LSL DefineRow||[[:Category:LSL Examples|Examples]]: [[SplitLine]]|Insert &#039;new line&#039; escape codes at certain positions of a string}}&lt;br /&gt;
{{LSL DefineRow||Useful snippet: [[llGetObjectPermMask]]|Label an object with text and newlines to give away or sell}}&lt;br /&gt;
|notes=To actually display text on a prim, see [[XyzzyText]], or consider using parcel prim [[:Category:LSL_Media|Media]] options (useful only if you have control over the land&#039;s media settings.)&lt;br /&gt;
|cat1=Effects&lt;br /&gt;
|cat2=Prim&lt;br /&gt;
|cat3=Stop&lt;br /&gt;
|cat4=Floating Text&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Beast Winterwolf</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=944712</id>
		<title>LlSetText</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=944712"/>
		<updated>2010-06-21T03:44:13Z</updated>

		<summary type="html">&lt;p&gt;Beast Winterwolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:PRIM_TEXT|set}}{{Issues/SVC-4539}}{{LSL_Function&lt;br /&gt;
|func_id=152&lt;br /&gt;
|func_sleep=0.0&lt;br /&gt;
|func_energy=10.0&lt;br /&gt;
|func=llSetText&lt;br /&gt;
|sort=SetText&lt;br /&gt;
|p1_type=string|p1_name=text&lt;br /&gt;
|p2_type=vector|p2_name=color&lt;br /&gt;
|p3_type=float|p3_name=alpha&lt;br /&gt;
|func_desc=Displays &#039;&#039;&#039;text&#039;&#039;&#039; that hovers over the prim with specific &#039;&#039;&#039;color&#039;&#039;&#039; and translucency (specified with &#039;&#039;&#039;alpha&#039;&#039;&#039;). &lt;br /&gt;
|return_text&lt;br /&gt;
|spec=&lt;br /&gt;
|caveats=&lt;br /&gt;
*If more than one llSetText is called (By reset,interaction or script state) within a prim the latest call will take priority over the previous.&lt;br /&gt;
*&#039;&#039;&#039;text&#039;&#039;&#039; is [[limit]]ed to 254 [[bytes]], if the string is longer it will be truncated to 254 bytes, even if that means the truncation will chop a character in half.&lt;br /&gt;
*An unbroken line of text of a great length may be broken automatically into two lines (one above the other).&lt;br /&gt;
*Floating text can be seen through walls and other object. Be considerate of neighbors in malls and apartment buildings. &lt;br /&gt;
**Visability distance increases with prim size.&lt;br /&gt;
*Removing the script or deactivating it will not remove the prim&#039;s floating text.&lt;br /&gt;
**Floating text is a prim property and not dependent on a script for its continued existence.&lt;br /&gt;
*To remove floating text, use the following:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&amp;lt;/lsl&amp;gt;&lt;br /&gt;
*Shift-copying does not keep the floating text prim property. If the llSetText() script is not triggered when a copy made, the copy will not have the floating text.&lt;br /&gt;
*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.&lt;br /&gt;
*Multiple linebreaks with empty lines are converted to a single linebreak, so add a whitespace character on every line you want to skip:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;Monkeys\n\n\n\n\n&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Bad&lt;br /&gt;
llSetText(&amp;quot;Monkeys\n \n \n \n \n &amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Good&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|examples=&lt;br /&gt;
Example of how llSetText could be included in default code to show object&#039;s name in green text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Hello, Avatar!&amp;quot;);&lt;br /&gt;
         llSetText(llGetObjectName(), &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0); // Display the object&#039;s current name in green&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Touched.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
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 &amp;quot;\n&amp;quot; (read [[SplitLine]] in section &#039;See Also&#039;).&lt;br /&gt;
===Color &amp;amp; Alpha===&lt;br /&gt;
{{{!}} class=&amp;quot;sortable&amp;quot; {{Prettytable|style=float:right; margin-top:0;}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
! Color&lt;br /&gt;
! Code&lt;br /&gt;
{{!}}- style=&amp;quot;background:white&amp;quot;&lt;br /&gt;
{{!}}White &lt;br /&gt;
{{!}}&amp;lt;1.0, 1.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:grey&amp;quot;&lt;br /&gt;
{{!}}Grey &lt;br /&gt;
{{!}}&amp;lt;0.5, 0.5, 0.5&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:black; color:white;&amp;quot;&lt;br /&gt;
{{!}}{{!}}Black &lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:red; color:white;&amp;quot;&lt;br /&gt;
{{!}}Red&lt;br /&gt;
{{!}}&amp;lt;1.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:green; color:white;&amp;quot;&lt;br /&gt;
{{!}}Green&lt;br /&gt;
{{!}}&amp;lt;0.0, 1.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:blue; color:white;&amp;quot;&lt;br /&gt;
{{!}}Blue&lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
The x, y &amp;amp; z components of the vector are used to represent red, green, and blue respectively. The range is different than traditional RGB, instead of being 0 -&amp;gt; 255, LSL uses 0 -&amp;gt; 1. &amp;lt;1.0, 1.0, 1.0&amp;gt;, means &amp;quot;white&amp;quot; and &amp;lt;0.0, 0.0, 0.0&amp;gt; means &amp;quot;black&amp;quot;:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am white&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//white text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am black&amp;quot;, &amp;lt;0.0, 0.0, 0.0&amp;gt;, 1.0);//black text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
The 1.0 is the alpha setting. 1.0 means fully opaque, and 0.0 would be completely transparent (invisible):&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;alpha&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 0.5);//50% translucent green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
===Multiple lines===&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am \n on two lines!&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);//two lines of green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
Drag this script out of inventory onto an object to erase its set text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;// http://wiki.secondlife.com/wiki/llSetText&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
        llRemoveInventory(llGetScriptName());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
Code to easily specify appearance of hovertext:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
vector  blue        = &amp;lt;0,0,1&amp;gt;;&lt;br /&gt;
vector  orange      = &amp;lt;1,0.5,0&amp;gt;;&lt;br /&gt;
vector  cyan        = &amp;lt;0,1,1&amp;gt;;&lt;br /&gt;
vector  pink        = &amp;lt;1,0.5,0.76&amp;gt;;&lt;br /&gt;
vector  green       = &amp;lt;0,1,0&amp;gt;;&lt;br /&gt;
vector  red         = &amp;lt;1,0,0&amp;gt;;&lt;br /&gt;
vector  white       = &amp;lt;1,1,1&amp;gt;;&lt;br /&gt;
vector  yellow      = &amp;lt;1,1,0.1&amp;gt;;&lt;br /&gt;
vector  purple      = &amp;lt;1,0,1&amp;gt;;&lt;br /&gt;
vector  black       = &amp;lt;0,0,0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
string  hoverText   = &amp;quot;TEXT GOES HERE&amp;quot;; // Sets the text&lt;br /&gt;
vector  hoverColor  = white; // Sets the color the text will show. Use predefined colors or any RGB color vector in float form&lt;br /&gt;
float   hoverAlpha  = 1.0; // Sets the text&#039;s transparency, 1.0 being SOLID, while 0 would be clear,&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(hoverText, hoverColor, hoverAlpha);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To make hovertext under linked prims you can use this simple script (put him in each prim):&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
        if (llGetSubString(id, 0, 7) == &amp;quot;SET_TEXT&amp;quot;) {&lt;br /&gt;
            llSetText(str, (vector)llGetSubString(id, 9, -1), num/1000.0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To do it, just use this function in your main script:&lt;br /&gt;
&amp;lt;lsl&amp;gt;mySetLinkText(integer linknum, string text, vector color, float alpha)&lt;br /&gt;
{&lt;br /&gt;
    llMessageLinked(linknum, llRound(alpha*1000), text, &amp;quot;SET_TEXT &amp;quot;+(string)color);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        mySetLinkText(LINK_SET, &amp;quot;TEST&amp;quot;, &amp;lt;0,1,0&amp;gt;, 0.5);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|also&lt;br /&gt;
|also_functions&lt;br /&gt;
|also_constants=&lt;br /&gt;
{{LSL DefineRow||[[PRIM_TEXT]]}}&lt;br /&gt;
|also_articles=&lt;br /&gt;
{{LSL DefineRow||[[:Category:LSL Examples|Examples]]: [[SplitLine]]|Insert &#039;new line&#039; escape codes at certain positions of a string}}&lt;br /&gt;
{{LSL DefineRow||Useful snippet: [[llGetObjectPermMask]]|Label an object with text and newlines to give away or sell}}&lt;br /&gt;
|notes=To actually display text on a prim, see [[XyzzyText]], or consider using parcel prim [[:Category:LSL_Media|Media]] options (useful only if you have control over the land&#039;s media settings.)&lt;br /&gt;
|cat1=Effects&lt;br /&gt;
|cat2=Prim&lt;br /&gt;
|cat3=Stop&lt;br /&gt;
|cat4=Floating Text&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Beast Winterwolf</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=944702</id>
		<title>LlSetText</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=944702"/>
		<updated>2010-06-21T03:33:15Z</updated>

		<summary type="html">&lt;p&gt;Beast Winterwolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:PRIM_TEXT|set}}{{Issues/SVC-4539}}{{LSL_Function&lt;br /&gt;
|func_id=152&lt;br /&gt;
|func_sleep=0.0&lt;br /&gt;
|func_energy=10.0&lt;br /&gt;
|func=llSetText&lt;br /&gt;
|sort=SetText&lt;br /&gt;
|p1_type=string|p1_name=text&lt;br /&gt;
|p2_type=vector|p2_name=color&lt;br /&gt;
|p3_type=float|p3_name=alpha&lt;br /&gt;
|func_desc=Displays &#039;&#039;&#039;text&#039;&#039;&#039; that hovers over the prim with specific &#039;&#039;&#039;color&#039;&#039;&#039; and translucency (specified with &#039;&#039;&#039;alpha&#039;&#039;&#039;). &lt;br /&gt;
|return_text&lt;br /&gt;
|spec=&lt;br /&gt;
|caveats=&lt;br /&gt;
*If more than one llSetText is called (By reset,interaction or script state) within a prim the latest call will take priority over the previous.&lt;br /&gt;
*&#039;&#039;&#039;text&#039;&#039;&#039; is [[limit]]ed to 254 [[bytes]], if the string is longer it will be truncated to 254 bytes, even if that means the truncation will chop a character in half.&lt;br /&gt;
*An unbroken line of text of a great length may be broken automatically into two lines (one above the other).&lt;br /&gt;
*Floating text can be seen through walls and other object. Be considerate of neighbors in malls and apartment buildings. &lt;br /&gt;
**Visability distance increases with prim size.&lt;br /&gt;
*Removing the script or deactivating it will not remove the prim&#039;s floating text.&lt;br /&gt;
**Floating text is a prim property and not dependent on a script for its continued existence.&lt;br /&gt;
*To remove floating text, use the following:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&amp;lt;/lsl&amp;gt;&lt;br /&gt;
*Shift-copying does not keep the floating text prim property. If the llSetText() script is not triggered when a copy made, the copy will not have the floating text.&lt;br /&gt;
*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.&lt;br /&gt;
*Multiple linebreaks with empty lines are converted to a single linebreak, so add a whitespace character on every line you want to skip:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;Monkeys\n\n\n\n\n&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Bad&lt;br /&gt;
llSetText(&amp;quot;Monkeys\n \n \n \n \n &amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//Good&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|examples=&lt;br /&gt;
Example of how llSetText could be included in default code to show object&#039;s name in green text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Hello, Avatar!&amp;quot;);&lt;br /&gt;
         llSetText(llGetObjectName(), &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0); // Display the object&#039;s current name in green&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
         llSay(0, &amp;quot;Touched.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
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 &amp;quot;\n&amp;quot; (read [[SplitLine]] in section &#039;See Also&#039;).&lt;br /&gt;
===Color &amp;amp; Alpha===&lt;br /&gt;
{{{!}} class=&amp;quot;sortable&amp;quot; {{Prettytable|style=float:right; margin-top:0;}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
! Color&lt;br /&gt;
! Code&lt;br /&gt;
{{!}}- style=&amp;quot;background:white&amp;quot;&lt;br /&gt;
{{!}}White &lt;br /&gt;
{{!}}&amp;lt;1.0, 1.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:grey&amp;quot;&lt;br /&gt;
{{!}}Grey &lt;br /&gt;
{{!}}&amp;lt;0.5, 0.5, 0.5&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:black; color:white;&amp;quot;&lt;br /&gt;
{{!}}{{!}}Black &lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:red; color:white;&amp;quot;&lt;br /&gt;
{{!}}Red&lt;br /&gt;
{{!}}&amp;lt;1.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:green; color:white;&amp;quot;&lt;br /&gt;
{{!}}Green&lt;br /&gt;
{{!}}&amp;lt;0.0, 1.0, 0.0&amp;gt;&lt;br /&gt;
{{!}}- style=&amp;quot;background:blue; color:white;&amp;quot;&lt;br /&gt;
{{!}}Blue&lt;br /&gt;
{{!}}&amp;lt;0.0, 0.0, 1.0&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
The x, y &amp;amp; z components of the vector are used to represent red, green, and blue respectively. The range is different than traditional RGB, instead of being 0 -&amp;gt; 255, LSL uses 0 -&amp;gt; 1. &amp;lt;1.0, 1.0, 1.0&amp;gt;, means &amp;quot;white&amp;quot; and &amp;lt;0.0, 0.0, 0.0&amp;gt; means &amp;quot;black&amp;quot;:&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am white&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);//white text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am black&amp;quot;, &amp;lt;0.0, 0.0, 0.0&amp;gt;, 1.0);//black text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
The 1.0 is the alpha setting. 1.0 means fully opaque, and 0.0 would be completely transparent (invisible):&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;alpha&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 0.5);//50% translucent green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
===Multiple lines===&lt;br /&gt;
&amp;lt;lsl&amp;gt;llSetText(&amp;quot;I am \n on two lines!&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);//two lines of green text&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
Drag this script out of inventory onto an object to erase its set text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;// http://wiki.secondlife.com/wiki/llSetText&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
        llRemoveInventory(llGetScriptName());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
Code to easily specify appearance of hovertext:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
vector  blue        = &amp;lt;0,0,1&amp;gt;;&lt;br /&gt;
vector  orange      = &amp;lt;1,0.5,0&amp;gt;;&lt;br /&gt;
vector  cyan        = &amp;lt;0,1,1&amp;gt;;&lt;br /&gt;
vector  pink        = &amp;lt;1,0.5,0.76&amp;gt;;&lt;br /&gt;
vector  green       = &amp;lt;0,1,0&amp;gt;;&lt;br /&gt;
vector  red         = &amp;lt;1,0,0&amp;gt;;&lt;br /&gt;
vector  white       = &amp;lt;1,1,1&amp;gt;;&lt;br /&gt;
vector  yellow      = &amp;lt;1,1,0.1&amp;gt;;&lt;br /&gt;
vector  purple      = &amp;lt;1,0,1&amp;gt;;&lt;br /&gt;
vector  black       = &amp;lt;0,0,0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
string  hoverText   = &amp;quot;TEXT GOES HERE&amp;quot;; // Sets the text&lt;br /&gt;
vector  hoverColor  = white; // Sets the color the text will show. Use predefined colors or any RGB color vector in float form&lt;br /&gt;
float   hoverAlpha  = 1.0; // Sets the text&#039;s transparency, 1.0 being SOLID, while 0 would be clear,&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(hoverText, hoverColor, hoverAlpha);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To make hovertext under linked prims you can use this simple script (put him in each prim):&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
        if (llGetSubString(id, 0, 7) == &amp;quot;SET_TEXT&amp;quot;) {&lt;br /&gt;
            llSetText(str, (vector)llGetSubString(id, 9, -1), num/1000.0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
To do it, just use this function in your main script:&lt;br /&gt;
&amp;lt;lsl&amp;gt;mySetLinkText(integer linknum, string text, vector color, float alpha)&lt;br /&gt;
{&lt;br /&gt;
    llMessageLinked(linknum, llRound(alpha*1000), text, &amp;quot;SET_TEXT &amp;quot;+(string)color);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;lsl&amp;gt;touch_start(integer total_number)&lt;br /&gt;
{&lt;br /&gt;
    mySetLinkText(LINK_SET, &amp;quot;TEST&amp;quot;, &amp;lt;0,1,0&amp;gt;, 0.5);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|also&lt;br /&gt;
|also_functions&lt;br /&gt;
|also_constants=&lt;br /&gt;
{{LSL DefineRow||[[PRIM_TEXT]]}}&lt;br /&gt;
|also_articles=&lt;br /&gt;
{{LSL DefineRow||[[:Category:LSL Examples|Examples]]: [[SplitLine]]|Insert &#039;new line&#039; escape codes at certain positions of a string}}&lt;br /&gt;
{{LSL DefineRow||Useful snippet: [[llGetObjectPermMask]]|Label an object with text and newlines to give away or sell}}&lt;br /&gt;
|notes=To actually display text on a prim, see [[XyzzyText]], or consider using parcel prim [[:Category:LSL_Media|Media]] options (useful only if you have control over the land&#039;s media settings.)&lt;br /&gt;
|cat1=Effects&lt;br /&gt;
|cat2=Prim&lt;br /&gt;
|cat3=Stop&lt;br /&gt;
|cat4=Floating Text&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Beast Winterwolf</name></author>
	</entry>
</feed>