<?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=Revochen+Mayne</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=Revochen+Mayne"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Revochen_Mayne"/>
	<updated>2026-07-27T07:21:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Creating_HUDs&amp;diff=1187280</id>
		<title>Talk:Creating HUDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Creating_HUDs&amp;diff=1187280"/>
		<updated>2014-01-27T05:13:00Z</updated>

		<summary type="html">&lt;p&gt;Revochen Mayne: /* False wording? */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bonjour à tous et toutes les SecondLifers,&lt;br /&gt;
&lt;br /&gt;
Je suis nouvelle et essaie de découvrir toutes les possibilités de SL....&lt;br /&gt;
Je ne comprends pas bien comment fonctionne les HUD... ?&lt;br /&gt;
Je ne trouve pas vraiment de guide ou tutoriels en Français.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J&#039;ai voulu commencer par un HUD faisant le lien entre monde web et SL le kit Slquery : SLQinfobox, slqinfohud....&lt;br /&gt;
j&#039;ai juste quelques infos en anglais du site slquery.&lt;br /&gt;
après avoir récupéré la box et notecards faut-il s&#039;enregistrer ?&lt;br /&gt;
faut-il faire /rez.lz.kit ?&lt;br /&gt;
y a t&#039;il autre chose à faire que de &amp;quot;porter&amp;quot; sur un endroit de l&#039;écran..&lt;br /&gt;
&lt;br /&gt;
Pour le HUD outsmart je n&#039;ai rien trouvé dans ma &amp;quot;library&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
j&#039;ai l&#039;impression qu&#039;on ne voit pas toujours un HUD reçu et porté sur une partie de l&#039;écran..&lt;br /&gt;
&lt;br /&gt;
Si je constuis par exemple une salle de réunion et possède un HUD &amp;quot;écran blanc&amp;quot; puis je permettre à quelqu&#039;un qui arrive chez moi de l&#039;utiliser...&lt;br /&gt;
faut-il qu&#039;il appartienne à un groupe avec qui j&#039;aurai partagé ce HUD ? doit-il impérativement en posséder un aussi ?&lt;br /&gt;
&lt;br /&gt;
Désolée cela fait plusieurs questions....&lt;br /&gt;
&lt;br /&gt;
Merci beaucoup pour toute information&lt;br /&gt;
&lt;br /&gt;
Agréable surf sur SL&lt;br /&gt;
&lt;br /&gt;
== So, what attaches to a HUD?  ==&lt;br /&gt;
&lt;br /&gt;
How are they created?&lt;br /&gt;
What attaches to them?&lt;br /&gt;
How are they interfaced to scripts?&lt;br /&gt;
This really does look promising as a powerful tool, i.e. from the point of view that i haven&#039;t ever seen it work. [[User:Unsyned Short|Unsyned Short]] 12:23, 11 December 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Particles ==&lt;br /&gt;
&lt;br /&gt;
I think they made particles work in HUDs since 1.23RC [[User:Nexii Malthus|Nexii Malthus]] 04:17, 24 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== False wording? ==&lt;br /&gt;
&lt;br /&gt;
Seems there is a false wording at at the &amp;quot;Differences in behavior&amp;quot; section where it sais:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Despite the limitations, some HUD objects use it to great effect.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Guess it either has to say&lt;br /&gt;
&amp;quot;...some HUD objects use it to create great effects.&amp;quot; or&lt;br /&gt;
&amp;quot;...some HUD objects use it to create effects.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But that makes me wonder about what type of effects it might be and adding a few examples might be a good idea?&lt;/div&gt;</summary>
		<author><name>Revochen Mayne</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=1180000</id>
		<title>LlSetText</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=1180000"/>
		<updated>2013-07-15T14:38:20Z</updated>

		<summary type="html">&lt;p&gt;Revochen Mayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|inject-2={{:PRIM_TEXT|set}}{{Issues/SVC-4539}}&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 {{LSLP|text}} that hovers over the prim with specific {{LSLP|color}} and translucency (specified with {{LSLP|alpha}}). &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;
*{{LSLP|text}} 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;
**Visibility 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;&lt;br /&gt;
//  ZERO_VECTOR has the vector value &amp;lt;0.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
//  when used as a color it&#039;s black&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0.0);&lt;br /&gt;
&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;&lt;br /&gt;
//  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);&lt;br /&gt;
&lt;br /&gt;
//  Good:&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);&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
*Measurements showed a high impact of process time when doing numerous iterations in a while loop. For approx. 65K iterations the process times are ca. 5s without float text, 24s with llSetText and 96s when using llSetLinkPrimitiveParamsFast/PRIM_TEXT. Thats why its not adviced to make excessive use of a float text within such iterations.&lt;br /&gt;
|examples=&lt;br /&gt;
Example of how llSetText could be included in default code to show prim&#039;s name in green text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&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;
&lt;br /&gt;
    //  prim&#039;s name (not necessarily object&#039;s) in green and opaque&lt;br /&gt;
        llSetText(llGetObjectName(), &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0 );&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;
}&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;&lt;br /&gt;
//  &amp;lt;1.0, 1.0, 1.0&amp;gt; as color is white&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;I am white&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//  ZERO_VECTOR is &amp;lt;0.0, 0.0, 0.0&amp;gt; and as color black&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;I am black&amp;quot;, ZERO_VECTOR, 1.0);&lt;br /&gt;
&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;&lt;br /&gt;
    llSetText(&amp;quot;green text with alpha 0.5&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 0.5);&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;white text with alpha 1.0\nfully opaque&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
    llSetText(&amp;quot;white text with alpha 1.0\nfully opaque&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;invisible black text with alpha 0.0\nfully transparent&amp;quot;, ZERO_VECTOR, 0.0);&lt;br /&gt;
    llSetText(&amp;quot;invisible black text with alpha 0.0\nfully transparent&amp;quot;, &amp;lt;0.0, 0.0, 0.0&amp;gt;, 0.0);&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
===Multiple lines===&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//  two lines of green text&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;I am \n on two lines!&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);&lt;br /&gt;
&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;&lt;br /&gt;
// http://wiki.secondlife.com/wiki/llSetText&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
    //  black and transparent&lt;br /&gt;
        llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0.0);&lt;br /&gt;
&lt;br /&gt;
        llRemoveInventory(llGetScriptName());&lt;br /&gt;
    }&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, 0.0, 1.0&amp;gt;;&lt;br /&gt;
vector  orange      = &amp;lt;1.0, 0.5, 0.0&amp;gt;;&lt;br /&gt;
vector  cyan        = &amp;lt;0.0, 1.0, 1.0&amp;gt;;&lt;br /&gt;
vector  pink        = &amp;lt;1.0, 0.5, 0.76&amp;gt;;&lt;br /&gt;
vector  green       = &amp;lt;0.0, 1.0, 0.0&amp;gt;;&lt;br /&gt;
vector  red         = &amp;lt;1.0, 0.0, 0.0&amp;gt;;&lt;br /&gt;
vector  white       = &amp;lt;1.0, 1.0, 1.0&amp;gt;;&lt;br /&gt;
vector  yellow      = &amp;lt;1.0, 1.0, 0.1&amp;gt;;&lt;br /&gt;
vector  purple      = &amp;lt;1.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
vector  black       = &amp;lt;0.0, 0.0, 0.0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
string  hoverText   = &amp;quot;TEXT GOES HERE&amp;quot;;&lt;br /&gt;
vector  hoverColor  = white;//  set predefined color or any RGB color vector in float form&lt;br /&gt;
float   hoverAlpha  = 1.0; // Sets the text&#039;s transparency, 1.0 being opaque, while 0.0 would be transparent&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;
}&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;
}&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;
----&lt;br /&gt;
The function displays {{LSLP|text}} that hover over the prim&#039;s center, the prim position. The height over the center is proportional to the prim&#039;s Z-dimension exclusively&lt;br /&gt;
* It doesn&#039;t matter how the prim is rotated, so if Z is smaller than X and Y the {{LSLP|text}} may be seen {{LSLP|on}} the prim&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>Revochen Mayne</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=1179999</id>
		<title>LlSetText</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetText&amp;diff=1179999"/>
		<updated>2013-07-15T14:37:16Z</updated>

		<summary type="html">&lt;p&gt;Revochen Mayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|inject-2={{:PRIM_TEXT|set}}{{Issues/SVC-4539}}&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 {{LSLP|text}} that hovers over the prim with specific {{LSLP|color}} and translucency (specified with {{LSLP|alpha}}). &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;
*{{LSLP|text}} 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;
**Visibility 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;&lt;br /&gt;
//  ZERO_VECTOR has the vector value &amp;lt;0.0, 0.0, 0.0&amp;gt;&lt;br /&gt;
//  when used as a color it&#039;s black&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0.0);&lt;br /&gt;
&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;&lt;br /&gt;
//  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);&lt;br /&gt;
&lt;br /&gt;
//  Good:&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);&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
*Measurements showed a high impact of process time when doing numerous iterations in a while loop. For approx. 65K iterations the process times are ca. 5s without float text, 24s with llSetText and 96s when using llSetLinkPrimitiveParamsFast/PRIM_TEXT. Thats why its not adviced to make extensive use of a float text within such iterations.&lt;br /&gt;
|examples=&lt;br /&gt;
Example of how llSetText could be included in default code to show prim&#039;s name in green text:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&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;
&lt;br /&gt;
    //  prim&#039;s name (not necessarily object&#039;s) in green and opaque&lt;br /&gt;
        llSetText(llGetObjectName(), &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0 );&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;
}&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;&lt;br /&gt;
//  &amp;lt;1.0, 1.0, 1.0&amp;gt; as color is white&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;I am white&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//  ZERO_VECTOR is &amp;lt;0.0, 0.0, 0.0&amp;gt; and as color black&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;I am black&amp;quot;, ZERO_VECTOR, 1.0);&lt;br /&gt;
&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;&lt;br /&gt;
    llSetText(&amp;quot;green text with alpha 0.5&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 0.5);&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;white text with alpha 1.0\nfully opaque&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
    llSetText(&amp;quot;white text with alpha 1.0\nfully opaque&amp;quot;, &amp;lt;1.0, 1.0, 1.0&amp;gt;, 1.0);&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;invisible black text with alpha 0.0\nfully transparent&amp;quot;, ZERO_VECTOR, 0.0);&lt;br /&gt;
    llSetText(&amp;quot;invisible black text with alpha 0.0\nfully transparent&amp;quot;, &amp;lt;0.0, 0.0, 0.0&amp;gt;, 0.0);&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
===Multiple lines===&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//  two lines of green text&lt;br /&gt;
&lt;br /&gt;
    llSetText(&amp;quot;I am \n on two lines!&amp;quot;, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);&lt;br /&gt;
&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;&lt;br /&gt;
// http://wiki.secondlife.com/wiki/llSetText&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
    //  black and transparent&lt;br /&gt;
        llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0.0);&lt;br /&gt;
&lt;br /&gt;
        llRemoveInventory(llGetScriptName());&lt;br /&gt;
    }&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, 0.0, 1.0&amp;gt;;&lt;br /&gt;
vector  orange      = &amp;lt;1.0, 0.5, 0.0&amp;gt;;&lt;br /&gt;
vector  cyan        = &amp;lt;0.0, 1.0, 1.0&amp;gt;;&lt;br /&gt;
vector  pink        = &amp;lt;1.0, 0.5, 0.76&amp;gt;;&lt;br /&gt;
vector  green       = &amp;lt;0.0, 1.0, 0.0&amp;gt;;&lt;br /&gt;
vector  red         = &amp;lt;1.0, 0.0, 0.0&amp;gt;;&lt;br /&gt;
vector  white       = &amp;lt;1.0, 1.0, 1.0&amp;gt;;&lt;br /&gt;
vector  yellow      = &amp;lt;1.0, 1.0, 0.1&amp;gt;;&lt;br /&gt;
vector  purple      = &amp;lt;1.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
vector  black       = &amp;lt;0.0, 0.0, 0.0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
string  hoverText   = &amp;quot;TEXT GOES HERE&amp;quot;;&lt;br /&gt;
vector  hoverColor  = white;//  set predefined color or any RGB color vector in float form&lt;br /&gt;
float   hoverAlpha  = 1.0; // Sets the text&#039;s transparency, 1.0 being opaque, while 0.0 would be transparent&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;
}&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;
}&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;
----&lt;br /&gt;
The function displays {{LSLP|text}} that hover over the prim&#039;s center, the prim position. The height over the center is proportional to the prim&#039;s Z-dimension exclusively&lt;br /&gt;
* It doesn&#039;t matter how the prim is rotated, so if Z is smaller than X and Y the {{LSLP|text}} may be seen {{LSLP|on}} the prim&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>Revochen Mayne</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetLinkPrimitiveParamsFast&amp;diff=1179996</id>
		<title>LlSetLinkPrimitiveParamsFast</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetLinkPrimitiveParamsFast&amp;diff=1179996"/>
		<updated>2013-07-15T10:56:02Z</updated>

		<summary type="html">&lt;p&gt;Revochen Mayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function&lt;br /&gt;
|inject-2={{LSL Function/link|link}}{{LSL PrimitiveParam Categorize|Link}}&lt;br /&gt;
|func_id=353|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llSetLinkPrimitiveParamsFast|sort=SetLinkPrimitiveParamsFast&lt;br /&gt;
|p1_type=integer|p1_name=link&lt;br /&gt;
|p2_type=list|p2_name=rules&lt;br /&gt;
|func_desc=Set primitive parameters for {{LSLP|link}} based on {{LSLP|rules}} with no built-in script sleep.  This function is identical to [[llSetLinkPrimitiveParams]] except without the delay.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*Applying an operation to [[LINK_SET]] will apply it first to the root prim, then to each child prim.&lt;br /&gt;
* [[PRIM_LINK_TARGET]] is a special paramter which can be inserted to perfom actions on multiple prims on the linkset with one call.&lt;br /&gt;
*The sim will clamp attributes before storing them.&lt;br /&gt;
*The client will clamp attributes before rendering.&lt;br /&gt;
* [[PRIM_ROTATION]] is bugged in child prims, see [[llSetLinkPrimitiveParams#Useful_Snipptes|Useful Snippets]] for a workaround, or the linked SVC-93 issue below.&lt;br /&gt;
* &#039;&#039;&#039;Some prim properties are reset&#039;&#039;&#039; by this function&lt;br /&gt;
** A flexible prim will become not flexible&lt;br /&gt;
** A sliced prim will become unsliced&lt;br /&gt;
: In order to preserve properties they must be saved and explicitly set in the function call&lt;br /&gt;
{{LSL Tip|When wanting to change the alpha value of a face, please consider using [[llSetLinkAlpha]](integer link, float alpha, integer face); instead of [[llSetLinkPrimitiveParamsFast]](integer link, [ [[PRIM_COLOR]], integer face, vector color, float alpha ]);, that way you don&#039;t have to mess with the color settings. Also don&#039;t expect [[llSetLinkPrimitiveParamsFast]] being faster than [[llSetText]] when setting a float text property within a loop like at &amp;quot;% loading&amp;quot; status bars. Measurements showed llSetText being 3-4 times faster. That also might applies for similar functions.}}&lt;br /&gt;
|constants={{LSL Constants/PrimitiveParams|set|remote=true}}&lt;br /&gt;
|examples = &lt;br /&gt;
A simple script to light up a prim in a [[linkset]] when touched, and unlight the others using llSetLinkPrimitiveParams, when script is installed in the root prim of the linkset.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
        // Turn off all prims&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(LINK_SET,&lt;br /&gt;
            [PRIM_FULLBRIGHT, ALL_SIDES, FALSE]);&lt;br /&gt;
&lt;br /&gt;
        // Turn on the one that was touched&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(llDetectedLinkNumber(0),&lt;br /&gt;
            [PRIM_FULLBRIGHT, ALL_SIDES, TRUE]);        &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
A simple script which moves all child prims .25m higher than the root prim when touched.&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;
        vector obj_pos = llGetPos();&lt;br /&gt;
        rotation obj_rot = llGetRot();&lt;br /&gt;
        integer i=1;&lt;br /&gt;
        while (i &amp;lt;= llGetNumberOfPrims()) &lt;br /&gt;
        {&lt;br /&gt;
            vector prim_pos = llList2Vector(llGetLinkPrimitiveParams(i,[PRIM_POSITION]),0);&lt;br /&gt;
            if (i &amp;gt; 1)  // If not the root prim&lt;br /&gt;
            {&lt;br /&gt;
                prim_pos = (prim_pos - obj_pos) / obj_rot;   // Convert from region coordinates to local coordinates&lt;br /&gt;
                prim_pos.z += 0.25;    // increase the Z position by .25m&lt;br /&gt;
                llSetLinkPrimitiveParamsFast(i,[PRIM_POSITION,prim_pos]);&lt;br /&gt;
            }&lt;br /&gt;
            ++i;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{LSL Tip|You can use one function call instead of two when making use of [[PRIM_LINK_TARGET]].}}&lt;br /&gt;
{{{!}} class=&amp;quot;sortable&amp;quot; width=&amp;quot;100%&amp;quot; {{Prettytable}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Preferred method using [[PRIM_LINK_TARGET]]&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Second method does the same effect-wise.&#039;&#039;&#039;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!!}}&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
    //  color the root prim red and the first linked-prim green&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(LINK_ROOT,&lt;br /&gt;
                [PRIM_COLOR, ALL_SIDES, &amp;lt;1.0, 0.0, 0.0&amp;gt;, 1.0,&lt;br /&gt;
            PRIM_LINK_TARGET, 2,&lt;br /&gt;
                PRIM_COLOR, ALL_SIDES, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{!!}}&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
    //  color the root prim red and the first linked-prim green&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(LINK_ROOT,&lt;br /&gt;
                [PRIM_COLOR, ALL_SIDES, &amp;lt;1.0, 0.0, 0.0&amp;gt;, 1.0]);&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(2,&lt;br /&gt;
                [PRIM_COLOR, ALL_SIDES, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
[[File:Readability_of_setlinkprimitiveparamsfast.gif|thumb|700px|center|&#039;&#039;&#039;For better readability order the params of llSetLinkPrimitiveParamsFast function calls by PRIM_LINK_TARGET.&#039;&#039;&#039;]]&lt;br /&gt;
|helpers=&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//-- PRIM_ROTATION workaround for child prims (works in unattached objects only)&lt;br /&gt;
llSetLinkPrimitiveParamsFast( linknumber, [PRIM_ROT_LOCAL, rot * llGetRootRotation()] )&lt;br /&gt;
 &lt;br /&gt;
//-- PRIM_ROTATION workaround for child prims (works in linked objects only)&lt;br /&gt;
llSetLinkPrimitiveParamsFast( linknumber,&lt;br /&gt;
    [PRIM_ROT_LOCAL, rot * llList2Rot( llGetLinkPrimitiveParams( LINK_ROOT, [PRIM_ROT_LOCAL] ), 0 )] )&lt;br /&gt;
 &lt;br /&gt;
//-- PRIM_ROTATION workaround for child prims (works in all scenarios)&lt;br /&gt;
llSetLinkPrimitiveParamsFast( linknumber,&lt;br /&gt;
    [PRIM_ROT_LOCAL, rot * llList2Rot( llGetLinkPrimitiveParams( !!llGetLinkNumber(), [PRIM_ROT_LOCAL] ), 0 )] )&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|also_functions=&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkPrimitiveParams]]|Set many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llGetLinkPrimitiveParams]]|Get many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llSetPrimitiveParams]]|Set many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llGetPrimitiveParams]]|Get many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkAlpha]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkColor]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkTexture]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkTextureAnim]]|}}&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_events&lt;br /&gt;
|also_articles&lt;br /&gt;
|notes=&lt;br /&gt;
===[[PRIM_POSITION]]===&lt;br /&gt;
{{#var:PRIM_POSITION/SLPP&amp;amp;A}}&lt;br /&gt;
|cat1=Prim&lt;br /&gt;
|cat2=Movement&lt;br /&gt;
|cat3=Status&lt;br /&gt;
|cat4=Texture&lt;br /&gt;
|cat5=Object&lt;br /&gt;
|cat6=Sit/Teleport&lt;br /&gt;
|cat7=Link/Set&lt;br /&gt;
|cat8&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Revochen Mayne</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlSetLinkPrimitiveParamsFast&amp;diff=1179995</id>
		<title>LlSetLinkPrimitiveParamsFast</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlSetLinkPrimitiveParamsFast&amp;diff=1179995"/>
		<updated>2013-07-15T10:44:36Z</updated>

		<summary type="html">&lt;p&gt;Revochen Mayne: added delay note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function&lt;br /&gt;
|inject-2={{LSL Function/link|link}}{{LSL PrimitiveParam Categorize|Link}}&lt;br /&gt;
|func_id=353|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llSetLinkPrimitiveParamsFast|sort=SetLinkPrimitiveParamsFast&lt;br /&gt;
|p1_type=integer|p1_name=link&lt;br /&gt;
|p2_type=list|p2_name=rules&lt;br /&gt;
|func_desc=Set primitive parameters for {{LSLP|link}} based on {{LSLP|rules}} with no built-in script sleep.  This function is identical to [[llSetLinkPrimitiveParams]] except without the delay.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*Applying an operation to [[LINK_SET]] will apply it first to the root prim, then to each child prim.&lt;br /&gt;
* [[PRIM_LINK_TARGET]] is a special paramter which can be inserted to perfom actions on multiple prims on the linkset with one call.&lt;br /&gt;
*The sim will clamp attributes before storing them.&lt;br /&gt;
*The client will clamp attributes before rendering.&lt;br /&gt;
* [[PRIM_ROTATION]] is bugged in child prims, see [[llSetLinkPrimitiveParams#Useful_Snipptes|Useful Snippets]] for a workaround, or the linked SVC-93 issue below.&lt;br /&gt;
* &#039;&#039;&#039;Some prim properties are reset&#039;&#039;&#039; by this function&lt;br /&gt;
** A flexible prim will become not flexible&lt;br /&gt;
** A sliced prim will become unsliced&lt;br /&gt;
: In order to preserve properties they must be saved and explicitly set in the function call&lt;br /&gt;
{{LSL Tip|When wanting to change the alpha value of a face, please consider using [[llSetLinkAlpha]](integer link, float alpha, integer face); instead of [[llSetLinkPrimitiveParamsFast]](integer link, [ [[PRIM_COLOR]], integer face, vector color, float alpha ]);, that way you don&#039;t have to mess with the color settings. Also don&#039;t expect [[llSetLinkPrimitiveParamsFast]] being faster than [[llSetText]] when setting a float text property within a loop like at &amp;quot;% loading&amp;quot; status bars. That also might applies for similar functions.}}&lt;br /&gt;
|constants={{LSL Constants/PrimitiveParams|set|remote=true}}&lt;br /&gt;
|examples = &lt;br /&gt;
A simple script to light up a prim in a [[linkset]] when touched, and unlight the others using llSetLinkPrimitiveParams, when script is installed in the root prim of the linkset.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
        // Turn off all prims&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(LINK_SET,&lt;br /&gt;
            [PRIM_FULLBRIGHT, ALL_SIDES, FALSE]);&lt;br /&gt;
&lt;br /&gt;
        // Turn on the one that was touched&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(llDetectedLinkNumber(0),&lt;br /&gt;
            [PRIM_FULLBRIGHT, ALL_SIDES, TRUE]);        &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
A simple script which moves all child prims .25m higher than the root prim when touched.&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;
        vector obj_pos = llGetPos();&lt;br /&gt;
        rotation obj_rot = llGetRot();&lt;br /&gt;
        integer i=1;&lt;br /&gt;
        while (i &amp;lt;= llGetNumberOfPrims()) &lt;br /&gt;
        {&lt;br /&gt;
            vector prim_pos = llList2Vector(llGetLinkPrimitiveParams(i,[PRIM_POSITION]),0);&lt;br /&gt;
            if (i &amp;gt; 1)  // If not the root prim&lt;br /&gt;
            {&lt;br /&gt;
                prim_pos = (prim_pos - obj_pos) / obj_rot;   // Convert from region coordinates to local coordinates&lt;br /&gt;
                prim_pos.z += 0.25;    // increase the Z position by .25m&lt;br /&gt;
                llSetLinkPrimitiveParamsFast(i,[PRIM_POSITION,prim_pos]);&lt;br /&gt;
            }&lt;br /&gt;
            ++i;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{LSL Tip|You can use one function call instead of two when making use of [[PRIM_LINK_TARGET]].}}&lt;br /&gt;
{{{!}} class=&amp;quot;sortable&amp;quot; width=&amp;quot;100%&amp;quot; {{Prettytable}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Preferred method using [[PRIM_LINK_TARGET]]&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Second method does the same effect-wise.&#039;&#039;&#039;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!!}}&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
    //  color the root prim red and the first linked-prim green&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(LINK_ROOT,&lt;br /&gt;
                [PRIM_COLOR, ALL_SIDES, &amp;lt;1.0, 0.0, 0.0&amp;gt;, 1.0,&lt;br /&gt;
            PRIM_LINK_TARGET, 2,&lt;br /&gt;
                PRIM_COLOR, ALL_SIDES, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{!!}}&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
    //  color the root prim red and the first linked-prim green&lt;br /&gt;
&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(LINK_ROOT,&lt;br /&gt;
                [PRIM_COLOR, ALL_SIDES, &amp;lt;1.0, 0.0, 0.0&amp;gt;, 1.0]);&lt;br /&gt;
        llSetLinkPrimitiveParamsFast(2,&lt;br /&gt;
                [PRIM_COLOR, ALL_SIDES, &amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
[[File:Readability_of_setlinkprimitiveparamsfast.gif|thumb|700px|center|&#039;&#039;&#039;For better readability order the params of llSetLinkPrimitiveParamsFast function calls by PRIM_LINK_TARGET.&#039;&#039;&#039;]]&lt;br /&gt;
|helpers=&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//-- PRIM_ROTATION workaround for child prims (works in unattached objects only)&lt;br /&gt;
llSetLinkPrimitiveParamsFast( linknumber, [PRIM_ROT_LOCAL, rot * llGetRootRotation()] )&lt;br /&gt;
 &lt;br /&gt;
//-- PRIM_ROTATION workaround for child prims (works in linked objects only)&lt;br /&gt;
llSetLinkPrimitiveParamsFast( linknumber,&lt;br /&gt;
    [PRIM_ROT_LOCAL, rot * llList2Rot( llGetLinkPrimitiveParams( LINK_ROOT, [PRIM_ROT_LOCAL] ), 0 )] )&lt;br /&gt;
 &lt;br /&gt;
//-- PRIM_ROTATION workaround for child prims (works in all scenarios)&lt;br /&gt;
llSetLinkPrimitiveParamsFast( linknumber,&lt;br /&gt;
    [PRIM_ROT_LOCAL, rot * llList2Rot( llGetLinkPrimitiveParams( !!llGetLinkNumber(), [PRIM_ROT_LOCAL] ), 0 )] )&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|also_functions=&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkPrimitiveParams]]|Set many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llGetLinkPrimitiveParams]]|Get many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llSetPrimitiveParams]]|Set many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llGetPrimitiveParams]]|Get many primitive parameters}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkAlpha]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkColor]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkTexture]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llSetLinkTextureAnim]]|}}&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_events&lt;br /&gt;
|also_articles&lt;br /&gt;
|notes=&lt;br /&gt;
===[[PRIM_POSITION]]===&lt;br /&gt;
{{#var:PRIM_POSITION/SLPP&amp;amp;A}}&lt;br /&gt;
|cat1=Prim&lt;br /&gt;
|cat2=Movement&lt;br /&gt;
|cat3=Status&lt;br /&gt;
|cat4=Texture&lt;br /&gt;
|cat5=Object&lt;br /&gt;
|cat6=Sit/Teleport&lt;br /&gt;
|cat7=Link/Set&lt;br /&gt;
|cat8&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Revochen Mayne</name></author>
	</entry>
</feed>