<?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=Cay+Trudeau</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=Cay+Trudeau"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Cay_Trudeau"/>
	<updated>2026-07-27T08:37:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190906</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190906"/>
		<updated>2014-05-21T11:18:24Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {    &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items per separator&lt;br /&gt;
 &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8_1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8_2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8_3 = llList2String(cmds2, 2);  &lt;br /&gt;
 &lt;br /&gt;
llOwnerSay(&amp;quot;Last item on shopping list = &amp;quot; + item8_3);&lt;br /&gt;
 &lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190905</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190905"/>
		<updated>2014-05-21T11:15:35Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {    &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
 &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8_1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8_2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8_3 = llList2String(cmds2, 2);  &lt;br /&gt;
 &lt;br /&gt;
llOwnerSay(&amp;quot;Last item on shopping list = &amp;quot; + item8_3&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190904</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190904"/>
		<updated>2014-05-21T11:15:01Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {    &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
 &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8_1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8_2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8_3 = llList2String(cmds2, 2);  &lt;br /&gt;
 &lt;br /&gt;
llOwnerSay(&amp;quot;Last item on shopping list = &amp;quot; + item8_3&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190903</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190903"/>
		<updated>2014-05-21T11:14:31Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
 &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8_1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8_2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8_3 = llList2String(cmds2, 2);  &lt;br /&gt;
 &lt;br /&gt;
llOwnerSay(&amp;quot;Last item on shopping list = &amp;quot; + item8_3&amp;quot;);&lt;br /&gt;
 &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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190902</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190902"/>
		<updated>2014-05-21T11:10:09Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {    &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
 &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8_1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8_2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8_3 = llList2String(cmds2, 2);  &lt;br /&gt;
 &lt;br /&gt;
llOwnerSay(&amp;quot;Last item on shopping list = &amp;quot; + item8_3&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
    }&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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190901</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190901"/>
		<updated>2014-05-21T11:03:27Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8_1#item8_2#item8_3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
     &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8_1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8_2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8_3 = llList2String(cmds2, 2);  &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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190900</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190900"/>
		<updated>2014-05-21T11:00:31Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
//string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string shoppinglist = &amp;quot;macaroni::pepperoni::bread::sausage::coffee::syrup::apple::honey#raspberry#milk&amp;quot;;&lt;br /&gt;
     &lt;br /&gt;
         list cmds = llParseString2List(shoppinglist, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8-1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8-2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8-3 = llList2String(cmds2, 2);  &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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190899</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190899"/>
		<updated>2014-05-21T10:56:43Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* Only the first 8 separators and first 8 spacers from the beginning of the string will be used. Any beyond that will be ignored (see Useful Snippets section below)&lt;br /&gt;
* You may however use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit.&lt;br /&gt;
Do notice, that it usually means having more than 1 different separator the length of each item cannot be too many characters, so if you have to pass 16 keys, this is not the function for you&lt;br /&gt;
&lt;br /&gt;
for example: string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3&amp;quot;;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
string str = &amp;quot;item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3&amp;quot;;&lt;br /&gt;
     &lt;br /&gt;
         list cmds = llParseString2List(str, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8-1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8-2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8-3 = llList2String(cmds2, 2);  &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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190898</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190898"/>
		<updated>2014-05-21T10:49:21Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
 You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
&lt;br /&gt;
for example: string str = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;  where item8 is divided into 3 more sub items separated by #&lt;br /&gt;
&amp;lt;lsl&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
string str = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;&lt;br /&gt;
     &lt;br /&gt;
         list cmds = llParseString2List(str, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8-1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8-2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8-3 = llList2String(cmds2, 2);  &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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190897</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190897"/>
		<updated>2014-05-21T10:47:45Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
(for example: string str = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;  where item8 is divided into 3 more sub items separated by #)&lt;br /&gt;
&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;        &lt;br /&gt;
         list cmds = llParseString2List(str, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8-1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8-2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8-3 = llList2String(cmds2, 2);  &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;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190896</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190896"/>
		<updated>2014-05-21T10:46:25Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
(for example: string str = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;  where item8 is divided into 3 more sub items separated by #)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;        &lt;br /&gt;
         list cmds = llParseString2List(str, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8-1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8-2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8-3 = llList2String(cmds2, 2);  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|constants&lt;br /&gt;
&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190895</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190895"/>
		<updated>2014-05-21T10:45:49Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
(for example: string str = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;  where item8 is divided into 3 more sub items separated by #)&lt;br /&gt;
|constants&lt;br /&gt;
|examples&lt;br /&gt;
&amp;lt;lsl&amp;gt;        &lt;br /&gt;
         list cmds = llParseString2List(str, [&amp;quot;::&amp;quot;], []); // max 8 items / separator&lt;br /&gt;
        &lt;br /&gt;
        string item1 = llList2String(cmds, 0);  &lt;br /&gt;
        string item2 = llList2String(cmds, 1); &lt;br /&gt;
        string item3 = llList2String(cmds, 2); &lt;br /&gt;
        string item4 = llList2String(cmds, 3); &lt;br /&gt;
        string item5 = llList2String(cmds, 4); &lt;br /&gt;
        string item6 = llList2String(cmds, 5); &lt;br /&gt;
        string item7 = llList2String(cmds, 6); &lt;br /&gt;
        string item8 = llList2String(cmds, 7); &lt;br /&gt;
       &lt;br /&gt;
       &lt;br /&gt;
          list cmds2 = llParseString2List(item8, [&amp;quot;#&amp;quot;], []);&lt;br /&gt;
        string item8-1 = llList2String(cmds2, 0);  &lt;br /&gt;
        string item8-2 = llList2String(cmds2, 1); &lt;br /&gt;
        string item8-3 = llList2String(cmds2, 2);  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190894</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190894"/>
		<updated>2014-05-21T10:35:49Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
(for example: string items = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;  where item8 is divided into 3 more sub items separated by #)&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
|constants&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190893</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190893"/>
		<updated>2014-05-21T10:34:26Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String2List call for each. That way only the length of string is your limit&lt;br /&gt;
(for example: string items = item1::item2::item3::item4::item5::item6::item7::item8-1#item8-2#item8-3;  where item8 is divided into 3 more sub items)&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
|constants&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190892</id>
		<title>LlParseString2List</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlParseString2List&amp;diff=1190892"/>
		<updated>2014-05-21T10:30:13Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func_id=214|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llParseString2List|return_type=list&lt;br /&gt;
|p1_type=string|p1_name=src|p1_desc=source string&lt;br /&gt;
|p2_type=list|p2_name=separators|p2_desc=separators to be discarded&lt;br /&gt;
|p3_type=list|p3_name=spacers|p3_desc=spacers to be kept&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc&lt;br /&gt;
|return_text=that is {{LSLP|src}} broken into a list of strings, discarding {{LSLP|separators}}, keeping {{LSLP|spacers}}, discards any null values generated.&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
*All empty strings (that would arise from a spacer or separator being adjacent to each other or the ends) are removed;&lt;br /&gt;
**If you want them (to keep the order of a list, for example) use [[llParseStringKeepNulls]] instead;&lt;br /&gt;
* Only the first 8 separators and first 8 spacers that you specify will be used. Any beyond that will be ignored (see Useful Snippets section below if this is an issue for you);&lt;br /&gt;
* All separators and spacers must be strings. All other types will be ignored;&lt;br /&gt;
* You may use several different separators, you just have to make a separate llParse2String call for each. That way only the length of string is your limit&lt;br /&gt;
* Separators take precedent over spacers. The string is parsed from start to finish. Each position is compared against the separators then spacers before moving onto the next position;&lt;br /&gt;
* Duplicate separators and spacers have no ill effects;&lt;br /&gt;
* All elements in the list returned by llParseString2List are strings, and must be explicitly typecast if they are to be used as other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value);&lt;br /&gt;
* Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.&lt;br /&gt;
|constants&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        // This will say:&lt;br /&gt;
        // &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;.&amp;gt;&lt;br /&gt;
        string my_string = &amp;quot;A crazy fox.  Saw the moon..&amp;quot;;&lt;br /&gt;
        list my_list = llParseString2List(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // This will say:&lt;br /&gt;
        //  &amp;lt;A&amp;gt;&amp;lt;crazy&amp;gt;&amp;lt;fox&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;Saw&amp;gt;&amp;lt;the&amp;gt;&amp;lt;moon&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&amp;lt;.&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
        my_list = llParseStringKeepNulls(my_string,[&amp;quot; &amp;quot;],[&amp;quot;.&amp;quot;]);&lt;br /&gt;
        llOwnerSay(&amp;quot;&amp;lt;&amp;quot; + llDumpList2String(my_list,&amp;quot;&amp;gt;&amp;lt;&amp;quot;) + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers=&lt;br /&gt;
&#039;&#039;&#039;Examples of processing more than 8 spacers or separators:&#039;&#039;&#039;&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{LSL DefineRow||[[ParseString2List]]|Functions exactly the same as [[llParseString2List]] and [[llParseStringKeepNulls]].}}&lt;br /&gt;
{{LSL DefineRow||[[Separate Words|separateWords]]|Functions exactly the same as [[llParseString2List]] unless you violate it&#039;s additional preconditions.&lt;br /&gt;
Appears to be correct at a glance.}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llParseStringKeepNulls]]}}&lt;br /&gt;
{{LSL DefineRow||[[llDumpList2String]]}}&lt;br /&gt;
{{LSL DefineRow||[[llCSV2List]]}}&lt;br /&gt;
{{LSL DefineRow||[[llList2CSV]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Separate Words]]}}&lt;br /&gt;
{{LSL DefineRow||[[LSL-Editor/Bugs]]}}&lt;br /&gt;
|notes=If you indicate some items as separators, it will split the string where it finds the indicated separators, and strip out the separators.&lt;br /&gt;
&lt;br /&gt;
If instead you indicate some items as spacers, it will split the string where it finds the spacers, but leave the spacers there, including them as separate entries in the result list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;string myString = &amp;quot;What Are You Looking At?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString,  [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;], [] ) ) );&lt;br /&gt;
//returns:  hat , re , ou , ooking , t?&lt;br /&gt;
    &lt;br /&gt;
llSay(0, llList2CSV( llParseString2List(myString, [], [&amp;quot;W&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;Y&amp;quot;, &amp;quot;L&amp;quot;] ) ) );&lt;br /&gt;
//returns: W, hat , A, re , Y, ou , L, ooking , A, t?&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot; &amp;quot; as a separator will parse a sentence into words.&lt;br /&gt;
&lt;br /&gt;
If there is no spacer you care about, just use &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; as the spacer.&lt;br /&gt;
&lt;br /&gt;
If an empty string is used as a separator or a spacer, it will have no effect.&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=ParseString2List&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4&lt;br /&gt;
|history={{LSL Added|0.6.0|remote=http://secondlife.wikia.com/wiki/Version_0.6.0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Avatar_Position_Adjustement_to_Avatar_Height_When_Sitting&amp;diff=1189506</id>
		<title>Avatar Position Adjustement to Avatar Height When Sitting</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Avatar_Position_Adjustement_to_Avatar_Height_When_Sitting&amp;diff=1189506"/>
		<updated>2014-04-16T18:32:14Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Animation Adjustement According to Avatar Height Snippet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Animation Adjustement According to Avatar Height Snippet===&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL mainly for standing and walking animations. If you need a snippet for a chair, just use zero. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(&amp;lt;0,0,0&amp;gt;)]); // here we move the avatar to the new position, the rotation part is the target rotation in euler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Avatar_Position_Adjustement_to_Avatar_Height_When_Sitting&amp;diff=1189505</id>
		<title>Avatar Position Adjustement to Avatar Height When Sitting</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Avatar_Position_Adjustement_to_Avatar_Height_When_Sitting&amp;diff=1189505"/>
		<updated>2014-04-16T18:30:19Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Animation Adjustement According to Avatar Height Snippet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Animation Adjustement According to Avatar Height Snippet===&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL. If you need a snippet for a chair, you need to adjust the parameters according. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
That is to minus the height of the seat from this equation below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(&amp;lt;0,0,0&amp;gt;)]); // here we move the avatar to the new position, the rotation part is the target rotation in euler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Avatar_Position_Adjustement_to_Avatar_Height_When_Sitting&amp;diff=1189451</id>
		<title>Avatar Position Adjustement to Avatar Height When Sitting</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Avatar_Position_Adjustement_to_Avatar_Height_When_Sitting&amp;diff=1189451"/>
		<updated>2014-04-15T07:21:09Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: Created page with &amp;quot;===Animation Adjustement According to Avatar Height Snippet===  This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Animation Adjustement According to Avatar Height Snippet===&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL. If you need a snipper for a chair, you need to adjust the parameters according.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(&amp;lt;0,0,0&amp;gt;)]); // here we move the avatar to the new position, the rotation part is the target rotation in euler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1189450</id>
		<title>Category:LSL Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1189450"/>
		<updated>2014-04-15T07:20:45Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* LSL Script Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}{{RightToc}}&lt;br /&gt;
==Script Library==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em 0.5em 1.5em&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: Please add your scripts to this page and then add them to a category on the [[:Category:LSL Categorized Library|Categorized Library]] page.&lt;br /&gt;
&lt;br /&gt;
Come to this page to see complex examples that show how to combine parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Go to the [[:Category:LSL Examples|LSL Examples]] page to see brief examples of how to use parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Why collect complex examples here? Well, ...&lt;br /&gt;
&lt;br /&gt;
There is a treasure trove of user developed scripts that have become hard to find over time throughout Second Life&#039;s web server revisions and redesigns. The [http://community.secondlife.com/t5/Community-General/Upgrading-the-Forums/bc-p/77385 Huge Leap] to the new [http://www.jivesoftware.com/ Jive software], while traumatic and disruptive, has failed to dispose of  what&#039;s come before at the moment of your reading. These valuable community generated resources do indeed still remain and can be browsed/retrieved from several disjointed and disparate locations. While some links may point to duplicated, revised, or downright ancient wisdom, you may derive some enlightened perspective researching their hard won, timely solutions we encounter day to day.&lt;br /&gt;
&lt;br /&gt;
# [[Old forum Scripting Library index| Old Forums -Scripting Library index (wiki)]],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting/bd-p/2108 Old Forums -Scripting Forum Archive],&lt;br /&gt;
# [http://forums-archive.secondlife.com/15/1.html Old Forums -Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting-Library/bd-p/2122 new Forums -Archives &amp;gt; Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/LSL-Scripting-Library/bd-p/LSLScriptingLibrary new Forums -LSL Library].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The wiki medium is well-suited for a script library due to its revision based historical foundation. If you feel inclined to release your scripts to the entire community, there&#039;s no better place to preserve your work/love/energy/gift as a unified and cohesive repository. Feel free to add your script page links here as well as adding it to the [[:Category:LSL Categorized Library|Categorized Library]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rules for posting: ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
#Your script must be tested and working. If it&#039;s not, stick it in your user-space until it is. This is a list of working, usable scripts.&lt;br /&gt;
#Add a link to your script&#039;s page here. Link back to this page from your script&#039;s page. Start your page with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{LSL Header}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Do not add scripts that duplicate the same functionality as an existing script or built in {{LSLGC|Functions|function}}. If yours does, explain why.&lt;br /&gt;
#Do not list simple scripts here. Include those among the [[:Category:LSL Examples|LSL Examples]] instead.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LSL Script Library==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Addiction Moderator|Addiction Moderator and World Clock]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Keep tabs on usage of SL and easily share local times with other users.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Bijocam And Other Camera Scripts|Bijocam and Other Camera Scripts]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Various camera control systems for machinima, security, and other effects.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley Bing/Basic Sim Status Button Indicator HUD|Basic Sim Status Button Indicator HUD]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A single prim HUD. Color indicates sim status changes.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley_Bing/Basic_Target_Scanner_HUD|Basic Target Scanner HUD]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A single prim HUD.  Scrolls through nearby players names, photos and user key.&lt;br /&gt;
|-&lt;br /&gt;
|[[StringIsNum|(Function) StringIsNum]]&lt;br /&gt;
|{{User|Zion Tristan}}&lt;br /&gt;
|A User Made Function to return TRUE if a string based input consists entirely of a whole number, and return FALSE otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remove all scripts from a linkset]]&lt;br /&gt;
|{{User2|Dahlia Orfan}}&lt;br /&gt;
|Remove all scripts from a linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[RLV Viewer Titler]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Titler displaying viewer and it&#039;s version, revealed via RLV interface.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Restart Notifyer]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|On region restart, notifyes registered residents about the sim is online and the current sim version&lt;br /&gt;
|-&lt;br /&gt;
|[[Script Vitality plug-in]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Uses vehicle technology to allow scripts (in same prim) to run in &#039;dead&#039;, i.e. no-script areas.&lt;br /&gt;
|-&lt;br /&gt;
|[[1st necessity of SL]]&lt;br /&gt;
|{{User|Beer Dailey}}&lt;br /&gt;
|Monitors for avatars and (de)activates scripts states to control script performance/lag.&lt;br /&gt;
|-&lt;br /&gt;
|[[3D Radar]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|Rezzes a ball for each avatar in range. Each ball tracks its own AV and displays distance.&lt;br /&gt;
|-&lt;br /&gt;
|[[RegionSitTeleport]]&lt;br /&gt;
|{{User|Vincent Nacon}}&lt;br /&gt;
|A very simple and clean sit/unsit teleporter.&lt;br /&gt;
|-&lt;br /&gt;
|[[Avatar Position Adjustement to Avatar Height When Sitting]]&lt;br /&gt;
|{{User|Cay Trudeau}}&lt;br /&gt;
|Animation Adjustement According to Avatar Height. A simple snippet to calculate avatar position upwards.&lt;br /&gt;
|-&lt;br /&gt;
|[[AbcText]]&lt;br /&gt;
|{{User|Ange Capalini}}&lt;br /&gt;
|EXPERIMENTAL Hyper low prim Display. only 2 prims for 25char.&lt;br /&gt;
|-&lt;br /&gt;
|[[Access (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|An easy to use script for permissions on who can use the script, Public/Group/Owner&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Access_Tutorial_EN|Access Tutorial (EN)]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Short examples about permission to executable commands.&lt;br /&gt;
|-&lt;br /&gt;
|[[Aim Detection]]&lt;br /&gt;
|{{User2|Han Shuffle|Dugley Reanimator}}&lt;br /&gt;
|Monitors for avatars and reports back to owner about who is aiming at them.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Anti_copy_trans|Anti (copy &amp;amp; transfer)]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This funktion allows you to give away scripts with copy &amp;amp; transfer permissions and force the reseller to change the permission.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Anti_Rezz|Anti Rezz]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This script delete the complete object by rezzing on ground and detach it after 5 minutes from avatar. &lt;br /&gt;
|-&lt;br /&gt;
|[[AnkleLock]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An ankle lock script and attached animation to fix your displaced shoes. This will help if your shoes look displaced when you sit in certain poses or when your animation overrider is active.&lt;br /&gt;
|-&lt;br /&gt;
|[[AntiDelay Node]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Uses [[llMessageLinked]] to stop those pesky delays.&lt;br /&gt;
|-&lt;br /&gt;
|[[Artillery]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An artillery gun script, performing the necessary calculations based on a user-chosen velocity, in order to hit a designated target avatar.&lt;br /&gt;
|-&lt;br /&gt;
|[[AO Overriding Pose Ball]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|No more turning your AO off and on when you sit down&lt;br /&gt;
|-&lt;br /&gt;
|[[ARCFOUR Strong Encryption Implementation]]&lt;br /&gt;
|{{User2|Nekow42 Zarf}}&lt;br /&gt;
|An LSL implementation of ARCFOUR, the most popular stream cipher still in use.&lt;br /&gt;
|-&lt;br /&gt;
|[[Assembly Programming Language|Assembly-Like Programming Language]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A compiler that runs assembly-like programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[Associative Array Emulator|Associative Array (Dictionary) Emulator]]&lt;br /&gt;
|{{User2|Alynna Vixen}}&lt;br /&gt;
|This library provides a set of functions for using a list as an associative array where string based keys can refer to one or more variant elements.&lt;br /&gt;
|-&lt;br /&gt;
|[[AvatarFollower]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Allows one avatar to automatically follow another.&lt;br /&gt;
|-&lt;br /&gt;
|[[Avatar Radar (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Version 1.2; A nice new avatar radar script i just finish that you can place in your hud, Also features avatar locator&lt;br /&gt;
|-&lt;br /&gt;
|[[Base2Dec]]&lt;br /&gt;
|{{User|Siann Beck}}&lt;br /&gt;
|Convert a number to decimal from any base.&lt;br /&gt;
|-&lt;br /&gt;
|[[BaseN]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|Variable base compression, dynamically maps to usable UTF code points.&lt;br /&gt;
|-&lt;br /&gt;
|[[Basic Encryption Modules]]&lt;br /&gt;
|{{User|Beverly Larkin}}&lt;br /&gt;
|Basic encryption scripts, allows you to encrypt a float and shout it to another prim on a randomly chosen channel.&lt;br /&gt;
|-&lt;br /&gt;
|[[Be happy]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Basic smile attachment script, makes your avatar smile.&lt;br /&gt;
|-&lt;br /&gt;
|[[Beat The Average Vendor]]&lt;br /&gt;
|{{User2|Kristen Giano}}&lt;br /&gt;
|A vendor script based on humblebundle.com&lt;br /&gt;
|-&lt;br /&gt;
|[[Best Neighbor Ad Hiding Script|Best Neighbor]]&lt;br /&gt;
|{{User2|Doran Zemlja}}&lt;br /&gt;
|Reduce ad clutter by hiding ads when users are on their own land nearby.&lt;br /&gt;
|-&lt;br /&gt;
|[[BigNum|BigNum Library (RSA Encryption)]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A BigNum Library for dealing with big numbers! Specialized for modular multiplication, and RSA encryption.&lt;br /&gt;
|-&lt;br /&gt;
|[[Binary Clock v1.1|Binary Clock]]&lt;br /&gt;
|{{User|Fox Diller}}&lt;br /&gt;
|A Binary Clock.&lt;br /&gt;
|-&lt;br /&gt;
|[[BinaryDecimalConverter]]&lt;br /&gt;
|{{User2|Soundless Smalls}}&lt;br /&gt;
|Converts a binary value to a decimal value and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
|[[Blacklist and Remote Kill|Blacklist and Remote Kill]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Blacklist(denial of use) or a creator kill script(can delete someone&#039;s item by command on private channel)&lt;br /&gt;
|-&lt;br /&gt;
|[[User_talk:Rolig_Loon/Bookmark_URLs|Bookmark URLs]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Dialog driven HUD reads bookmarked URLs from notecards and navigates directly to them with user&#039;s in-world browser.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bubble Gum]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script to create a bubble gum effect with sounds and animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bubble Trapper]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that rezzes a bubble and surrounds a dialog-chosen avatar, exploding 2 seconds after it has reached the avatar. The article also explains how to hash a name to a number or a key to a number and thereby avoiding to block the rezzer&#039;s [[timer]] [[event]] or using [[llRegionSay]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Builders Buddy|Builder&#039;s Buddy Tool]]&lt;br /&gt;
|{{User|Newfie Pendragon}}&lt;br /&gt;
|Script to easily move/rotate large builds that exceed the linkable size [[limits]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Button Click Detector]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Use [[llDetectedTouchUV]] to determine which button was pressed on a texture.&lt;br /&gt;
|-&lt;br /&gt;
|[[Camera following prim]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Pair of scripts to make a prim follow your camera position around (for lights etc).&lt;br /&gt;
|-&lt;br /&gt;
|[[Camera Sync]]&lt;br /&gt;
|{{User|Meyermagic Salome}} and {{User2|Nomad Padar}}&lt;br /&gt;
|A system to synchronize the cameras of two avatars.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chatbot]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Compile and run the LSL you type on a channel, faster than you can thru the 2007-08 SL GUI.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chat Logger (GPL)]]&lt;br /&gt;
|{{User|Nobody Fugazi}}&lt;br /&gt;
|Chat logger which requests permission from participants before recording them.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chat_Relay|Chat Relay]]&lt;br /&gt;
|{{User|grumble Loudon}}&lt;br /&gt;
|A Chat relay which can be routed using a path header and won&#039;t echo.&lt;br /&gt;
|-&lt;br /&gt;
|[[ClickAndDrag]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Click and Drag user interface elements using dynamic feedback&lt;br /&gt;
|-&lt;br /&gt;
|[[TimeAPI Clock Script]]&lt;br /&gt;
|[[User:Elite Runner|Ryan R. Elite (Elite Runner)]]&lt;br /&gt;
|Gets time via HTTP function from TimeAPI.org&lt;br /&gt;
|-&lt;br /&gt;
|[[Code Racer]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Race two versions of code forever, to see which runs faster.&lt;br /&gt;
|-&lt;br /&gt;
|[[Code Sizer]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Count the bytes compiled from source code, to measure how to write small code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Collision message sender]]&lt;br /&gt;
|{{User2|Taff Nouvelle}}&lt;br /&gt;
|Give a message to an avatar on collision if the message has not been sent in the last 10 minutes.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Enh._Color_Picker|Color Changer]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Dialog driven color changer. Supports 16million+ colors, web color codes, multiple targeted prims, with save and recall.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color Changer|Color Changer Plus]]&lt;br /&gt;
|{{User2|Neo Calcutt}}&lt;br /&gt;
|A color changer with 14 colors, a random function, and a custom vector function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color conversion scripts|Color Conversion]]&lt;br /&gt;
|{{User|Sally LaSalle}}&lt;br /&gt;
|Convert between Red Green Blue (RGB) and Hue Saturation Value (HSV).&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorConvert]]&lt;br /&gt;
|{{User|Siann Beck}}&lt;br /&gt;
|Convert color values to vector from RGB, hex or HTML color name.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color script]]&lt;br /&gt;
|{{User2|Masakazu Kojima}}&lt;br /&gt;
|Script for changing colors trough a listener with pre-defined colors.&lt;br /&gt;
|-&lt;br /&gt;
|[[Library Combined Library|Combined Library]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Library of mostly encoding and decoding functions, some more useful then others.&lt;br /&gt;
* String functions: Replace / Trim right / Trim left / Trim both&lt;br /&gt;
* Unicode conversion: UTF8 to Unicode / Unicode to UTF8&lt;br /&gt;
* List functions: Replace / Compare&lt;br /&gt;
|-&lt;br /&gt;
|[[Computer:jaycoonlanguage]]&lt;br /&gt;
|{{User|jayco121 Bing}}&lt;br /&gt;
| A language written in LSL that is meant for my computer (available at the shop).&lt;br /&gt;
|-&lt;br /&gt;
|[[Read Note Card Configuration|Configuration Notecard Reader]]&lt;br /&gt;
|{{User|Dedric Mauriac}}&lt;br /&gt;
|A script to read configuration information from a notecard. Parses notecard to extract key words and their assigned values. Allows for comment lines and many more useful features.&lt;br /&gt;
|-&lt;br /&gt;
|[[AdvancedNotecardReader|Configuration Notecard Reader (advanced)]]&lt;br /&gt;
|[[Lear Cale|Lear Cale]]&lt;br /&gt;
|Robust configuration notecard reader; supports multiple notecards with same suffix, handles reconfig on inventory change, and does not usurp the default state.&lt;br /&gt;
|-&lt;br /&gt;
|[[Library_Chat_Relay|Conversation Relay]]&lt;br /&gt;
|{{User|Jippen Faddoul}}&lt;br /&gt;
|Chat relay which requests permission from participants before relaying their messages. Also includes their attachments. (ToS compliant).&lt;br /&gt;
|-&lt;br /&gt;
|[[Curtain script]]&lt;br /&gt;
|{{User|Zilla Larsson}}&lt;br /&gt;
|A simple script to retract/stretch curtains, blinds, bedcovers and more&lt;br /&gt;
|-&lt;br /&gt;
|[[Library_Cycle_Dialog_Items|Cycle Dialog Items w/ Callback]]&lt;br /&gt;
|{{User|Hawkster Westmoreland}}&lt;br /&gt;
|A customizable way to cycle dialog items with pagination&lt;br /&gt;
|-&lt;br /&gt;
|[[Dataserver API]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Dataserver Framework for Notecards.&lt;br /&gt;
|-&lt;br /&gt;
|[[Date Library]]&lt;br /&gt;
|{{User|Corto Maltese}}&lt;br /&gt;
| Date library, based on number of day since march 3rd 1600, can be used to calculate weekday, date differences, and date offset, and date formating.&lt;br /&gt;
|-&lt;br /&gt;
|[[Day of the Week]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Function to get day of the week from [[llGetUnixTime]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Days in Month]]&lt;br /&gt;
|{{User|IntLibber Brautigan}}&lt;br /&gt;
|Clicking on it returns the number of days in the present month. Useful for scripting calendars and tier systems that need to know the number of days in the month at hand or to calculate for any month. Even adjusts for leap years.&lt;br /&gt;
|-&lt;br /&gt;
|[[Deed Tools]]&lt;br /&gt;
|{{User|Falados Kapuskas}}&lt;br /&gt;
|Tools that allow the creator to modify Group-Owned (Deeded) Objects via chat.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DEMO_Shield|DEMO_Shield]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|With this script, it is impossible to use these scripts in copied (Copybot) object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Describe Chatter]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Chat to see yourself as others do.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dialog Control]]&lt;br /&gt;
|{{User|Nargus Asturias}}&lt;br /&gt;
| A (not-so) simple dialog &amp;amp; menu control script. Call dialog and receive selected value via [[link_message]], with built-in timer and [[link_message]] notification on time out. Supports multi-pages dialog and numeric property dialog. Button text and dialog&#039;s returned value can differ.&lt;br /&gt;
Latest version also has [[Dialog Menus Control]] built-in; which allow multi-level menus through SL dialog system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dispenser Vendor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
| A twist on [[Vendor]] that dispenses one object and then removes it from the list of objects.&lt;br /&gt;
|-&lt;br /&gt;
|[[MultiUser_Dialog_Handler|Dialog Menus (multiuser)]]&lt;br /&gt;
|{{User|SimonT Quinnell}}&lt;br /&gt;
| Menu dialog handler that supports multiple menus open at once from the single script. Displays multi-page menus if necessary as well as allowing for fixed header and footer buttons.  Timeouts as well as Text and button size limits are handled.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dialog NumberPad|Dialog Number Pad]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Use a dialog to accept positive integer input from users.&lt;br /&gt;
|-&lt;br /&gt;
|[[Display Names Radar]]&lt;br /&gt;
|{{User|Cerise Sorbet}}&lt;br /&gt;
|Simple HUD type avatar radar that can show [[display names]] and script memory usage&lt;br /&gt;
|-&lt;br /&gt;
|[[Display Names to Key]]&lt;br /&gt;
|{{User|Joran Yoshikawa}}&lt;br /&gt;
|Simple way to get UUIDs from displaynames&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DS_Display-Username_Online_Indicator|Display-Username_Online_Indicator]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This simple hover text-based script is used to shop owners in Second Life, customers at the current display name and user name to display publicly. Additionally shows the status of the Userkey and online. Furthermore, there are click of a chat link that opens the profile owner.&lt;br /&gt;
|-&lt;br /&gt;
|[[Displayer Script]]&lt;br /&gt;
|{{User|Akinori Kimagawa}}&lt;br /&gt;
|Display Words On Top Of An Object&lt;br /&gt;
|-&lt;br /&gt;
|[[Distributed Primitive Database]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The distributed primitive database (DPD) is a database which is meant to survive entirely in SL by using redundancy, replication and time synchronisation to maintain the consistency of the dataset contained in the DPD node/primitives spread out between regions and even grids. Similarly to the [[Intercom]], the robustness of the theory would allow users to maintain a cross-grid database; as of 30 of August 2011 I have managed to couple and replicate data between the two grids by using the methodology described in the script article.&lt;br /&gt;
|-&lt;br /&gt;
|[[Drink script]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Used mainly for food and drink in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
|[[Donut Dance]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Err, a script that makes you dance and say something on the local chat once you attach an object (good example for conditional re-entry flipping).&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DS_Single_AO-Sit|Single_AO-Sit]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Posescript for use with or without AO and with or without Animation. With the menu it is possible the seated Avatar to move.&lt;br /&gt;
|-&lt;br /&gt;
|[[TOXDropBox|DropBox]]&lt;br /&gt;
|{{User|Dimentox Travanti}}&lt;br /&gt;
| This is a Drop box which allows people to drop certain items in a object &amp;amp; has many config options.&lt;br /&gt;
|-&lt;br /&gt;
|[[Efficiency Tester]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Tests the speed of a function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Email-to-IM|Email2IM]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Send IMs to SL friends via [[email]].&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kireji_Haiku/SIMchat_headset|Encrypted Region-wide chat]]&lt;br /&gt;
|{{User|Kireji Haiku}}&lt;br /&gt;
|Encrypted Region-wide chat&lt;br /&gt;
|-&lt;br /&gt;
|[[ExplodingObjects]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Causes an object (of the appropriate type) to explode on command.&lt;br /&gt;
|-&lt;br /&gt;
|[[FadeEasy]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
|The easy way of fading objects in or out (Using llSetLinkAlpha)&lt;br /&gt;
|-&lt;br /&gt;
|[[FastConeSpread]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Fast Algorithmn to achieve cone spread, main use in weaponry systems.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Fast List Prim Contents|Fast List Prim Contents]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Fast and efficient method to print Object Inventory (Name, Type and next Owner permissions)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet_Lane/Scripts#Grid_Status_Feed|Grid Status Feed]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Receive important Grid information in-world&lt;br /&gt;
|-&lt;br /&gt;
|[[Find Avatar Key|Find Avatar Key]]&lt;br /&gt;
|{{User2|Huney Jewell}}&lt;br /&gt;
|Explores [[UUID]] of avatar whose name is said in local chat or who touches the prim.&lt;br /&gt;
|-&lt;br /&gt;
|[[First Name Letter Prize]]&lt;br /&gt;
|{{User|RaithSphere Whybrow}}&lt;br /&gt;
|Gives a prize if the person who sits on it&#039;s first letter of first name matches the random letter!&lt;br /&gt;
|-&lt;br /&gt;
|[[Fix Small Prims|Fix_Small_Prims]]&lt;br /&gt;
|{{User|Emma Nowhere}}&lt;br /&gt;
|Finds and adjusts the smallest prims in a linkset so that it can be scaled down further.&lt;br /&gt;
|-&lt;br /&gt;
|[[Flight Assist]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Flight feather / flight band implementation supporting various commands and allowing you to fly above the clouds.&lt;br /&gt;
|-&lt;br /&gt;
|[[Float2Hex]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Very useful for transporting [[float|floats]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Float Box Contents]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Displays object inventory in hover text, identified by type and updated marquee-style.&lt;br /&gt;
|-&lt;br /&gt;
|[[Follower (script)|Follower]]&lt;br /&gt;
|Unknown, uploaded by {{User|Slik Swindlehurst}}&lt;br /&gt;
|Makes an object follow the nearest person. Do not use for [[grief|griefing]].&lt;br /&gt;
|-&lt;br /&gt;
|[[FURWARE_text]]&lt;br /&gt;
|{{User|Ochi Wolfe}}&lt;br /&gt;
|Versatile text-on-prim script, open source under the MIT license&lt;br /&gt;
|-&lt;br /&gt;
|[[GA Event Notifier]]&lt;br /&gt;
|{{User|Victor Hua}}&lt;br /&gt;
|Gathers seven days event data from a Google calendar and display it through a simple interface. The lsl script can access several calendars at once through seperate php files. One file per calendar. Host the included php on your own web server.&lt;br /&gt;
|-&lt;br /&gt;
|[[Geometric|Geometric Library]]&lt;br /&gt;
|Community Project&lt;br /&gt;
|A substantial amount of various geometric functions for intersection and other purposes of 3D maths.&lt;br /&gt;
|-&lt;br /&gt;
|[[Get Profile Picture]]&lt;br /&gt;
|{{User2|Valentine Foxdale}}&lt;br /&gt;
|Sets the texture of the object to profile picture of the person that touches ot&lt;br /&gt;
|-&lt;br /&gt;
|[[GetTimestampOffset]]&lt;br /&gt;
|[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
|Returns [[llGetTimestamp]] with an hour offset.&lt;br /&gt;
|-&lt;br /&gt;
|[[Give InvItem every n hours]]&lt;br /&gt;
|{{User|Criz Collins}}&lt;br /&gt;
|Will give an inventory item on touch only every n hours, even if somebody touches the object more than once.&lt;br /&gt;
|-&lt;br /&gt;
|[[Give random object]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to receive a random object in the prim&#039;s inventory&lt;br /&gt;
|-&lt;br /&gt;
|[[Giver]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A menu-driven script that will hand out the objects in a prim. Supports multiple pages.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Golden Vendor|Golden Vendor]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|A cross between a vendor and a game.&lt;br /&gt;
|-&lt;br /&gt;
|[[Google Charts]]&lt;br /&gt;
|{{User|Dedric Mauriac}}&lt;br /&gt;
|Create links to display raw data as a chart image.&lt;br /&gt;
|-&lt;br /&gt;
|[[Google_Translator]]&lt;br /&gt;
|{{User|Ugleh Ulrik}}&lt;br /&gt;
|Translates spanish to english, and its simple to make it any other way.&lt;br /&gt;
|-&lt;br /&gt;
|[[Go transparent when walking]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|An attachment that goes invisible when you walk and visible when you don&#039;t walk.&lt;br /&gt;
|-&lt;br /&gt;
|[[Great Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A movement system based on [[Wizardry and Steamworks|State Machines]] which provides free roaming.&lt;br /&gt;
|-&lt;br /&gt;
|[[Greeter]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A multi-purpose greeter with multiple options (IM, landmark, notecard, URL, visitor statistics, shared access and compatible with the [[Mail]] system) that could work for shops, clubs, galleries and any other public place.&lt;br /&gt;
|-&lt;br /&gt;
|[[Group Authorization]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Checks to see if object is set to appropriate group (checks by [[Group key finder|group key]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Group key finder]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to find the key of the group&lt;br /&gt;
|-&lt;br /&gt;
|[[Group Privacy]]&lt;br /&gt;
|{{User|Chance Unknown}}&lt;br /&gt;
|Security device to insure members of a group can have a private area. Deactivates when nobody present.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hello Avatar]]&lt;br /&gt;
|Linden Lab&lt;br /&gt;
|SL&#039;s default script.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hello Avatar Companion]]&lt;br /&gt;
|[[Chase Quinnell]]&lt;br /&gt;
|Companion to the original [[Hello Avatar]] script&lt;br /&gt;
|-&lt;br /&gt;
|[[Hierarchics]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Advanced script to create an efficient self-aware hierarchic structure.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hierarchics2]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Second generation, one script per object. Only two functions, can be embedded in others. Uses the new [[llSetLinkPrimitiveParamsFast]]/[[llGetLinkPrimitiveParams]] functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/High-Capacity_Greeter-Counter|High-Capacity Greeter-Counter]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Uses a memory compression algorithm to store hashed visitor UUID&#039;s in a string instead of using a list.&lt;br /&gt;
|-&lt;br /&gt;
|[[Holodeck]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Home Rezzing System.&lt;br /&gt;
|-&lt;br /&gt;
|[[HUD Dots Radar]]&lt;br /&gt;
|[[User:Cerise Sorbet|Cerise]]&lt;br /&gt;
|HUD target example, draws dots on the HUD over avatars in view.&lt;br /&gt;
|-&lt;br /&gt;
|[[I Got It]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Educational tool to provide feedback from students.&lt;br /&gt;
|-&lt;br /&gt;
|[[Intercom|Intercom]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A system allowing region-wide and grid-wide (as of 30 of August 2011, it also works grid-wide, a test was performed by linking up the chat between the OSGrid and SecondLife) mass chat relay. By using this you can relay a main chat across multiple regions or grids. The script was initially meant as a mid-way project in order to test and gather information for the [[Distributed Primitive Database]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Interpolation|Interpolation Library]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|A small set of interpolation functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Intra-Region Update Server]]&lt;br /&gt;
|[[User:Emma_Nowhere|Emma Nowhere]]&lt;br /&gt;
|Centrally update objects such as Freeview screens or teleport pads within a region that are configured by notecards or contain modifiable objects or media assets.&lt;br /&gt;
|-&lt;br /&gt;
|[[Inventory_Based_Menu]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Inventory Based Menu System.&lt;br /&gt;
|-&lt;br /&gt;
|[[iTunes RPC Email|iTunes RPC]]&lt;br /&gt;
|{{User|Fox Diller}}&lt;br /&gt;
|iTunes RPC via LSL [[llEmail]] and [[llRemoteDataReply]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Jingle]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will make a primitive emit a sound when you wear it and walk around. Ideal for bells, footsteps and so on...&lt;br /&gt;
|-&lt;br /&gt;
|[[Key Frame Animator|Keyframe Animator]]&lt;br /&gt;
|{{User|Jasper Flossberg}}&lt;br /&gt;
| This is a KeyFrame Animator Script to simplify construction of keyframed animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Key Pad Door|Keypad Door]]&lt;br /&gt;
|{{User|Tdub Dowler}}&lt;br /&gt;
| Door and keypad with changeable code. Follow instructions carefully!&lt;br /&gt;
|-&lt;br /&gt;
|[[Key2Name]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
| Key2Name service where a user no longer needs to be in the same region to get users name&lt;br /&gt;
|-&lt;br /&gt;
|[[Kilt Editor|Kilt / Skirt Editor]]&lt;br /&gt;
|{{User|Brangus Weir}}&lt;br /&gt;
| This changes all the parameters of all the flexis in the link set in one swell foop!&lt;br /&gt;
|-&lt;br /&gt;
|[[Kira Warp Core Drive]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Scripts and instructions on how to create a vehicle that teleports an avatar and a vehicle to any region on the grid. You can [http://www.youtube.com/watch?v=xQkBRD7HBvw watch the YouTube video showing the prototype] I created to demonstrate how it works.&lt;br /&gt;
|-&lt;br /&gt;
|[[Last Sound System]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An LSL [http://Last.fm Last.fm] client.&lt;br /&gt;
|-&lt;br /&gt;
|[[LibraryDisplayLandScreenshot]]&lt;br /&gt;
|{{User|Jon Desmoulins}}&lt;br /&gt;
|A modified version of LibraryDisplayProfilePic using the new [[PARCEL_DETAILS_ID]] Implemented in Server v1.36&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/LinkNumber-List_in_llSetLinkPrimitiveParamsFast|LinkNumber-List_in_llSetLinkPrimitiveParamsFast]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Changed several prims in linkset with the same parameters, with a list. Without separate llSetLinkPrimitiveParams for each prim. (ideal for show/hide effects)&lt;br /&gt;
|-&lt;br /&gt;
|[[Limit Vendor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a vendor supporting any number of items with different prices which will only dispense a certain number of individual items by setting limits for each item based on a notecard configuration.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset resizer]]&lt;br /&gt;
|Maestro Linden&lt;br /&gt;
|Systematically rescales a linkset by moving and resizing each prim (by using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset resizer with menu]]&lt;br /&gt;
|{{User|Brilliant Scientist}}&lt;br /&gt;
|A menu-driven script that rescales a linkset by moving and resizing the prims using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]] functions. Based on [[Linkset resizer]].&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/*DS*_Resize_Script|Resize Script (m/c/t) v2.0.01]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Single resize script for a complete linkset with save and restore option.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pointing Stick]]&lt;br /&gt;
|{{User|rhonin Nissondorf}}&lt;br /&gt;
|A device that takes controls of your arrow keys and directs the device in the relative direction its pointing, forward and back of course.&lt;br /&gt;
|-&lt;br /&gt;
|[[Gun Script]]&lt;br /&gt;
|[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
|Shoots out &amp;quot;ammo&amp;quot; from the root prim of your &amp;quot;gun&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Grenade Script]]&lt;br /&gt;
|[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
|Uses a timed factor to add influence to the velocity of a throw object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset Resizer 2]]&lt;br /&gt;
|{{User|Emma Nowhere}}&lt;br /&gt;
|A more user-friendly resizer script designed for either drop-in use by the end-user or builder or for use in products. Based on [[Fix Small Prims]].&lt;br /&gt;
|-&lt;br /&gt;
|[[List2CSV]]&lt;br /&gt;
|{{User|Kunnis Basiat}}&lt;br /&gt;
|Similar to [[llList2CSV]] &amp;amp; [[llCSV2List]] which includes preserving type and escaping characters.&lt;br /&gt;
|-&lt;br /&gt;
|[[list_cast]]&lt;br /&gt;
|{{User2|Fractured Crystal}}&lt;br /&gt;
|Casts a list of strings into the type they appear to be. Designed for preprocessing user input for feeding into [[llSetPrimitiveParams]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Listener Script]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Use to [[listen]] to other people&#039;s conversations (Like spying)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Find_Last_Index|List: Find Last Index]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the last index of searched item in a source list. (backwards version of [[llListFindList]])&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Multi-Find_Index_.28First_or_Last.29|List: Multi Find]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the first found index of multiple search items in a list. (Multi-item version of [[llListFindList]]. Fwd and Rev versions included)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Get_Reverse_Order|List: Reverse]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns an input List in reverse order&lt;br /&gt;
|-&lt;br /&gt;
|[[LinksetIndexing]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|Functions for indexing a linkset by patterns or names down to their linkset numbers.&lt;br /&gt;
|-&lt;br /&gt;
|[[llGetAgentList Sim-Wide Radar]]&lt;br /&gt;
|{{User|Tiaeld Tolsen}}&lt;br /&gt;
|Simple radar implementation using the new [[llGetAgentList]] LSL Function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Live Event Timeout]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script which will set the the music URL back to a radio station of your liking when a DJ leaves or forgets to switch back the URL after a live event. It takes multiple DJs, using a notecard and several configuration parameters.&lt;br /&gt;
|-&lt;br /&gt;
|[[Load URL]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to get a dialog to visit the URL inside the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[LOGO Turtle]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that interprets basic LOGO commands, extending the directions to 3D.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDancemachine|lsDancemachine]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Low lag client server dancemachine.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDeejay|lsDeejay Home Edition]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Client server media control for music, video, youtube, pictures, and texture animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDialog|lsDialog]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Universal notecard driven menu dialog system.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDisplay|lsDisplay]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Picture cycler with preloader.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDistributor|lsDistributor]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Simple &#039;try&#039; and &#039;buy&#039; vendor system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Wizardry_and_Steamworks/LSL|LSL FUSS]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|FUSS (Frequently Used Short Snippets) is an collection of short snippets provided by [[Wizardry and Steamworks]]. They range from functions to one-liners and are provided for LSL developers.&lt;br /&gt;
|-&lt;br /&gt;
|[[LSL_languageAPI]]&lt;br /&gt;
|{{User|Gypsy Paz}}&lt;br /&gt;
|Multi-lingual API from notecard based language files&lt;br /&gt;
|-&lt;br /&gt;
|[[Mail]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An system for sending objects to multiple recipients automatically supporting shared access and [[Greeter]] compatible auto-subscriptions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mandelbrot Explorer]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An interactive fractal explorer.&lt;br /&gt;
|-&lt;br /&gt;
|[[Materialization Effects]]&lt;br /&gt;
|{{User|Overbrain Unplugged}}&lt;br /&gt;
| Special effects to add to rezzing events to simulate a teleportation or materialization.&lt;br /&gt;
|-&lt;br /&gt;
|[[Materialization Effects 2]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
| More efficient and faster version of Materialization Effects by Overbrain Unplugged.&lt;br /&gt;
|-&lt;br /&gt;
|[[Memory Module]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An example of pseudo-persistent variable in-world storage.&lt;br /&gt;
|-&lt;br /&gt;
|[[Merge Sort]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Implements a Merge Sort in LSL, however this code is 300(ish) times slower than [[llListSort]]. Don&#039;t use this in a script!&lt;br /&gt;
|-&lt;br /&gt;
|[[Minesweeper]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A simple minesweeper game.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mood Color Changer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that changes the color of all primitives in a linkset depending on the smileys the owner types on the main chat.&lt;br /&gt;
|-&lt;br /&gt;
|[[Morse Code]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A script that allows for the conversion to and from morse code and can &amp;quot;play&amp;quot; morse code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multi-displays Texture Cycler]]&lt;br /&gt;
|{{User|Nargus Asturias}}&lt;br /&gt;
|A simple texture rotator designed for multiple display screens. With delay between each screen AND delay between each loop.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multi Item Rezzer|Multi Item Rezzer]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|A rework of my old High Altitude Rezzer. Place the objects that you wish to choose from to be rezzed inside. Sit on the rezzer and pick the item and the height. It will go to target height and rez the object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multirezzer|Multirezzer (on collision)]]&lt;br /&gt;
|{{User2|Beet Streeter}}&lt;br /&gt;
|Spawns up to 10 objects when the object containing the script collides with a user.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5 RPG System]]&lt;br /&gt;
|[[User:Allen_Kerensky|Allen Kerensky]]&lt;br /&gt;
|Working preview of the Myriad Universal RPG System by Ashok Desai, converted to LSL as a roleplay meter with quest NPC and goals, hand-to-hand and melee close combat, ranged combat, armor, healing, bullet, firearm, holster, practice target, and much more&lt;br /&gt;
|-&lt;br /&gt;
|[[N2K]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A Name To Key (Name2Key) implementation that does not use third-party databases, nor relies on the uptime of not well known websites but rather uses the World Wide Web Consortium to fetch the key of avatars while trying to alert the developers of the consequences of using Name2Key third-party providers as well as trying to refrain from sales pitch terminology such as &amp;quot;best&amp;quot;, &amp;quot;newest&amp;quot; and &amp;quot;fastest&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Name2Key in LSL]]&lt;br /&gt;
|{{User|Maeva Anatine}}&lt;br /&gt;
|Get the Name2Key feature inside your scripts. Works even on lastly subscribed avatars.&lt;br /&gt;
|-&lt;br /&gt;
|[[Name2Key]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
|Newest and fastest Name2Key search, While the database is small it is also connected to Second Life&#039;s search.&lt;br /&gt;
|-&lt;br /&gt;
|[[NexiiText]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Text Renderer, specialised in features, performance and a compact nature. It features unique per character control, such as Colour, Bold, Italics, Underline, Stroke, Icons. The high performance means it comes in at a 5 char / prim ratio, but it is perfect where highly dynamic and rich text is required.&lt;br /&gt;
|-&lt;br /&gt;
|[[NexiiText2]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Second Gen Text Renderer. Same as above but features use of [[PRIM_LINK_TARGET]] and an awesome dynamic prim allocation architecture.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|To stop your long and hard builds from getting returned in sandboxes (&#039;&#039;only single prims, though!&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return NR]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|This really works (29-05-09), needs a nearby region to do the trick and avoid auto return. (Tested on Blue and Rausch)&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return (Multi)]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A revision of Bella&#039;s that works for multi-prim objects.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Limit Teleporter]]&lt;br /&gt;
|{{User|Morgam Biedermann}}&lt;br /&gt;
|Teleport to infinite altitudes (up to 4096m)&lt;br /&gt;
|-&lt;br /&gt;
|[[Object Size]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Gets the dimensions and footprint of a linkset&lt;br /&gt;
|-&lt;br /&gt;
|[[Object to Data v1.4|Object to Data]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Turns an object into text (and back). Allows people to transfer objects through notecards (or otherwise).&lt;br /&gt;
|-&lt;br /&gt;
|[[Online Indicator|Online Indicator]]&lt;br /&gt;
|{{User|Kristy Fanshaw}}&lt;br /&gt;
|Will show if the user is online or not. Displays users profile picture and allows to send IM&#039;s to user. Also gives a link to open the users profile&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Group Join]]&lt;br /&gt;
|{{User|Alicia Stella}}&lt;br /&gt;
|User Touches Object to Join Group from Group Info window, (no bot.)&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Prim Animator]]&lt;br /&gt;
|{{User|Todd Borst}}&lt;br /&gt;
|Single script prim animation tool.  Menu driven, easy to use.&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Zyngo Skin Installer]]&lt;br /&gt;
|{{User2|Tmzasz Luminos}}&lt;br /&gt;
|A Simple Script designed to install skins on the popular Skill machines.&lt;br /&gt;
|-&lt;br /&gt;
|[[Orbitor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Based on [[Wanderer]], we create [[Orbitor]] which allows a primitive to orbit around an origin point.&lt;br /&gt;
|-&lt;br /&gt;
|[[One Script, many doors]]&lt;br /&gt;
|{{User|Kyrah Abattoir}}&lt;br /&gt;
|Door script able to manage more than 50 linked doors from a single script instance.&lt;br /&gt;
|-&lt;br /&gt;
|[[ParseString2List]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Same as [[llParseString2List]] and [[llParseStringKeepNulls]], but not limited to 8 spacers or separators. Thus substitute a call to the [[llParseString2List]] and [[llParseStringKeepNulls]] functions by a call to [[Parse_String_To_List|ParseString2List]] whenever you have more than 8 separators or more than 8 spacers.&lt;br /&gt;
|-&lt;br /&gt;
|[[Password Generator]]&lt;br /&gt;
|{{User2|Syntrax Canucci}}&lt;br /&gt;
|This is an over-complicated, semi-complex password generator, which goes through multiple steps.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pathfinder]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|A potential field based pathfinding library.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pay to Strip]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This script is mainly meant for dancers and uses RLV to allow people to strip an avatar by making every clothes and attachment piece removable, respectively detachable for a settable price.&lt;br /&gt;
|-&lt;br /&gt;
|[[Permanent Primitive URL]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that uses [http://tiny.cc http://tiny.cc] REST API to update a SIM URL and make it permanent. Full description on how to register and set up a &amp;quot;nice&amp;quot; URL, like: http://tiny.cc/Kira. Should work with most URL shortening services (I&#039;m not affiliated with tiny.cc except for having a pass at them for not allowing OpenSIM-style generated URLs).&lt;br /&gt;
|-&lt;br /&gt;
|[[Personal ATM Machine]]&lt;br /&gt;
|{{User|Jessikiti Nikitin}}&lt;br /&gt;
|Allows deposits and withdrawals into another of your accounts, without the account being logged in.&lt;br /&gt;
|-&lt;br /&gt;
|[[Phantom Child]]&lt;br /&gt;
|{{User|Aeron Kohime}}&lt;br /&gt;
|Causes a child in a link set to become phantom without the entire object becoming phantom.&lt;br /&gt;
|-&lt;br /&gt;
|[[PHP_RegionFunctions]]&lt;br /&gt;
|{{User|Gypsy Paz}} and {{User2|Zayne Exonar}}&lt;br /&gt;
|Three useful PHP functions to get region info&lt;br /&gt;
|-&lt;br /&gt;
|[[PhysicsLib]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Interesting set of fun physics functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Planar Tile Generator]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script to generate perfectly aligned tiles.&lt;br /&gt;
|-&lt;br /&gt;
|[[Play and Loop Sound]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|Very short and simple script; plays and loops a sound in an object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Posing stand|Posing Stand]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|Just a pose script to edit [[attachments]] more easily.&lt;br /&gt;
|-&lt;br /&gt;
|[[PosJump]]&lt;br /&gt;
|{{User|Uchi Desmoulins}}&lt;br /&gt;
|A much more efficient alternative to the popular [[warpPos]] function for bypassing 10m distance-moved limitations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Puppeteer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple puppeteer script that will allow you to record and animate prim movements and rotations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Primitive Name Changer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
| A script that changes the primitive&#039;s name based on an user-configurable interval and a notecard list containing possible names.&lt;br /&gt;
|-&lt;br /&gt;
|[[Prefix Calculator]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
| A calculator that evaluates expressions in prefix notation.&lt;br /&gt;
&amp;lt;code&amp;gt;+ 3 4 = 5. * + 1 2 + 3 4 = 14.&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Profile Generator]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A cynical script for generating boilerplate profiles by based on cliches and profile memes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Profile Picture]]&lt;br /&gt;
|[[User: Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
|A working profile picture script with the new SecondLife API (1/11/2011)&lt;br /&gt;
|-&lt;br /&gt;
|[[Progress Bar]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Flexible and powerful little function for creating progress bars useful in hovertext.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pseudo-random Number Generator]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Generates a Pseudo-random number between -0x7FFFFFFF and 0x7FFFFFFF&lt;br /&gt;
|-&lt;br /&gt;
|[[Quick Collar]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple, no-bulk, no external database and essential feature-packed RLV collar script for your pleasures.&lt;br /&gt;
|-&lt;br /&gt;
|[[Quicksort]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|LSL implementation of the Quicksort algorithm.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/Quiz_From_Notecard|Quiz From Notecard]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|A multiple-choice testing script that reads questions and answer choices from a notecard and presents them in dialog boxes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Racter]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|In-world, multi-purpose chatterbot (Eliza/A.L.I.C.E. inspired) supporting multiple configurable hot-swappable brain-files with a wide range of applications.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rainbow_palette]]&lt;br /&gt;
|{{User|Rui Clary}}&lt;br /&gt;
|Build a color picker, using only one prim, and a few lines of code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Gaussian Number Generator]]&lt;br /&gt;
|{{User2|Vlad Davidson}}&lt;br /&gt;
|Generates a random number drawn from a normal (Gaussian; bell-curve) distribution, based on a specified mean/stdev&lt;br /&gt;
|-&lt;br /&gt;
|[[Random AV Profile Projector]]&lt;br /&gt;
|{{User|Debbie Trilling}}&lt;br /&gt;
|Randomly selects an AV from a crowd &amp;amp; then projects their profile picture as a &#039;holographic&#039; image&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Object Vendor]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Simple vendor that gives out random objects when paid the right amount&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Password Generator]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|Generate Random passwords based on String Length.&lt;br /&gt;
|-&lt;br /&gt;
|[[RandomPrimParams]]&lt;br /&gt;
|{{User|Xintar Citron}}&lt;br /&gt;
|Simple script which randoms Prim Parameteres, in this example i used color, but you can use everything.&lt;br /&gt;
|-&lt;br /&gt;
|[[RavText]]&lt;br /&gt;
|{{User|Ravenous Dingo}}&lt;br /&gt;
|An alternate to XyText.  This is a lightweight, multiple font 10 character text display system.  It only supports uppercase alphanumeric text and a few special characters, but it is very fast, renders quickly and supports multiple fonts. It is meant for specialized use when all that is desired is basic, fast text display and the extra &amp;quot;bells and whistles&amp;quot; are not needed.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Real Object Inventory To Dialog|Real Object Inventory To Dialog]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Display any amount of items contained in an Object in a Dialog, regardless of item name length.&lt;br /&gt;
|-&lt;br /&gt;
|[[RentalBoxv1|Rental Box, Simply]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Simple explanation of how to make rental boxes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rental Cube]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Simple cube for renting out a space.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/*DS*_Rental-Cube|Rental-Cube]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This is an Open-Source version of a Rental-Cube from Daemonika Nightfire. Just copy/paste this script into a inworld lsl-script and add one notecard called Info/Rules to the content of your cube.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley Bing/Textbox2Hovertext|Textbox2Hovertext]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A simple script to allow hovertext to be set with a dialog text box.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remote Texture Loader]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A set of scripts for remotely loading textures within a sim. This means that a single &amp;quot;texture server&amp;quot; can manage multiple changing billboards within a sim.&lt;br /&gt;
|-&lt;br /&gt;
|[[Say Region Frames Per Second|Region Frames Per Second]]&lt;br /&gt;
|{{User2|Heymeriou Mystakidou}}&lt;br /&gt;
| Says the region name and frames per second out loud on command.&lt;br /&gt;
|-&lt;br /&gt;
|[[Security Orb|Security Orb]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A regular security orb that ejects people from a land parcel supporting a menu configuration and a notecard based access list.&lt;br /&gt;
|-&lt;br /&gt;
|[[Resizer multi-prims|Resizer multi-prims]]&lt;br /&gt;
|{{User2|Christy Mansbridge}}&lt;br /&gt;
|1 Mono script to resize object (1 to 256 prims) by blue menu. Avoid risk to break the build by increasing link distance.&lt;br /&gt;
|-&lt;br /&gt;
|[[RLV Collision Grabber]]&lt;br /&gt;
|[[User:Vala_Vella|Vala Vella]]&lt;br /&gt;
|Grab people colliding with the object and sit them on a set target using RLV&lt;br /&gt;
|-&lt;br /&gt;
|[[sbDialog]]&lt;br /&gt;
|[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
|A simple replacement function for [[llDialog]]. It re-orders the button list so that the button values, as passed to it, display left-to-right, top-to-bottom. It also opens a [[llListen|listen]] on the specified channel, and returns the handle.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheduled Payments]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will allow you to make scheduled (and reoccurring) payments to multiple avatars via a notecard.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheduler]]&lt;br /&gt;
|{{User|Haravikk Mistral}}&lt;br /&gt;
|Schedule multiple events using a single script timer&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheme_Interpreter|Scheme Interpreter]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A scheme interpreter capable of handling most scheme expressions, including lambda and lists.&lt;br /&gt;
|-&lt;br /&gt;
|[[Script Override Functions]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|bypass default strings, integer etc in chat channel.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Toady_Nakamura/Scrubber_Script|Script Scrubber]]&lt;br /&gt;
|{{User|Toady Nakamura}}&lt;br /&gt;
|Script scrubs memory resident script functions from prim and self-deletes the script. Does not damage the prim, or remove other scripts.  Use this to kill bling or other particle effects!&lt;br /&gt;
|-&lt;br /&gt;
|[[Scripted Attachment Detector.lsl|Scripted Attachment Detector]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A script that will display avatars wearing scripted attatchments in hovertext. This may be worn as an hud or rezzed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Self Upgrading Script Enhanced]]&lt;br /&gt;
|{{User|Cron Stardust}}&lt;br /&gt;
|Keeps only latest version of the script on prim (even with multiple adds of the same script!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Sensor Visualizer]]&lt;br /&gt;
|{{User|Cerise Sorbet}}&lt;br /&gt;
|Shows the size and shape you get with [[llSensor]] range and arc parameters&lt;br /&gt;
|-&lt;br /&gt;
|[[Serverless Key Exchange]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Maintains a network of object keys without using an external server.&lt;br /&gt;
|-&lt;br /&gt;
|[[SetLinkText]]&lt;br /&gt;
|{{User2|Tacusin Memo}}&lt;br /&gt;
|Custom function like [[llSetText]] only applying to linked sets.&lt;br /&gt;
|-&lt;br /&gt;
|[[SHA-1|SHA-1 Hash]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Performs a SHA-1 Hash on an input text. Similar to MD5 only (slightly) more secure.&lt;br /&gt;
|-&lt;br /&gt;
|[[SHA-2|SHA-2 Hash]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Performs a SHA-2 Hash on an input text. Similar to SHA-1 only (slightly) more secure.&lt;br /&gt;
|-&lt;br /&gt;
|[[Shoutcast - radio controller v0.3 (remake of similar scripts)]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Control your shoutcast radio stations with this shoutcast controller. Uses notecard for info about genres and stations and menu to select the station. Sends info to Xytext display.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Show Agent Script Count and memory|Show Agent Script Count and memory]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Fast and efficient method to display the amount of scripts and memory usage for an agent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Map Particle Projector]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|Displays a floating map of the sim the script is in.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Performance Collector (Web-based]]&lt;br /&gt;
|{{User2|DeniseHoorn Slade}}&lt;br /&gt;
|Makes some graphs for your website on the sim-performance (DIL,FPS, PING). PHP and Round Robin Database on Server needed!&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Restart Logger]]&lt;br /&gt;
|{{User|Kyrah Abattoir}}&lt;br /&gt;
|Counts region restarts and displays log of last 9 restarts together with region FPS and dilation.&lt;br /&gt;
|-&lt;br /&gt;
|[[SIM status]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will scan and display the status of SIMs (up, down, starting, stopping, unknown, crashed) from a notecard in the same prim as the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[Simple Elevator in a Box]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Simple elevator example.&lt;br /&gt;
|-&lt;br /&gt;
|[[Simple Pay Door]]&lt;br /&gt;
|{{User|Giygas Static}}&lt;br /&gt;
|Simple door you pay to get access.&lt;br /&gt;
|-&lt;br /&gt;
|[[Skillingo AntiHack Script]]&lt;br /&gt;
|{{User2|Tmzasz Luminos}}&lt;br /&gt;
|A simple Protection script for skillingo thats modifyable to work with other machines.&lt;br /&gt;
|-&lt;br /&gt;
|[[Skunk Money]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Fun gambling machine of yesteryear, which only supports freeplay now due to SL regulations against gambling.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLateIt]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An augmented virtual reality HUD.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLetanque]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An LSL petanque game.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLURL HUD]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Touch this HUD to get a SLURL through IM, email and floating text.&lt;br /&gt;
|-&lt;br /&gt;
|[[BuildSlurl (NewAge)]]&lt;br /&gt;
|{{User2|Archile Azalee}}&lt;br /&gt;
|A way to create a SLurl in a single function BuildSlurl&lt;br /&gt;
|-&lt;br /&gt;
|[[SL Mail V1.2]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Second Life mail client V1.2 (released sept&#039;07). Send and receive mail from within Second Life from and to any address. With Address Book function and many chat commands. V1.3 is upcoming soon!&lt;br /&gt;
|-&lt;br /&gt;
|[[SL_NTPoHTTP_v1.1_client|SL NTPoHTTP client]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|Second Life Needs Time Parsing over Hyper Text Transfer Protocol&lt;br /&gt;
Emulates the function of [[llGetWallclock]] for any timezone by using SLOpenID&#039;s SLNTPoHTTP service. Also supports ISO 8601 and RFC 2822 timestamps. Script is dependent upon an external service operated by the author!&lt;br /&gt;
|-&lt;br /&gt;
|[[Slide Display]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A display for presentations or talks supporting multiple slides as well as zooming-in on the slides.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smile]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An extended smile script supporting two smiles (extendable via a list) and a time delay triggering them at random.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Rotating Door]]&lt;br /&gt;
|{{User|Toy Wylie}}&lt;br /&gt;
|A script for doors that open and close smoothly using llTargetOmega&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Rotating Linked Door With Hinge]]&lt;br /&gt;
|{{User2|Lyn Mimistrobell}}&lt;br /&gt;
|A script for linked uncut (mesh) doors that smoothly rotates around a virtual hinge without the use of timers&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Sliding Door]]&lt;br /&gt;
|{{User|SimonT Quinnell}}&lt;br /&gt;
|A script for sliding doors that open and close smoothly using [[llMoveToTarget]]. Asjusts for prim orientation.&lt;br /&gt;
|-&lt;br /&gt;
|[[Snake Game]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The game of snake in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
|[[Song Requests]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Helper script for DJs, allowing listeners to request songs and make dedications.&lt;br /&gt;
|-&lt;br /&gt;
|[[Speed Tester]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|Similar to the [[Efficiency Tester]], this script allows you to test the speed of a particular function or snippet with multiple trials giving min/max/avg/median and the standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|[[Spiral Staircase Generator]]&lt;br /&gt;
|{{User|Meyermagic Salome}}&lt;br /&gt;
|Generates nice looking spiral staircases without much hassle.&lt;br /&gt;
|-&lt;br /&gt;
|[[Static URL&#039;s for HTTP-In Service|Static_URLs]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|How to generate a static url for HTTP-In temporal limitations.&lt;br /&gt;
|-&lt;br /&gt;
|[[String Compare]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Compares two strings and reliably returns either 1, -1, or 0 if they are the same.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synchronize]]&lt;br /&gt;
|{{User|Cay Trudeau}}&lt;br /&gt;
|Makes synchronized start to a task on even/odd seconds&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#String:_Find_Last_Index|String: Reverse]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns an input string in reverse order&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#String:_Get_Reverse_Order|String: Last Index]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the last index of search found in string (the backward equivalent of [[llSubStringIndex]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Tail Messages (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|A super nice easy to use script for those non-scripters out there! NewAge coding has done it again where you no longer need to scroll up and down adding buttons and adding messages, Features a tag system (you&#039;ll see what i mean :P)&lt;br /&gt;
|-&lt;br /&gt;
|[[Taper Door (minimalistic)]]&lt;br /&gt;
|{{User2|Kopilo Hallard}}&lt;br /&gt;
|A basic script for doors which open and close using taper.&lt;br /&gt;
|-&lt;br /&gt;
|[[Teleport HUD]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|WORKS TO 4096 METERS!! Very user friendly teleport HUD. Add destinations by touching &amp;quot;Add&amp;quot; &amp;amp; naming destination in chat. Automatically gets sim name and coordinates. Will only display the destinations in the sim you are currently in. Demonstrates more advanced list manipulation and stride functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Enh._Landmark-2-Map|Teleporter (landmark based)]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Uses Landmarks to offer map teleports. Works as Hud or inworld objects, just drop in landmarks and go.&lt;br /&gt;
|-&lt;br /&gt;
|[[Text_Scroller|Text Scroller]]&lt;br /&gt;
|[[User:Fred_Gandt|Fred Gandt]]&lt;br /&gt;
|A simple text display object that scrolls text (applied as a texture) from right to left (like &#039;&#039;those&#039;&#039; LED signs) in a continuous loop.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bobbyb&#039;s texture changer|Texture Changers]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A collection of texture changing scripts.&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Menu Management|Texture Management]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Dialog Menu based Texture Selection.&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Particle Poofer|Texture Particle Poofer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a generic dialog-based particle poofer, emitting textures towards an avatar for a configurable amount of time.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Xen_Lisle/Texture_Slide|Texture Slide]]&lt;br /&gt;
|{{User|Xen Lisle}}&lt;br /&gt;
|Slides a texture on mouse movement&lt;br /&gt;
|-&lt;br /&gt;
|[[Tic Tac Toe]]&lt;br /&gt;
|CG Linden&lt;br /&gt;
|Step by step demo on how to implement a larger scripting project&lt;br /&gt;
|-&lt;br /&gt;
|[[TightList]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Tight List is a family of functions for encoding lists as strings and then decoding them back into lists.&lt;br /&gt;
There are two flavors: TightList and TightListType. TightListType preserves types and uses a 6 char header, while TightList uses a 1 char header that doesn&#039;t preserve type.&lt;br /&gt;
|-&lt;br /&gt;
|[[Timer Module]]&lt;br /&gt;
|{{User|Isabelle Aquitaine}}&lt;br /&gt;
|Manage multiple timers via linked messages.&lt;br /&gt;
|-&lt;br /&gt;
|[[Two Avatars on single prim]]&lt;br /&gt;
|{{User2|Pale Janus|Cay Trudeau}}&lt;br /&gt;
|Allow two (or more) avatars to sit on same prim&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Unix_time_code_to_list_format|Timestamp:&amp;lt;br&amp;gt;Unix time code to list format]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|converts Unix timestamps to their [Y, M, D, h, m, s] equivalents (ex: 1234567890 to [2009, 2, 13, 3, 31, 30])&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List_format_to_Unix_time_code.|Timestamp:&amp;lt;br&amp;gt;List format to Unix time code]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|converts [Y, M, D, h, m, s] timestamps to their Unix equivalents (ex: [2009, 2, 13, 3, 31, 30] to 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Weekday_from_Unix_timestamp|Timestamp:&amp;lt;br&amp;gt;Weekday from Unix timestamp]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Gets weekday from Unix timestamps (ex: &amp;quot;Friday&amp;quot; from 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Repeater]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Observes textures and texture parameters on the prim. If changed, bulk-updates other prims in linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[The Stash (Bank)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a depositing system to link your secondary account (alt) to a prim in-world so you can retrieve money without switching back and forth between accounts. It supports setting an upper limit, sharing the stash if you wish, logging everybody who deposited money and retrieved money, sending money to a list of bookmarked avatars and getting a status of your current holdings. It also explains some tricks for developers, for example, how to get another timer() if your current timer() is used up already.&lt;br /&gt;
|-&lt;br /&gt;
|[[Tipjar]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a fully fledged tipjar supporting shared access, split profits, inviting to group, handing over gifts, maintaining statistics of who tipped most and who tipped in general, eliminating deed to group and comes with an innovative feature: it periodically moves around from avatar to avatar in the room and returns back to its initial position after a sweep. This way your tijpar will not be static, but participate in the party!&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Weekday_from_.28_Y.2C_M.2C_D_.29_format|Timestamp:&amp;lt;br&amp;gt;Weekday from (Y, M, D) format]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Gets weekday from (Y, M, D) timestamps (ex: &amp;quot;Friday&amp;quot; from (2009, 2, 13))&lt;br /&gt;
|-&lt;br /&gt;
|[[Touch A Quote]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Touch an object to read quotes sequentially from a notecard&lt;br /&gt;
|-&lt;br /&gt;
|[[Touring Balloon]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Automated touring balloon with many options from long ago.  Always seems to work on one SL release, and not the other.&lt;br /&gt;
|-&lt;br /&gt;
|[[Towncrier]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple towncrier to be used in role-play SIMs or wherever there is a need to broadcast news in random intervals.&lt;br /&gt;
|-&lt;br /&gt;
|[[Trivia]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A trivia game engine with provided ready-made notecards.&lt;br /&gt;
|-&lt;br /&gt;
|[[Under Age Boot]]&lt;br /&gt;
|{{User|Chance Unknown}}&lt;br /&gt;
|Security device example to teleport home accounts below a minimum age limit; can be useful in combating free griefer accounts.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/UNDO_PosRot|UNDO_PosRot]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Allows user to undo position and rotation changes that have been made &amp;quot;manually&amp;quot; to any or all prims in a linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[Universal Translator]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Chat listener that handles seamless translation of public chat between 50+ written languages without the need for configuration.  Handles numerous avatars, auto-detects languages, and works together with multiple copies of translators to spread-workload using a sophisticated back-end communications sub-system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unix2DateTime]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Conversion from Unix time ([[llGetUnixTime]]()) to date and time string and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unmutable Descript Nagger]]&lt;br /&gt;
|{{User|Bobbyb30 Zohari}}&lt;br /&gt;
|To nag avatars to take off their scripted attatchments.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unpacker On Rez (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|A very simple to use script for all you creators out there, This script will enable you to send out boxed items and make it easier for users to unpack, Also features auto die on completion. Very simple to configure!&lt;br /&gt;
|-&lt;br /&gt;
|[[Unpacker On Touch (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Exactly like Unpacker On Rez, But changed some things about to make it Unpack On Touch&lt;br /&gt;
|-&lt;br /&gt;
|[[Update distributor]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Distribute an object (like a project update) to a list of people named in a notecard.&lt;br /&gt;
|-&lt;br /&gt;
|[[UUID2Channel]]&lt;br /&gt;
|{{User|Project Neox}}&lt;br /&gt;
|Optimised version of the original key2channel generators.&lt;br /&gt;
|-&lt;br /&gt;
|[[UUID Song Generator]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Translates a UUID into a simple song and plays it.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Advanced_Visitor_Greeter|Visitor Greeter]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Reduced spam visitor greeter, highly configurable, easy to modify.&lt;br /&gt;
|-&lt;br /&gt;
|[[VariText]]&lt;br /&gt;
|[[User:Geneko Nemeth|Geneko Nemeth (Kakurady)]]&lt;br /&gt;
|Display text on a prim, without looking like from a typewriter&lt;br /&gt;
|-&lt;br /&gt;
|[[Visitor Logger (Web/Basic) ]]&lt;br /&gt;
|{{User|Buddy Sprocket}}&lt;br /&gt;
|A very basic visitor logger - log visitors in SL to a text file on your web-site.&lt;br /&gt;
|-&lt;br /&gt;
|[[Visitors]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A series of scripts to hold lists of visitors taking into account display names and supporting tracking multiple visits.&lt;br /&gt;
|-&lt;br /&gt;
|[[Volleyball Game (Kira&#039;s Artillery Variations)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The game of Volleyball in SecondLife, based on the [[Artillery]] script and freefall theory. Full build instructions, scripts, import archive and marketplace freebie product. All full permission.&lt;br /&gt;
|-&lt;br /&gt;
|[[Vote Simple]]&lt;br /&gt;
|{{User|JB Kraft}}&lt;br /&gt;
|Simple vote collector. One avi, one vote.&lt;br /&gt;
|-&lt;br /&gt;
|[[Walking Sound (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Very powerful walking sound script, Featuring customer ability to add their own sounds with the API Sound Feature!&lt;br /&gt;
|-&lt;br /&gt;
|[[Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that can be used to randomly move a prim around relative to its origin point. Can be used for breeders, robots, birds and other applications where a primitive has to move around by itself.&lt;br /&gt;
|-&lt;br /&gt;
|[[WarpPos]]&lt;br /&gt;
|{{User2|Keknehv Psaltery}}&lt;br /&gt;
|Non-physical movement without the 10m limit.&lt;br /&gt;
|-&lt;br /&gt;
|[[Watchdog]]&lt;br /&gt;
|{{User|Tika Oberueng}}&lt;br /&gt;
|LSL Watchdog scripts to monitor other scripts in the prim and restart them if they crash or stop running.&lt;br /&gt;
|-&lt;br /&gt;
|[[Wiki3DBuilder]] [[Wiki3DBuilder1.0]]&lt;br /&gt;
|{{User|Salahzar Stenvaag}}&lt;br /&gt;
|Allows a group of people to collectively build up complex 3D mindmaps with connected concepts. Uses particles for connections and low prim usage. Nodes can be textured, colored, changed form size moved collectively by everybody and can distribute notecards, landmarks, URL, objects, textures. I provide two version 0.1 and 1.0 and probably next version will communicate with moodle and sloodle external websites.&lt;br /&gt;
|-&lt;br /&gt;
|[[Window Control]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|For window opacity, helpful for buildings.&lt;br /&gt;
|-&lt;br /&gt;
|[[XTEA Strong Encryption Implementation]]&lt;br /&gt;
|{{User|Morse Dillon}}&lt;br /&gt;
|An LSL implementation of XTEA (eXtended Tiny Encryption Algorithm).  This is the first known public release of a &#039;real&#039; strong encryption implementation in LSL and is released under the GNU General Public License (GPL).&lt;br /&gt;
|-&lt;br /&gt;
|[[XyText 1.5|XyText]]&lt;br /&gt;
|{{User2|Xylor Baysklef}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Use as many prims as desired.&lt;br /&gt;
|-&lt;br /&gt;
|[[XyyyyzText|XyyyyzText]]&lt;br /&gt;
|{{User|Criz Collins}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO&lt;br /&gt;
|-&lt;br /&gt;
|[[XyzzyText|XyzzyText]]&lt;br /&gt;
|{{User|Thraxis Epsilon}} and {{User|Gigs Taggart}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Way more efficient than XyText.&lt;br /&gt;
|-&lt;br /&gt;
|[[Youtube TV]]&lt;br /&gt;
|{{User|Morgam Biedermann}}&lt;br /&gt;
|Watch your favorite Youtube videos / auto set the texture to the parcel media texture.&lt;br /&gt;
|-&lt;br /&gt;
|[[Input number of seconds, get a string back that shows days, hours, minutes, seconds]]&lt;br /&gt;
|{{User|Fire Centaur}}&lt;br /&gt;
|Returns a string that displays days, hours, seconds&lt;br /&gt;
|-&lt;br /&gt;
|[[Presenter with Timer]]&lt;br /&gt;
|[[User:Fire Centaur]]&lt;br /&gt;
|Yet another texture presenter with a timer, lock, next/prev etc&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Giver Prim]]&lt;br /&gt;
|{{User|Damian Darkwyr}}&lt;br /&gt;
|A randomized item giver with a game-like twist&lt;br /&gt;
|-&lt;br /&gt;
|[[Client Specific Contents Giver]]&lt;br /&gt;
|{{User|Damian Darkwyr}}&lt;br /&gt;
|Give Contents only to users of a specific Client. Such as Phoenix, CoolVL or 2.0&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/v7-D_Zen_Resizer|Zen Resizer]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Single script object resizer w/ multi-language &amp;amp; multi-menu support, + many other features for simple or advanced use.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Weaver Spell Grid|Weaver Spell Grid]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Designs simple objects and creates them with magic words.&lt;br /&gt;
|-&lt;br /&gt;
|[[Zero Lag Poseball]]&lt;br /&gt;
|{{User|Jippen Faddoul}} and {{User|Daemonika Nightfire}}&lt;br /&gt;
|A simple poseball with no lag&lt;br /&gt;
|-&lt;br /&gt;
|[[Zigzag Sequence]]&lt;br /&gt;
|{{User|Project Neox}}&lt;br /&gt;
|Zigzag sequence generator I developed while scripting checkers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Support Script Library==&lt;br /&gt;
These are scripts in other languages, intended to be run on other systems that support scripts written in LSL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Nexii-Malthus/phpPathfinding phpPathfinding]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|PHP script for offloading complex pathfinding operations away from heavy use simulators onto external servers. Primarily A* Algorithm. Flexible -- works with any type of node graph. Public Domain. Clean and minimalistic code.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ina Centaur/UUID/calimg.api|Calendar Image UUID API]]&lt;br /&gt;
|{{User|Ina Centaur}}&lt;br /&gt;
|API that gives the UUID of an image of a calendar image give month and year arguments.&lt;br /&gt;
|-&lt;br /&gt;
|[[HTTP Post request to a PHP server]]&lt;br /&gt;
|{{User|Corto Maltese}}&lt;br /&gt;
|This small library allows you to make simple POST requests to your website. The libraries allow you to get your request through the variable $_POST on the server. It also include a basic security mechanism aimed to stop hacking. Comprises of LSL client script and PHP server script.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ina Centaur/PHP/k2n.php|Key2Name.php]]&lt;br /&gt;
|{{User|Ina Centaur}}&lt;br /&gt;
|Get Avatar&#039;s Name using Second Life search service. (like in LSL Key2Name)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Darien_Caldwell/HTTP-DNS|HTTP-IN DNS]]&lt;br /&gt;
|{{User|Darien Caldwell}}&lt;br /&gt;
|Public Domain DNS and HTTP-IN URL Distribution system running on GAE (the original). Deploy your own for maximum utility and security.&lt;br /&gt;
|-&lt;br /&gt;
|[[Lame_Object_DNS_and_Cross_Sim_Messaging|Lame Object DNS and Cross Sim Messaging]]&lt;br /&gt;
|{{User2|Liandra Ceawlin}}&lt;br /&gt;
|Simple, cheeseball method of doing cross-sim communications with http-in and an external object DNS service.&lt;br /&gt;
|-&lt;br /&gt;
|[[Minify|LSL Minify]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|LSL Minification and obfuscation tool written in JavaScript. Contains a form on the wiki using a widget where you can post LSL scripts to be minified as well as the source-code. For another full-screen demo you may [http://eva.comaroski.me/lslclean.html check it on my website]. To use, paste any LSL code and press ctrl+alt+enter to get the minified version.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:SignpostMarv Martin/PHP/llXorBase64StringsCorrect|llXorBase64StringsCorrect]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|An implementation of [[llXorBase64StringsCorrect]] in PHP- should be useful if you&#039;re using llXorBase64StringsCorrect to do cryptography work in LSL2 and posting it out to the web via [[llHTTPRequest]].&lt;br /&gt;
|-&lt;br /&gt;
|[[User:SignpostMarv Martin/PHP/lsl fu.php|lsl_fu.php]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|A basic OOP&#039;d PHP Class containing VeloxSeverine&#039;s $_POST fixer and Marv&#039;s own eccentric ideas for &amp;quot;fixing&amp;quot; things.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Jor3l Boa/PHP/n2k.php|Name2Key.php]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|Get Avatar&#039;s UUID using Second Life search service. (like in LSL Name2Key)&lt;br /&gt;
|-&lt;br /&gt;
|[[Public_Object_DNS|Public Object DNS]]&lt;br /&gt;
|{{User2|Liandra Ceawlin}}&lt;br /&gt;
|Public object DNS-like system running on GAE, for http-in. Hopefully scalable enough for wide-spread usage.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rake|Rake]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A C# utility meant to create full inventory backups to your local hard-drive including Textures/Sculpts, Animations, Notecards and Scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Silo&lt;br /&gt;
|{{User2|Zero Linden}}&lt;br /&gt;
|General purpose data store in PHP.  Use this to persist arbitrary data from LSL via [[llHTTPRequest]].  See:&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo-README.txt README] file&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo.tgz silo.tgz] tarball&lt;br /&gt;
* forum post [http://forums-archive.secondlife.com/54/69/119570/1.html Announcement].&lt;br /&gt;
|-&lt;br /&gt;
|[[Silverday ObjectDNS]]&lt;br /&gt;
|{{User|Till Stirling}}&lt;br /&gt;
|Dynamic Object-DNS-System to provide dynamic mapping of LSL-URLs to persistent domains. Features include redirect service, password protected domains, write protected domains, LSL-API for all necessary functions, optional web-interface.&lt;br /&gt;
|-&lt;br /&gt;
|[http://aubretec.com/products/sldb SLDB]&lt;br /&gt;
|{{User2|Luc Aubret}}&lt;br /&gt;
|Flexible web database storage using PHP/MySQL.  Used to store per-user field/value pairs from in-world objects using [[llHTTPRequest]].&lt;br /&gt;
* [http://aubretec.com/support/manuals/sldbkit/ Implementation Guide]&lt;br /&gt;
* [http://aubretec.com/wp-content/uploads/2009/05/sldb.zip Download] (.zip, 12kb)&lt;br /&gt;
|-&lt;br /&gt;
|[https://tlabsfoundry.atlassian.net/wiki/display/SLAD/SL+Asset+Data SL Asset Data]&lt;br /&gt;
|{{User|Trimda Hedges}}&lt;br /&gt;
|A set of Java classes to retrieve information about Groups, Parcels and Agents/Avatars based on their key (UUID).  Includes caching of requests and results and example application.  Copyright under Eclipse Public License v1&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/SLAD/Downloads Downloads]&lt;br /&gt;
* [http://trimda.com/javadocs/slassetdata/1.1.0/ JavaDocs]&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/TF/TLabs+Foundry Other Projects]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Articles&#039;&#039;&#039;&lt;br /&gt;
*[[:Category:LSL Examples| Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{LSLC|}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189449</id>
		<title>Animation Adjustement to Avatar Height</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189449"/>
		<updated>2014-04-15T07:17:14Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Animation Adjustement According to Avatar Height Snippet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Animation Adjustement According to Avatar Height Snippet===&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL. If you need a snipper for a chair, you need to adjust the parameters according.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(&amp;lt;0,0,0&amp;gt;)]); // here we move the avatar to the new position, the rotation part is the target rotation in euler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189448</id>
		<title>Animation Adjustement to Avatar Height</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189448"/>
		<updated>2014-04-15T07:14:46Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Animation Adjustement According to Avatar Height Snippet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Animation Adjustement According to Avatar Height Snippet==&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL. If you need a snipper for a chair, you need to adjust the parameters according.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(&amp;lt;0,0,0&amp;gt;)]); // here we move the avatar to the new position, the rotation part is the target rotation in euler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189447</id>
		<title>Animation Adjustement to Avatar Height</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189447"/>
		<updated>2014-04-15T07:11:57Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Animation Adjustement According to Avatar Height Snippet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Animation Adjustement According to Avatar Height Snippet==&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL. If you need a snipper for a chair, you need to adjust the parameters according.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(eulll)]); // here we move the avatar to the new position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189446</id>
		<title>Animation Adjustement to Avatar Height</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Animation_Adjustement_to_Avatar_Height&amp;diff=1189446"/>
		<updated>2014-04-15T07:11:30Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: We change avatar position upwards after sitting, according to avatar height&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Animation Adjustement According to Avatar Height Snippet==&lt;br /&gt;
&lt;br /&gt;
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).&lt;br /&gt;
This snippet is for a prim that is AT THE FLOOR LEVEL. If you need a snipper for a chair, you need to adjust the parameters according.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset&lt;br /&gt;
&lt;br /&gt;
  vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    float adjustement = (size.z / 2 );  // size.z is avatar height, pelvis is halfway the avatar&lt;br /&gt;
     &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
     float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)&lt;br /&gt;
            &lt;br /&gt;
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,&amp;lt;0,0,avup&amp;gt;,PRIM_ROT_LOCAL,llEuler2Rot(eulll)]); // here we move the avatar to the new position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1189445</id>
		<title>Category:LSL Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1189445"/>
		<updated>2014-04-15T07:00:00Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* LSL Script Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}{{RightToc}}&lt;br /&gt;
==Script Library==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em 0.5em 1.5em&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: Please add your scripts to this page and then add them to a category on the [[:Category:LSL Categorized Library|Categorized Library]] page.&lt;br /&gt;
&lt;br /&gt;
Come to this page to see complex examples that show how to combine parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Go to the [[:Category:LSL Examples|LSL Examples]] page to see brief examples of how to use parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Why collect complex examples here? Well, ...&lt;br /&gt;
&lt;br /&gt;
There is a treasure trove of user developed scripts that have become hard to find over time throughout Second Life&#039;s web server revisions and redesigns. The [http://community.secondlife.com/t5/Community-General/Upgrading-the-Forums/bc-p/77385 Huge Leap] to the new [http://www.jivesoftware.com/ Jive software], while traumatic and disruptive, has failed to dispose of  what&#039;s come before at the moment of your reading. These valuable community generated resources do indeed still remain and can be browsed/retrieved from several disjointed and disparate locations. While some links may point to duplicated, revised, or downright ancient wisdom, you may derive some enlightened perspective researching their hard won, timely solutions we encounter day to day.&lt;br /&gt;
&lt;br /&gt;
# [[Old forum Scripting Library index| Old Forums -Scripting Library index (wiki)]],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting/bd-p/2108 Old Forums -Scripting Forum Archive],&lt;br /&gt;
# [http://forums-archive.secondlife.com/15/1.html Old Forums -Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting-Library/bd-p/2122 new Forums -Archives &amp;gt; Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/LSL-Scripting-Library/bd-p/LSLScriptingLibrary new Forums -LSL Library].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The wiki medium is well-suited for a script library due to its revision based historical foundation. If you feel inclined to release your scripts to the entire community, there&#039;s no better place to preserve your work/love/energy/gift as a unified and cohesive repository. Feel free to add your script page links here as well as adding it to the [[:Category:LSL Categorized Library|Categorized Library]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rules for posting: ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
#Your script must be tested and working. If it&#039;s not, stick it in your user-space until it is. This is a list of working, usable scripts.&lt;br /&gt;
#Add a link to your script&#039;s page here. Link back to this page from your script&#039;s page. Start your page with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{LSL Header}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Do not add scripts that duplicate the same functionality as an existing script or built in {{LSLGC|Functions|function}}. If yours does, explain why.&lt;br /&gt;
#Do not list simple scripts here. Include those among the [[:Category:LSL Examples|LSL Examples]] instead.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LSL Script Library==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Addiction Moderator|Addiction Moderator and World Clock]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Keep tabs on usage of SL and easily share local times with other users.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Bijocam And Other Camera Scripts|Bijocam and Other Camera Scripts]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Various camera control systems for machinima, security, and other effects.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley Bing/Basic Sim Status Button Indicator HUD|Basic Sim Status Button Indicator HUD]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A single prim HUD. Color indicates sim status changes.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley_Bing/Basic_Target_Scanner_HUD|Basic Target Scanner HUD]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A single prim HUD.  Scrolls through nearby players names, photos and user key.&lt;br /&gt;
|-&lt;br /&gt;
|[[StringIsNum|(Function) StringIsNum]]&lt;br /&gt;
|{{User|Zion Tristan}}&lt;br /&gt;
|A User Made Function to return TRUE if a string based input consists entirely of a whole number, and return FALSE otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remove all scripts from a linkset]]&lt;br /&gt;
|{{User2|Dahlia Orfan}}&lt;br /&gt;
|Remove all scripts from a linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[RLV Viewer Titler]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Titler displaying viewer and it&#039;s version, revealed via RLV interface.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Restart Notifyer]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|On region restart, notifyes registered residents about the sim is online and the current sim version&lt;br /&gt;
|-&lt;br /&gt;
|[[Script Vitality plug-in]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Uses vehicle technology to allow scripts (in same prim) to run in &#039;dead&#039;, i.e. no-script areas.&lt;br /&gt;
|-&lt;br /&gt;
|[[1st necessity of SL]]&lt;br /&gt;
|{{User|Beer Dailey}}&lt;br /&gt;
|Monitors for avatars and (de)activates scripts states to control script performance/lag.&lt;br /&gt;
|-&lt;br /&gt;
|[[3D Radar]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|Rezzes a ball for each avatar in range. Each ball tracks its own AV and displays distance.&lt;br /&gt;
|-&lt;br /&gt;
|[[RegionSitTeleport]]&lt;br /&gt;
|{{User|Vincent Nacon}}&lt;br /&gt;
|A very simple and clean sit/unsit teleporter.&lt;br /&gt;
|-&lt;br /&gt;
|[[Animation Adjustement to Avatar Height]]&lt;br /&gt;
|{{User|Cay Trudeau}}&lt;br /&gt;
|Animation Adjustement According to Avatar Height. A simple snippet to calculate avatar position upwards.&lt;br /&gt;
|-&lt;br /&gt;
|[[AbcText]]&lt;br /&gt;
|{{User|Ange Capalini}}&lt;br /&gt;
|EXPERIMENTAL Hyper low prim Display. only 2 prims for 25char.&lt;br /&gt;
|-&lt;br /&gt;
|[[Access (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|An easy to use script for permissions on who can use the script, Public/Group/Owner&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Access_Tutorial_EN|Access Tutorial (EN)]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Short examples about permission to executable commands.&lt;br /&gt;
|-&lt;br /&gt;
|[[Aim Detection]]&lt;br /&gt;
|{{User2|Han Shuffle|Dugley Reanimator}}&lt;br /&gt;
|Monitors for avatars and reports back to owner about who is aiming at them.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Anti_copy_trans|Anti (copy &amp;amp; transfer)]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This funktion allows you to give away scripts with copy &amp;amp; transfer permissions and force the reseller to change the permission.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Anti_Rezz|Anti Rezz]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This script delete the complete object by rezzing on ground and detach it after 5 minutes from avatar. &lt;br /&gt;
|-&lt;br /&gt;
|[[AnkleLock]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An ankle lock script and attached animation to fix your displaced shoes. This will help if your shoes look displaced when you sit in certain poses or when your animation overrider is active.&lt;br /&gt;
|-&lt;br /&gt;
|[[AntiDelay Node]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Uses [[llMessageLinked]] to stop those pesky delays.&lt;br /&gt;
|-&lt;br /&gt;
|[[Artillery]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An artillery gun script, performing the necessary calculations based on a user-chosen velocity, in order to hit a designated target avatar.&lt;br /&gt;
|-&lt;br /&gt;
|[[AO Overriding Pose Ball]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|No more turning your AO off and on when you sit down&lt;br /&gt;
|-&lt;br /&gt;
|[[ARCFOUR Strong Encryption Implementation]]&lt;br /&gt;
|{{User2|Nekow42 Zarf}}&lt;br /&gt;
|An LSL implementation of ARCFOUR, the most popular stream cipher still in use.&lt;br /&gt;
|-&lt;br /&gt;
|[[Assembly Programming Language|Assembly-Like Programming Language]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A compiler that runs assembly-like programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[Associative Array Emulator|Associative Array (Dictionary) Emulator]]&lt;br /&gt;
|{{User2|Alynna Vixen}}&lt;br /&gt;
|This library provides a set of functions for using a list as an associative array where string based keys can refer to one or more variant elements.&lt;br /&gt;
|-&lt;br /&gt;
|[[AvatarFollower]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Allows one avatar to automatically follow another.&lt;br /&gt;
|-&lt;br /&gt;
|[[Avatar Radar (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Version 1.2; A nice new avatar radar script i just finish that you can place in your hud, Also features avatar locator&lt;br /&gt;
|-&lt;br /&gt;
|[[Base2Dec]]&lt;br /&gt;
|{{User|Siann Beck}}&lt;br /&gt;
|Convert a number to decimal from any base.&lt;br /&gt;
|-&lt;br /&gt;
|[[BaseN]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|Variable base compression, dynamically maps to usable UTF code points.&lt;br /&gt;
|-&lt;br /&gt;
|[[Basic Encryption Modules]]&lt;br /&gt;
|{{User|Beverly Larkin}}&lt;br /&gt;
|Basic encryption scripts, allows you to encrypt a float and shout it to another prim on a randomly chosen channel.&lt;br /&gt;
|-&lt;br /&gt;
|[[Be happy]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Basic smile attachment script, makes your avatar smile.&lt;br /&gt;
|-&lt;br /&gt;
|[[Beat The Average Vendor]]&lt;br /&gt;
|{{User2|Kristen Giano}}&lt;br /&gt;
|A vendor script based on humblebundle.com&lt;br /&gt;
|-&lt;br /&gt;
|[[Best Neighbor Ad Hiding Script|Best Neighbor]]&lt;br /&gt;
|{{User2|Doran Zemlja}}&lt;br /&gt;
|Reduce ad clutter by hiding ads when users are on their own land nearby.&lt;br /&gt;
|-&lt;br /&gt;
|[[BigNum|BigNum Library (RSA Encryption)]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A BigNum Library for dealing with big numbers! Specialized for modular multiplication, and RSA encryption.&lt;br /&gt;
|-&lt;br /&gt;
|[[Binary Clock v1.1|Binary Clock]]&lt;br /&gt;
|{{User|Fox Diller}}&lt;br /&gt;
|A Binary Clock.&lt;br /&gt;
|-&lt;br /&gt;
|[[BinaryDecimalConverter]]&lt;br /&gt;
|{{User2|Soundless Smalls}}&lt;br /&gt;
|Converts a binary value to a decimal value and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
|[[Blacklist and Remote Kill|Blacklist and Remote Kill]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Blacklist(denial of use) or a creator kill script(can delete someone&#039;s item by command on private channel)&lt;br /&gt;
|-&lt;br /&gt;
|[[User_talk:Rolig_Loon/Bookmark_URLs|Bookmark URLs]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Dialog driven HUD reads bookmarked URLs from notecards and navigates directly to them with user&#039;s in-world browser.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bubble Gum]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script to create a bubble gum effect with sounds and animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bubble Trapper]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that rezzes a bubble and surrounds a dialog-chosen avatar, exploding 2 seconds after it has reached the avatar. The article also explains how to hash a name to a number or a key to a number and thereby avoiding to block the rezzer&#039;s [[timer]] [[event]] or using [[llRegionSay]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Builders Buddy|Builder&#039;s Buddy Tool]]&lt;br /&gt;
|{{User|Newfie Pendragon}}&lt;br /&gt;
|Script to easily move/rotate large builds that exceed the linkable size [[limits]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Button Click Detector]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Use [[llDetectedTouchUV]] to determine which button was pressed on a texture.&lt;br /&gt;
|-&lt;br /&gt;
|[[Camera following prim]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Pair of scripts to make a prim follow your camera position around (for lights etc).&lt;br /&gt;
|-&lt;br /&gt;
|[[Camera Sync]]&lt;br /&gt;
|{{User|Meyermagic Salome}} and {{User2|Nomad Padar}}&lt;br /&gt;
|A system to synchronize the cameras of two avatars.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chatbot]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Compile and run the LSL you type on a channel, faster than you can thru the 2007-08 SL GUI.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chat Logger (GPL)]]&lt;br /&gt;
|{{User|Nobody Fugazi}}&lt;br /&gt;
|Chat logger which requests permission from participants before recording them.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chat_Relay|Chat Relay]]&lt;br /&gt;
|{{User|grumble Loudon}}&lt;br /&gt;
|A Chat relay which can be routed using a path header and won&#039;t echo.&lt;br /&gt;
|-&lt;br /&gt;
|[[ClickAndDrag]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Click and Drag user interface elements using dynamic feedback&lt;br /&gt;
|-&lt;br /&gt;
|[[TimeAPI Clock Script]]&lt;br /&gt;
|[[User:Elite Runner|Ryan R. Elite (Elite Runner)]]&lt;br /&gt;
|Gets time via HTTP function from TimeAPI.org&lt;br /&gt;
|-&lt;br /&gt;
|[[Code Racer]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Race two versions of code forever, to see which runs faster.&lt;br /&gt;
|-&lt;br /&gt;
|[[Code Sizer]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Count the bytes compiled from source code, to measure how to write small code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Collision message sender]]&lt;br /&gt;
|{{User2|Taff Nouvelle}}&lt;br /&gt;
|Give a message to an avatar on collision if the message has not been sent in the last 10 minutes.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Enh._Color_Picker|Color Changer]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Dialog driven color changer. Supports 16million+ colors, web color codes, multiple targeted prims, with save and recall.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color Changer|Color Changer Plus]]&lt;br /&gt;
|{{User2|Neo Calcutt}}&lt;br /&gt;
|A color changer with 14 colors, a random function, and a custom vector function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color conversion scripts|Color Conversion]]&lt;br /&gt;
|{{User|Sally LaSalle}}&lt;br /&gt;
|Convert between Red Green Blue (RGB) and Hue Saturation Value (HSV).&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorConvert]]&lt;br /&gt;
|{{User|Siann Beck}}&lt;br /&gt;
|Convert color values to vector from RGB, hex or HTML color name.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color script]]&lt;br /&gt;
|{{User2|Masakazu Kojima}}&lt;br /&gt;
|Script for changing colors trough a listener with pre-defined colors.&lt;br /&gt;
|-&lt;br /&gt;
|[[Library Combined Library|Combined Library]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Library of mostly encoding and decoding functions, some more useful then others.&lt;br /&gt;
* String functions: Replace / Trim right / Trim left / Trim both&lt;br /&gt;
* Unicode conversion: UTF8 to Unicode / Unicode to UTF8&lt;br /&gt;
* List functions: Replace / Compare&lt;br /&gt;
|-&lt;br /&gt;
|[[Computer:jaycoonlanguage]]&lt;br /&gt;
|{{User|jayco121 Bing}}&lt;br /&gt;
| A language written in LSL that is meant for my computer (available at the shop).&lt;br /&gt;
|-&lt;br /&gt;
|[[Read Note Card Configuration|Configuration Notecard Reader]]&lt;br /&gt;
|{{User|Dedric Mauriac}}&lt;br /&gt;
|A script to read configuration information from a notecard. Parses notecard to extract key words and their assigned values. Allows for comment lines and many more useful features.&lt;br /&gt;
|-&lt;br /&gt;
|[[AdvancedNotecardReader|Configuration Notecard Reader (advanced)]]&lt;br /&gt;
|[[Lear Cale|Lear Cale]]&lt;br /&gt;
|Robust configuration notecard reader; supports multiple notecards with same suffix, handles reconfig on inventory change, and does not usurp the default state.&lt;br /&gt;
|-&lt;br /&gt;
|[[Library_Chat_Relay|Conversation Relay]]&lt;br /&gt;
|{{User|Jippen Faddoul}}&lt;br /&gt;
|Chat relay which requests permission from participants before relaying their messages. Also includes their attachments. (ToS compliant).&lt;br /&gt;
|-&lt;br /&gt;
|[[Curtain script]]&lt;br /&gt;
|{{User|Zilla Larsson}}&lt;br /&gt;
|A simple script to retract/stretch curtains, blinds, bedcovers and more&lt;br /&gt;
|-&lt;br /&gt;
|[[Library_Cycle_Dialog_Items|Cycle Dialog Items w/ Callback]]&lt;br /&gt;
|{{User|Hawkster Westmoreland}}&lt;br /&gt;
|A customizable way to cycle dialog items with pagination&lt;br /&gt;
|-&lt;br /&gt;
|[[Dataserver API]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Dataserver Framework for Notecards.&lt;br /&gt;
|-&lt;br /&gt;
|[[Date Library]]&lt;br /&gt;
|{{User|Corto Maltese}}&lt;br /&gt;
| Date library, based on number of day since march 3rd 1600, can be used to calculate weekday, date differences, and date offset, and date formating.&lt;br /&gt;
|-&lt;br /&gt;
|[[Day of the Week]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Function to get day of the week from [[llGetUnixTime]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Days in Month]]&lt;br /&gt;
|{{User|IntLibber Brautigan}}&lt;br /&gt;
|Clicking on it returns the number of days in the present month. Useful for scripting calendars and tier systems that need to know the number of days in the month at hand or to calculate for any month. Even adjusts for leap years.&lt;br /&gt;
|-&lt;br /&gt;
|[[Deed Tools]]&lt;br /&gt;
|{{User|Falados Kapuskas}}&lt;br /&gt;
|Tools that allow the creator to modify Group-Owned (Deeded) Objects via chat.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DEMO_Shield|DEMO_Shield]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|With this script, it is impossible to use these scripts in copied (Copybot) object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Describe Chatter]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Chat to see yourself as others do.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dialog Control]]&lt;br /&gt;
|{{User|Nargus Asturias}}&lt;br /&gt;
| A (not-so) simple dialog &amp;amp; menu control script. Call dialog and receive selected value via [[link_message]], with built-in timer and [[link_message]] notification on time out. Supports multi-pages dialog and numeric property dialog. Button text and dialog&#039;s returned value can differ.&lt;br /&gt;
Latest version also has [[Dialog Menus Control]] built-in; which allow multi-level menus through SL dialog system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dispenser Vendor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
| A twist on [[Vendor]] that dispenses one object and then removes it from the list of objects.&lt;br /&gt;
|-&lt;br /&gt;
|[[MultiUser_Dialog_Handler|Dialog Menus (multiuser)]]&lt;br /&gt;
|{{User|SimonT Quinnell}}&lt;br /&gt;
| Menu dialog handler that supports multiple menus open at once from the single script. Displays multi-page menus if necessary as well as allowing for fixed header and footer buttons.  Timeouts as well as Text and button size limits are handled.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dialog NumberPad|Dialog Number Pad]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Use a dialog to accept positive integer input from users.&lt;br /&gt;
|-&lt;br /&gt;
|[[Display Names Radar]]&lt;br /&gt;
|{{User|Cerise Sorbet}}&lt;br /&gt;
|Simple HUD type avatar radar that can show [[display names]] and script memory usage&lt;br /&gt;
|-&lt;br /&gt;
|[[Display Names to Key]]&lt;br /&gt;
|{{User|Joran Yoshikawa}}&lt;br /&gt;
|Simple way to get UUIDs from displaynames&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DS_Display-Username_Online_Indicator|Display-Username_Online_Indicator]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This simple hover text-based script is used to shop owners in Second Life, customers at the current display name and user name to display publicly. Additionally shows the status of the Userkey and online. Furthermore, there are click of a chat link that opens the profile owner.&lt;br /&gt;
|-&lt;br /&gt;
|[[Displayer Script]]&lt;br /&gt;
|{{User|Akinori Kimagawa}}&lt;br /&gt;
|Display Words On Top Of An Object&lt;br /&gt;
|-&lt;br /&gt;
|[[Distributed Primitive Database]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The distributed primitive database (DPD) is a database which is meant to survive entirely in SL by using redundancy, replication and time synchronisation to maintain the consistency of the dataset contained in the DPD node/primitives spread out between regions and even grids. Similarly to the [[Intercom]], the robustness of the theory would allow users to maintain a cross-grid database; as of 30 of August 2011 I have managed to couple and replicate data between the two grids by using the methodology described in the script article.&lt;br /&gt;
|-&lt;br /&gt;
|[[Drink script]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Used mainly for food and drink in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
|[[Donut Dance]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Err, a script that makes you dance and say something on the local chat once you attach an object (good example for conditional re-entry flipping).&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DS_Single_AO-Sit|Single_AO-Sit]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Posescript for use with or without AO and with or without Animation. With the menu it is possible the seated Avatar to move.&lt;br /&gt;
|-&lt;br /&gt;
|[[TOXDropBox|DropBox]]&lt;br /&gt;
|{{User|Dimentox Travanti}}&lt;br /&gt;
| This is a Drop box which allows people to drop certain items in a object &amp;amp; has many config options.&lt;br /&gt;
|-&lt;br /&gt;
|[[Efficiency Tester]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Tests the speed of a function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Email-to-IM|Email2IM]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Send IMs to SL friends via [[email]].&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kireji_Haiku/SIMchat_headset|Encrypted Region-wide chat]]&lt;br /&gt;
|{{User|Kireji Haiku}}&lt;br /&gt;
|Encrypted Region-wide chat&lt;br /&gt;
|-&lt;br /&gt;
|[[ExplodingObjects]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Causes an object (of the appropriate type) to explode on command.&lt;br /&gt;
|-&lt;br /&gt;
|[[FadeEasy]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
|The easy way of fading objects in or out (Using llSetLinkAlpha)&lt;br /&gt;
|-&lt;br /&gt;
|[[FastConeSpread]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Fast Algorithmn to achieve cone spread, main use in weaponry systems.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Fast List Prim Contents|Fast List Prim Contents]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Fast and efficient method to print Object Inventory (Name, Type and next Owner permissions)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet_Lane/Scripts#Grid_Status_Feed|Grid Status Feed]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Receive important Grid information in-world&lt;br /&gt;
|-&lt;br /&gt;
|[[Find Avatar Key|Find Avatar Key]]&lt;br /&gt;
|{{User2|Huney Jewell}}&lt;br /&gt;
|Explores [[UUID]] of avatar whose name is said in local chat or who touches the prim.&lt;br /&gt;
|-&lt;br /&gt;
|[[First Name Letter Prize]]&lt;br /&gt;
|{{User|RaithSphere Whybrow}}&lt;br /&gt;
|Gives a prize if the person who sits on it&#039;s first letter of first name matches the random letter!&lt;br /&gt;
|-&lt;br /&gt;
|[[Fix Small Prims|Fix_Small_Prims]]&lt;br /&gt;
|{{User|Emma Nowhere}}&lt;br /&gt;
|Finds and adjusts the smallest prims in a linkset so that it can be scaled down further.&lt;br /&gt;
|-&lt;br /&gt;
|[[Flight Assist]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Flight feather / flight band implementation supporting various commands and allowing you to fly above the clouds.&lt;br /&gt;
|-&lt;br /&gt;
|[[Float2Hex]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Very useful for transporting [[float|floats]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Float Box Contents]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Displays object inventory in hover text, identified by type and updated marquee-style.&lt;br /&gt;
|-&lt;br /&gt;
|[[Follower (script)|Follower]]&lt;br /&gt;
|Unknown, uploaded by {{User|Slik Swindlehurst}}&lt;br /&gt;
|Makes an object follow the nearest person. Do not use for [[grief|griefing]].&lt;br /&gt;
|-&lt;br /&gt;
|[[FURWARE_text]]&lt;br /&gt;
|{{User|Ochi Wolfe}}&lt;br /&gt;
|Versatile text-on-prim script, open source under the MIT license&lt;br /&gt;
|-&lt;br /&gt;
|[[GA Event Notifier]]&lt;br /&gt;
|{{User|Victor Hua}}&lt;br /&gt;
|Gathers seven days event data from a Google calendar and display it through a simple interface. The lsl script can access several calendars at once through seperate php files. One file per calendar. Host the included php on your own web server.&lt;br /&gt;
|-&lt;br /&gt;
|[[Geometric|Geometric Library]]&lt;br /&gt;
|Community Project&lt;br /&gt;
|A substantial amount of various geometric functions for intersection and other purposes of 3D maths.&lt;br /&gt;
|-&lt;br /&gt;
|[[Get Profile Picture]]&lt;br /&gt;
|{{User2|Valentine Foxdale}}&lt;br /&gt;
|Sets the texture of the object to profile picture of the person that touches ot&lt;br /&gt;
|-&lt;br /&gt;
|[[GetTimestampOffset]]&lt;br /&gt;
|[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
|Returns [[llGetTimestamp]] with an hour offset.&lt;br /&gt;
|-&lt;br /&gt;
|[[Give InvItem every n hours]]&lt;br /&gt;
|{{User|Criz Collins}}&lt;br /&gt;
|Will give an inventory item on touch only every n hours, even if somebody touches the object more than once.&lt;br /&gt;
|-&lt;br /&gt;
|[[Give random object]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to receive a random object in the prim&#039;s inventory&lt;br /&gt;
|-&lt;br /&gt;
|[[Giver]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A menu-driven script that will hand out the objects in a prim. Supports multiple pages.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Golden Vendor|Golden Vendor]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|A cross between a vendor and a game.&lt;br /&gt;
|-&lt;br /&gt;
|[[Google Charts]]&lt;br /&gt;
|{{User|Dedric Mauriac}}&lt;br /&gt;
|Create links to display raw data as a chart image.&lt;br /&gt;
|-&lt;br /&gt;
|[[Google_Translator]]&lt;br /&gt;
|{{User|Ugleh Ulrik}}&lt;br /&gt;
|Translates spanish to english, and its simple to make it any other way.&lt;br /&gt;
|-&lt;br /&gt;
|[[Go transparent when walking]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|An attachment that goes invisible when you walk and visible when you don&#039;t walk.&lt;br /&gt;
|-&lt;br /&gt;
|[[Great Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A movement system based on [[Wizardry and Steamworks|State Machines]] which provides free roaming.&lt;br /&gt;
|-&lt;br /&gt;
|[[Greeter]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A multi-purpose greeter with multiple options (IM, landmark, notecard, URL, visitor statistics, shared access and compatible with the [[Mail]] system) that could work for shops, clubs, galleries and any other public place.&lt;br /&gt;
|-&lt;br /&gt;
|[[Group Authorization]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Checks to see if object is set to appropriate group (checks by [[Group key finder|group key]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Group key finder]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to find the key of the group&lt;br /&gt;
|-&lt;br /&gt;
|[[Group Privacy]]&lt;br /&gt;
|{{User|Chance Unknown}}&lt;br /&gt;
|Security device to insure members of a group can have a private area. Deactivates when nobody present.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hello Avatar]]&lt;br /&gt;
|Linden Lab&lt;br /&gt;
|SL&#039;s default script.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hello Avatar Companion]]&lt;br /&gt;
|[[Chase Quinnell]]&lt;br /&gt;
|Companion to the original [[Hello Avatar]] script&lt;br /&gt;
|-&lt;br /&gt;
|[[Hierarchics]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Advanced script to create an efficient self-aware hierarchic structure.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hierarchics2]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Second generation, one script per object. Only two functions, can be embedded in others. Uses the new [[llSetLinkPrimitiveParamsFast]]/[[llGetLinkPrimitiveParams]] functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/High-Capacity_Greeter-Counter|High-Capacity Greeter-Counter]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Uses a memory compression algorithm to store hashed visitor UUID&#039;s in a string instead of using a list.&lt;br /&gt;
|-&lt;br /&gt;
|[[Holodeck]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Home Rezzing System.&lt;br /&gt;
|-&lt;br /&gt;
|[[HUD Dots Radar]]&lt;br /&gt;
|[[User:Cerise Sorbet|Cerise]]&lt;br /&gt;
|HUD target example, draws dots on the HUD over avatars in view.&lt;br /&gt;
|-&lt;br /&gt;
|[[I Got It]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Educational tool to provide feedback from students.&lt;br /&gt;
|-&lt;br /&gt;
|[[Intercom|Intercom]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A system allowing region-wide and grid-wide (as of 30 of August 2011, it also works grid-wide, a test was performed by linking up the chat between the OSGrid and SecondLife) mass chat relay. By using this you can relay a main chat across multiple regions or grids. The script was initially meant as a mid-way project in order to test and gather information for the [[Distributed Primitive Database]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Interpolation|Interpolation Library]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|A small set of interpolation functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Intra-Region Update Server]]&lt;br /&gt;
|[[User:Emma_Nowhere|Emma Nowhere]]&lt;br /&gt;
|Centrally update objects such as Freeview screens or teleport pads within a region that are configured by notecards or contain modifiable objects or media assets.&lt;br /&gt;
|-&lt;br /&gt;
|[[Inventory_Based_Menu]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Inventory Based Menu System.&lt;br /&gt;
|-&lt;br /&gt;
|[[iTunes RPC Email|iTunes RPC]]&lt;br /&gt;
|{{User|Fox Diller}}&lt;br /&gt;
|iTunes RPC via LSL [[llEmail]] and [[llRemoteDataReply]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Jingle]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will make a primitive emit a sound when you wear it and walk around. Ideal for bells, footsteps and so on...&lt;br /&gt;
|-&lt;br /&gt;
|[[Key Frame Animator|Keyframe Animator]]&lt;br /&gt;
|{{User|Jasper Flossberg}}&lt;br /&gt;
| This is a KeyFrame Animator Script to simplify construction of keyframed animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Key Pad Door|Keypad Door]]&lt;br /&gt;
|{{User|Tdub Dowler}}&lt;br /&gt;
| Door and keypad with changeable code. Follow instructions carefully!&lt;br /&gt;
|-&lt;br /&gt;
|[[Key2Name]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
| Key2Name service where a user no longer needs to be in the same region to get users name&lt;br /&gt;
|-&lt;br /&gt;
|[[Kilt Editor|Kilt / Skirt Editor]]&lt;br /&gt;
|{{User|Brangus Weir}}&lt;br /&gt;
| This changes all the parameters of all the flexis in the link set in one swell foop!&lt;br /&gt;
|-&lt;br /&gt;
|[[Kira Warp Core Drive]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Scripts and instructions on how to create a vehicle that teleports an avatar and a vehicle to any region on the grid. You can [http://www.youtube.com/watch?v=xQkBRD7HBvw watch the YouTube video showing the prototype] I created to demonstrate how it works.&lt;br /&gt;
|-&lt;br /&gt;
|[[Last Sound System]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An LSL [http://Last.fm Last.fm] client.&lt;br /&gt;
|-&lt;br /&gt;
|[[LibraryDisplayLandScreenshot]]&lt;br /&gt;
|{{User|Jon Desmoulins}}&lt;br /&gt;
|A modified version of LibraryDisplayProfilePic using the new [[PARCEL_DETAILS_ID]] Implemented in Server v1.36&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/LinkNumber-List_in_llSetLinkPrimitiveParamsFast|LinkNumber-List_in_llSetLinkPrimitiveParamsFast]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Changed several prims in linkset with the same parameters, with a list. Without separate llSetLinkPrimitiveParams for each prim. (ideal for show/hide effects)&lt;br /&gt;
|-&lt;br /&gt;
|[[Limit Vendor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a vendor supporting any number of items with different prices which will only dispense a certain number of individual items by setting limits for each item based on a notecard configuration.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset resizer]]&lt;br /&gt;
|Maestro Linden&lt;br /&gt;
|Systematically rescales a linkset by moving and resizing each prim (by using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset resizer with menu]]&lt;br /&gt;
|{{User|Brilliant Scientist}}&lt;br /&gt;
|A menu-driven script that rescales a linkset by moving and resizing the prims using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]] functions. Based on [[Linkset resizer]].&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/*DS*_Resize_Script|Resize Script (m/c/t) v2.0.01]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Single resize script for a complete linkset with save and restore option.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pointing Stick]]&lt;br /&gt;
|{{User|rhonin Nissondorf}}&lt;br /&gt;
|A device that takes controls of your arrow keys and directs the device in the relative direction its pointing, forward and back of course.&lt;br /&gt;
|-&lt;br /&gt;
|[[Gun Script]]&lt;br /&gt;
|[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
|Shoots out &amp;quot;ammo&amp;quot; from the root prim of your &amp;quot;gun&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Grenade Script]]&lt;br /&gt;
|[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
|Uses a timed factor to add influence to the velocity of a throw object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset Resizer 2]]&lt;br /&gt;
|{{User|Emma Nowhere}}&lt;br /&gt;
|A more user-friendly resizer script designed for either drop-in use by the end-user or builder or for use in products. Based on [[Fix Small Prims]].&lt;br /&gt;
|-&lt;br /&gt;
|[[List2CSV]]&lt;br /&gt;
|{{User|Kunnis Basiat}}&lt;br /&gt;
|Similar to [[llList2CSV]] &amp;amp; [[llCSV2List]] which includes preserving type and escaping characters.&lt;br /&gt;
|-&lt;br /&gt;
|[[list_cast]]&lt;br /&gt;
|{{User2|Fractured Crystal}}&lt;br /&gt;
|Casts a list of strings into the type they appear to be. Designed for preprocessing user input for feeding into [[llSetPrimitiveParams]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Listener Script]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Use to [[listen]] to other people&#039;s conversations (Like spying)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Find_Last_Index|List: Find Last Index]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the last index of searched item in a source list. (backwards version of [[llListFindList]])&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Multi-Find_Index_.28First_or_Last.29|List: Multi Find]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the first found index of multiple search items in a list. (Multi-item version of [[llListFindList]]. Fwd and Rev versions included)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Get_Reverse_Order|List: Reverse]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns an input List in reverse order&lt;br /&gt;
|-&lt;br /&gt;
|[[LinksetIndexing]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|Functions for indexing a linkset by patterns or names down to their linkset numbers.&lt;br /&gt;
|-&lt;br /&gt;
|[[llGetAgentList Sim-Wide Radar]]&lt;br /&gt;
|{{User|Tiaeld Tolsen}}&lt;br /&gt;
|Simple radar implementation using the new [[llGetAgentList]] LSL Function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Live Event Timeout]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script which will set the the music URL back to a radio station of your liking when a DJ leaves or forgets to switch back the URL after a live event. It takes multiple DJs, using a notecard and several configuration parameters.&lt;br /&gt;
|-&lt;br /&gt;
|[[Load URL]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to get a dialog to visit the URL inside the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[LOGO Turtle]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that interprets basic LOGO commands, extending the directions to 3D.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDancemachine|lsDancemachine]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Low lag client server dancemachine.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDeejay|lsDeejay Home Edition]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Client server media control for music, video, youtube, pictures, and texture animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDialog|lsDialog]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Universal notecard driven menu dialog system.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDisplay|lsDisplay]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Picture cycler with preloader.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDistributor|lsDistributor]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Simple &#039;try&#039; and &#039;buy&#039; vendor system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Wizardry_and_Steamworks/LSL|LSL FUSS]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|FUSS (Frequently Used Short Snippets) is an collection of short snippets provided by [[Wizardry and Steamworks]]. They range from functions to one-liners and are provided for LSL developers.&lt;br /&gt;
|-&lt;br /&gt;
|[[LSL_languageAPI]]&lt;br /&gt;
|{{User|Gypsy Paz}}&lt;br /&gt;
|Multi-lingual API from notecard based language files&lt;br /&gt;
|-&lt;br /&gt;
|[[Mail]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An system for sending objects to multiple recipients automatically supporting shared access and [[Greeter]] compatible auto-subscriptions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mandelbrot Explorer]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An interactive fractal explorer.&lt;br /&gt;
|-&lt;br /&gt;
|[[Materialization Effects]]&lt;br /&gt;
|{{User|Overbrain Unplugged}}&lt;br /&gt;
| Special effects to add to rezzing events to simulate a teleportation or materialization.&lt;br /&gt;
|-&lt;br /&gt;
|[[Materialization Effects 2]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
| More efficient and faster version of Materialization Effects by Overbrain Unplugged.&lt;br /&gt;
|-&lt;br /&gt;
|[[Memory Module]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An example of pseudo-persistent variable in-world storage.&lt;br /&gt;
|-&lt;br /&gt;
|[[Merge Sort]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Implements a Merge Sort in LSL, however this code is 300(ish) times slower than [[llListSort]]. Don&#039;t use this in a script!&lt;br /&gt;
|-&lt;br /&gt;
|[[Minesweeper]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A simple minesweeper game.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mood Color Changer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that changes the color of all primitives in a linkset depending on the smileys the owner types on the main chat.&lt;br /&gt;
|-&lt;br /&gt;
|[[Morse Code]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A script that allows for the conversion to and from morse code and can &amp;quot;play&amp;quot; morse code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multi-displays Texture Cycler]]&lt;br /&gt;
|{{User|Nargus Asturias}}&lt;br /&gt;
|A simple texture rotator designed for multiple display screens. With delay between each screen AND delay between each loop.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multi Item Rezzer|Multi Item Rezzer]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|A rework of my old High Altitude Rezzer. Place the objects that you wish to choose from to be rezzed inside. Sit on the rezzer and pick the item and the height. It will go to target height and rez the object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multirezzer|Multirezzer (on collision)]]&lt;br /&gt;
|{{User2|Beet Streeter}}&lt;br /&gt;
|Spawns up to 10 objects when the object containing the script collides with a user.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5 RPG System]]&lt;br /&gt;
|[[User:Allen_Kerensky|Allen Kerensky]]&lt;br /&gt;
|Working preview of the Myriad Universal RPG System by Ashok Desai, converted to LSL as a roleplay meter with quest NPC and goals, hand-to-hand and melee close combat, ranged combat, armor, healing, bullet, firearm, holster, practice target, and much more&lt;br /&gt;
|-&lt;br /&gt;
|[[N2K]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A Name To Key (Name2Key) implementation that does not use third-party databases, nor relies on the uptime of not well known websites but rather uses the World Wide Web Consortium to fetch the key of avatars while trying to alert the developers of the consequences of using Name2Key third-party providers as well as trying to refrain from sales pitch terminology such as &amp;quot;best&amp;quot;, &amp;quot;newest&amp;quot; and &amp;quot;fastest&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Name2Key in LSL]]&lt;br /&gt;
|{{User|Maeva Anatine}}&lt;br /&gt;
|Get the Name2Key feature inside your scripts. Works even on lastly subscribed avatars.&lt;br /&gt;
|-&lt;br /&gt;
|[[Name2Key]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
|Newest and fastest Name2Key search, While the database is small it is also connected to Second Life&#039;s search.&lt;br /&gt;
|-&lt;br /&gt;
|[[NexiiText]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Text Renderer, specialised in features, performance and a compact nature. It features unique per character control, such as Colour, Bold, Italics, Underline, Stroke, Icons. The high performance means it comes in at a 5 char / prim ratio, but it is perfect where highly dynamic and rich text is required.&lt;br /&gt;
|-&lt;br /&gt;
|[[NexiiText2]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Second Gen Text Renderer. Same as above but features use of [[PRIM_LINK_TARGET]] and an awesome dynamic prim allocation architecture.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|To stop your long and hard builds from getting returned in sandboxes (&#039;&#039;only single prims, though!&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return NR]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|This really works (29-05-09), needs a nearby region to do the trick and avoid auto return. (Tested on Blue and Rausch)&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return (Multi)]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A revision of Bella&#039;s that works for multi-prim objects.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Limit Teleporter]]&lt;br /&gt;
|{{User|Morgam Biedermann}}&lt;br /&gt;
|Teleport to infinite altitudes (up to 4096m)&lt;br /&gt;
|-&lt;br /&gt;
|[[Object Size]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Gets the dimensions and footprint of a linkset&lt;br /&gt;
|-&lt;br /&gt;
|[[Object to Data v1.4|Object to Data]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Turns an object into text (and back). Allows people to transfer objects through notecards (or otherwise).&lt;br /&gt;
|-&lt;br /&gt;
|[[Online Indicator|Online Indicator]]&lt;br /&gt;
|{{User|Kristy Fanshaw}}&lt;br /&gt;
|Will show if the user is online or not. Displays users profile picture and allows to send IM&#039;s to user. Also gives a link to open the users profile&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Group Join]]&lt;br /&gt;
|{{User|Alicia Stella}}&lt;br /&gt;
|User Touches Object to Join Group from Group Info window, (no bot.)&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Prim Animator]]&lt;br /&gt;
|{{User|Todd Borst}}&lt;br /&gt;
|Single script prim animation tool.  Menu driven, easy to use.&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Zyngo Skin Installer]]&lt;br /&gt;
|{{User2|Tmzasz Luminos}}&lt;br /&gt;
|A Simple Script designed to install skins on the popular Skill machines.&lt;br /&gt;
|-&lt;br /&gt;
|[[Orbitor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Based on [[Wanderer]], we create [[Orbitor]] which allows a primitive to orbit around an origin point.&lt;br /&gt;
|-&lt;br /&gt;
|[[One Script, many doors]]&lt;br /&gt;
|{{User|Kyrah Abattoir}}&lt;br /&gt;
|Door script able to manage more than 50 linked doors from a single script instance.&lt;br /&gt;
|-&lt;br /&gt;
|[[ParseString2List]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Same as [[llParseString2List]] and [[llParseStringKeepNulls]], but not limited to 8 spacers or separators. Thus substitute a call to the [[llParseString2List]] and [[llParseStringKeepNulls]] functions by a call to [[Parse_String_To_List|ParseString2List]] whenever you have more than 8 separators or more than 8 spacers.&lt;br /&gt;
|-&lt;br /&gt;
|[[Password Generator]]&lt;br /&gt;
|{{User2|Syntrax Canucci}}&lt;br /&gt;
|This is an over-complicated, semi-complex password generator, which goes through multiple steps.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pathfinder]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|A potential field based pathfinding library.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pay to Strip]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This script is mainly meant for dancers and uses RLV to allow people to strip an avatar by making every clothes and attachment piece removable, respectively detachable for a settable price.&lt;br /&gt;
|-&lt;br /&gt;
|[[Permanent Primitive URL]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that uses [http://tiny.cc http://tiny.cc] REST API to update a SIM URL and make it permanent. Full description on how to register and set up a &amp;quot;nice&amp;quot; URL, like: http://tiny.cc/Kira. Should work with most URL shortening services (I&#039;m not affiliated with tiny.cc except for having a pass at them for not allowing OpenSIM-style generated URLs).&lt;br /&gt;
|-&lt;br /&gt;
|[[Personal ATM Machine]]&lt;br /&gt;
|{{User|Jessikiti Nikitin}}&lt;br /&gt;
|Allows deposits and withdrawals into another of your accounts, without the account being logged in.&lt;br /&gt;
|-&lt;br /&gt;
|[[Phantom Child]]&lt;br /&gt;
|{{User|Aeron Kohime}}&lt;br /&gt;
|Causes a child in a link set to become phantom without the entire object becoming phantom.&lt;br /&gt;
|-&lt;br /&gt;
|[[PHP_RegionFunctions]]&lt;br /&gt;
|{{User|Gypsy Paz}} and {{User2|Zayne Exonar}}&lt;br /&gt;
|Three useful PHP functions to get region info&lt;br /&gt;
|-&lt;br /&gt;
|[[PhysicsLib]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Interesting set of fun physics functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Planar Tile Generator]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script to generate perfectly aligned tiles.&lt;br /&gt;
|-&lt;br /&gt;
|[[Play and Loop Sound]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|Very short and simple script; plays and loops a sound in an object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Posing stand|Posing Stand]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|Just a pose script to edit [[attachments]] more easily.&lt;br /&gt;
|-&lt;br /&gt;
|[[PosJump]]&lt;br /&gt;
|{{User|Uchi Desmoulins}}&lt;br /&gt;
|A much more efficient alternative to the popular [[warpPos]] function for bypassing 10m distance-moved limitations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Puppeteer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple puppeteer script that will allow you to record and animate prim movements and rotations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Primitive Name Changer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
| A script that changes the primitive&#039;s name based on an user-configurable interval and a notecard list containing possible names.&lt;br /&gt;
|-&lt;br /&gt;
|[[Prefix Calculator]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
| A calculator that evaluates expressions in prefix notation.&lt;br /&gt;
&amp;lt;code&amp;gt;+ 3 4 = 5. * + 1 2 + 3 4 = 14.&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Profile Generator]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A cynical script for generating boilerplate profiles by based on cliches and profile memes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Profile Picture]]&lt;br /&gt;
|[[User: Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
|A working profile picture script with the new SecondLife API (1/11/2011)&lt;br /&gt;
|-&lt;br /&gt;
|[[Progress Bar]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Flexible and powerful little function for creating progress bars useful in hovertext.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pseudo-random Number Generator]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Generates a Pseudo-random number between -0x7FFFFFFF and 0x7FFFFFFF&lt;br /&gt;
|-&lt;br /&gt;
|[[Quick Collar]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple, no-bulk, no external database and essential feature-packed RLV collar script for your pleasures.&lt;br /&gt;
|-&lt;br /&gt;
|[[Quicksort]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|LSL implementation of the Quicksort algorithm.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/Quiz_From_Notecard|Quiz From Notecard]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|A multiple-choice testing script that reads questions and answer choices from a notecard and presents them in dialog boxes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Racter]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|In-world, multi-purpose chatterbot (Eliza/A.L.I.C.E. inspired) supporting multiple configurable hot-swappable brain-files with a wide range of applications.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rainbow_palette]]&lt;br /&gt;
|{{User|Rui Clary}}&lt;br /&gt;
|Build a color picker, using only one prim, and a few lines of code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Gaussian Number Generator]]&lt;br /&gt;
|{{User2|Vlad Davidson}}&lt;br /&gt;
|Generates a random number drawn from a normal (Gaussian; bell-curve) distribution, based on a specified mean/stdev&lt;br /&gt;
|-&lt;br /&gt;
|[[Random AV Profile Projector]]&lt;br /&gt;
|{{User|Debbie Trilling}}&lt;br /&gt;
|Randomly selects an AV from a crowd &amp;amp; then projects their profile picture as a &#039;holographic&#039; image&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Object Vendor]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Simple vendor that gives out random objects when paid the right amount&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Password Generator]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|Generate Random passwords based on String Length.&lt;br /&gt;
|-&lt;br /&gt;
|[[RandomPrimParams]]&lt;br /&gt;
|{{User|Xintar Citron}}&lt;br /&gt;
|Simple script which randoms Prim Parameteres, in this example i used color, but you can use everything.&lt;br /&gt;
|-&lt;br /&gt;
|[[RavText]]&lt;br /&gt;
|{{User|Ravenous Dingo}}&lt;br /&gt;
|An alternate to XyText.  This is a lightweight, multiple font 10 character text display system.  It only supports uppercase alphanumeric text and a few special characters, but it is very fast, renders quickly and supports multiple fonts. It is meant for specialized use when all that is desired is basic, fast text display and the extra &amp;quot;bells and whistles&amp;quot; are not needed.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Real Object Inventory To Dialog|Real Object Inventory To Dialog]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Display any amount of items contained in an Object in a Dialog, regardless of item name length.&lt;br /&gt;
|-&lt;br /&gt;
|[[RentalBoxv1|Rental Box, Simply]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Simple explanation of how to make rental boxes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rental Cube]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Simple cube for renting out a space.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/*DS*_Rental-Cube|Rental-Cube]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This is an Open-Source version of a Rental-Cube from Daemonika Nightfire. Just copy/paste this script into a inworld lsl-script and add one notecard called Info/Rules to the content of your cube.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley Bing/Textbox2Hovertext|Textbox2Hovertext]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A simple script to allow hovertext to be set with a dialog text box.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remote Texture Loader]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A set of scripts for remotely loading textures within a sim. This means that a single &amp;quot;texture server&amp;quot; can manage multiple changing billboards within a sim.&lt;br /&gt;
|-&lt;br /&gt;
|[[Say Region Frames Per Second|Region Frames Per Second]]&lt;br /&gt;
|{{User2|Heymeriou Mystakidou}}&lt;br /&gt;
| Says the region name and frames per second out loud on command.&lt;br /&gt;
|-&lt;br /&gt;
|[[Security Orb|Security Orb]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A regular security orb that ejects people from a land parcel supporting a menu configuration and a notecard based access list.&lt;br /&gt;
|-&lt;br /&gt;
|[[Resizer multi-prims|Resizer multi-prims]]&lt;br /&gt;
|{{User2|Christy Mansbridge}}&lt;br /&gt;
|1 Mono script to resize object (1 to 256 prims) by blue menu. Avoid risk to break the build by increasing link distance.&lt;br /&gt;
|-&lt;br /&gt;
|[[RLV Collision Grabber]]&lt;br /&gt;
|[[User:Vala_Vella|Vala Vella]]&lt;br /&gt;
|Grab people colliding with the object and sit them on a set target using RLV&lt;br /&gt;
|-&lt;br /&gt;
|[[sbDialog]]&lt;br /&gt;
|[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
|A simple replacement function for [[llDialog]]. It re-orders the button list so that the button values, as passed to it, display left-to-right, top-to-bottom. It also opens a [[llListen|listen]] on the specified channel, and returns the handle.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheduled Payments]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will allow you to make scheduled (and reoccurring) payments to multiple avatars via a notecard.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheduler]]&lt;br /&gt;
|{{User|Haravikk Mistral}}&lt;br /&gt;
|Schedule multiple events using a single script timer&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheme_Interpreter|Scheme Interpreter]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A scheme interpreter capable of handling most scheme expressions, including lambda and lists.&lt;br /&gt;
|-&lt;br /&gt;
|[[Script Override Functions]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|bypass default strings, integer etc in chat channel.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Toady_Nakamura/Scrubber_Script|Script Scrubber]]&lt;br /&gt;
|{{User|Toady Nakamura}}&lt;br /&gt;
|Script scrubs memory resident script functions from prim and self-deletes the script. Does not damage the prim, or remove other scripts.  Use this to kill bling or other particle effects!&lt;br /&gt;
|-&lt;br /&gt;
|[[Scripted Attachment Detector.lsl|Scripted Attachment Detector]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A script that will display avatars wearing scripted attatchments in hovertext. This may be worn as an hud or rezzed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Self Upgrading Script Enhanced]]&lt;br /&gt;
|{{User|Cron Stardust}}&lt;br /&gt;
|Keeps only latest version of the script on prim (even with multiple adds of the same script!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Sensor Visualizer]]&lt;br /&gt;
|{{User|Cerise Sorbet}}&lt;br /&gt;
|Shows the size and shape you get with [[llSensor]] range and arc parameters&lt;br /&gt;
|-&lt;br /&gt;
|[[Serverless Key Exchange]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Maintains a network of object keys without using an external server.&lt;br /&gt;
|-&lt;br /&gt;
|[[SetLinkText]]&lt;br /&gt;
|{{User2|Tacusin Memo}}&lt;br /&gt;
|Custom function like [[llSetText]] only applying to linked sets.&lt;br /&gt;
|-&lt;br /&gt;
|[[SHA-1|SHA-1 Hash]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Performs a SHA-1 Hash on an input text. Similar to MD5 only (slightly) more secure.&lt;br /&gt;
|-&lt;br /&gt;
|[[SHA-2|SHA-2 Hash]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Performs a SHA-2 Hash on an input text. Similar to SHA-1 only (slightly) more secure.&lt;br /&gt;
|-&lt;br /&gt;
|[[Shoutcast - radio controller v0.3 (remake of similar scripts)]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Control your shoutcast radio stations with this shoutcast controller. Uses notecard for info about genres and stations and menu to select the station. Sends info to Xytext display.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Show Agent Script Count and memory|Show Agent Script Count and memory]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Fast and efficient method to display the amount of scripts and memory usage for an agent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Map Particle Projector]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|Displays a floating map of the sim the script is in.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Performance Collector (Web-based]]&lt;br /&gt;
|{{User2|DeniseHoorn Slade}}&lt;br /&gt;
|Makes some graphs for your website on the sim-performance (DIL,FPS, PING). PHP and Round Robin Database on Server needed!&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Restart Logger]]&lt;br /&gt;
|{{User|Kyrah Abattoir}}&lt;br /&gt;
|Counts region restarts and displays log of last 9 restarts together with region FPS and dilation.&lt;br /&gt;
|-&lt;br /&gt;
|[[SIM status]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will scan and display the status of SIMs (up, down, starting, stopping, unknown, crashed) from a notecard in the same prim as the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[Simple Elevator in a Box]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Simple elevator example.&lt;br /&gt;
|-&lt;br /&gt;
|[[Simple Pay Door]]&lt;br /&gt;
|{{User|Giygas Static}}&lt;br /&gt;
|Simple door you pay to get access.&lt;br /&gt;
|-&lt;br /&gt;
|[[Skillingo AntiHack Script]]&lt;br /&gt;
|{{User2|Tmzasz Luminos}}&lt;br /&gt;
|A simple Protection script for skillingo thats modifyable to work with other machines.&lt;br /&gt;
|-&lt;br /&gt;
|[[Skunk Money]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Fun gambling machine of yesteryear, which only supports freeplay now due to SL regulations against gambling.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLateIt]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An augmented virtual reality HUD.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLetanque]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An LSL petanque game.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLURL HUD]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Touch this HUD to get a SLURL through IM, email and floating text.&lt;br /&gt;
|-&lt;br /&gt;
|[[BuildSlurl (NewAge)]]&lt;br /&gt;
|{{User2|Archile Azalee}}&lt;br /&gt;
|A way to create a SLurl in a single function BuildSlurl&lt;br /&gt;
|-&lt;br /&gt;
|[[SL Mail V1.2]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Second Life mail client V1.2 (released sept&#039;07). Send and receive mail from within Second Life from and to any address. With Address Book function and many chat commands. V1.3 is upcoming soon!&lt;br /&gt;
|-&lt;br /&gt;
|[[SL_NTPoHTTP_v1.1_client|SL NTPoHTTP client]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|Second Life Needs Time Parsing over Hyper Text Transfer Protocol&lt;br /&gt;
Emulates the function of [[llGetWallclock]] for any timezone by using SLOpenID&#039;s SLNTPoHTTP service. Also supports ISO 8601 and RFC 2822 timestamps. Script is dependent upon an external service operated by the author!&lt;br /&gt;
|-&lt;br /&gt;
|[[Slide Display]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A display for presentations or talks supporting multiple slides as well as zooming-in on the slides.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smile]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An extended smile script supporting two smiles (extendable via a list) and a time delay triggering them at random.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Rotating Door]]&lt;br /&gt;
|{{User|Toy Wylie}}&lt;br /&gt;
|A script for doors that open and close smoothly using llTargetOmega&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Rotating Linked Door With Hinge]]&lt;br /&gt;
|{{User2|Lyn Mimistrobell}}&lt;br /&gt;
|A script for linked uncut (mesh) doors that smoothly rotates around a virtual hinge without the use of timers&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Sliding Door]]&lt;br /&gt;
|{{User|SimonT Quinnell}}&lt;br /&gt;
|A script for sliding doors that open and close smoothly using [[llMoveToTarget]]. Asjusts for prim orientation.&lt;br /&gt;
|-&lt;br /&gt;
|[[Snake Game]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The game of snake in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
|[[Song Requests]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Helper script for DJs, allowing listeners to request songs and make dedications.&lt;br /&gt;
|-&lt;br /&gt;
|[[Speed Tester]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|Similar to the [[Efficiency Tester]], this script allows you to test the speed of a particular function or snippet with multiple trials giving min/max/avg/median and the standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|[[Spiral Staircase Generator]]&lt;br /&gt;
|{{User|Meyermagic Salome}}&lt;br /&gt;
|Generates nice looking spiral staircases without much hassle.&lt;br /&gt;
|-&lt;br /&gt;
|[[Static URL&#039;s for HTTP-In Service|Static_URLs]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|How to generate a static url for HTTP-In temporal limitations.&lt;br /&gt;
|-&lt;br /&gt;
|[[String Compare]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Compares two strings and reliably returns either 1, -1, or 0 if they are the same.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synchronize]]&lt;br /&gt;
|{{User|Cay Trudeau}}&lt;br /&gt;
|Makes synchronized start to a task on even/odd seconds&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#String:_Find_Last_Index|String: Reverse]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns an input string in reverse order&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#String:_Get_Reverse_Order|String: Last Index]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the last index of search found in string (the backward equivalent of [[llSubStringIndex]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Tail Messages (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|A super nice easy to use script for those non-scripters out there! NewAge coding has done it again where you no longer need to scroll up and down adding buttons and adding messages, Features a tag system (you&#039;ll see what i mean :P)&lt;br /&gt;
|-&lt;br /&gt;
|[[Taper Door (minimalistic)]]&lt;br /&gt;
|{{User2|Kopilo Hallard}}&lt;br /&gt;
|A basic script for doors which open and close using taper.&lt;br /&gt;
|-&lt;br /&gt;
|[[Teleport HUD]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|WORKS TO 4096 METERS!! Very user friendly teleport HUD. Add destinations by touching &amp;quot;Add&amp;quot; &amp;amp; naming destination in chat. Automatically gets sim name and coordinates. Will only display the destinations in the sim you are currently in. Demonstrates more advanced list manipulation and stride functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Enh._Landmark-2-Map|Teleporter (landmark based)]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Uses Landmarks to offer map teleports. Works as Hud or inworld objects, just drop in landmarks and go.&lt;br /&gt;
|-&lt;br /&gt;
|[[Text_Scroller|Text Scroller]]&lt;br /&gt;
|[[User:Fred_Gandt|Fred Gandt]]&lt;br /&gt;
|A simple text display object that scrolls text (applied as a texture) from right to left (like &#039;&#039;those&#039;&#039; LED signs) in a continuous loop.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bobbyb&#039;s texture changer|Texture Changers]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A collection of texture changing scripts.&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Menu Management|Texture Management]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Dialog Menu based Texture Selection.&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Particle Poofer|Texture Particle Poofer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a generic dialog-based particle poofer, emitting textures towards an avatar for a configurable amount of time.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Xen_Lisle/Texture_Slide|Texture Slide]]&lt;br /&gt;
|{{User|Xen Lisle}}&lt;br /&gt;
|Slides a texture on mouse movement&lt;br /&gt;
|-&lt;br /&gt;
|[[Tic Tac Toe]]&lt;br /&gt;
|CG Linden&lt;br /&gt;
|Step by step demo on how to implement a larger scripting project&lt;br /&gt;
|-&lt;br /&gt;
|[[TightList]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Tight List is a family of functions for encoding lists as strings and then decoding them back into lists.&lt;br /&gt;
There are two flavors: TightList and TightListType. TightListType preserves types and uses a 6 char header, while TightList uses a 1 char header that doesn&#039;t preserve type.&lt;br /&gt;
|-&lt;br /&gt;
|[[Timer Module]]&lt;br /&gt;
|{{User|Isabelle Aquitaine}}&lt;br /&gt;
|Manage multiple timers via linked messages.&lt;br /&gt;
|-&lt;br /&gt;
|[[Two Avatars on single prim]]&lt;br /&gt;
|{{User2|Pale Janus|Cay Trudeau}}&lt;br /&gt;
|Allow two (or more) avatars to sit on same prim&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Unix_time_code_to_list_format|Timestamp:&amp;lt;br&amp;gt;Unix time code to list format]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|converts Unix timestamps to their [Y, M, D, h, m, s] equivalents (ex: 1234567890 to [2009, 2, 13, 3, 31, 30])&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List_format_to_Unix_time_code.|Timestamp:&amp;lt;br&amp;gt;List format to Unix time code]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|converts [Y, M, D, h, m, s] timestamps to their Unix equivalents (ex: [2009, 2, 13, 3, 31, 30] to 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Weekday_from_Unix_timestamp|Timestamp:&amp;lt;br&amp;gt;Weekday from Unix timestamp]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Gets weekday from Unix timestamps (ex: &amp;quot;Friday&amp;quot; from 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Repeater]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Observes textures and texture parameters on the prim. If changed, bulk-updates other prims in linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[The Stash (Bank)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a depositing system to link your secondary account (alt) to a prim in-world so you can retrieve money without switching back and forth between accounts. It supports setting an upper limit, sharing the stash if you wish, logging everybody who deposited money and retrieved money, sending money to a list of bookmarked avatars and getting a status of your current holdings. It also explains some tricks for developers, for example, how to get another timer() if your current timer() is used up already.&lt;br /&gt;
|-&lt;br /&gt;
|[[Tipjar]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a fully fledged tipjar supporting shared access, split profits, inviting to group, handing over gifts, maintaining statistics of who tipped most and who tipped in general, eliminating deed to group and comes with an innovative feature: it periodically moves around from avatar to avatar in the room and returns back to its initial position after a sweep. This way your tijpar will not be static, but participate in the party!&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Weekday_from_.28_Y.2C_M.2C_D_.29_format|Timestamp:&amp;lt;br&amp;gt;Weekday from (Y, M, D) format]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Gets weekday from (Y, M, D) timestamps (ex: &amp;quot;Friday&amp;quot; from (2009, 2, 13))&lt;br /&gt;
|-&lt;br /&gt;
|[[Touch A Quote]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Touch an object to read quotes sequentially from a notecard&lt;br /&gt;
|-&lt;br /&gt;
|[[Touring Balloon]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Automated touring balloon with many options from long ago.  Always seems to work on one SL release, and not the other.&lt;br /&gt;
|-&lt;br /&gt;
|[[Towncrier]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple towncrier to be used in role-play SIMs or wherever there is a need to broadcast news in random intervals.&lt;br /&gt;
|-&lt;br /&gt;
|[[Trivia]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A trivia game engine with provided ready-made notecards.&lt;br /&gt;
|-&lt;br /&gt;
|[[Under Age Boot]]&lt;br /&gt;
|{{User|Chance Unknown}}&lt;br /&gt;
|Security device example to teleport home accounts below a minimum age limit; can be useful in combating free griefer accounts.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/UNDO_PosRot|UNDO_PosRot]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Allows user to undo position and rotation changes that have been made &amp;quot;manually&amp;quot; to any or all prims in a linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[Universal Translator]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Chat listener that handles seamless translation of public chat between 50+ written languages without the need for configuration.  Handles numerous avatars, auto-detects languages, and works together with multiple copies of translators to spread-workload using a sophisticated back-end communications sub-system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unix2DateTime]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Conversion from Unix time ([[llGetUnixTime]]()) to date and time string and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unmutable Descript Nagger]]&lt;br /&gt;
|{{User|Bobbyb30 Zohari}}&lt;br /&gt;
|To nag avatars to take off their scripted attatchments.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unpacker On Rez (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|A very simple to use script for all you creators out there, This script will enable you to send out boxed items and make it easier for users to unpack, Also features auto die on completion. Very simple to configure!&lt;br /&gt;
|-&lt;br /&gt;
|[[Unpacker On Touch (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Exactly like Unpacker On Rez, But changed some things about to make it Unpack On Touch&lt;br /&gt;
|-&lt;br /&gt;
|[[Update distributor]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Distribute an object (like a project update) to a list of people named in a notecard.&lt;br /&gt;
|-&lt;br /&gt;
|[[UUID2Channel]]&lt;br /&gt;
|{{User|Project Neox}}&lt;br /&gt;
|Optimised version of the original key2channel generators.&lt;br /&gt;
|-&lt;br /&gt;
|[[UUID Song Generator]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Translates a UUID into a simple song and plays it.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Advanced_Visitor_Greeter|Visitor Greeter]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Reduced spam visitor greeter, highly configurable, easy to modify.&lt;br /&gt;
|-&lt;br /&gt;
|[[VariText]]&lt;br /&gt;
|[[User:Geneko Nemeth|Geneko Nemeth (Kakurady)]]&lt;br /&gt;
|Display text on a prim, without looking like from a typewriter&lt;br /&gt;
|-&lt;br /&gt;
|[[Visitor Logger (Web/Basic) ]]&lt;br /&gt;
|{{User|Buddy Sprocket}}&lt;br /&gt;
|A very basic visitor logger - log visitors in SL to a text file on your web-site.&lt;br /&gt;
|-&lt;br /&gt;
|[[Visitors]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A series of scripts to hold lists of visitors taking into account display names and supporting tracking multiple visits.&lt;br /&gt;
|-&lt;br /&gt;
|[[Volleyball Game (Kira&#039;s Artillery Variations)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The game of Volleyball in SecondLife, based on the [[Artillery]] script and freefall theory. Full build instructions, scripts, import archive and marketplace freebie product. All full permission.&lt;br /&gt;
|-&lt;br /&gt;
|[[Vote Simple]]&lt;br /&gt;
|{{User|JB Kraft}}&lt;br /&gt;
|Simple vote collector. One avi, one vote.&lt;br /&gt;
|-&lt;br /&gt;
|[[Walking Sound (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Very powerful walking sound script, Featuring customer ability to add their own sounds with the API Sound Feature!&lt;br /&gt;
|-&lt;br /&gt;
|[[Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that can be used to randomly move a prim around relative to its origin point. Can be used for breeders, robots, birds and other applications where a primitive has to move around by itself.&lt;br /&gt;
|-&lt;br /&gt;
|[[WarpPos]]&lt;br /&gt;
|{{User2|Keknehv Psaltery}}&lt;br /&gt;
|Non-physical movement without the 10m limit.&lt;br /&gt;
|-&lt;br /&gt;
|[[Watchdog]]&lt;br /&gt;
|{{User|Tika Oberueng}}&lt;br /&gt;
|LSL Watchdog scripts to monitor other scripts in the prim and restart them if they crash or stop running.&lt;br /&gt;
|-&lt;br /&gt;
|[[Wiki3DBuilder]] [[Wiki3DBuilder1.0]]&lt;br /&gt;
|{{User|Salahzar Stenvaag}}&lt;br /&gt;
|Allows a group of people to collectively build up complex 3D mindmaps with connected concepts. Uses particles for connections and low prim usage. Nodes can be textured, colored, changed form size moved collectively by everybody and can distribute notecards, landmarks, URL, objects, textures. I provide two version 0.1 and 1.0 and probably next version will communicate with moodle and sloodle external websites.&lt;br /&gt;
|-&lt;br /&gt;
|[[Window Control]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|For window opacity, helpful for buildings.&lt;br /&gt;
|-&lt;br /&gt;
|[[XTEA Strong Encryption Implementation]]&lt;br /&gt;
|{{User|Morse Dillon}}&lt;br /&gt;
|An LSL implementation of XTEA (eXtended Tiny Encryption Algorithm).  This is the first known public release of a &#039;real&#039; strong encryption implementation in LSL and is released under the GNU General Public License (GPL).&lt;br /&gt;
|-&lt;br /&gt;
|[[XyText 1.5|XyText]]&lt;br /&gt;
|{{User2|Xylor Baysklef}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Use as many prims as desired.&lt;br /&gt;
|-&lt;br /&gt;
|[[XyyyyzText|XyyyyzText]]&lt;br /&gt;
|{{User|Criz Collins}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO&lt;br /&gt;
|-&lt;br /&gt;
|[[XyzzyText|XyzzyText]]&lt;br /&gt;
|{{User|Thraxis Epsilon}} and {{User|Gigs Taggart}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Way more efficient than XyText.&lt;br /&gt;
|-&lt;br /&gt;
|[[Youtube TV]]&lt;br /&gt;
|{{User|Morgam Biedermann}}&lt;br /&gt;
|Watch your favorite Youtube videos / auto set the texture to the parcel media texture.&lt;br /&gt;
|-&lt;br /&gt;
|[[Input number of seconds, get a string back that shows days, hours, minutes, seconds]]&lt;br /&gt;
|{{User|Fire Centaur}}&lt;br /&gt;
|Returns a string that displays days, hours, seconds&lt;br /&gt;
|-&lt;br /&gt;
|[[Presenter with Timer]]&lt;br /&gt;
|[[User:Fire Centaur]]&lt;br /&gt;
|Yet another texture presenter with a timer, lock, next/prev etc&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Giver Prim]]&lt;br /&gt;
|{{User|Damian Darkwyr}}&lt;br /&gt;
|A randomized item giver with a game-like twist&lt;br /&gt;
|-&lt;br /&gt;
|[[Client Specific Contents Giver]]&lt;br /&gt;
|{{User|Damian Darkwyr}}&lt;br /&gt;
|Give Contents only to users of a specific Client. Such as Phoenix, CoolVL or 2.0&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/v7-D_Zen_Resizer|Zen Resizer]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Single script object resizer w/ multi-language &amp;amp; multi-menu support, + many other features for simple or advanced use.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Weaver Spell Grid|Weaver Spell Grid]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Designs simple objects and creates them with magic words.&lt;br /&gt;
|-&lt;br /&gt;
|[[Zero Lag Poseball]]&lt;br /&gt;
|{{User|Jippen Faddoul}} and {{User|Daemonika Nightfire}}&lt;br /&gt;
|A simple poseball with no lag&lt;br /&gt;
|-&lt;br /&gt;
|[[Zigzag Sequence]]&lt;br /&gt;
|{{User|Project Neox}}&lt;br /&gt;
|Zigzag sequence generator I developed while scripting checkers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Support Script Library==&lt;br /&gt;
These are scripts in other languages, intended to be run on other systems that support scripts written in LSL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Nexii-Malthus/phpPathfinding phpPathfinding]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|PHP script for offloading complex pathfinding operations away from heavy use simulators onto external servers. Primarily A* Algorithm. Flexible -- works with any type of node graph. Public Domain. Clean and minimalistic code.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ina Centaur/UUID/calimg.api|Calendar Image UUID API]]&lt;br /&gt;
|{{User|Ina Centaur}}&lt;br /&gt;
|API that gives the UUID of an image of a calendar image give month and year arguments.&lt;br /&gt;
|-&lt;br /&gt;
|[[HTTP Post request to a PHP server]]&lt;br /&gt;
|{{User|Corto Maltese}}&lt;br /&gt;
|This small library allows you to make simple POST requests to your website. The libraries allow you to get your request through the variable $_POST on the server. It also include a basic security mechanism aimed to stop hacking. Comprises of LSL client script and PHP server script.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ina Centaur/PHP/k2n.php|Key2Name.php]]&lt;br /&gt;
|{{User|Ina Centaur}}&lt;br /&gt;
|Get Avatar&#039;s Name using Second Life search service. (like in LSL Key2Name)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Darien_Caldwell/HTTP-DNS|HTTP-IN DNS]]&lt;br /&gt;
|{{User|Darien Caldwell}}&lt;br /&gt;
|Public Domain DNS and HTTP-IN URL Distribution system running on GAE (the original). Deploy your own for maximum utility and security.&lt;br /&gt;
|-&lt;br /&gt;
|[[Lame_Object_DNS_and_Cross_Sim_Messaging|Lame Object DNS and Cross Sim Messaging]]&lt;br /&gt;
|{{User2|Liandra Ceawlin}}&lt;br /&gt;
|Simple, cheeseball method of doing cross-sim communications with http-in and an external object DNS service.&lt;br /&gt;
|-&lt;br /&gt;
|[[Minify|LSL Minify]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|LSL Minification and obfuscation tool written in JavaScript. Contains a form on the wiki using a widget where you can post LSL scripts to be minified as well as the source-code. For another full-screen demo you may [http://eva.comaroski.me/lslclean.html check it on my website]. To use, paste any LSL code and press ctrl+alt+enter to get the minified version.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:SignpostMarv Martin/PHP/llXorBase64StringsCorrect|llXorBase64StringsCorrect]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|An implementation of [[llXorBase64StringsCorrect]] in PHP- should be useful if you&#039;re using llXorBase64StringsCorrect to do cryptography work in LSL2 and posting it out to the web via [[llHTTPRequest]].&lt;br /&gt;
|-&lt;br /&gt;
|[[User:SignpostMarv Martin/PHP/lsl fu.php|lsl_fu.php]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|A basic OOP&#039;d PHP Class containing VeloxSeverine&#039;s $_POST fixer and Marv&#039;s own eccentric ideas for &amp;quot;fixing&amp;quot; things.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Jor3l Boa/PHP/n2k.php|Name2Key.php]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|Get Avatar&#039;s UUID using Second Life search service. (like in LSL Name2Key)&lt;br /&gt;
|-&lt;br /&gt;
|[[Public_Object_DNS|Public Object DNS]]&lt;br /&gt;
|{{User2|Liandra Ceawlin}}&lt;br /&gt;
|Public object DNS-like system running on GAE, for http-in. Hopefully scalable enough for wide-spread usage.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rake|Rake]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A C# utility meant to create full inventory backups to your local hard-drive including Textures/Sculpts, Animations, Notecards and Scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Silo&lt;br /&gt;
|{{User2|Zero Linden}}&lt;br /&gt;
|General purpose data store in PHP.  Use this to persist arbitrary data from LSL via [[llHTTPRequest]].  See:&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo-README.txt README] file&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo.tgz silo.tgz] tarball&lt;br /&gt;
* forum post [http://forums-archive.secondlife.com/54/69/119570/1.html Announcement].&lt;br /&gt;
|-&lt;br /&gt;
|[[Silverday ObjectDNS]]&lt;br /&gt;
|{{User|Till Stirling}}&lt;br /&gt;
|Dynamic Object-DNS-System to provide dynamic mapping of LSL-URLs to persistent domains. Features include redirect service, password protected domains, write protected domains, LSL-API for all necessary functions, optional web-interface.&lt;br /&gt;
|-&lt;br /&gt;
|[http://aubretec.com/products/sldb SLDB]&lt;br /&gt;
|{{User2|Luc Aubret}}&lt;br /&gt;
|Flexible web database storage using PHP/MySQL.  Used to store per-user field/value pairs from in-world objects using [[llHTTPRequest]].&lt;br /&gt;
* [http://aubretec.com/support/manuals/sldbkit/ Implementation Guide]&lt;br /&gt;
* [http://aubretec.com/wp-content/uploads/2009/05/sldb.zip Download] (.zip, 12kb)&lt;br /&gt;
|-&lt;br /&gt;
|[https://tlabsfoundry.atlassian.net/wiki/display/SLAD/SL+Asset+Data SL Asset Data]&lt;br /&gt;
|{{User|Trimda Hedges}}&lt;br /&gt;
|A set of Java classes to retrieve information about Groups, Parcels and Agents/Avatars based on their key (UUID).  Includes caching of requests and results and example application.  Copyright under Eclipse Public License v1&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/SLAD/Downloads Downloads]&lt;br /&gt;
* [http://trimda.com/javadocs/slassetdata/1.1.0/ JavaDocs]&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/TF/TLabs+Foundry Other Projects]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Articles&#039;&#039;&#039;&lt;br /&gt;
*[[:Category:LSL Examples| Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{LSLC|}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1189444</id>
		<title>Category:LSL Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1189444"/>
		<updated>2014-04-15T06:54:54Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* LSL Script Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}{{RightToc}}&lt;br /&gt;
==Script Library==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em 0.5em 1.5em&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: Please add your scripts to this page and then add them to a category on the [[:Category:LSL Categorized Library|Categorized Library]] page.&lt;br /&gt;
&lt;br /&gt;
Come to this page to see complex examples that show how to combine parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Go to the [[:Category:LSL Examples|LSL Examples]] page to see brief examples of how to use parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Why collect complex examples here? Well, ...&lt;br /&gt;
&lt;br /&gt;
There is a treasure trove of user developed scripts that have become hard to find over time throughout Second Life&#039;s web server revisions and redesigns. The [http://community.secondlife.com/t5/Community-General/Upgrading-the-Forums/bc-p/77385 Huge Leap] to the new [http://www.jivesoftware.com/ Jive software], while traumatic and disruptive, has failed to dispose of  what&#039;s come before at the moment of your reading. These valuable community generated resources do indeed still remain and can be browsed/retrieved from several disjointed and disparate locations. While some links may point to duplicated, revised, or downright ancient wisdom, you may derive some enlightened perspective researching their hard won, timely solutions we encounter day to day.&lt;br /&gt;
&lt;br /&gt;
# [[Old forum Scripting Library index| Old Forums -Scripting Library index (wiki)]],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting/bd-p/2108 Old Forums -Scripting Forum Archive],&lt;br /&gt;
# [http://forums-archive.secondlife.com/15/1.html Old Forums -Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting-Library/bd-p/2122 new Forums -Archives &amp;gt; Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/LSL-Scripting-Library/bd-p/LSLScriptingLibrary new Forums -LSL Library].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The wiki medium is well-suited for a script library due to its revision based historical foundation. If you feel inclined to release your scripts to the entire community, there&#039;s no better place to preserve your work/love/energy/gift as a unified and cohesive repository. Feel free to add your script page links here as well as adding it to the [[:Category:LSL Categorized Library|Categorized Library]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rules for posting: ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
#Your script must be tested and working. If it&#039;s not, stick it in your user-space until it is. This is a list of working, usable scripts.&lt;br /&gt;
#Add a link to your script&#039;s page here. Link back to this page from your script&#039;s page. Start your page with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{LSL Header}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Do not add scripts that duplicate the same functionality as an existing script or built in {{LSLGC|Functions|function}}. If yours does, explain why.&lt;br /&gt;
#Do not list simple scripts here. Include those among the [[:Category:LSL Examples|LSL Examples]] instead.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LSL Script Library==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Addiction Moderator|Addiction Moderator and World Clock]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Keep tabs on usage of SL and easily share local times with other users.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Bijocam And Other Camera Scripts|Bijocam and Other Camera Scripts]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Various camera control systems for machinima, security, and other effects.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley Bing/Basic Sim Status Button Indicator HUD|Basic Sim Status Button Indicator HUD]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A single prim HUD. Color indicates sim status changes.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley_Bing/Basic_Target_Scanner_HUD|Basic Target Scanner HUD]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A single prim HUD.  Scrolls through nearby players names, photos and user key.&lt;br /&gt;
|-&lt;br /&gt;
|[[StringIsNum|(Function) StringIsNum]]&lt;br /&gt;
|{{User|Zion Tristan}}&lt;br /&gt;
|A User Made Function to return TRUE if a string based input consists entirely of a whole number, and return FALSE otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remove all scripts from a linkset]]&lt;br /&gt;
|{{User2|Dahlia Orfan}}&lt;br /&gt;
|Remove all scripts from a linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[RLV Viewer Titler]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Titler displaying viewer and it&#039;s version, revealed via RLV interface.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Restart Notifyer]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|On region restart, notifyes registered residents about the sim is online and the current sim version&lt;br /&gt;
|-&lt;br /&gt;
|[[Script Vitality plug-in]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Uses vehicle technology to allow scripts (in same prim) to run in &#039;dead&#039;, i.e. no-script areas.&lt;br /&gt;
|-&lt;br /&gt;
|[[1st necessity of SL]]&lt;br /&gt;
|{{User|Beer Dailey}}&lt;br /&gt;
|Monitors for avatars and (de)activates scripts states to control script performance/lag.&lt;br /&gt;
|-&lt;br /&gt;
|[[3D Radar]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|Rezzes a ball for each avatar in range. Each ball tracks its own AV and displays distance.&lt;br /&gt;
|-&lt;br /&gt;
|[[RegionSitTeleport]]&lt;br /&gt;
|{{User|Vincent Nacon}}&lt;br /&gt;
|A very simple and clean sit/unsit teleporter.&lt;br /&gt;
|-&lt;br /&gt;
|[[AbcText]]&lt;br /&gt;
|{{User|Ange Capalini}}&lt;br /&gt;
|EXPERIMENTAL Hyper low prim Display. only 2 prims for 25char.&lt;br /&gt;
|-&lt;br /&gt;
|[[Access (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|An easy to use script for permissions on who can use the script, Public/Group/Owner&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Access_Tutorial_EN|Access Tutorial (EN)]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Short examples about permission to executable commands.&lt;br /&gt;
|-&lt;br /&gt;
|[[Aim Detection]]&lt;br /&gt;
|{{User2|Han Shuffle|Dugley Reanimator}}&lt;br /&gt;
|Monitors for avatars and reports back to owner about who is aiming at them.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Anti_copy_trans|Anti (copy &amp;amp; transfer)]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This funktion allows you to give away scripts with copy &amp;amp; transfer permissions and force the reseller to change the permission.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/Anti_Rezz|Anti Rezz]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This script delete the complete object by rezzing on ground and detach it after 5 minutes from avatar. &lt;br /&gt;
|-&lt;br /&gt;
|[[AnkleLock]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An ankle lock script and attached animation to fix your displaced shoes. This will help if your shoes look displaced when you sit in certain poses or when your animation overrider is active.&lt;br /&gt;
|-&lt;br /&gt;
|[[AntiDelay Node]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Uses [[llMessageLinked]] to stop those pesky delays.&lt;br /&gt;
|-&lt;br /&gt;
|[[Artillery]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An artillery gun script, performing the necessary calculations based on a user-chosen velocity, in order to hit a designated target avatar.&lt;br /&gt;
|-&lt;br /&gt;
|[[AO Overriding Pose Ball]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|No more turning your AO off and on when you sit down&lt;br /&gt;
|-&lt;br /&gt;
|[[ARCFOUR Strong Encryption Implementation]]&lt;br /&gt;
|{{User2|Nekow42 Zarf}}&lt;br /&gt;
|An LSL implementation of ARCFOUR, the most popular stream cipher still in use.&lt;br /&gt;
|-&lt;br /&gt;
|[[Assembly Programming Language|Assembly-Like Programming Language]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A compiler that runs assembly-like programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[Associative Array Emulator|Associative Array (Dictionary) Emulator]]&lt;br /&gt;
|{{User2|Alynna Vixen}}&lt;br /&gt;
|This library provides a set of functions for using a list as an associative array where string based keys can refer to one or more variant elements.&lt;br /&gt;
|-&lt;br /&gt;
|[[AvatarFollower]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Allows one avatar to automatically follow another.&lt;br /&gt;
|-&lt;br /&gt;
|[[Avatar Radar (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Version 1.2; A nice new avatar radar script i just finish that you can place in your hud, Also features avatar locator&lt;br /&gt;
|-&lt;br /&gt;
|[[Base2Dec]]&lt;br /&gt;
|{{User|Siann Beck}}&lt;br /&gt;
|Convert a number to decimal from any base.&lt;br /&gt;
|-&lt;br /&gt;
|[[BaseN]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|Variable base compression, dynamically maps to usable UTF code points.&lt;br /&gt;
|-&lt;br /&gt;
|[[Basic Encryption Modules]]&lt;br /&gt;
|{{User|Beverly Larkin}}&lt;br /&gt;
|Basic encryption scripts, allows you to encrypt a float and shout it to another prim on a randomly chosen channel.&lt;br /&gt;
|-&lt;br /&gt;
|[[Be happy]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Basic smile attachment script, makes your avatar smile.&lt;br /&gt;
|-&lt;br /&gt;
|[[Beat The Average Vendor]]&lt;br /&gt;
|{{User2|Kristen Giano}}&lt;br /&gt;
|A vendor script based on humblebundle.com&lt;br /&gt;
|-&lt;br /&gt;
|[[Best Neighbor Ad Hiding Script|Best Neighbor]]&lt;br /&gt;
|{{User2|Doran Zemlja}}&lt;br /&gt;
|Reduce ad clutter by hiding ads when users are on their own land nearby.&lt;br /&gt;
|-&lt;br /&gt;
|[[BigNum|BigNum Library (RSA Encryption)]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A BigNum Library for dealing with big numbers! Specialized for modular multiplication, and RSA encryption.&lt;br /&gt;
|-&lt;br /&gt;
|[[Binary Clock v1.1|Binary Clock]]&lt;br /&gt;
|{{User|Fox Diller}}&lt;br /&gt;
|A Binary Clock.&lt;br /&gt;
|-&lt;br /&gt;
|[[BinaryDecimalConverter]]&lt;br /&gt;
|{{User2|Soundless Smalls}}&lt;br /&gt;
|Converts a binary value to a decimal value and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
|[[Blacklist and Remote Kill|Blacklist and Remote Kill]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Blacklist(denial of use) or a creator kill script(can delete someone&#039;s item by command on private channel)&lt;br /&gt;
|-&lt;br /&gt;
|[[User_talk:Rolig_Loon/Bookmark_URLs|Bookmark URLs]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Dialog driven HUD reads bookmarked URLs from notecards and navigates directly to them with user&#039;s in-world browser.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bubble Gum]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script to create a bubble gum effect with sounds and animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bubble Trapper]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that rezzes a bubble and surrounds a dialog-chosen avatar, exploding 2 seconds after it has reached the avatar. The article also explains how to hash a name to a number or a key to a number and thereby avoiding to block the rezzer&#039;s [[timer]] [[event]] or using [[llRegionSay]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Builders Buddy|Builder&#039;s Buddy Tool]]&lt;br /&gt;
|{{User|Newfie Pendragon}}&lt;br /&gt;
|Script to easily move/rotate large builds that exceed the linkable size [[limits]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Button Click Detector]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Use [[llDetectedTouchUV]] to determine which button was pressed on a texture.&lt;br /&gt;
|-&lt;br /&gt;
|[[Camera following prim]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Pair of scripts to make a prim follow your camera position around (for lights etc).&lt;br /&gt;
|-&lt;br /&gt;
|[[Camera Sync]]&lt;br /&gt;
|{{User|Meyermagic Salome}} and {{User2|Nomad Padar}}&lt;br /&gt;
|A system to synchronize the cameras of two avatars.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chatbot]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Compile and run the LSL you type on a channel, faster than you can thru the 2007-08 SL GUI.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chat Logger (GPL)]]&lt;br /&gt;
|{{User|Nobody Fugazi}}&lt;br /&gt;
|Chat logger which requests permission from participants before recording them.&lt;br /&gt;
|-&lt;br /&gt;
|[[Chat_Relay|Chat Relay]]&lt;br /&gt;
|{{User|grumble Loudon}}&lt;br /&gt;
|A Chat relay which can be routed using a path header and won&#039;t echo.&lt;br /&gt;
|-&lt;br /&gt;
|[[ClickAndDrag]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Click and Drag user interface elements using dynamic feedback&lt;br /&gt;
|-&lt;br /&gt;
|[[TimeAPI Clock Script]]&lt;br /&gt;
|[[User:Elite Runner|Ryan R. Elite (Elite Runner)]]&lt;br /&gt;
|Gets time via HTTP function from TimeAPI.org&lt;br /&gt;
|-&lt;br /&gt;
|[[Code Racer]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Race two versions of code forever, to see which runs faster.&lt;br /&gt;
|-&lt;br /&gt;
|[[Code Sizer]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Count the bytes compiled from source code, to measure how to write small code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Collision message sender]]&lt;br /&gt;
|{{User2|Taff Nouvelle}}&lt;br /&gt;
|Give a message to an avatar on collision if the message has not been sent in the last 10 minutes.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Enh._Color_Picker|Color Changer]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Dialog driven color changer. Supports 16million+ colors, web color codes, multiple targeted prims, with save and recall.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color Changer|Color Changer Plus]]&lt;br /&gt;
|{{User2|Neo Calcutt}}&lt;br /&gt;
|A color changer with 14 colors, a random function, and a custom vector function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color conversion scripts|Color Conversion]]&lt;br /&gt;
|{{User|Sally LaSalle}}&lt;br /&gt;
|Convert between Red Green Blue (RGB) and Hue Saturation Value (HSV).&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorConvert]]&lt;br /&gt;
|{{User|Siann Beck}}&lt;br /&gt;
|Convert color values to vector from RGB, hex or HTML color name.&lt;br /&gt;
|-&lt;br /&gt;
|[[Color script]]&lt;br /&gt;
|{{User2|Masakazu Kojima}}&lt;br /&gt;
|Script for changing colors trough a listener with pre-defined colors.&lt;br /&gt;
|-&lt;br /&gt;
|[[Library Combined Library|Combined Library]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Library of mostly encoding and decoding functions, some more useful then others.&lt;br /&gt;
* String functions: Replace / Trim right / Trim left / Trim both&lt;br /&gt;
* Unicode conversion: UTF8 to Unicode / Unicode to UTF8&lt;br /&gt;
* List functions: Replace / Compare&lt;br /&gt;
|-&lt;br /&gt;
|[[Computer:jaycoonlanguage]]&lt;br /&gt;
|{{User|jayco121 Bing}}&lt;br /&gt;
| A language written in LSL that is meant for my computer (available at the shop).&lt;br /&gt;
|-&lt;br /&gt;
|[[Read Note Card Configuration|Configuration Notecard Reader]]&lt;br /&gt;
|{{User|Dedric Mauriac}}&lt;br /&gt;
|A script to read configuration information from a notecard. Parses notecard to extract key words and their assigned values. Allows for comment lines and many more useful features.&lt;br /&gt;
|-&lt;br /&gt;
|[[AdvancedNotecardReader|Configuration Notecard Reader (advanced)]]&lt;br /&gt;
|[[Lear Cale|Lear Cale]]&lt;br /&gt;
|Robust configuration notecard reader; supports multiple notecards with same suffix, handles reconfig on inventory change, and does not usurp the default state.&lt;br /&gt;
|-&lt;br /&gt;
|[[Library_Chat_Relay|Conversation Relay]]&lt;br /&gt;
|{{User|Jippen Faddoul}}&lt;br /&gt;
|Chat relay which requests permission from participants before relaying their messages. Also includes their attachments. (ToS compliant).&lt;br /&gt;
|-&lt;br /&gt;
|[[Curtain script]]&lt;br /&gt;
|{{User|Zilla Larsson}}&lt;br /&gt;
|A simple script to retract/stretch curtains, blinds, bedcovers and more&lt;br /&gt;
|-&lt;br /&gt;
|[[Library_Cycle_Dialog_Items|Cycle Dialog Items w/ Callback]]&lt;br /&gt;
|{{User|Hawkster Westmoreland}}&lt;br /&gt;
|A customizable way to cycle dialog items with pagination&lt;br /&gt;
|-&lt;br /&gt;
|[[Dataserver API]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Dataserver Framework for Notecards.&lt;br /&gt;
|-&lt;br /&gt;
|[[Date Library]]&lt;br /&gt;
|{{User|Corto Maltese}}&lt;br /&gt;
| Date library, based on number of day since march 3rd 1600, can be used to calculate weekday, date differences, and date offset, and date formating.&lt;br /&gt;
|-&lt;br /&gt;
|[[Day of the Week]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Function to get day of the week from [[llGetUnixTime]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Days in Month]]&lt;br /&gt;
|{{User|IntLibber Brautigan}}&lt;br /&gt;
|Clicking on it returns the number of days in the present month. Useful for scripting calendars and tier systems that need to know the number of days in the month at hand or to calculate for any month. Even adjusts for leap years.&lt;br /&gt;
|-&lt;br /&gt;
|[[Deed Tools]]&lt;br /&gt;
|{{User|Falados Kapuskas}}&lt;br /&gt;
|Tools that allow the creator to modify Group-Owned (Deeded) Objects via chat.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DEMO_Shield|DEMO_Shield]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|With this script, it is impossible to use these scripts in copied (Copybot) object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Describe Chatter]]&lt;br /&gt;
|Anonymous&lt;br /&gt;
|Chat to see yourself as others do.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dialog Control]]&lt;br /&gt;
|{{User|Nargus Asturias}}&lt;br /&gt;
| A (not-so) simple dialog &amp;amp; menu control script. Call dialog and receive selected value via [[link_message]], with built-in timer and [[link_message]] notification on time out. Supports multi-pages dialog and numeric property dialog. Button text and dialog&#039;s returned value can differ.&lt;br /&gt;
Latest version also has [[Dialog Menus Control]] built-in; which allow multi-level menus through SL dialog system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dispenser Vendor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
| A twist on [[Vendor]] that dispenses one object and then removes it from the list of objects.&lt;br /&gt;
|-&lt;br /&gt;
|[[MultiUser_Dialog_Handler|Dialog Menus (multiuser)]]&lt;br /&gt;
|{{User|SimonT Quinnell}}&lt;br /&gt;
| Menu dialog handler that supports multiple menus open at once from the single script. Displays multi-page menus if necessary as well as allowing for fixed header and footer buttons.  Timeouts as well as Text and button size limits are handled.&lt;br /&gt;
|-&lt;br /&gt;
|[[Dialog NumberPad|Dialog Number Pad]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Use a dialog to accept positive integer input from users.&lt;br /&gt;
|-&lt;br /&gt;
|[[Display Names Radar]]&lt;br /&gt;
|{{User|Cerise Sorbet}}&lt;br /&gt;
|Simple HUD type avatar radar that can show [[display names]] and script memory usage&lt;br /&gt;
|-&lt;br /&gt;
|[[Display Names to Key]]&lt;br /&gt;
|{{User|Joran Yoshikawa}}&lt;br /&gt;
|Simple way to get UUIDs from displaynames&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DS_Display-Username_Online_Indicator|Display-Username_Online_Indicator]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This simple hover text-based script is used to shop owners in Second Life, customers at the current display name and user name to display publicly. Additionally shows the status of the Userkey and online. Furthermore, there are click of a chat link that opens the profile owner.&lt;br /&gt;
|-&lt;br /&gt;
|[[Displayer Script]]&lt;br /&gt;
|{{User|Akinori Kimagawa}}&lt;br /&gt;
|Display Words On Top Of An Object&lt;br /&gt;
|-&lt;br /&gt;
|[[Distributed Primitive Database]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The distributed primitive database (DPD) is a database which is meant to survive entirely in SL by using redundancy, replication and time synchronisation to maintain the consistency of the dataset contained in the DPD node/primitives spread out between regions and even grids. Similarly to the [[Intercom]], the robustness of the theory would allow users to maintain a cross-grid database; as of 30 of August 2011 I have managed to couple and replicate data between the two grids by using the methodology described in the script article.&lt;br /&gt;
|-&lt;br /&gt;
|[[Drink script]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Used mainly for food and drink in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
|[[Donut Dance]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Err, a script that makes you dance and say something on the local chat once you attach an object (good example for conditional re-entry flipping).&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/DS_Single_AO-Sit|Single_AO-Sit]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Posescript for use with or without AO and with or without Animation. With the menu it is possible the seated Avatar to move.&lt;br /&gt;
|-&lt;br /&gt;
|[[TOXDropBox|DropBox]]&lt;br /&gt;
|{{User|Dimentox Travanti}}&lt;br /&gt;
| This is a Drop box which allows people to drop certain items in a object &amp;amp; has many config options.&lt;br /&gt;
|-&lt;br /&gt;
|[[Efficiency Tester]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Tests the speed of a function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Email-to-IM|Email2IM]]&lt;br /&gt;
|{{User|DoteDote Edison}}&lt;br /&gt;
|Send IMs to SL friends via [[email]].&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kireji_Haiku/SIMchat_headset|Encrypted Region-wide chat]]&lt;br /&gt;
|{{User|Kireji Haiku}}&lt;br /&gt;
|Encrypted Region-wide chat&lt;br /&gt;
|-&lt;br /&gt;
|[[ExplodingObjects]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Causes an object (of the appropriate type) to explode on command.&lt;br /&gt;
|-&lt;br /&gt;
|[[FadeEasy]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
|The easy way of fading objects in or out (Using llSetLinkAlpha)&lt;br /&gt;
|-&lt;br /&gt;
|[[FastConeSpread]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Fast Algorithmn to achieve cone spread, main use in weaponry systems.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Fast List Prim Contents|Fast List Prim Contents]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Fast and efficient method to print Object Inventory (Name, Type and next Owner permissions)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet_Lane/Scripts#Grid_Status_Feed|Grid Status Feed]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Receive important Grid information in-world&lt;br /&gt;
|-&lt;br /&gt;
|[[Find Avatar Key|Find Avatar Key]]&lt;br /&gt;
|{{User2|Huney Jewell}}&lt;br /&gt;
|Explores [[UUID]] of avatar whose name is said in local chat or who touches the prim.&lt;br /&gt;
|-&lt;br /&gt;
|[[First Name Letter Prize]]&lt;br /&gt;
|{{User|RaithSphere Whybrow}}&lt;br /&gt;
|Gives a prize if the person who sits on it&#039;s first letter of first name matches the random letter!&lt;br /&gt;
|-&lt;br /&gt;
|[[Fix Small Prims|Fix_Small_Prims]]&lt;br /&gt;
|{{User|Emma Nowhere}}&lt;br /&gt;
|Finds and adjusts the smallest prims in a linkset so that it can be scaled down further.&lt;br /&gt;
|-&lt;br /&gt;
|[[Flight Assist]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Flight feather / flight band implementation supporting various commands and allowing you to fly above the clouds.&lt;br /&gt;
|-&lt;br /&gt;
|[[Float2Hex]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Very useful for transporting [[float|floats]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Float Box Contents]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Displays object inventory in hover text, identified by type and updated marquee-style.&lt;br /&gt;
|-&lt;br /&gt;
|[[Follower (script)|Follower]]&lt;br /&gt;
|Unknown, uploaded by {{User|Slik Swindlehurst}}&lt;br /&gt;
|Makes an object follow the nearest person. Do not use for [[grief|griefing]].&lt;br /&gt;
|-&lt;br /&gt;
|[[FURWARE_text]]&lt;br /&gt;
|{{User|Ochi Wolfe}}&lt;br /&gt;
|Versatile text-on-prim script, open source under the MIT license&lt;br /&gt;
|-&lt;br /&gt;
|[[GA Event Notifier]]&lt;br /&gt;
|{{User|Victor Hua}}&lt;br /&gt;
|Gathers seven days event data from a Google calendar and display it through a simple interface. The lsl script can access several calendars at once through seperate php files. One file per calendar. Host the included php on your own web server.&lt;br /&gt;
|-&lt;br /&gt;
|[[Geometric|Geometric Library]]&lt;br /&gt;
|Community Project&lt;br /&gt;
|A substantial amount of various geometric functions for intersection and other purposes of 3D maths.&lt;br /&gt;
|-&lt;br /&gt;
|[[Get Profile Picture]]&lt;br /&gt;
|{{User2|Valentine Foxdale}}&lt;br /&gt;
|Sets the texture of the object to profile picture of the person that touches ot&lt;br /&gt;
|-&lt;br /&gt;
|[[GetTimestampOffset]]&lt;br /&gt;
|[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
|Returns [[llGetTimestamp]] with an hour offset.&lt;br /&gt;
|-&lt;br /&gt;
|[[Give InvItem every n hours]]&lt;br /&gt;
|{{User|Criz Collins}}&lt;br /&gt;
|Will give an inventory item on touch only every n hours, even if somebody touches the object more than once.&lt;br /&gt;
|-&lt;br /&gt;
|[[Give random object]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to receive a random object in the prim&#039;s inventory&lt;br /&gt;
|-&lt;br /&gt;
|[[Giver]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A menu-driven script that will hand out the objects in a prim. Supports multiple pages.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Golden Vendor|Golden Vendor]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|A cross between a vendor and a game.&lt;br /&gt;
|-&lt;br /&gt;
|[[Google Charts]]&lt;br /&gt;
|{{User|Dedric Mauriac}}&lt;br /&gt;
|Create links to display raw data as a chart image.&lt;br /&gt;
|-&lt;br /&gt;
|[[Google_Translator]]&lt;br /&gt;
|{{User|Ugleh Ulrik}}&lt;br /&gt;
|Translates spanish to english, and its simple to make it any other way.&lt;br /&gt;
|-&lt;br /&gt;
|[[Go transparent when walking]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|An attachment that goes invisible when you walk and visible when you don&#039;t walk.&lt;br /&gt;
|-&lt;br /&gt;
|[[Great Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A movement system based on [[Wizardry and Steamworks|State Machines]] which provides free roaming.&lt;br /&gt;
|-&lt;br /&gt;
|[[Greeter]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A multi-purpose greeter with multiple options (IM, landmark, notecard, URL, visitor statistics, shared access and compatible with the [[Mail]] system) that could work for shops, clubs, galleries and any other public place.&lt;br /&gt;
|-&lt;br /&gt;
|[[Group Authorization]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Checks to see if object is set to appropriate group (checks by [[Group key finder|group key]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Group key finder]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to find the key of the group&lt;br /&gt;
|-&lt;br /&gt;
|[[Group Privacy]]&lt;br /&gt;
|{{User|Chance Unknown}}&lt;br /&gt;
|Security device to insure members of a group can have a private area. Deactivates when nobody present.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hello Avatar]]&lt;br /&gt;
|Linden Lab&lt;br /&gt;
|SL&#039;s default script.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hello Avatar Companion]]&lt;br /&gt;
|[[Chase Quinnell]]&lt;br /&gt;
|Companion to the original [[Hello Avatar]] script&lt;br /&gt;
|-&lt;br /&gt;
|[[Hierarchics]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Advanced script to create an efficient self-aware hierarchic structure.&lt;br /&gt;
|-&lt;br /&gt;
|[[Hierarchics2]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Second generation, one script per object. Only two functions, can be embedded in others. Uses the new [[llSetLinkPrimitiveParamsFast]]/[[llGetLinkPrimitiveParams]] functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/High-Capacity_Greeter-Counter|High-Capacity Greeter-Counter]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Uses a memory compression algorithm to store hashed visitor UUID&#039;s in a string instead of using a list.&lt;br /&gt;
|-&lt;br /&gt;
|[[Holodeck]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Home Rezzing System.&lt;br /&gt;
|-&lt;br /&gt;
|[[HUD Dots Radar]]&lt;br /&gt;
|[[User:Cerise Sorbet|Cerise]]&lt;br /&gt;
|HUD target example, draws dots on the HUD over avatars in view.&lt;br /&gt;
|-&lt;br /&gt;
|[[I Got It]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Educational tool to provide feedback from students.&lt;br /&gt;
|-&lt;br /&gt;
|[[Intercom|Intercom]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A system allowing region-wide and grid-wide (as of 30 of August 2011, it also works grid-wide, a test was performed by linking up the chat between the OSGrid and SecondLife) mass chat relay. By using this you can relay a main chat across multiple regions or grids. The script was initially meant as a mid-way project in order to test and gather information for the [[Distributed Primitive Database]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Interpolation|Interpolation Library]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|A small set of interpolation functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Intra-Region Update Server]]&lt;br /&gt;
|[[User:Emma_Nowhere|Emma Nowhere]]&lt;br /&gt;
|Centrally update objects such as Freeview screens or teleport pads within a region that are configured by notecards or contain modifiable objects or media assets.&lt;br /&gt;
|-&lt;br /&gt;
|[[Inventory_Based_Menu]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Inventory Based Menu System.&lt;br /&gt;
|-&lt;br /&gt;
|[[iTunes RPC Email|iTunes RPC]]&lt;br /&gt;
|{{User|Fox Diller}}&lt;br /&gt;
|iTunes RPC via LSL [[llEmail]] and [[llRemoteDataReply]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Jingle]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will make a primitive emit a sound when you wear it and walk around. Ideal for bells, footsteps and so on...&lt;br /&gt;
|-&lt;br /&gt;
|[[Key Frame Animator|Keyframe Animator]]&lt;br /&gt;
|{{User|Jasper Flossberg}}&lt;br /&gt;
| This is a KeyFrame Animator Script to simplify construction of keyframed animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Key Pad Door|Keypad Door]]&lt;br /&gt;
|{{User|Tdub Dowler}}&lt;br /&gt;
| Door and keypad with changeable code. Follow instructions carefully!&lt;br /&gt;
|-&lt;br /&gt;
|[[Key2Name]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
| Key2Name service where a user no longer needs to be in the same region to get users name&lt;br /&gt;
|-&lt;br /&gt;
|[[Kilt Editor|Kilt / Skirt Editor]]&lt;br /&gt;
|{{User|Brangus Weir}}&lt;br /&gt;
| This changes all the parameters of all the flexis in the link set in one swell foop!&lt;br /&gt;
|-&lt;br /&gt;
|[[Kira Warp Core Drive]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Scripts and instructions on how to create a vehicle that teleports an avatar and a vehicle to any region on the grid. You can [http://www.youtube.com/watch?v=xQkBRD7HBvw watch the YouTube video showing the prototype] I created to demonstrate how it works.&lt;br /&gt;
|-&lt;br /&gt;
|[[Last Sound System]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An LSL [http://Last.fm Last.fm] client.&lt;br /&gt;
|-&lt;br /&gt;
|[[LibraryDisplayLandScreenshot]]&lt;br /&gt;
|{{User|Jon Desmoulins}}&lt;br /&gt;
|A modified version of LibraryDisplayProfilePic using the new [[PARCEL_DETAILS_ID]] Implemented in Server v1.36&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/LinkNumber-List_in_llSetLinkPrimitiveParamsFast|LinkNumber-List_in_llSetLinkPrimitiveParamsFast]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Changed several prims in linkset with the same parameters, with a list. Without separate llSetLinkPrimitiveParams for each prim. (ideal for show/hide effects)&lt;br /&gt;
|-&lt;br /&gt;
|[[Limit Vendor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a vendor supporting any number of items with different prices which will only dispense a certain number of individual items by setting limits for each item based on a notecard configuration.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset resizer]]&lt;br /&gt;
|Maestro Linden&lt;br /&gt;
|Systematically rescales a linkset by moving and resizing each prim (by using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset resizer with menu]]&lt;br /&gt;
|{{User|Brilliant Scientist}}&lt;br /&gt;
|A menu-driven script that rescales a linkset by moving and resizing the prims using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]] functions. Based on [[Linkset resizer]].&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/*DS*_Resize_Script|Resize Script (m/c/t) v2.0.01]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|Single resize script for a complete linkset with save and restore option.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pointing Stick]]&lt;br /&gt;
|{{User|rhonin Nissondorf}}&lt;br /&gt;
|A device that takes controls of your arrow keys and directs the device in the relative direction its pointing, forward and back of course.&lt;br /&gt;
|-&lt;br /&gt;
|[[Gun Script]]&lt;br /&gt;
|[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
|Shoots out &amp;quot;ammo&amp;quot; from the root prim of your &amp;quot;gun&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Grenade Script]]&lt;br /&gt;
|[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
|Uses a timed factor to add influence to the velocity of a throw object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linkset Resizer 2]]&lt;br /&gt;
|{{User|Emma Nowhere}}&lt;br /&gt;
|A more user-friendly resizer script designed for either drop-in use by the end-user or builder or for use in products. Based on [[Fix Small Prims]].&lt;br /&gt;
|-&lt;br /&gt;
|[[List2CSV]]&lt;br /&gt;
|{{User|Kunnis Basiat}}&lt;br /&gt;
|Similar to [[llList2CSV]] &amp;amp; [[llCSV2List]] which includes preserving type and escaping characters.&lt;br /&gt;
|-&lt;br /&gt;
|[[list_cast]]&lt;br /&gt;
|{{User2|Fractured Crystal}}&lt;br /&gt;
|Casts a list of strings into the type they appear to be. Designed for preprocessing user input for feeding into [[llSetPrimitiveParams]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Listener Script]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Use to [[listen]] to other people&#039;s conversations (Like spying)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Find_Last_Index|List: Find Last Index]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the last index of searched item in a source list. (backwards version of [[llListFindList]])&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Multi-Find_Index_.28First_or_Last.29|List: Multi Find]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the first found index of multiple search items in a list. (Multi-item version of [[llListFindList]]. Fwd and Rev versions included)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List:_Get_Reverse_Order|List: Reverse]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns an input List in reverse order&lt;br /&gt;
|-&lt;br /&gt;
|[[LinksetIndexing]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|Functions for indexing a linkset by patterns or names down to their linkset numbers.&lt;br /&gt;
|-&lt;br /&gt;
|[[llGetAgentList Sim-Wide Radar]]&lt;br /&gt;
|{{User|Tiaeld Tolsen}}&lt;br /&gt;
|Simple radar implementation using the new [[llGetAgentList]] LSL Function.&lt;br /&gt;
|-&lt;br /&gt;
|[[Live Event Timeout]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script which will set the the music URL back to a radio station of your liking when a DJ leaves or forgets to switch back the URL after a live event. It takes multiple DJs, using a notecard and several configuration parameters.&lt;br /&gt;
|-&lt;br /&gt;
|[[Load URL]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|Touch to get a dialog to visit the URL inside the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[LOGO Turtle]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that interprets basic LOGO commands, extending the directions to 3D.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDancemachine|lsDancemachine]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Low lag client server dancemachine.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDeejay|lsDeejay Home Edition]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Client server media control for music, video, youtube, pictures, and texture animations.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDialog|lsDialog]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Universal notecard driven menu dialog system.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDisplay|lsDisplay]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Picture cycler with preloader.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kephra_Nurmi/lsDistributor|lsDistributor]]&lt;br /&gt;
|[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
| Simple &#039;try&#039; and &#039;buy&#039; vendor system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Wizardry_and_Steamworks/LSL|LSL FUSS]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|FUSS (Frequently Used Short Snippets) is an collection of short snippets provided by [[Wizardry and Steamworks]]. They range from functions to one-liners and are provided for LSL developers.&lt;br /&gt;
|-&lt;br /&gt;
|[[LSL_languageAPI]]&lt;br /&gt;
|{{User|Gypsy Paz}}&lt;br /&gt;
|Multi-lingual API from notecard based language files&lt;br /&gt;
|-&lt;br /&gt;
|[[Mail]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An system for sending objects to multiple recipients automatically supporting shared access and [[Greeter]] compatible auto-subscriptions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mandelbrot Explorer]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An interactive fractal explorer.&lt;br /&gt;
|-&lt;br /&gt;
|[[Materialization Effects]]&lt;br /&gt;
|{{User|Overbrain Unplugged}}&lt;br /&gt;
| Special effects to add to rezzing events to simulate a teleportation or materialization.&lt;br /&gt;
|-&lt;br /&gt;
|[[Materialization Effects 2]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
| More efficient and faster version of Materialization Effects by Overbrain Unplugged.&lt;br /&gt;
|-&lt;br /&gt;
|[[Memory Module]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An example of pseudo-persistent variable in-world storage.&lt;br /&gt;
|-&lt;br /&gt;
|[[Merge Sort]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Implements a Merge Sort in LSL, however this code is 300(ish) times slower than [[llListSort]]. Don&#039;t use this in a script!&lt;br /&gt;
|-&lt;br /&gt;
|[[Minesweeper]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A simple minesweeper game.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mood Color Changer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that changes the color of all primitives in a linkset depending on the smileys the owner types on the main chat.&lt;br /&gt;
|-&lt;br /&gt;
|[[Morse Code]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A script that allows for the conversion to and from morse code and can &amp;quot;play&amp;quot; morse code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multi-displays Texture Cycler]]&lt;br /&gt;
|{{User|Nargus Asturias}}&lt;br /&gt;
|A simple texture rotator designed for multiple display screens. With delay between each screen AND delay between each loop.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multi Item Rezzer|Multi Item Rezzer]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|A rework of my old High Altitude Rezzer. Place the objects that you wish to choose from to be rezzed inside. Sit on the rezzer and pick the item and the height. It will go to target height and rez the object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Multirezzer|Multirezzer (on collision)]]&lt;br /&gt;
|{{User2|Beet Streeter}}&lt;br /&gt;
|Spawns up to 10 objects when the object containing the script collides with a user.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5 RPG System]]&lt;br /&gt;
|[[User:Allen_Kerensky|Allen Kerensky]]&lt;br /&gt;
|Working preview of the Myriad Universal RPG System by Ashok Desai, converted to LSL as a roleplay meter with quest NPC and goals, hand-to-hand and melee close combat, ranged combat, armor, healing, bullet, firearm, holster, practice target, and much more&lt;br /&gt;
|-&lt;br /&gt;
|[[N2K]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A Name To Key (Name2Key) implementation that does not use third-party databases, nor relies on the uptime of not well known websites but rather uses the World Wide Web Consortium to fetch the key of avatars while trying to alert the developers of the consequences of using Name2Key third-party providers as well as trying to refrain from sales pitch terminology such as &amp;quot;best&amp;quot;, &amp;quot;newest&amp;quot; and &amp;quot;fastest&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Name2Key in LSL]]&lt;br /&gt;
|{{User|Maeva Anatine}}&lt;br /&gt;
|Get the Name2Key feature inside your scripts. Works even on lastly subscribed avatars.&lt;br /&gt;
|-&lt;br /&gt;
|[[Name2Key]]&lt;br /&gt;
|{{User2|Nika Rugani}}&lt;br /&gt;
|Newest and fastest Name2Key search, While the database is small it is also connected to Second Life&#039;s search.&lt;br /&gt;
|-&lt;br /&gt;
|[[NexiiText]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Text Renderer, specialised in features, performance and a compact nature. It features unique per character control, such as Colour, Bold, Italics, Underline, Stroke, Icons. The high performance means it comes in at a 5 char / prim ratio, but it is perfect where highly dynamic and rich text is required.&lt;br /&gt;
|-&lt;br /&gt;
|[[NexiiText2]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Second Gen Text Renderer. Same as above but features use of [[PRIM_LINK_TARGET]] and an awesome dynamic prim allocation architecture.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|To stop your long and hard builds from getting returned in sandboxes (&#039;&#039;only single prims, though!&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return NR]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|This really works (29-05-09), needs a nearby region to do the trick and avoid auto return. (Tested on Blue and Rausch)&lt;br /&gt;
|-&lt;br /&gt;
|[[No Auto-Return (Multi)]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A revision of Bella&#039;s that works for multi-prim objects.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Limit Teleporter]]&lt;br /&gt;
|{{User|Morgam Biedermann}}&lt;br /&gt;
|Teleport to infinite altitudes (up to 4096m)&lt;br /&gt;
|-&lt;br /&gt;
|[[Object Size]]&lt;br /&gt;
|{{User|Chase Quinnell}}&lt;br /&gt;
|Gets the dimensions and footprint of a linkset&lt;br /&gt;
|-&lt;br /&gt;
|[[Object to Data v1.4|Object to Data]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Turns an object into text (and back). Allows people to transfer objects through notecards (or otherwise).&lt;br /&gt;
|-&lt;br /&gt;
|[[Online Indicator|Online Indicator]]&lt;br /&gt;
|{{User|Kristy Fanshaw}}&lt;br /&gt;
|Will show if the user is online or not. Displays users profile picture and allows to send IM&#039;s to user. Also gives a link to open the users profile&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Group Join]]&lt;br /&gt;
|{{User|Alicia Stella}}&lt;br /&gt;
|User Touches Object to Join Group from Group Info window, (no bot.)&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Prim Animator]]&lt;br /&gt;
|{{User|Todd Borst}}&lt;br /&gt;
|Single script prim animation tool.  Menu driven, easy to use.&lt;br /&gt;
|-&lt;br /&gt;
|[[Open Zyngo Skin Installer]]&lt;br /&gt;
|{{User2|Tmzasz Luminos}}&lt;br /&gt;
|A Simple Script designed to install skins on the popular Skill machines.&lt;br /&gt;
|-&lt;br /&gt;
|[[Orbitor]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Based on [[Wanderer]], we create [[Orbitor]] which allows a primitive to orbit around an origin point.&lt;br /&gt;
|-&lt;br /&gt;
|[[One Script, many doors]]&lt;br /&gt;
|{{User|Kyrah Abattoir}}&lt;br /&gt;
|Door script able to manage more than 50 linked doors from a single script instance.&lt;br /&gt;
|-&lt;br /&gt;
|[[ParseString2List]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Same as [[llParseString2List]] and [[llParseStringKeepNulls]], but not limited to 8 spacers or separators. Thus substitute a call to the [[llParseString2List]] and [[llParseStringKeepNulls]] functions by a call to [[Parse_String_To_List|ParseString2List]] whenever you have more than 8 separators or more than 8 spacers.&lt;br /&gt;
|-&lt;br /&gt;
|[[Password Generator]]&lt;br /&gt;
|{{User2|Syntrax Canucci}}&lt;br /&gt;
|This is an over-complicated, semi-complex password generator, which goes through multiple steps.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pathfinder]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|A potential field based pathfinding library.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pay to Strip]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This script is mainly meant for dancers and uses RLV to allow people to strip an avatar by making every clothes and attachment piece removable, respectively detachable for a settable price.&lt;br /&gt;
|-&lt;br /&gt;
|[[Permanent Primitive URL]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that uses [http://tiny.cc http://tiny.cc] REST API to update a SIM URL and make it permanent. Full description on how to register and set up a &amp;quot;nice&amp;quot; URL, like: http://tiny.cc/Kira. Should work with most URL shortening services (I&#039;m not affiliated with tiny.cc except for having a pass at them for not allowing OpenSIM-style generated URLs).&lt;br /&gt;
|-&lt;br /&gt;
|[[Personal ATM Machine]]&lt;br /&gt;
|{{User|Jessikiti Nikitin}}&lt;br /&gt;
|Allows deposits and withdrawals into another of your accounts, without the account being logged in.&lt;br /&gt;
|-&lt;br /&gt;
|[[Phantom Child]]&lt;br /&gt;
|{{User|Aeron Kohime}}&lt;br /&gt;
|Causes a child in a link set to become phantom without the entire object becoming phantom.&lt;br /&gt;
|-&lt;br /&gt;
|[[PHP_RegionFunctions]]&lt;br /&gt;
|{{User|Gypsy Paz}} and {{User2|Zayne Exonar}}&lt;br /&gt;
|Three useful PHP functions to get region info&lt;br /&gt;
|-&lt;br /&gt;
|[[PhysicsLib]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Interesting set of fun physics functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[Planar Tile Generator]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script to generate perfectly aligned tiles.&lt;br /&gt;
|-&lt;br /&gt;
|[[Play and Loop Sound]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|Very short and simple script; plays and loops a sound in an object.&lt;br /&gt;
|-&lt;br /&gt;
|[[Posing stand|Posing Stand]]&lt;br /&gt;
|{{User|Bellla Clarity}}&lt;br /&gt;
|Just a pose script to edit [[attachments]] more easily.&lt;br /&gt;
|-&lt;br /&gt;
|[[PosJump]]&lt;br /&gt;
|{{User|Uchi Desmoulins}}&lt;br /&gt;
|A much more efficient alternative to the popular [[warpPos]] function for bypassing 10m distance-moved limitations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Puppeteer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple puppeteer script that will allow you to record and animate prim movements and rotations.&lt;br /&gt;
|-&lt;br /&gt;
|[[Primitive Name Changer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
| A script that changes the primitive&#039;s name based on an user-configurable interval and a notecard list containing possible names.&lt;br /&gt;
|-&lt;br /&gt;
|[[Prefix Calculator]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
| A calculator that evaluates expressions in prefix notation.&lt;br /&gt;
&amp;lt;code&amp;gt;+ 3 4 = 5. * + 1 2 + 3 4 = 14.&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Profile Generator]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A cynical script for generating boilerplate profiles by based on cliches and profile memes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Profile Picture]]&lt;br /&gt;
|[[User: Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
|A working profile picture script with the new SecondLife API (1/11/2011)&lt;br /&gt;
|-&lt;br /&gt;
|[[Progress Bar]]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
| Flexible and powerful little function for creating progress bars useful in hovertext.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pseudo-random Number Generator]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Generates a Pseudo-random number between -0x7FFFFFFF and 0x7FFFFFFF&lt;br /&gt;
|-&lt;br /&gt;
|[[Quick Collar]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple, no-bulk, no external database and essential feature-packed RLV collar script for your pleasures.&lt;br /&gt;
|-&lt;br /&gt;
|[[Quicksort]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|LSL implementation of the Quicksort algorithm.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/Quiz_From_Notecard|Quiz From Notecard]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|A multiple-choice testing script that reads questions and answer choices from a notecard and presents them in dialog boxes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Racter]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|In-world, multi-purpose chatterbot (Eliza/A.L.I.C.E. inspired) supporting multiple configurable hot-swappable brain-files with a wide range of applications.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rainbow_palette]]&lt;br /&gt;
|{{User|Rui Clary}}&lt;br /&gt;
|Build a color picker, using only one prim, and a few lines of code.&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Gaussian Number Generator]]&lt;br /&gt;
|{{User2|Vlad Davidson}}&lt;br /&gt;
|Generates a random number drawn from a normal (Gaussian; bell-curve) distribution, based on a specified mean/stdev&lt;br /&gt;
|-&lt;br /&gt;
|[[Random AV Profile Projector]]&lt;br /&gt;
|{{User|Debbie Trilling}}&lt;br /&gt;
|Randomly selects an AV from a crowd &amp;amp; then projects their profile picture as a &#039;holographic&#039; image&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Object Vendor]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Simple vendor that gives out random objects when paid the right amount&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Password Generator]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|Generate Random passwords based on String Length.&lt;br /&gt;
|-&lt;br /&gt;
|[[RandomPrimParams]]&lt;br /&gt;
|{{User|Xintar Citron}}&lt;br /&gt;
|Simple script which randoms Prim Parameteres, in this example i used color, but you can use everything.&lt;br /&gt;
|-&lt;br /&gt;
|[[RavText]]&lt;br /&gt;
|{{User|Ravenous Dingo}}&lt;br /&gt;
|An alternate to XyText.  This is a lightweight, multiple font 10 character text display system.  It only supports uppercase alphanumeric text and a few special characters, but it is very fast, renders quickly and supports multiple fonts. It is meant for specialized use when all that is desired is basic, fast text display and the extra &amp;quot;bells and whistles&amp;quot; are not needed.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Real Object Inventory To Dialog|Real Object Inventory To Dialog]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Display any amount of items contained in an Object in a Dialog, regardless of item name length.&lt;br /&gt;
|-&lt;br /&gt;
|[[RentalBoxv1|Rental Box, Simply]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Simple explanation of how to make rental boxes.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rental Cube]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Simple cube for renting out a space.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Daemonika_Nightfire/Scripts/*DS*_Rental-Cube|Rental-Cube]]&lt;br /&gt;
|{{User|Daemonika Nightfire}}&lt;br /&gt;
|This is an Open-Source version of a Rental-Cube from Daemonika Nightfire. Just copy/paste this script into a inworld lsl-script and add one notecard called Info/Rules to the content of your cube.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ackley Bing/Textbox2Hovertext|Textbox2Hovertext]]&lt;br /&gt;
|[[User:Ackley Bing|Ackley]]&lt;br /&gt;
|A simple script to allow hovertext to be set with a dialog text box.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remote Texture Loader]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A set of scripts for remotely loading textures within a sim. This means that a single &amp;quot;texture server&amp;quot; can manage multiple changing billboards within a sim.&lt;br /&gt;
|-&lt;br /&gt;
|[[Say Region Frames Per Second|Region Frames Per Second]]&lt;br /&gt;
|{{User2|Heymeriou Mystakidou}}&lt;br /&gt;
| Says the region name and frames per second out loud on command.&lt;br /&gt;
|-&lt;br /&gt;
|[[Security Orb|Security Orb]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A regular security orb that ejects people from a land parcel supporting a menu configuration and a notecard based access list.&lt;br /&gt;
|-&lt;br /&gt;
|[[Resizer multi-prims|Resizer multi-prims]]&lt;br /&gt;
|{{User2|Christy Mansbridge}}&lt;br /&gt;
|1 Mono script to resize object (1 to 256 prims) by blue menu. Avoid risk to break the build by increasing link distance.&lt;br /&gt;
|-&lt;br /&gt;
|[[RLV Collision Grabber]]&lt;br /&gt;
|[[User:Vala_Vella|Vala Vella]]&lt;br /&gt;
|Grab people colliding with the object and sit them on a set target using RLV&lt;br /&gt;
|-&lt;br /&gt;
|[[sbDialog]]&lt;br /&gt;
|[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
|A simple replacement function for [[llDialog]]. It re-orders the button list so that the button values, as passed to it, display left-to-right, top-to-bottom. It also opens a [[llListen|listen]] on the specified channel, and returns the handle.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheduled Payments]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will allow you to make scheduled (and reoccurring) payments to multiple avatars via a notecard.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheduler]]&lt;br /&gt;
|{{User|Haravikk Mistral}}&lt;br /&gt;
|Schedule multiple events using a single script timer&lt;br /&gt;
|-&lt;br /&gt;
|[[Scheme_Interpreter|Scheme Interpreter]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|A scheme interpreter capable of handling most scheme expressions, including lambda and lists.&lt;br /&gt;
|-&lt;br /&gt;
|[[Script Override Functions]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|bypass default strings, integer etc in chat channel.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Toady_Nakamura/Scrubber_Script|Script Scrubber]]&lt;br /&gt;
|{{User|Toady Nakamura}}&lt;br /&gt;
|Script scrubs memory resident script functions from prim and self-deletes the script. Does not damage the prim, or remove other scripts.  Use this to kill bling or other particle effects!&lt;br /&gt;
|-&lt;br /&gt;
|[[Scripted Attachment Detector.lsl|Scripted Attachment Detector]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A script that will display avatars wearing scripted attatchments in hovertext. This may be worn as an hud or rezzed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Self Upgrading Script Enhanced]]&lt;br /&gt;
|{{User|Cron Stardust}}&lt;br /&gt;
|Keeps only latest version of the script on prim (even with multiple adds of the same script!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Sensor Visualizer]]&lt;br /&gt;
|{{User|Cerise Sorbet}}&lt;br /&gt;
|Shows the size and shape you get with [[llSensor]] range and arc parameters&lt;br /&gt;
|-&lt;br /&gt;
|[[Serverless Key Exchange]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Maintains a network of object keys without using an external server.&lt;br /&gt;
|-&lt;br /&gt;
|[[SetLinkText]]&lt;br /&gt;
|{{User2|Tacusin Memo}}&lt;br /&gt;
|Custom function like [[llSetText]] only applying to linked sets.&lt;br /&gt;
|-&lt;br /&gt;
|[[SHA-1|SHA-1 Hash]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Performs a SHA-1 Hash on an input text. Similar to MD5 only (slightly) more secure.&lt;br /&gt;
|-&lt;br /&gt;
|[[SHA-2|SHA-2 Hash]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Performs a SHA-2 Hash on an input text. Similar to SHA-1 only (slightly) more secure.&lt;br /&gt;
|-&lt;br /&gt;
|[[Shoutcast - radio controller v0.3 (remake of similar scripts)]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Control your shoutcast radio stations with this shoutcast controller. Uses notecard for info about genres and stations and menu to select the station. Sends info to Xytext display.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:PixelProphet Lane/Scripts#Show Agent Script Count and memory|Show Agent Script Count and memory]]&lt;br /&gt;
|{{User|PixelProphet Lane}}&lt;br /&gt;
|Fast and efficient method to display the amount of scripts and memory usage for an agent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Map Particle Projector]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|Displays a floating map of the sim the script is in.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Performance Collector (Web-based]]&lt;br /&gt;
|{{User2|DeniseHoorn Slade}}&lt;br /&gt;
|Makes some graphs for your website on the sim-performance (DIL,FPS, PING). PHP and Round Robin Database on Server needed!&lt;br /&gt;
|-&lt;br /&gt;
|[[Sim Restart Logger]]&lt;br /&gt;
|{{User|Kyrah Abattoir}}&lt;br /&gt;
|Counts region restarts and displays log of last 9 restarts together with region FPS and dilation.&lt;br /&gt;
|-&lt;br /&gt;
|[[SIM status]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that will scan and display the status of SIMs (up, down, starting, stopping, unknown, crashed) from a notecard in the same prim as the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[Simple Elevator in a Box]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Simple elevator example.&lt;br /&gt;
|-&lt;br /&gt;
|[[Simple Pay Door]]&lt;br /&gt;
|{{User|Giygas Static}}&lt;br /&gt;
|Simple door you pay to get access.&lt;br /&gt;
|-&lt;br /&gt;
|[[Skillingo AntiHack Script]]&lt;br /&gt;
|{{User2|Tmzasz Luminos}}&lt;br /&gt;
|A simple Protection script for skillingo thats modifyable to work with other machines.&lt;br /&gt;
|-&lt;br /&gt;
|[[Skunk Money]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Fun gambling machine of yesteryear, which only supports freeplay now due to SL regulations against gambling.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLateIt]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An augmented virtual reality HUD.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLetanque]]&lt;br /&gt;
|Babbage Linden&lt;br /&gt;
|An LSL petanque game.&lt;br /&gt;
|-&lt;br /&gt;
|[[SLURL HUD]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Touch this HUD to get a SLURL through IM, email and floating text.&lt;br /&gt;
|-&lt;br /&gt;
|[[BuildSlurl (NewAge)]]&lt;br /&gt;
|{{User2|Archile Azalee}}&lt;br /&gt;
|A way to create a SLurl in a single function BuildSlurl&lt;br /&gt;
|-&lt;br /&gt;
|[[SL Mail V1.2]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Second Life mail client V1.2 (released sept&#039;07). Send and receive mail from within Second Life from and to any address. With Address Book function and many chat commands. V1.3 is upcoming soon!&lt;br /&gt;
|-&lt;br /&gt;
|[[SL_NTPoHTTP_v1.1_client|SL NTPoHTTP client]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|Second Life Needs Time Parsing over Hyper Text Transfer Protocol&lt;br /&gt;
Emulates the function of [[llGetWallclock]] for any timezone by using SLOpenID&#039;s SLNTPoHTTP service. Also supports ISO 8601 and RFC 2822 timestamps. Script is dependent upon an external service operated by the author!&lt;br /&gt;
|-&lt;br /&gt;
|[[Slide Display]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A display for presentations or talks supporting multiple slides as well as zooming-in on the slides.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smile]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|An extended smile script supporting two smiles (extendable via a list) and a time delay triggering them at random.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Rotating Door]]&lt;br /&gt;
|{{User|Toy Wylie}}&lt;br /&gt;
|A script for doors that open and close smoothly using llTargetOmega&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Rotating Linked Door With Hinge]]&lt;br /&gt;
|{{User2|Lyn Mimistrobell}}&lt;br /&gt;
|A script for linked uncut (mesh) doors that smoothly rotates around a virtual hinge without the use of timers&lt;br /&gt;
|-&lt;br /&gt;
|[[Smooth Sliding Door]]&lt;br /&gt;
|{{User|SimonT Quinnell}}&lt;br /&gt;
|A script for sliding doors that open and close smoothly using [[llMoveToTarget]]. Asjusts for prim orientation.&lt;br /&gt;
|-&lt;br /&gt;
|[[Snake Game]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The game of snake in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
|[[Song Requests]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|Helper script for DJs, allowing listeners to request songs and make dedications.&lt;br /&gt;
|-&lt;br /&gt;
|[[Speed Tester]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|Similar to the [[Efficiency Tester]], this script allows you to test the speed of a particular function or snippet with multiple trials giving min/max/avg/median and the standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|[[Spiral Staircase Generator]]&lt;br /&gt;
|{{User|Meyermagic Salome}}&lt;br /&gt;
|Generates nice looking spiral staircases without much hassle.&lt;br /&gt;
|-&lt;br /&gt;
|[[Static URL&#039;s for HTTP-In Service|Static_URLs]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|How to generate a static url for HTTP-In temporal limitations.&lt;br /&gt;
|-&lt;br /&gt;
|[[String Compare]]&lt;br /&gt;
|{{User|Xaviar Czervik}}&lt;br /&gt;
|Compares two strings and reliably returns either 1, -1, or 0 if they are the same.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synchronize]]&lt;br /&gt;
|{{User|Cay Trudeau}}&lt;br /&gt;
|Makes synchronized start to a task on even/odd seconds&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#String:_Find_Last_Index|String: Reverse]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns an input string in reverse order&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#String:_Get_Reverse_Order|String: Last Index]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Returns the last index of search found in string (the backward equivalent of [[llSubStringIndex]])&lt;br /&gt;
|-&lt;br /&gt;
|[[Tail Messages (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|A super nice easy to use script for those non-scripters out there! NewAge coding has done it again where you no longer need to scroll up and down adding buttons and adding messages, Features a tag system (you&#039;ll see what i mean :P)&lt;br /&gt;
|-&lt;br /&gt;
|[[Taper Door (minimalistic)]]&lt;br /&gt;
|{{User2|Kopilo Hallard}}&lt;br /&gt;
|A basic script for doors which open and close using taper.&lt;br /&gt;
|-&lt;br /&gt;
|[[Teleport HUD]]&lt;br /&gt;
|{{User|Jesse Barnett}}&lt;br /&gt;
|WORKS TO 4096 METERS!! Very user friendly teleport HUD. Add destinations by touching &amp;quot;Add&amp;quot; &amp;amp; naming destination in chat. Automatically gets sim name and coordinates. Will only display the destinations in the sim you are currently in. Demonstrates more advanced list manipulation and stride functions.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Enh._Landmark-2-Map|Teleporter (landmark based)]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Uses Landmarks to offer map teleports. Works as Hud or inworld objects, just drop in landmarks and go.&lt;br /&gt;
|-&lt;br /&gt;
|[[Text_Scroller|Text Scroller]]&lt;br /&gt;
|[[User:Fred_Gandt|Fred Gandt]]&lt;br /&gt;
|A simple text display object that scrolls text (applied as a texture) from right to left (like &#039;&#039;those&#039;&#039; LED signs) in a continuous loop.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bobbyb&#039;s texture changer|Texture Changers]]&lt;br /&gt;
|{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
|A collection of texture changing scripts.&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Menu Management|Texture Management]]&lt;br /&gt;
|{{User|Revolution Perenti}}&lt;br /&gt;
|Dialog Menu based Texture Selection.&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Particle Poofer|Texture Particle Poofer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a generic dialog-based particle poofer, emitting textures towards an avatar for a configurable amount of time.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Xen_Lisle/Texture_Slide|Texture Slide]]&lt;br /&gt;
|{{User|Xen Lisle}}&lt;br /&gt;
|Slides a texture on mouse movement&lt;br /&gt;
|-&lt;br /&gt;
|[[Tic Tac Toe]]&lt;br /&gt;
|CG Linden&lt;br /&gt;
|Step by step demo on how to implement a larger scripting project&lt;br /&gt;
|-&lt;br /&gt;
|[[TightList]]&lt;br /&gt;
|{{User|Strife Onizuka}}&lt;br /&gt;
|Tight List is a family of functions for encoding lists as strings and then decoding them back into lists.&lt;br /&gt;
There are two flavors: TightList and TightListType. TightListType preserves types and uses a 6 char header, while TightList uses a 1 char header that doesn&#039;t preserve type.&lt;br /&gt;
|-&lt;br /&gt;
|[[Timer Module]]&lt;br /&gt;
|{{User|Isabelle Aquitaine}}&lt;br /&gt;
|Manage multiple timers via linked messages.&lt;br /&gt;
|-&lt;br /&gt;
|[[Two Avatars on single prim]]&lt;br /&gt;
|{{User2|Pale Janus|Cay Trudeau}}&lt;br /&gt;
|Allow two (or more) avatars to sit on same prim&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Unix_time_code_to_list_format|Timestamp:&amp;lt;br&amp;gt;Unix time code to list format]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|converts Unix timestamps to their [Y, M, D, h, m, s] equivalents (ex: 1234567890 to [2009, 2, 13, 3, 31, 30])&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#List_format_to_Unix_time_code.|Timestamp:&amp;lt;br&amp;gt;List format to Unix time code]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|converts [Y, M, D, h, m, s] timestamps to their Unix equivalents (ex: [2009, 2, 13, 3, 31, 30] to 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Weekday_from_Unix_timestamp|Timestamp:&amp;lt;br&amp;gt;Weekday from Unix timestamp]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Gets weekday from Unix timestamps (ex: &amp;quot;Friday&amp;quot; from 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
|[[Texture Repeater]]&lt;br /&gt;
|{{User2|Jenna Felton}}&lt;br /&gt;
|Observes textures and texture parameters on the prim. If changed, bulk-updates other prims in linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[The Stash (Bank)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a depositing system to link your secondary account (alt) to a prim in-world so you can retrieve money without switching back and forth between accounts. It supports setting an upper limit, sharing the stash if you wish, logging everybody who deposited money and retrieved money, sending money to a list of bookmarked avatars and getting a status of your current holdings. It also explains some tricks for developers, for example, how to get another timer() if your current timer() is used up already.&lt;br /&gt;
|-&lt;br /&gt;
|[[Tipjar]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|This is a fully fledged tipjar supporting shared access, split profits, inviting to group, handing over gifts, maintaining statistics of who tipped most and who tipped in general, eliminating deed to group and comes with an innovative feature: it periodically moves around from avatar to avatar in the room and returns back to its initial position after a sweep. This way your tijpar will not be static, but participate in the party!&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Functions#Weekday_from_.28_Y.2C_M.2C_D_.29_format|Timestamp:&amp;lt;br&amp;gt;Weekday from (Y, M, D) format]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Gets weekday from (Y, M, D) timestamps (ex: &amp;quot;Friday&amp;quot; from (2009, 2, 13))&lt;br /&gt;
|-&lt;br /&gt;
|[[Touch A Quote]]&lt;br /&gt;
|{{User|CodeBastard Redgrave}}&lt;br /&gt;
|Touch an object to read quotes sequentially from a notecard&lt;br /&gt;
|-&lt;br /&gt;
|[[Touring Balloon]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Automated touring balloon with many options from long ago.  Always seems to work on one SL release, and not the other.&lt;br /&gt;
|-&lt;br /&gt;
|[[Towncrier]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A simple towncrier to be used in role-play SIMs or wherever there is a need to broadcast news in random intervals.&lt;br /&gt;
|-&lt;br /&gt;
|[[Trivia]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A trivia game engine with provided ready-made notecards.&lt;br /&gt;
|-&lt;br /&gt;
|[[Under Age Boot]]&lt;br /&gt;
|{{User|Chance Unknown}}&lt;br /&gt;
|Security device example to teleport home accounts below a minimum age limit; can be useful in combating free griefer accounts.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Rolig_Loon/UNDO_PosRot|UNDO_PosRot]]&lt;br /&gt;
|{{User|Rolig Loon}}&lt;br /&gt;
|Allows user to undo position and rotation changes that have been made &amp;quot;manually&amp;quot; to any or all prims in a linkset.&lt;br /&gt;
|-&lt;br /&gt;
|[[Universal Translator]]&lt;br /&gt;
|{{User|Hank Ramos}}&lt;br /&gt;
|Chat listener that handles seamless translation of public chat between 50+ written languages without the need for configuration.  Handles numerous avatars, auto-detects languages, and works together with multiple copies of translators to spread-workload using a sophisticated back-end communications sub-system.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unix2DateTime]]&lt;br /&gt;
|{{User|Flennan Roffo}}&lt;br /&gt;
|Conversion from Unix time ([[llGetUnixTime]]()) to date and time string and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unmutable Descript Nagger]]&lt;br /&gt;
|{{User|Bobbyb30 Zohari}}&lt;br /&gt;
|To nag avatars to take off their scripted attatchments.&lt;br /&gt;
|-&lt;br /&gt;
|[[Unpacker On Rez (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|A very simple to use script for all you creators out there, This script will enable you to send out boxed items and make it easier for users to unpack, Also features auto die on completion. Very simple to configure!&lt;br /&gt;
|-&lt;br /&gt;
|[[Unpacker On Touch (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Exactly like Unpacker On Rez, But changed some things about to make it Unpack On Touch&lt;br /&gt;
|-&lt;br /&gt;
|[[Update distributor]]&lt;br /&gt;
|{{User|Dale Innis}}&lt;br /&gt;
|Distribute an object (like a project update) to a list of people named in a notecard.&lt;br /&gt;
|-&lt;br /&gt;
|[[UUID2Channel]]&lt;br /&gt;
|{{User|Project Neox}}&lt;br /&gt;
|Optimised version of the original key2channel generators.&lt;br /&gt;
|-&lt;br /&gt;
|[[UUID Song Generator]]&lt;br /&gt;
|{{User2|Sendao Goodman}}&lt;br /&gt;
|Translates a UUID into a simple song and plays it.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/Programs#v7-D_Advanced_Visitor_Greeter|Visitor Greeter]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Reduced spam visitor greeter, highly configurable, easy to modify.&lt;br /&gt;
|-&lt;br /&gt;
|[[VariText]]&lt;br /&gt;
|[[User:Geneko Nemeth|Geneko Nemeth (Kakurady)]]&lt;br /&gt;
|Display text on a prim, without looking like from a typewriter&lt;br /&gt;
|-&lt;br /&gt;
|[[Visitor Logger (Web/Basic) ]]&lt;br /&gt;
|{{User|Buddy Sprocket}}&lt;br /&gt;
|A very basic visitor logger - log visitors in SL to a text file on your web-site.&lt;br /&gt;
|-&lt;br /&gt;
|[[Visitors]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A series of scripts to hold lists of visitors taking into account display names and supporting tracking multiple visits.&lt;br /&gt;
|-&lt;br /&gt;
|[[Volleyball Game (Kira&#039;s Artillery Variations)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|The game of Volleyball in SecondLife, based on the [[Artillery]] script and freefall theory. Full build instructions, scripts, import archive and marketplace freebie product. All full permission.&lt;br /&gt;
|-&lt;br /&gt;
|[[Vote Simple]]&lt;br /&gt;
|{{User|JB Kraft}}&lt;br /&gt;
|Simple vote collector. One avi, one vote.&lt;br /&gt;
|-&lt;br /&gt;
|[[Walking Sound (NewAge)]]&lt;br /&gt;
|{{User|Asia Snowfall}}&lt;br /&gt;
|Very powerful walking sound script, Featuring customer ability to add their own sounds with the API Sound Feature!&lt;br /&gt;
|-&lt;br /&gt;
|[[Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A script that can be used to randomly move a prim around relative to its origin point. Can be used for breeders, robots, birds and other applications where a primitive has to move around by itself.&lt;br /&gt;
|-&lt;br /&gt;
|[[WarpPos]]&lt;br /&gt;
|{{User2|Keknehv Psaltery}}&lt;br /&gt;
|Non-physical movement without the 10m limit.&lt;br /&gt;
|-&lt;br /&gt;
|[[Watchdog]]&lt;br /&gt;
|{{User|Tika Oberueng}}&lt;br /&gt;
|LSL Watchdog scripts to monitor other scripts in the prim and restart them if they crash or stop running.&lt;br /&gt;
|-&lt;br /&gt;
|[[Wiki3DBuilder]] [[Wiki3DBuilder1.0]]&lt;br /&gt;
|{{User|Salahzar Stenvaag}}&lt;br /&gt;
|Allows a group of people to collectively build up complex 3D mindmaps with connected concepts. Uses particles for connections and low prim usage. Nodes can be textured, colored, changed form size moved collectively by everybody and can distribute notecards, landmarks, URL, objects, textures. I provide two version 0.1 and 1.0 and probably next version will communicate with moodle and sloodle external websites.&lt;br /&gt;
|-&lt;br /&gt;
|[[Window Control]]&lt;br /&gt;
|{{User|Emmas Seetan}}&lt;br /&gt;
|For window opacity, helpful for buildings.&lt;br /&gt;
|-&lt;br /&gt;
|[[XTEA Strong Encryption Implementation]]&lt;br /&gt;
|{{User|Morse Dillon}}&lt;br /&gt;
|An LSL implementation of XTEA (eXtended Tiny Encryption Algorithm).  This is the first known public release of a &#039;real&#039; strong encryption implementation in LSL and is released under the GNU General Public License (GPL).&lt;br /&gt;
|-&lt;br /&gt;
|[[XyText 1.5|XyText]]&lt;br /&gt;
|{{User2|Xylor Baysklef}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Use as many prims as desired.&lt;br /&gt;
|-&lt;br /&gt;
|[[XyyyyzText|XyyyyzText]]&lt;br /&gt;
|{{User|Criz Collins}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO&lt;br /&gt;
|-&lt;br /&gt;
|[[XyzzyText|XyzzyText]]&lt;br /&gt;
|{{User|Thraxis Epsilon}} and {{User|Gigs Taggart}}&lt;br /&gt;
| Display text (up to 10 characters) on a prim. Way more efficient than XyText.&lt;br /&gt;
|-&lt;br /&gt;
|[[Youtube TV]]&lt;br /&gt;
|{{User|Morgam Biedermann}}&lt;br /&gt;
|Watch your favorite Youtube videos / auto set the texture to the parcel media texture.&lt;br /&gt;
|-&lt;br /&gt;
|[[Input number of seconds, get a string back that shows days, hours, minutes, seconds]]&lt;br /&gt;
|{{User|Fire Centaur}}&lt;br /&gt;
|Returns a string that displays days, hours, seconds&lt;br /&gt;
|-&lt;br /&gt;
|[[Presenter with Timer]]&lt;br /&gt;
|[[User:Fire Centaur]]&lt;br /&gt;
|Yet another texture presenter with a timer, lock, next/prev etc&lt;br /&gt;
|-&lt;br /&gt;
|[[Random Giver Prim]]&lt;br /&gt;
|{{User|Damian Darkwyr}}&lt;br /&gt;
|A randomized item giver with a game-like twist&lt;br /&gt;
|-&lt;br /&gt;
|[[Client Specific Contents Giver]]&lt;br /&gt;
|{{User|Damian Darkwyr}}&lt;br /&gt;
|Give Contents only to users of a specific Client. Such as Phoenix, CoolVL or 2.0&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Void_Singer/v7-D_Zen_Resizer|Zen Resizer]]&lt;br /&gt;
|{{User|Void Singer}}&lt;br /&gt;
|Single script object resizer w/ multi-language &amp;amp; multi-menu support, + many other features for simple or advanced use.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Yumi Murakami/Weaver Spell Grid|Weaver Spell Grid]]&lt;br /&gt;
|{{User|Yumi Murakami}}&lt;br /&gt;
|Designs simple objects and creates them with magic words.&lt;br /&gt;
|-&lt;br /&gt;
|[[Zero Lag Poseball]]&lt;br /&gt;
|{{User|Jippen Faddoul}} and {{User|Daemonika Nightfire}}&lt;br /&gt;
|A simple poseball with no lag&lt;br /&gt;
|-&lt;br /&gt;
|[[Zigzag Sequence]]&lt;br /&gt;
|{{User|Project Neox}}&lt;br /&gt;
|Zigzag sequence generator I developed while scripting checkers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Support Script Library==&lt;br /&gt;
These are scripts in other languages, intended to be run on other systems that support scripts written in LSL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Nexii-Malthus/phpPathfinding phpPathfinding]&lt;br /&gt;
|{{User|Nexii Malthus}}&lt;br /&gt;
|PHP script for offloading complex pathfinding operations away from heavy use simulators onto external servers. Primarily A* Algorithm. Flexible -- works with any type of node graph. Public Domain. Clean and minimalistic code.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ina Centaur/UUID/calimg.api|Calendar Image UUID API]]&lt;br /&gt;
|{{User|Ina Centaur}}&lt;br /&gt;
|API that gives the UUID of an image of a calendar image give month and year arguments.&lt;br /&gt;
|-&lt;br /&gt;
|[[HTTP Post request to a PHP server]]&lt;br /&gt;
|{{User|Corto Maltese}}&lt;br /&gt;
|This small library allows you to make simple POST requests to your website. The libraries allow you to get your request through the variable $_POST on the server. It also include a basic security mechanism aimed to stop hacking. Comprises of LSL client script and PHP server script.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ina Centaur/PHP/k2n.php|Key2Name.php]]&lt;br /&gt;
|{{User|Ina Centaur}}&lt;br /&gt;
|Get Avatar&#039;s Name using Second Life search service. (like in LSL Key2Name)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Darien_Caldwell/HTTP-DNS|HTTP-IN DNS]]&lt;br /&gt;
|{{User|Darien Caldwell}}&lt;br /&gt;
|Public Domain DNS and HTTP-IN URL Distribution system running on GAE (the original). Deploy your own for maximum utility and security.&lt;br /&gt;
|-&lt;br /&gt;
|[[Lame_Object_DNS_and_Cross_Sim_Messaging|Lame Object DNS and Cross Sim Messaging]]&lt;br /&gt;
|{{User2|Liandra Ceawlin}}&lt;br /&gt;
|Simple, cheeseball method of doing cross-sim communications with http-in and an external object DNS service.&lt;br /&gt;
|-&lt;br /&gt;
|[[Minify|LSL Minify]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|LSL Minification and obfuscation tool written in JavaScript. Contains a form on the wiki using a widget where you can post LSL scripts to be minified as well as the source-code. For another full-screen demo you may [http://eva.comaroski.me/lslclean.html check it on my website]. To use, paste any LSL code and press ctrl+alt+enter to get the minified version.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:SignpostMarv Martin/PHP/llXorBase64StringsCorrect|llXorBase64StringsCorrect]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|An implementation of [[llXorBase64StringsCorrect]] in PHP- should be useful if you&#039;re using llXorBase64StringsCorrect to do cryptography work in LSL2 and posting it out to the web via [[llHTTPRequest]].&lt;br /&gt;
|-&lt;br /&gt;
|[[User:SignpostMarv Martin/PHP/lsl fu.php|lsl_fu.php]]&lt;br /&gt;
|{{User|SignpostMarv Martin}}&lt;br /&gt;
|A basic OOP&#039;d PHP Class containing VeloxSeverine&#039;s $_POST fixer and Marv&#039;s own eccentric ideas for &amp;quot;fixing&amp;quot; things.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Jor3l Boa/PHP/n2k.php|Name2Key.php]]&lt;br /&gt;
|{{User|Jor3l Boa}}&lt;br /&gt;
|Get Avatar&#039;s UUID using Second Life search service. (like in LSL Name2Key)&lt;br /&gt;
|-&lt;br /&gt;
|[[Public_Object_DNS|Public Object DNS]]&lt;br /&gt;
|{{User2|Liandra Ceawlin}}&lt;br /&gt;
|Public object DNS-like system running on GAE, for http-in. Hopefully scalable enough for wide-spread usage.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rake|Rake]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
|A C# utility meant to create full inventory backups to your local hard-drive including Textures/Sculpts, Animations, Notecards and Scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Silo&lt;br /&gt;
|{{User2|Zero Linden}}&lt;br /&gt;
|General purpose data store in PHP.  Use this to persist arbitrary data from LSL via [[llHTTPRequest]].  See:&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo-README.txt README] file&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo.tgz silo.tgz] tarball&lt;br /&gt;
* forum post [http://forums-archive.secondlife.com/54/69/119570/1.html Announcement].&lt;br /&gt;
|-&lt;br /&gt;
|[[Silverday ObjectDNS]]&lt;br /&gt;
|{{User|Till Stirling}}&lt;br /&gt;
|Dynamic Object-DNS-System to provide dynamic mapping of LSL-URLs to persistent domains. Features include redirect service, password protected domains, write protected domains, LSL-API for all necessary functions, optional web-interface.&lt;br /&gt;
|-&lt;br /&gt;
|[http://aubretec.com/products/sldb SLDB]&lt;br /&gt;
|{{User2|Luc Aubret}}&lt;br /&gt;
|Flexible web database storage using PHP/MySQL.  Used to store per-user field/value pairs from in-world objects using [[llHTTPRequest]].&lt;br /&gt;
* [http://aubretec.com/support/manuals/sldbkit/ Implementation Guide]&lt;br /&gt;
* [http://aubretec.com/wp-content/uploads/2009/05/sldb.zip Download] (.zip, 12kb)&lt;br /&gt;
|-&lt;br /&gt;
|[https://tlabsfoundry.atlassian.net/wiki/display/SLAD/SL+Asset+Data SL Asset Data]&lt;br /&gt;
|{{User|Trimda Hedges}}&lt;br /&gt;
|A set of Java classes to retrieve information about Groups, Parcels and Agents/Avatars based on their key (UUID).  Includes caching of requests and results and example application.  Copyright under Eclipse Public License v1&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/SLAD/Downloads Downloads]&lt;br /&gt;
* [http://trimda.com/javadocs/slassetdata/1.1.0/ JavaDocs]&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/TF/TLabs+Foundry Other Projects]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Articles&#039;&#039;&#039;&lt;br /&gt;
*[[:Category:LSL Examples| Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{LSLC|}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182218</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182218"/>
		<updated>2013-10-06T15:41:59Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DISCLAIMER:&lt;br /&gt;
    Do note, that in a linkset other child prims may move if you are not careful when setting this up.&lt;br /&gt;
    That means you have to tell the script how many prims is normal for your linkset and reset all scripts before testing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MASTER SCRIPT: ===&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//  October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
//  NOTE:&lt;br /&gt;
//      An avatar counts as a child prim within a linkset, if you wish to move&lt;br /&gt;
//      it after it has sat down, you need to know what her prim number is and&lt;br /&gt;
//      use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
&lt;br /&gt;
integer lastnum;&lt;br /&gt;
&lt;br /&gt;
key     firstavatar;&lt;br /&gt;
key     secondavatar;&lt;br /&gt;
&lt;br /&gt;
string  animation;&lt;br /&gt;
&lt;br /&gt;
integer num;&lt;br /&gt;
&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
&lt;br /&gt;
integer originalprims;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer start_param)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION, 0);&lt;br /&gt;
&lt;br /&gt;
//      do not remove the position offset of the sit target&lt;br /&gt;
        llSitTarget(&amp;lt;1.0, 1.0, 1.0&amp;gt;, llEuler2Rot(ZERO_VECTOR*DEG_TO_RAD));&lt;br /&gt;
&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
&lt;br /&gt;
        lastnum       = llGetNumberOfPrims();&lt;br /&gt;
        originalprims = llGetNumberOfPrims();//  you can set this value to your unsitted object&lt;br /&gt;
&lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1.0, 0.0, 1.0&amp;gt; * ZERO_ROTATION);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt; 3.0, 0.0, 1.0&amp;gt; * ZERO_ROTATION);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if (change &amp;amp;  CHANGED_REGION_START)&lt;br /&gt;
        {&lt;br /&gt;
            llResetScript();&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {  &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
&lt;br /&gt;
//          below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt; originalprims)//  New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
//              1st avatar sitting&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; (originalprims + 2))&lt;br /&gt;
                {&lt;br /&gt;
                    firstnum    = llGetNumberOfPrims();&lt;br /&gt;
//                  the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) because two avatars)&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum);&lt;br /&gt;
&lt;br /&gt;
                    llRequestPermissions(firstavatar, PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
&lt;br /&gt;
//                  this is where we determine the avatar&#039;s sitting position&lt;br /&gt;
                    llSetLinkPrimitiveParamsFast(firstnum, [&lt;br /&gt;
                        PRIM_POS_LOCAL, &amp;lt;0.0,-0.8, 0.2&amp;gt;,//  &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                        PRIM_ROT_LOCAL, ZERO_ROTATION]);&lt;br /&gt;
&lt;br /&gt;
                    llSitTarget(ZERO_VECTOR, ZERO_ROTATION);//  releasing the sit target for next avatar&lt;br /&gt;
&lt;br /&gt;
                    lastnum = llGetNumberOfPrims();&lt;br /&gt;
                }&lt;br /&gt;
//              2nd avatar sitting&lt;br /&gt;
                if ( num &amp;gt; (originalprims + 1) )&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = llGetNumberOfPrims();&lt;br /&gt;
                    lastnum = llGetNumberOfPrims();&lt;br /&gt;
&lt;br /&gt;
                    llMessageLinked(LINK_THIS, 200, (string)secondnum, &amp;quot;&amp;quot;);//  sends key&lt;br /&gt;
                 }&lt;br /&gt;
            }&lt;br /&gt;
//          standing up (I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom)&lt;br /&gt;
            else if (num &amp;lt; lastnum)&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot(ZERO_VECTOR*DEG_TO_RAD));&lt;br /&gt;
&lt;br /&gt;
//                  next line is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
//                  llMessageLinked(LINK_THIS, 1111, &amp;quot;whostoodup&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            lastnum = llGetNumberOfPrims();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)&lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SLAVE SCRIPT: ===&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
//  October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
integer lastnum;&lt;br /&gt;
integer avatarcount;&lt;br /&gt;
key     coavatar;&lt;br /&gt;
string  animation;&lt;br /&gt;
string  whostoodup;&lt;br /&gt;
&lt;br /&gt;
key     secondavatar;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer start_param)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSitTarget(&amp;lt;1.0, 1.0, 1.0&amp;gt;, llEuler2Rot(ZERO_VECTOR*DEG_TO_RAD));&lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION, 0);&lt;br /&gt;
        lastnum   = llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    link_message(integer sender_num, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
//      someone just stood up&lt;br /&gt;
        if(num == 1111)&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
//      when making multiple avatar sit arrangements,&lt;br /&gt;
//      a new slave will have different num for each,&lt;br /&gt;
//      third script would have num == 300, fourth script would have num ==400 etc.&lt;br /&gt;
&lt;br /&gt;
//      received 2nd avatar key&lt;br /&gt;
        if (num == 200)&lt;br /&gt;
        {&lt;br /&gt;
            secondnum    = (integer)str;&lt;br /&gt;
            secondavatar = llGetLinkKey(secondnum);&lt;br /&gt;
&lt;br /&gt;
            llRequestPermissions(secondavatar, PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
&lt;br /&gt;
//          this is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum, [&lt;br /&gt;
                PRIM_POS_LOCAL, &amp;lt;0.0, 0.8, 0.2&amp;gt;,//  &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                PRIM_ROT_LOCAL, ZERO_ROTATION]);&lt;br /&gt;
&lt;br /&gt;
//          releasing the sit target for next avatar&lt;br /&gt;
            llSitTarget(ZERO_VECTOR, ZERO_ROTATION);&lt;br /&gt;
&lt;br /&gt;
//          we message the third script&lt;br /&gt;
//          llMessageLinked(LINK_THIS, 300, &amp;quot;2nd avatar sat down&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)&lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182212</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182212"/>
		<updated>2013-10-05T15:19:31Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: Do note, that in a linkset other child prims may move if you are not careful when setting this up. That means you have to tell the script how many prims is normal for your linkset&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer lastnum;   &lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, if you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
                &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims(); // you can set this value to your unsitted object&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; (originalprims + 2))  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = llGetNumberOfPrims();&lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; (originalprims + 1) )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = llGetNumberOfPrims();&lt;br /&gt;
                    lastnum = llGetNumberOfPrims();&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,1111,&amp;quot;whostoodup&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = llGetNumberOfPrims();&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
string whostoodup;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         if(num == 1111) //someone just stood up&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
              }&lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182211</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182211"/>
		<updated>2013-10-05T15:16:15Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: Do note, that in a linkset other child prims may move if you are not careful when setting this up. That means you have to tell the script how many prims is normal for your linkset&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer lastnum;   &lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, if you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
                &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims(); // you can set this value to your unsitted object&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; (originalprims + 2))  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; &lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; (originalprims + 1) )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = llGetNumberOfPrims();&lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,1111,&amp;quot;whostoodup&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
string whostoodup;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         if(num == 1111) //someone just stood up&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
              }&lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182210</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182210"/>
		<updated>2013-10-05T15:14:58Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: Do note, that in a linkset other child prims may move if you are not careful when setting this up. That means you have to tell the script how many prims is normal for your linkset&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer lastnum;   &lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, if you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
                &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims(); // you can set this value to your unsitted object&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; (originalprims + 2))  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; &lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; (originalprims + 1) )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,1111,&amp;quot;whostoodup&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
string whostoodup;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         if(num == 1111) //someone just stood up&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
              }&lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182209</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182209"/>
		<updated>2013-10-05T14:57:13Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: Do note, that in a linkset other child prims may move if you are not careful when setting this up&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer lastnum;   &lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, if you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
                &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; &lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,1111,&amp;quot;whostoodup&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
string whostoodup;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         if(num == 1111) //someone just stood up&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
              }&lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182208</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182208"/>
		<updated>2013-10-05T14:36:01Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer lastnum;   &lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, if you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
                &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; &lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,1111,&amp;quot;whostoodup&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
string whostoodup;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         if(num == 1111) //someone just stood up&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
              }&lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182206</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182206"/>
		<updated>2013-10-05T14:33:00Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer lastnum;   &lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, if you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
                &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; &lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,1111,&amp;quot;whostoodup&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;) 1111 being a channel to all slaves&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
string whostoodup;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         if(num == 1111) //someone just stood up&lt;br /&gt;
        {&lt;br /&gt;
            whostoodup = str;&lt;br /&gt;
              }&lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, -0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182205</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182205"/>
		<updated>2013-10-05T14:28:08Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
   integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, íf you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        //avatarcount = 0;&lt;br /&gt;
        &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
      &lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)  // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum); //the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   &lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; &lt;br /&gt;
                 &lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )// second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                   &lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                 }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2) end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )&lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,500,&amp;quot;1st avatar stood up&amp;quot;,&amp;quot;&amp;quot;); //This is a hint for how to make an edition for multiple avatars ;)&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
         &lt;br /&gt;
&lt;br /&gt;
        if(num == 200) //received 2nd avatar key &lt;br /&gt;
// when making multiple avatar scipring, a new slave will have different num, fe. third script would have num == 300 a fourth num ==400 etc.&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                   &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, -0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            // llMessageLinked(LINK_THIS,300,&amp;quot;2nd avatar sat down&amp;quot;,&amp;quot;&amp;quot;); // We message the third script&lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182204</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182204"/>
		<updated>2013-10-05T14:14:27Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
   integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, íf you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        //avatarcount = 0;&lt;br /&gt;
        &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
       //  llOwnerSay((string)avatarcount);&lt;br /&gt;
        // llOwnerSay((string)num);&lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) //(num &amp;gt; lastnum &amp;amp;&amp;amp; avatarcount &amp;lt; 2)  // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)          //(avatarcount &amp;lt; 1) // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum);//the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   llSay(0,(string)firstavatar);&lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; // Cay added this&lt;br /&gt;
                    //avatarcount = //avatarcount + 1;&lt;br /&gt;
                  //  llMessageLinked(LINK_THIS,100,&amp;quot;1st avatar sat down&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )//(avatarcount &amp;gt; 1) // second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                    //avatarcount = //avatarcount + 1;&lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                     llOwnerSay( &amp;quot;sending secondnum &amp;quot; + (string)secondnum);&lt;br /&gt;
                  }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // num &amp;gt; lastnum &amp;amp;&amp;amp; //avatarcount &amp;lt; 2 end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
            //avatarcount = //avatarcount - 1;&lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )//(avatarcount &amp;lt; 2) &lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,500,&amp;quot;1st avatar stood up&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
                //avatarcount = //avatarcount - 1;   &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
// October 5th 2013 Pale Janus &amp;amp; Cay Trudeau&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
          llSay(0,&amp;quot;link message&amp;quot; + (string) num  + &amp;quot; str &amp;quot; + (string)str);&lt;br /&gt;
        if(num == 200) //received 2nd avatar key&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    llSay(0,(string)secondnum);&lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, -0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182203</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182203"/>
		<updated>2013-10-05T14:11:12Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar.&lt;br /&gt;
&lt;br /&gt;
This is a modification of Pale Janus&#039;s script, originally posted here: [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=4799 OsGrid]&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
   integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, íf you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        //avatarcount = 0;&lt;br /&gt;
        &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
       //  llOwnerSay((string)avatarcount);&lt;br /&gt;
        // llOwnerSay((string)num);&lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) //(num &amp;gt; lastnum &amp;amp;&amp;amp; avatarcount &amp;lt; 2)  // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)          //(avatarcount &amp;lt; 1) // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum);//the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   llSay(0,(string)firstavatar);&lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; // Cay added this&lt;br /&gt;
                    //avatarcount = //avatarcount + 1;&lt;br /&gt;
                  //  llMessageLinked(LINK_THIS,100,&amp;quot;1st avatar sat down&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )//(avatarcount &amp;gt; 1) // second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                    //avatarcount = //avatarcount + 1;&lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                     llOwnerSay( &amp;quot;sending secondnum &amp;quot; + (string)secondnum);&lt;br /&gt;
                  }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // num &amp;gt; lastnum &amp;amp;&amp;amp; //avatarcount &amp;lt; 2 end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
            //avatarcount = //avatarcount - 1;&lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )//(avatarcount &amp;lt; 2) &lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,500,&amp;quot;1st avatar stood up&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
                //avatarcount = //avatarcount - 1;   &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
          llSay(0,&amp;quot;link message&amp;quot; + (string) num  + &amp;quot; str &amp;quot; + (string)str);&lt;br /&gt;
        if(num == 200) //received 2nd avatar key&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    llSay(0,(string)secondnum);&lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, -0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
   //05.10.2013 16:10 to make master ans slave scripts, only one detects change&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182202</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182202"/>
		<updated>2013-10-05T14:07:31Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
   integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key firstavatar;&lt;br /&gt;
key secondavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
integer num;&lt;br /&gt;
integer firstnum;&lt;br /&gt;
integer secondnum;&lt;br /&gt;
integer  originalprims;&lt;br /&gt;
//NOTE: An avatar is a CHILD prim, íf you wish to move it after it has sat down, you need to know what her prim number is and use llSetLinkPrimitiveParamsFast to move her&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        //avatarcount = 0;&lt;br /&gt;
        &lt;br /&gt;
        animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
        llSetSitText(&amp;quot;Sit&amp;quot;);&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
     &lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
        originalprims=llGetNumberOfPrims();&lt;br /&gt;
       &lt;br /&gt;
        llSetCameraEyeOffset(&amp;lt;-1, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
        llSetCameraAtOffset(&amp;lt;3, 0, 1&amp;gt; *  &amp;lt;0.0, 0.0, 0.0, 0.0&amp;gt;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if ( change &amp;amp;  CHANGED_REGION_START) do { llResetScript(); } while (TRUE);&lt;br /&gt;
&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {   &lt;br /&gt;
            num = llGetNumberOfPrims();&lt;br /&gt;
       //  llOwnerSay((string)avatarcount);&lt;br /&gt;
        // llOwnerSay((string)num);&lt;br /&gt;
            &lt;br /&gt;
             // Below is where all the magic happens&lt;br /&gt;
            if (num &amp;gt;  originalprims) //(num &amp;gt; lastnum &amp;amp;&amp;amp; avatarcount &amp;lt; 2)  // New avatar sitting down&lt;br /&gt;
            {&lt;br /&gt;
                if (num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2)          //(avatarcount &amp;lt; 1) // 1st avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                      firstnum = llGetNumberOfPrims();&lt;br /&gt;
                    firstavatar = llGetLinkKey(firstnum);//the avatar&#039;s UUID (cannot use llGetKey(llAvatarOnSitTarget) bc two avatars)&lt;br /&gt;
                   llSay(0,(string)firstavatar);&lt;br /&gt;
                      &lt;br /&gt;
                     llRequestPermissions(firstavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    &lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(firstnum,[PRIM_POS_LOCAL,&amp;lt;0.0, -0.8, 0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = firstnum; // Cay added this&lt;br /&gt;
                    //avatarcount = //avatarcount + 1;&lt;br /&gt;
                  //  llMessageLinked(LINK_THIS,100,&amp;quot;1st avatar sat down&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
                  }//1st avatar sitting end&lt;br /&gt;
                 &lt;br /&gt;
                  &lt;br /&gt;
                 &lt;br /&gt;
                   if ( num &amp;gt; originalprims + 1 )//(avatarcount &amp;gt; 1) // second avatar sitting&lt;br /&gt;
                {&lt;br /&gt;
                    secondnum = num;&lt;br /&gt;
                    &lt;br /&gt;
                    lastnum = secondnum; // Cay added this&lt;br /&gt;
                    //avatarcount = //avatarcount + 1;&lt;br /&gt;
                   llMessageLinked(LINK_THIS,200,(string)secondnum,&amp;quot;&amp;quot;); //sends key&lt;br /&gt;
                    &lt;br /&gt;
                     llOwnerSay( &amp;quot;sending secondnum &amp;quot; + (string)secondnum);&lt;br /&gt;
                  }//second avatar sitting end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
                           &lt;br /&gt;
            } // num &amp;gt; lastnum &amp;amp;&amp;amp; //avatarcount &amp;lt; 2 end&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            else if (num &amp;lt; lastnum) //standing up ( I think this requires change upon the lastnum when the avatar sits, although it is mentioned at the bottom&lt;br /&gt;
            {&lt;br /&gt;
                llStopAnimation(animation);&lt;br /&gt;
            //avatarcount = //avatarcount - 1;&lt;br /&gt;
                if ( num &amp;gt; originalprims &amp;amp;&amp;amp; num &amp;lt; originalprims + 2 )//(avatarcount &amp;lt; 2) &lt;br /&gt;
                {&lt;br /&gt;
                   &lt;br /&gt;
                    llSitTarget(&amp;lt;0.8, -1.05, -0.2&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) );&lt;br /&gt;
                  // llMessageLinked(LINK_THIS,500,&amp;quot;1st avatar stood up&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
                //avatarcount = //avatarcount - 1;   &lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            lastnum = num;&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION )       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
                       &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}//state default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    integer lastnum;   &lt;br /&gt;
integer avatarcount = 0;&lt;br /&gt;
key coavatar;&lt;br /&gt;
string animation;&lt;br /&gt;
&lt;br /&gt;
key secondavatar;&lt;br /&gt;
&lt;br /&gt;
 integer secondnum;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer flag) { do { llResetScript(); } while (TRUE); }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
           llSitTarget(&amp;lt;1,1,1&amp;gt;, llEuler2Rot( &amp;lt;0 * DEG_TO_RAD, 0 * DEG_TO_RAD, 0 * DEG_TO_RAD&amp;gt; ) ); // there has to be something as sit target here, or else  llSetLinkPrimitiveParamsFast fails&lt;br /&gt;
         animation = llGetInventoryName(INVENTORY_ANIMATION,0);&lt;br /&gt;
        lastnum=llGetNumberOfPrims();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
      link_message(integer sender, integer num, string str, key id)&lt;br /&gt;
    {&lt;br /&gt;
          llSay(0,&amp;quot;link message&amp;quot; + (string) num  + &amp;quot; str &amp;quot; + (string)str);&lt;br /&gt;
        if(num == 200) //received 2nd avatar key&lt;br /&gt;
        {&lt;br /&gt;
            secondnum = (integer)str;&lt;br /&gt;
            secondavatar =  llGetLinkKey(secondnum);&lt;br /&gt;
                    llRequestPermissions(secondavatar,PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
                    llSay(0,(string)secondnum);&lt;br /&gt;
            //This is where we determine the avatar&#039;s sitting position&lt;br /&gt;
            llSetLinkPrimitiveParamsFast(secondnum,[PRIM_POS_LOCAL,&amp;lt;0.0, 0.8, -0.2&amp;gt;,PRIM_ROT_LOCAL,ZERO_ROTATION]); // &amp;lt; -front + back , -right + left, -down + up &amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    llSitTarget(ZERO_VECTOR,ZERO_ROTATION); //releasing the sit target for next avatar&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
           &lt;br /&gt;
        }//200&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
   //05.10.2013 16:10 to make master ans slave scripts, only one detects change&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm == PERMISSION_TRIGGER_ANIMATION)       &lt;br /&gt;
        {&lt;br /&gt;
            llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llSleep(0.1);&lt;br /&gt;
            llStartAnimation(animation);&lt;br /&gt;
           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182201</id>
		<title>Two Avatars on single prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Two_Avatars_on_single_prim&amp;diff=1182201"/>
		<updated>2013-10-05T14:06:44Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: Created page with &amp;quot;    Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?  You need two kinds of scripts; the master (which calculates avatars …&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
Ever wondered how to make two or more avatars to sit on single prim, to save prim amount on a furniture?&lt;br /&gt;
&lt;br /&gt;
You need two kinds of scripts; the master (which calculates avatars sitting down and standing up)&lt;br /&gt;
and a slave script for each additional avatar&lt;br /&gt;
&lt;br /&gt;
Here are the basic scripts: modified for two avatars on single prim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MASTER&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    float i = llGetTime();  &lt;br /&gt;
    task(); &lt;br /&gt;
    float x = llGetTime();&lt;br /&gt;
    while (llGetUnixTime()%2 == 0)// do every even second (result 1 for odd seconds)&lt;br /&gt;
    { &lt;br /&gt;
        llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
    float i = llGetTime();  &lt;br /&gt;
    task(); &lt;br /&gt;
    float x = llGetTime();&lt;br /&gt;
    while (llGetUnixTime()%2 == 0)// do every even second (result 1 for odd seconds)&lt;br /&gt;
    { &lt;br /&gt;
        llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1182200</id>
		<title>Category:LSL Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1182200"/>
		<updated>2013-10-05T14:01:27Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* LSL Script Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}{{RightToc}}&lt;br /&gt;
==Script Library==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em 0.5em 1.5em&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: Please add your scripts to this page and then add them to a category on the [[:Category:LSL Categorized Library|Categorized Library]] page.&lt;br /&gt;
&lt;br /&gt;
Come to this page to see complex examples that show how to combine parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Go to the [[:Category:LSL Examples|LSL Examples]] page to see brief examples of how to use parts of LSL. &lt;br /&gt;
&lt;br /&gt;
Why collect complex examples here? Well, ...&lt;br /&gt;
&lt;br /&gt;
There is a treasure trove of user developed scripts that have become hard to find over time throughout Second Life&#039;s web server revisions and redesigns. The [http://community.secondlife.com/t5/Community-General/Upgrading-the-Forums/bc-p/77385 Huge Leap] to the new [http://www.jivesoftware.com/ Jive software], while traumatic and disruptive, has failed to dispose of  what&#039;s come before at the moment of your reading. These valuable community generated resources do indeed still remain and can be browsed/retrieved from several disjointed and disparate locations. While some links may point to duplicated, revised, or downright ancient wisdom, you may derive some enlightened perspective researching their hard won, timely solutions we encounter day to day.&lt;br /&gt;
&lt;br /&gt;
# [[Old forum Scripting Library index| Old Forums -Scripting Library index (wiki)]],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting/bd-p/2108 Old Forums -Scripting Forum Archive],&lt;br /&gt;
# [http://forums-archive.secondlife.com/15/1.html Old Forums -Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/Scripting-Library/bd-p/2122 new Forums -Archives &amp;gt; Scripting Library],&lt;br /&gt;
# [http://community.secondlife.com/t5/LSL-Scripting-Library/bd-p/LSLScriptingLibrary new Forums -LSL Library]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The wiki medium is well-suited for a script library due to its revision based historical foundation. If you feel inclined to release your scripts to the entire community, there&#039;s no better place to preserve your work/love/energy/gift as a unified and cohesive repository. Feel free to add your script page links here as well as adding it to the [[:Category:LSL Categorized Library|Categorized Library]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rules for posting: ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
#Your script must be tested and working. If it&#039;s not, stick it in your user-space until it is. This is a list of working, usable scripts.&lt;br /&gt;
#Add a link to your script&#039;s page here. Link back to this page from your script&#039;s page. Start your page with &amp;lt;nowiki&amp;gt;{{LSL Header}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
#Do not add scripts that duplicate the same functionality as an existing script or built in {{LSLGC|Functions|function}}. If yours does, explain why.&lt;br /&gt;
#Do not list simple scripts here. Include those among the [[:Category:LSL Examples|LSL Examples]] instead.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
==LSL Script Library==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Yumi Murakami/Addiction Moderator|Addiction Moderator and World Clock]]&lt;br /&gt;
||[[User:Yumi Murakami|Yumi Murakami]]&lt;br /&gt;
||Keep tabs on usage of SL and easily share local times with other users.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Yumi Murakami/Weaver Spell Grid|Weaver Spell Grid]]&lt;br /&gt;
||[[User:Yumi Murakami|Yumi Murakami]]&lt;br /&gt;
||Designs simple objects and creates them with magic words.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Yumi Murakami/Golden Vendor|Golden Vendor]]&lt;br /&gt;
||[[User:Yumi Murakami|Yumi Murakami]]&lt;br /&gt;
||A cross between a vendor and a game.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Yumi Murakami/Bijocam And Other Camera Scripts|Bijocam and Other Camera Scripts]]&lt;br /&gt;
||[[User:Yumi Murakami|Yumi Murakami]]&lt;br /&gt;
||Various camera control systems for machinima, security, and other effects.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Ackley Bing/Textbox2Hovertext|Textbox2Hovertext]]&lt;br /&gt;
||[[User:Ackley Bing|Ackley]]&lt;br /&gt;
||A simple script to allow hovertext to be set with a dialog text box.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Ackley Bing/Basic Sim Status Button Indicator HUD|Basic Sim Status Button Indicator HUD]]&lt;br /&gt;
||[[User:Ackley Bing|Ackley]]&lt;br /&gt;
||A single prim HUD. Color indicates sim status changes.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Ackley_Bing/Basic_Target_Scanner_HUD|Basic Target Scanner HUD]]&lt;br /&gt;
||[[User:Ackley Bing|Ackley]]&lt;br /&gt;
||A single prim HUD.  Scrolls through nearby players names, photos and user key.&lt;br /&gt;
|-&lt;br /&gt;
||[[StringIsNum|(Function) StringIsNum]]&lt;br /&gt;
||[[User:Zion Tristan|Zion Tristan]]&lt;br /&gt;
||A User Made Function to return TRUE if a string based input consists entirely of a whole number, and return FALSE otherwise.&lt;br /&gt;
|-&lt;br /&gt;
||[[Remove all scripts from a linkset]]&lt;br /&gt;
||[[User:Dahlia Orfan|Dahlia Orfan]]&lt;br /&gt;
||Remove all scripts from a linkset.&lt;br /&gt;
|-&lt;br /&gt;
||[[RLV Viewer Titler]]&lt;br /&gt;
||[[User:Jenna Felton|Jenna Felton]]&lt;br /&gt;
||Titler displaying viewer and it&#039;s version, revealed via RLV interface.&lt;br /&gt;
|-&lt;br /&gt;
||[[Sim Restart Notifyer]]&lt;br /&gt;
||[[User:Jenna Felton|Jenna Felton]]&lt;br /&gt;
||On region restart, notifyes registered residents about the sim is online and the current sim version&lt;br /&gt;
|-&lt;br /&gt;
||[[Script Vitality plug-in]]&lt;br /&gt;
||[[User:Jenna Felton|Jenna Felton]]&lt;br /&gt;
||Uses vehicle technology to allow scripts (in same prim) to run in &#039;dead&#039;, i.e. no-script areas.&lt;br /&gt;
|-&lt;br /&gt;
||[[Texture Repeater]]&lt;br /&gt;
||[[User:Jenna Felton|Jenna Felton]]&lt;br /&gt;
||Observes textures and texture parameters on the prim. If changed, bulk-updates other prims in linkset.&lt;br /&gt;
|-&lt;br /&gt;
||[[1st necessity of SL]]&lt;br /&gt;
||[[User:Beer Dailey|Beer Dailey]]&lt;br /&gt;
||Monitors for avatars and (de)activates scripts states to control script performance/lag.&lt;br /&gt;
|-&lt;br /&gt;
||[[SetLinkText]]&lt;br /&gt;
||[[User:Tacusin Memo|Tacusin Memo]]&lt;br /&gt;
||Custom function like llSetText only applying to linked sets.&lt;br /&gt;
|-&lt;br /&gt;
||[[3D Radar]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||Rezzes a ball for each avatar in range. Each ball tracks its own AV and displays distance.&lt;br /&gt;
|-&lt;br /&gt;
||[[RegionSitTeleport]]&lt;br /&gt;
||[[User:Vincent Nacon|Vincent Nacon]]&lt;br /&gt;
||A very simple and clean sit/unsit teleporter.&lt;br /&gt;
|-&lt;br /&gt;
||[[AbcText]]&lt;br /&gt;
||[[User:Ange Capalini|Ange Capalini]]&lt;br /&gt;
||EXPERIMENTAL Hyper low prim Display. only 2 prims for 25char.&lt;br /&gt;
|-&lt;br /&gt;
||[[Access (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||An easy to use script for permissions on who can use the script, Public/Group/Owner&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/Access_Tutorial_EN|Access Tutorial (EN)]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||Short examples about permission to executable commands.&lt;br /&gt;
|-&lt;br /&gt;
||[[Aim Detection]]&lt;br /&gt;
||[[User:Han Shuffle|Dugley Reanimator]]&lt;br /&gt;
||Monitors for avatars and reports back to owner about who is aiming at them.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/Anti_copy_trans|Anti (copy &amp;amp; transfer)]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||This funktion allows you to give away scripts with copy &amp;amp; transfer permissions and force the reseller to change the permission. &lt;br /&gt;
|-&lt;br /&gt;
||[[AnkleLock]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||An ankle lock script and attached animation to fix your displaced shoes. This will help if your shoes look displaced when you sit in certain poses or when your animation overrider is active.&lt;br /&gt;
|-&lt;br /&gt;
||[[AntiDelay Node]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Uses [[llMessageLinked]] to stop those pesky delays.&lt;br /&gt;
|-&lt;br /&gt;
||[[Artillery]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||An artillery gun script, performing the necessary calculations based on a user-chosen velocity, in order to hit a designated target avatar.&lt;br /&gt;
|-&lt;br /&gt;
||[[AO Overriding Pose Ball]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||No more turning your AO off and on when you sit down&lt;br /&gt;
|-&lt;br /&gt;
||[[ARCFOUR Strong Encryption Implementation]]&lt;br /&gt;
||[[User:Nekow42 Zarf|Nekow42 Zarf]]&lt;br /&gt;
||An LSL implementation of ARCFOUR, the most popular stream cipher still in use. It is licensed under a Creative Commons Attribution 3.0 license.&lt;br /&gt;
|-&lt;br /&gt;
||[[Assembly Programming Language|Assembly-Like Programming Language]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A compiler that runs assembly-like programs.&lt;br /&gt;
|-&lt;br /&gt;
||[[Associative Array Emulator|Associative Array (Dictionary) Emulator]]&lt;br /&gt;
||[[User:Alynna Vixen|Alynna Vixen]]&lt;br /&gt;
||This library provides a set of functions for using a list as an associative array where string based keys can refer to one or more variant elements.&lt;br /&gt;
|-&lt;br /&gt;
||[[AvatarFollower]]&lt;br /&gt;
||[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Allows one avatar to automatically follow another.&lt;br /&gt;
|-&lt;br /&gt;
||[[Avatar Radar (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||Version 1.2; A nice new avatar radar script i just finish that you can place in your hud, Also features avatar locator&lt;br /&gt;
|-&lt;br /&gt;
||[[Base2Dec]]&lt;br /&gt;
||[[User:Siann Beck|Siann Beck]]&lt;br /&gt;
||Convert a number to decimal from any base.&lt;br /&gt;
|-&lt;br /&gt;
||[[BaseN]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
||Variable base compression, dynamically maps to usable UTF code points.&lt;br /&gt;
|-&lt;br /&gt;
||[[Basic Encryption Modules]]&lt;br /&gt;
||[[User:Beverly Larkin|Beverly Larkin]]&lt;br /&gt;
||Basic encryption scripts, allows you to encrypt a float and shout it to another prim on a randomly chosen channel.&lt;br /&gt;
|-&lt;br /&gt;
||[[Be happy]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Basic smile attachment script, makes your avatar smile.&lt;br /&gt;
|-&lt;br /&gt;
||[[Beat The Average Vendor]]&lt;br /&gt;
||[[User:Kristen Giano|Kristen Giano]]&lt;br /&gt;
||A vendor script based on humblebundle.com&lt;br /&gt;
|-&lt;br /&gt;
||[[Best Neighbor Ad Hiding Script|Best Neighbor]]&lt;br /&gt;
||[[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
||Reduce ad clutter by hiding ads when users are on their own land nearby.&lt;br /&gt;
|-&lt;br /&gt;
||[[BigNum|BigNum Library (RSA Encryption)]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A BigNum Library for dealing with big numbers! Specialized for modular multiplication, and RSA encryption.&lt;br /&gt;
|-&lt;br /&gt;
||[[Binary Clock v1.1|Binary Clock]]&lt;br /&gt;
||[[User:Fox Diller|Fox Diller]]&lt;br /&gt;
||A Binary Clock.&lt;br /&gt;
|-&lt;br /&gt;
||[[BinaryDecimalConverter]]&lt;br /&gt;
||[[User:Soundless Smalls|Soundless Smalls]]&lt;br /&gt;
||Converts a binary value to a decimal value and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
||[[Blacklist and Remote Kill|Blacklist and Remote Kill]]&lt;br /&gt;
||[[User:Chase Quinnell|Chase Quinnell]]&lt;br /&gt;
||Blacklist(denial of use) or a creator kill script(can delete someone&#039;s item by command on private channel)&lt;br /&gt;
|-&lt;br /&gt;
||[[User_talk:Rolig_Loon/Bookmark_URLs|Bookmark URLs]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Dialog driven HUD reads bookmarked URLs from notecards and navigates directly to them with user&#039;s in-world browser.&lt;br /&gt;
|-&lt;br /&gt;
||[[Bubble Gum]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script to create a bubble gum effect with sounds and animations.&lt;br /&gt;
|-&lt;br /&gt;
||[[Bubble Trapper]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that rezzes a bubble and surrounds a dialog-chosen avatar, exploding 2 seconds after it has reached the avatar. The article also explains how to hash a name to a number or a key to a number and thereby avoiding to block the rezzer&#039;s timer() event or using llRegionSay().&lt;br /&gt;
|-&lt;br /&gt;
||[[Builders Buddy|Builder&#039;s Buddy Tool]]&lt;br /&gt;
||[[User:Newfie Pendragon|Newfie Pendragon]]&lt;br /&gt;
||Script to easily move/rotate large builds that exceed the linkable size limit (30 meters).&lt;br /&gt;
|-&lt;br /&gt;
||[[Button Click Detector]]&lt;br /&gt;
||{{User|Sendao Goodman}}&lt;br /&gt;
||Use [[llDetectedTouchUV]] to determine which button was pressed on a texture.&lt;br /&gt;
|-&lt;br /&gt;
||[[Camera following prim]]&lt;br /&gt;
||[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Pair of scripts to make a prim follow your camera position around (for lights etc).&lt;br /&gt;
|-&lt;br /&gt;
||[[Camera Sync]]&lt;br /&gt;
||[[User:Meyermagic Salome|Meyermagic Salome]] and [[User:Nomad Padar|Nomad Padar]]&lt;br /&gt;
||A system to synchronize the cameras of two avatars.&lt;br /&gt;
|-&lt;br /&gt;
||[[Chatbot]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Compile and run the LSL you type on a channel, faster than you can thru the 2007-08 SL GUI.&lt;br /&gt;
|-&lt;br /&gt;
||[[Chat Logger (GPL)]]&lt;br /&gt;
||[[User:Nobody Fugazi|Nobody Fugazi]]&lt;br /&gt;
||Chat logger which requests permission from participants before recording them.&lt;br /&gt;
|-&lt;br /&gt;
||[[Chat_Relay|Chat Relay]]&lt;br /&gt;
||[[User:grumble Loudon|grumble Loudon]]&lt;br /&gt;
||A Chat relay which can be routed using a path header and won&#039;t echo.&lt;br /&gt;
|-&lt;br /&gt;
||[[ClickAndDrag]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Click and Drag user interface elements using dynamic feedback&lt;br /&gt;
|-&lt;br /&gt;
||[[Code Racer]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Race two versions of code forever, to see which runs faster.&lt;br /&gt;
|-&lt;br /&gt;
||[[Code Sizer]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Count the bytes compiled from source code, to measure how to write small code.&lt;br /&gt;
|-&lt;br /&gt;
||[[Collision message sender]]&lt;br /&gt;
||[[Taff Nouvelle]]&lt;br /&gt;
||Give a message to an avatar on collision if the message has not been sent in the last 10 minutes.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Programs#v7-D_Enh._Color_Picker|Color Changer]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Dialog driven color changer. Supports 16million+ colors, web color codes, multiple targeted prims, with save and recall.&lt;br /&gt;
|-&lt;br /&gt;
||[[Color Changer|Color Changer Plus]]&lt;br /&gt;
||[[User:Neo Calcutt|Neo Calcutt]]&lt;br /&gt;
||A color changer with 14 colors, a random function, and a custom vector function.&lt;br /&gt;
|-&lt;br /&gt;
||[[Color conversion scripts|Color Conversion]]&lt;br /&gt;
||[[User:Sally LaSalle|Sally LaSalle]]&lt;br /&gt;
||Convert between Red Green Blue (RGB) and Hue Saturation Value (HSV).&lt;br /&gt;
|-&lt;br /&gt;
||[[ColorConvert]]&lt;br /&gt;
||[[User:Siann Beck|Siann Beck]]&lt;br /&gt;
||Convert color values to vector from RGB, hex or HTML color name.&lt;br /&gt;
|-&lt;br /&gt;
||[[Color script]]&lt;br /&gt;
||[[User:Masakazu Kojima|Masakazu Kojima]]&lt;br /&gt;
||Script for changing colors trough a listener with pre-defined colors.&lt;br /&gt;
|-&lt;br /&gt;
||[[Library Combined Library|Combined Library]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Library of mostly encoding and decoding functions, some more useful then others.&lt;br /&gt;
* String functions: Replace / Trim right / Trim left / Trim both&lt;br /&gt;
* Unicode conversion: UTF8 to Unicode / Unicode to UTF8&lt;br /&gt;
* List functions: Replace / Compare&lt;br /&gt;
|-&lt;br /&gt;
||[[Computer:jaycoonlanguage]]&lt;br /&gt;
||[[User:jayco121 Bing|jayco121 Bing]]&lt;br /&gt;
|| A language written in LSL that is meant for my computer (available at the shop).&lt;br /&gt;
|-&lt;br /&gt;
||[[Read Note Card Configuration|Configuration Notecard Reader]]&lt;br /&gt;
||{{User|Dedric Mauriac}}&lt;br /&gt;
||A script to read configuration information from a notecard. Parses notecard to extract key words and their assigned values. Allows for comment lines and many more useful features.&lt;br /&gt;
|-&lt;br /&gt;
||[[AdvancedNotecardReader|Configuration Notecard Reader (advanced)]]&lt;br /&gt;
||[[Lear Cale|Lear Cale]]&lt;br /&gt;
||Robust configuration notecard reader; supports multiple notecards with same suffix, handles reconfig on inventory change, and does not usurp the default state.&lt;br /&gt;
|-&lt;br /&gt;
||[[Library_Chat_Relay|Conversation Relay]]&lt;br /&gt;
||[[User:Jippen Faddoul|Jippen Faddoul]]&lt;br /&gt;
||Chat relay which requests permission from participants before relaying their messages. Also includes their attachments. (ToS compliant).&lt;br /&gt;
|-&lt;br /&gt;
||[[Curtain script]]&lt;br /&gt;
||[[User:Zilla Larsson|Zilla Larsson]]&lt;br /&gt;
||A simple script to retract/stretch curtains, blinds, bedcovers and more&lt;br /&gt;
|-&lt;br /&gt;
||[[Library_Cycle_Dialog_Items|Cycle Dialog Items w/ Callback]]&lt;br /&gt;
||[[User:Hawkster Westmoreland|Hawkster Westmoreland]]&lt;br /&gt;
||A customizable way to cycle dialog items with pagination&lt;br /&gt;
|-&lt;br /&gt;
||[[Dataserver API]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Dataserver Framework for Notecards.&lt;br /&gt;
|-&lt;br /&gt;
||[[Date Library]]&lt;br /&gt;
||[[User:Corto Maltese|Corto Maltese]]&lt;br /&gt;
|| Date library, based on number of day since march 3rd 1600, can be used to calculate weekday, date differences, and date offset, and date formating.&lt;br /&gt;
|-&lt;br /&gt;
||[[Day of the Week]]&lt;br /&gt;
||[[User:DoteDote Edison|DoteDote Edison]]&lt;br /&gt;
||Function to get day of the week from [[llGetUnixTime]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Days in Month]]&lt;br /&gt;
||[[User:IntLibber Brautigan begin_of_the_skype_highlighting     end_of_the_skype_highlighting begin_of_the_skype_highlighting     end_of_the_skype_highlighting|IntLibber Brautigan]]&lt;br /&gt;
||Clicking on it returns the number of days in the present month. Useful for scripting calendars and tier systems that need to know the number of days in the month at hand or to calculate for any month. Even adjusts for leap years.&lt;br /&gt;
|-&lt;br /&gt;
||[[Deed Tools]]&lt;br /&gt;
||[[User:Falados Kapuskas|Falados Kapuskas]]&lt;br /&gt;
||Tools that allow the creator to modify Group-Owned (Deeded) Objects via chat.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/DEMO_Shield|DEMO_Shield]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||With this script, it is impossible to use these scripts in copied (Copybot) object.  &lt;br /&gt;
|-&lt;br /&gt;
||[[Describe Chatter]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Chat to see yourself as others do.&lt;br /&gt;
|-&lt;br /&gt;
||[[Dialog Control]]&lt;br /&gt;
||[[User:Nargus Asturias|Nargus Asturias]]&lt;br /&gt;
|| A (not-so) simple dialog &amp;amp; menu control script. Call dialog and receive selected value via [[link_message]](), with built-in timer and [[link_message]]() notification on time out. Supports multi-pages dialog and numeric property dialog. Button text and dialog&#039;s returned value can differ.&lt;br /&gt;
Latest version also has [[Dialog Menus Control]] built-in; which allow multi-level menus through SL dialog system.&lt;br /&gt;
|-&lt;br /&gt;
||[[Dispenser Vendor]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
|| A twist on [[Vendor]] that dispenses one object and then removes it from the list of objects.&lt;br /&gt;
|-&lt;br /&gt;
||[[MultiUser_Dialog_Handler|Dialog Menus (multiuser)]]&lt;br /&gt;
||[[User:SimonT Quinnell|SimonT Quinnell]]&lt;br /&gt;
|| Menu dialog handler that supports multiple menus open at once from the single script. Displays multi-page menus if necessary as well as allowing for fixed header and footer buttons.  Timeouts as well as Text and button size limits are handled.&lt;br /&gt;
|-&lt;br /&gt;
||[[Dialog NumberPad|Dialog Number Pad]]&lt;br /&gt;
||[[User:DoteDote Edison|DoteDote Edison]]&lt;br /&gt;
||Use a dialog to accept positive integer input from users.&lt;br /&gt;
|-&lt;br /&gt;
||[[Display Names Radar]]&lt;br /&gt;
||[[User:Cerise Sorbet|Cerise Sorbet]]&lt;br /&gt;
||Simple HUD type avatar radar that can show [[display names]] and script memory usage&lt;br /&gt;
|-&lt;br /&gt;
||[[Display Names to Key]]&lt;br /&gt;
||[[User:Joran Yoshikawa|Joran Yoshikawa]]&lt;br /&gt;
||Simple way to get UUIDs from displaynames&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/DS_Display-Username_Online_Indicator|Display-Username_Online_Indicator]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||This simple hover text-based script is used to shop owners in Second Life, customers at the current display name and user name to display publicly. Additionally shows the status of the Userkey and online. Furthermore, there are click of a chat link that opens the profile owner. &lt;br /&gt;
|-&lt;br /&gt;
||[[Displayer Script]]&lt;br /&gt;
||[[User:Akinori Kimagawa|Akinori Kimagawa]]&lt;br /&gt;
||Display Words On Top Of An Object&lt;br /&gt;
|-&lt;br /&gt;
||[[Distributed Primitive Database]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||The distributed primitive database (DPD) is a database which is meant to survive entirely in SL by using redundancy, replication and time synchronisation to maintain the consistency of the dataset contained in the DPD node/primitives spread out between regions and even grids. Similarly to the [[Intercom]], the robustness of the theory would allow users to maintain a cross-grid database; as of 30 of August 2011 I have managed to couple and replicate data between the two grids by using the methodology described in the script article.&lt;br /&gt;
|-&lt;br /&gt;
||[[Drink script]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Used mainly for food and drink in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
||[[Donut Dance]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||Err, a script that makes you dance and say something on the local chat once you attach an object (good example for conditional re-entry flipping).&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/DS_Single_AO-Sit|Single_AO-Sit]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||Posescript for use with or without AO and with or without Animation. With the menu it is possible the seated Avatar to move.&lt;br /&gt;
|-&lt;br /&gt;
||[[TOXDropBox|DropBox]]&lt;br /&gt;
||[[User:Dimentox Travanti|Dimentox Travanti]]&lt;br /&gt;
|| This is a Drop box which allows people to drop certain items in a object &amp;amp; has many config options.&lt;br /&gt;
|-&lt;br /&gt;
||[[Efficiency Tester]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Tests the speed of a function.&lt;br /&gt;
|-&lt;br /&gt;
||[[Email-to-IM|Email2IM]]&lt;br /&gt;
||[[User:DoteDote Edison|DoteDote Edison]]&lt;br /&gt;
||Send IMs to SL friends via [[email]] (translate emails from friends into IMs).&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kireji_Haiku/SIMchat_headset|Encrypted Region-wide chat]]&lt;br /&gt;
||[[User:Kireji Haiku|Kireji Haiku]]&lt;br /&gt;
||Encrypted Region-wide chat&lt;br /&gt;
|-&lt;br /&gt;
||[[ExplodingObjects]]&lt;br /&gt;
||[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Causes an object (of the appropriate type) to explode on command.&lt;br /&gt;
|-&lt;br /&gt;
||[[FadeEasy]]&lt;br /&gt;
||[[User:Nika Rugani|Nika Rugani]]&lt;br /&gt;
||The easy way of fading objects in or out (Using llSetLinkAlpha)&lt;br /&gt;
|-&lt;br /&gt;
||[[FastConeSpread]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Fast Algorithmn to achieve cone spread, main use in weaponry systems.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:PixelProphet Lane/Scripts#Fast List Prim Contents|Fast List Prim Contents]]&lt;br /&gt;
||[[User:PixelProphet Lane|PixelProphet Lane]]&lt;br /&gt;
||Fast and efficient method to print Object Inventory (Name, Type and next Owner permissions)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:PixelProphet_Lane/Scripts#Grid_Status_Feed|Grid Status Feed]]&lt;br /&gt;
||[[User:PixelProphet Lane|PixelProphet Lane]]&lt;br /&gt;
||Receive important Grid information in-world &lt;br /&gt;
|-&lt;br /&gt;
||[[Find Avatar Key|Find Avatar Key]]&lt;br /&gt;
||[[User:Huney Jewell|Huney Jewell]]&lt;br /&gt;
||Explores [[UUID]] of avatar whose name is said in local chat or who touches the prim.&lt;br /&gt;
|-&lt;br /&gt;
||[[First Name Letter Prize]]&lt;br /&gt;
||[[User:RaithSphere Whybrow|RaithSphere Whybrow]]&lt;br /&gt;
||Gives a prize if the person who sits on it&#039;s first letter of first name matches the random letter!&lt;br /&gt;
|-&lt;br /&gt;
||[[Fix Small Prims|Fix_Small_Prims]]&lt;br /&gt;
||[[User:Emma Nowhere|Emma Nowhere]]&lt;br /&gt;
||Finds and adjusts the smallest prims in a linkset so that it can be scaled down further.&lt;br /&gt;
|-&lt;br /&gt;
||[[Flight Assist]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||Flight feather / flight band implementation supporting various commands and allowing you to fly above the clouds.&lt;br /&gt;
|-&lt;br /&gt;
||[[Float2Hex]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Very useful for transporting [[float|floats]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Float Box Contents]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Displays object inventory in hover text, identified by type and updated marquee-style.&lt;br /&gt;
|-&lt;br /&gt;
||[[Follower (script)|Follower]]&lt;br /&gt;
||Unknown, uploaded by [[User:Slik Swindlehurst|Slik Swindlehurst]]&lt;br /&gt;
||Makes an object follow the nearest person. Do not use for [[grief|griefing]].&lt;br /&gt;
|-&lt;br /&gt;
||[[FURWARE_text]]&lt;br /&gt;
||[[User:Ochi Wolfe|Ochi Wolfe]]&lt;br /&gt;
||Versatile text-on-prim script, open source under the MIT license&lt;br /&gt;
|-&lt;br /&gt;
||[[GA Event Notifier]]&lt;br /&gt;
||[[User:Victor Hua|Victor Hua]]&lt;br /&gt;
||Gathers seven days event data from a Google calendar and display it through a simple interface. The lsl script can access several calendars at once through seperate php files. One file per calendar. Host the included php on your own web server.&lt;br /&gt;
|-&lt;br /&gt;
||[[Geometric|Geometric Library]]&lt;br /&gt;
||Community Project&lt;br /&gt;
||A substantial amount of various geometric functions for intersection and other purposes of 3D maths.&lt;br /&gt;
|-&lt;br /&gt;
||[[Get Profile Picture]]&lt;br /&gt;
||[[User:Valentine Foxdale|Valentine Foxdale]]&lt;br /&gt;
||Sets the texture of the object to profile picture of the person that touches ot&lt;br /&gt;
|-&lt;br /&gt;
||[[GetTimestampOffset]]&lt;br /&gt;
||[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
||Returns [[llGetTimestamp]]() with an hour offset.&lt;br /&gt;
|-&lt;br /&gt;
||[[Give InvItem every n hours]]&lt;br /&gt;
||[[User:Criz Collins|Criz Collins]]&lt;br /&gt;
||Will give an inventory item on touch only every n hours, even if somebody touches the object more than once. &lt;br /&gt;
|-&lt;br /&gt;
||[[Give random object]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Touch to receive a random object in the prim&#039;s inventory&lt;br /&gt;
|-&lt;br /&gt;
||[[Giver]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A menu-driven script that will hand out the objects in a prim. Supports multiple pages.&lt;br /&gt;
|-&lt;br /&gt;
||[[Google Charts]]&lt;br /&gt;
||[[User:Dedric Mauriac|Dedric Mauriac]]&lt;br /&gt;
||Create links to display raw data as a chart image.&lt;br /&gt;
|-&lt;br /&gt;
||[[Google_Translator]]&lt;br /&gt;
||[[User:Ugleh Ulrik|Ugleh Ulrik]]&lt;br /&gt;
||Translates spanish to english, and its simple to make it any other way.&lt;br /&gt;
|-&lt;br /&gt;
||[[Go transparent when walking]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||An attachment that goes invisible when you walk and visible when you don&#039;t walk.&lt;br /&gt;
|-&lt;br /&gt;
||[[Great Wanderer]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A movement system based on [[Wizardry and Steamworks|State Machines]] which provides free roaming.&lt;br /&gt;
|-&lt;br /&gt;
||[[Greeter]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A multi-purpose greeter with multiple options (IM, landmark, notecard, URL, visitor statistics, shared access and compatible with the [[Mail]] system) that could work for shops, clubs, galleries and any other public place.&lt;br /&gt;
|-&lt;br /&gt;
||[[Group Authorization]]&lt;br /&gt;
||[[User:Chase Quinnell|Chase Quinnell]]&lt;br /&gt;
||Checks to see if object is set to appropriate group (checks by [[Group key finder|group key]])&lt;br /&gt;
|-&lt;br /&gt;
||[[Group key finder]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Touch to find the key of the group&lt;br /&gt;
|-&lt;br /&gt;
||[[Group Privacy]]&lt;br /&gt;
||[[User:Chance Unknown|Chance Unknown]]&lt;br /&gt;
||Security device to insure members of a group can have a private area. Deactivates when nobody present.&lt;br /&gt;
|-&lt;br /&gt;
||[[Hello Avatar]]&lt;br /&gt;
||Linden Lab&lt;br /&gt;
||SL&#039;s default script.&lt;br /&gt;
|-&lt;br /&gt;
||[[Hello Avatar Companion]]&lt;br /&gt;
||[[Chase Quinnell]]&lt;br /&gt;
||Companion to the original [[Hello Avatar]] script&lt;br /&gt;
|-&lt;br /&gt;
||[[Hierarchics]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Advanced script to create an efficient self-aware hierarchic structure.&lt;br /&gt;
|-&lt;br /&gt;
||[[Hierarchics2]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Second generation, one script per object. Only two functions, can be embedded in others. Uses the new [[llSetLinkPrimitiveParamsFast]]/[[llGetLinkPrimitiveParams]] functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Rolig_Loon/High-Capacity_Greeter-Counter|High-Capacity Greeter-Counter]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Uses a memory compression algorithm to store hashed visitor UUID&#039;s in a string instead of using a list. &lt;br /&gt;
|-&lt;br /&gt;
||[[Holodeck]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Home Rezzing System (Open Source).&lt;br /&gt;
|-&lt;br /&gt;
||[[HUD Dots Radar]]&lt;br /&gt;
||[[User:Cerise Sorbet|Cerise]]&lt;br /&gt;
||HUD target example, draws dots on the HUD over avatars in view.&lt;br /&gt;
|-&lt;br /&gt;
||[[I Got It]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||Educational tool to provide feedback from students.&lt;br /&gt;
|-&lt;br /&gt;
||[[Intercom|Intercom]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A system allowing region-wide and grid-wide (as of 30 of August 2011, it also works grid-wide, a test was performed by linking up the chat between the OSGrid and SecondLife) mass chat relay. By using this you can relay a main chat across multiple regions or grids. The script was initially meant as a mid-way project in order to test and gather information for the [[Distributed Primitive Database]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Interpolation|Interpolation Library]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
||A small set of interpolation functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[Intra-Region Update Server]]&lt;br /&gt;
||[[User:Emma_Nowhere|Emma Nowhere]]&lt;br /&gt;
||Centrally update objects such as Freeview screens or teleport pads within a region that are configured by notecards or contain modifiable objects or media assets.&lt;br /&gt;
|-&lt;br /&gt;
||[[Inventory_Based_Menu]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Inventory Based Menu System.&lt;br /&gt;
|-&lt;br /&gt;
||[[iTunes RPC Email|iTunes RPC]]&lt;br /&gt;
||[[User:Fox Diller|Fox Diller]]&lt;br /&gt;
||iTunes RPC via LSL [[llEmail]] and [[llRemoteDataReply]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Jingle]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that will make a primitive emit a sound when you wear it and walk around. Ideal for bells, footsteps and so on...&lt;br /&gt;
|-&lt;br /&gt;
||[[Key Frame Animator|Keyframe Animator]]&lt;br /&gt;
||[[User:Jasper Flossberg|Jasper Flossberg]]&lt;br /&gt;
|| This is a KeyFrame Animator Script to simplify construction of keyframed animations.&lt;br /&gt;
|-&lt;br /&gt;
||[[Key Pad Door|Keypad Door]]&lt;br /&gt;
||[[User:Tdub Dowler|Tdub Dowler]]&lt;br /&gt;
|| Door and keypad with changeable code. Follow instructions carefully!&lt;br /&gt;
|-&lt;br /&gt;
||[[Key2Name]]&lt;br /&gt;
||[[User:Nika Rugani|Nika Rugani]]&lt;br /&gt;
|| Key2Name service where a user no longer needs to be in the same region to get users name&lt;br /&gt;
|-&lt;br /&gt;
||[[Kilt Editor|Kilt / Skirt Editor]]&lt;br /&gt;
||[[User:Brangus Weir|Brangus Weir]]&lt;br /&gt;
|| This changes all the parameters of all the flexis in the link set in one swell foop!&lt;br /&gt;
|-&lt;br /&gt;
||[[Kira Warp Core Drive]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||Scripts and instructions on how to create a vehicle that teleports an avatar and a vehicle to any region on the grid. You can [http://www.youtube.com/watch?v=xQkBRD7HBvw watch the YouTube video showing the prototype] I created to demonstrate how it works.&lt;br /&gt;
|-&lt;br /&gt;
||[[Last Sound System]]&lt;br /&gt;
||Babbage Linden&lt;br /&gt;
||An LSL [http://Last.fm Last.fm] client.&lt;br /&gt;
|-&lt;br /&gt;
||[[LibraryDisplayLandScreenshot]]&lt;br /&gt;
||[[User:Jon Desmoulins|Jon Desmoulins]]&lt;br /&gt;
||A modified version of LibraryDisplayProfilePic using the new [[PARCEL_DETAILS_ID]] Implemented in Server v1.36&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/LinkNumber-List_in_llSetLinkPrimitiveParamsFast|LinkNumber-List_in_llSetLinkPrimitiveParamsFast]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||Changed several prims in linkset with the same parameters, with a list. Without separate llSetLinkPrimitiveParams for each prim. (ideal for show/hide effects)&lt;br /&gt;
|-&lt;br /&gt;
||[[Limit Vendor]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||This is a vendor supporting any number of items with different prices which will only dispense a certain number of individual items by setting limits for each item based on a notecard configuration.&lt;br /&gt;
|-&lt;br /&gt;
||[[Linkset resizer]]&lt;br /&gt;
||Maestro Linden&lt;br /&gt;
||Systematically rescales a linkset by moving and resizing each prim (by using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]])&lt;br /&gt;
|-&lt;br /&gt;
||[[Linkset resizer with menu]]&lt;br /&gt;
||[[User:Brilliant Scientist|Brilliant Scientist]]&lt;br /&gt;
||A menu-driven script that rescales a linkset by moving and resizing the prims using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]] functions. Based on [[Linkset resizer]].&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/*DS*_Resize_Script|Resize Script (m/c/t) v2.0.01]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||Single resize script for a complete linkset with save and restore option. &lt;br /&gt;
|-&lt;br /&gt;
||[[Pointing Stick]]&lt;br /&gt;
||[[User:rhonin Nissondorf|rhonin Nissondorf]]&lt;br /&gt;
||A device that takes controls of your arrow keys and directs the device in the relative direction its pointing, forward and back of course.&lt;br /&gt;
|-&lt;br /&gt;
||[[Gun Script]]&lt;br /&gt;
||[[User:rhonin Nissondorf| rhonin Nissondorf]]&lt;br /&gt;
||Shoots out &amp;quot;ammo&amp;quot; from the root prim of your &amp;quot;gun&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
||[[Linkset Resizer 2]]&lt;br /&gt;
||[[User:Emma Nowhere|Emma Nowhere]]&lt;br /&gt;
||A more user-friendly resizer script designed for either drop-in use by the end-user or builder or for use in products. Based on [[Fix Small Prims]].&lt;br /&gt;
|-&lt;br /&gt;
||[[List2CSV]]&lt;br /&gt;
||[[User:Kunnis Basiat|Kunnis Basiat]]&lt;br /&gt;
||List2CSV &amp;amp; CSV2List that include preserving type and escaping characters.&lt;br /&gt;
|-&lt;br /&gt;
||[[list_cast]]&lt;br /&gt;
||[[User:Fractured Crystal|Fractured Crystal]]&lt;br /&gt;
||Casts a list of strings into the type they appear to be. Designed for preprocessing user input for feeding into [[llSetPrimitiveParams]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Listener Script]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Use to [[listen]] to other people&#039;s conversations (Like spying)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List:_Find_Last_Index|List: Find Last Index]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns the last index of searched item in a source list. (backwards version of [[llListFindList]])&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List:_Multi-Find_Index_.28First_or_Last.29|List: Multi Find]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns the first found index of multiple search items in a list. (Multi-item version of [[llListFindList]]. Fwd and Rev versions included)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List:_Get_Reverse_Order|List: Reverse]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns an input List in reverse order&lt;br /&gt;
|-&lt;br /&gt;
||[[LinksetIndexing]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
||Functions for indexing a linkset by patterns or names down to their linkset numbers.&lt;br /&gt;
|-&lt;br /&gt;
||[[llGetAgentList Sim-Wide Radar]]&lt;br /&gt;
||[[User:Tiaeld Tolsen|Tiaeld Tolsen]]&lt;br /&gt;
||Simple radar implementation using the new [[llGetAgentList]] LSL Function.&lt;br /&gt;
|-&lt;br /&gt;
||[[Live Event Timeout]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script which will set the the music URL back to a radio station of your liking when a DJ leaves or forgets to switch back the URL after a live event. It takes multiple DJs, using a notecard and several configuration parameters.&lt;br /&gt;
|-&lt;br /&gt;
||[[Load URL]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Touch to get a dialog to visit the URL inside the script.&lt;br /&gt;
|-&lt;br /&gt;
||[[LOGO Turtle]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that interprets basic LOGO commands, extending the directions to 3D. &lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDancemachine|lsDancemachine]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Low lag client server dancemachine.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDeejay|lsDeejay Home Edition]] &lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Client server media control for music, video, youtube, pictures, and texture animations.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDialog|lsDialog]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Universal notecard driven menu dialog system.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDisplay|lsDisplay]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Picture cycler with preloader.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDistributor|lsDistributor]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Simple &#039;try&#039; and &#039;buy&#039; vendor system.&lt;br /&gt;
|-&lt;br /&gt;
||[[Wizardry_and_Steamworks/LSL|LSL FUSS]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||FUSS (Frequently Used Short Snippets) is an collection of short snippets provided by [[Wizardry and Steamworks]]. They range from functions to one-liners and are provided for LSL developers.&lt;br /&gt;
|-&lt;br /&gt;
||[[LSL_languageAPI]]&lt;br /&gt;
||[[User:Gypsy Paz|Gypsy Paz]]&lt;br /&gt;
||Multi-lingual API from notecard based language files&lt;br /&gt;
|-&lt;br /&gt;
||[[Mail]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||An system for sending objects to multiple recipients automatically supporting shared access and [[Greeter]] compatible auto-subscriptions.&lt;br /&gt;
|-&lt;br /&gt;
||[[Mandelbrot Explorer]]&lt;br /&gt;
||Babbage Linden&lt;br /&gt;
||An interactive fractal explorer.&lt;br /&gt;
|-&lt;br /&gt;
||[[Materialization Effects]]&lt;br /&gt;
||[[User:Overbrain Unplugged|Overbrain Unplugged]]&lt;br /&gt;
|| Special effects to add to rezzing events to simulate a teleportation or materialization.&lt;br /&gt;
|-&lt;br /&gt;
||[[Materialization Effects 2]]&lt;br /&gt;
||[[User:Nika Rugani|Nika Rugani]]&lt;br /&gt;
|| More efficient and faster version of Materialization Effects by Overbrain Unplugged.&lt;br /&gt;
|-&lt;br /&gt;
||[[Memory Module]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||An example of pseudo-persistent variable in-world storage.&lt;br /&gt;
|-&lt;br /&gt;
||[[Merge Sort]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Implements a Merge Sort in LSL, however this code is 300(ish) times slower than [[llListSort]]. Don&#039;t use this in a script!&lt;br /&gt;
|-&lt;br /&gt;
||[[Minesweeper]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A simple minesweeper game.&lt;br /&gt;
|-&lt;br /&gt;
||[[Mood Color Changer]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that changes the color of all primitives in a linkset depending on the smileys the owner types on the main chat.&lt;br /&gt;
|-&lt;br /&gt;
||[[Morse Code]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A script that allows for the conversion to and from morse code and can &amp;quot;play&amp;quot; morse code.&lt;br /&gt;
|-&lt;br /&gt;
||[[Multi-displays Texture Cycler]]&lt;br /&gt;
||[[User:Nargus Asturias|Nargus Asturias]]&lt;br /&gt;
||A simple texture rotator designed for multiple display screens. With delay between each screen AND delay between each loop.&lt;br /&gt;
|-&lt;br /&gt;
||[[Multi Item Rezzer|Multi Item Rezzer]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||A rework of my old High Altitude Rezzer. Place the objects that you wish to choose from to be rezzed inside. Sit on the rezzer and pick the item and the height. It will go to target height and rez the object.&lt;br /&gt;
|-&lt;br /&gt;
||[[Multirezzer|Multirezzer (on collision)]]&lt;br /&gt;
||[[User:Beet Streeter|Beet Streeter]]&lt;br /&gt;
||Spawns up to 10 objects when the object containing the script collides with a user.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5 RPG System]]&lt;br /&gt;
||[[User:Allen_Kerensky|Allen Kerensky]]&lt;br /&gt;
||Working preview of the Myriad Universal RPG System by Ashok Desai, converted to LSL as a roleplay meter with quest NPC and goals, hand-to-hand and melee close combat, ranged combat, armor, healing, bullet, firearm, holster, practice target, and much more&lt;br /&gt;
|-&lt;br /&gt;
||[[N2K]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A Name To Key (Name2Key) implementation that does not use third-party databases, nor relies on the uptime of not well known websites but rather uses the World Wide Web Consortium to fetch the key of avatars while trying to alert the developers of the consequences of using Name2Key third-party providers as well as trying to refrain from sales pitch terminology such as &amp;quot;best&amp;quot;, &amp;quot;newest&amp;quot; and &amp;quot;fastest&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
||[[Name2Key in LSL]]&lt;br /&gt;
||[[User:Maeva Anatine|Maeva Anatine]]&lt;br /&gt;
||Get the Name2Key feature inside your scripts. Works even on lastly subscribed avatars.&lt;br /&gt;
|-&lt;br /&gt;
||[[Name2Key]]&lt;br /&gt;
||[[User:Nika Rugani|Nika Rugani]]&lt;br /&gt;
||Newest and fastest Name2Key search, While the database is small it is also connected to Second Life&#039;s search.&lt;br /&gt;
|-&lt;br /&gt;
||[[NexiiText]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Text Renderer, specialised in features, performance and a compact nature. It features unique per character control, such as Colour, Bold, Italics, Underline, Stroke, Icons. The high performance means it comes in at a 5 char / prim ratio, but it is perfect where highly dynamic and rich text is required.&lt;br /&gt;
|-&lt;br /&gt;
||[[NexiiText2]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Second Gen Text Renderer. Same as above but features use of [[PRIM_LINK_TARGET]] and an awesome dynamic prim allocation architecture.&lt;br /&gt;
|-&lt;br /&gt;
||[[No Auto-Return]]&lt;br /&gt;
||[[User:Bellla Clarity|Bella Clarity]]&lt;br /&gt;
||To stop your long and hard builds from getting returned in sandboxes (&#039;&#039;only single prims, though!&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
||[[No Auto-Return NR]]&lt;br /&gt;
||[[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||This really works (29-05-09), needs a nearby region to do the trick and avoid auto return. (Tested on Blue and Rausch)&lt;br /&gt;
|-&lt;br /&gt;
||[[No Auto-Return (Multi)]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A revision of Bella&#039;s that works for multi-prim objects.&lt;br /&gt;
|-&lt;br /&gt;
||[[No Limit Teleporter]]&lt;br /&gt;
||[[User:Morgam Biedermann|Morgam Biedermann]]&lt;br /&gt;
||Teleport to infinite altitudes (up to 4096m)&lt;br /&gt;
|-&lt;br /&gt;
||[[Object Size]]&lt;br /&gt;
||[[User:Chase Quinnell|Chase Quinnell]]&lt;br /&gt;
||Gets the dimensions and footprint of a linkset&lt;br /&gt;
|-&lt;br /&gt;
||[[Object to Data v1.4|Object to Data]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Turns an object into text (and back). Allows people to transfer objects through notecards (or otherwise).&lt;br /&gt;
|-&lt;br /&gt;
||[[Online Indicator|Online Indicator]]&lt;br /&gt;
||[[User:Kristy Fanshaw|Kristy Fanshaw]]&lt;br /&gt;
||Will show if the user is online or not. Displays users profile picture and allows to send IM&#039;s to user. Also gives a link to open the users profile&lt;br /&gt;
|-&lt;br /&gt;
||[[Open Group Join]]&lt;br /&gt;
||[[User:Alicia Stella|Alicia Stella]]&lt;br /&gt;
||User Touches Object to Join Group from Group Info window, (no bot.)&lt;br /&gt;
|-&lt;br /&gt;
||[[Open Prim Animator]]&lt;br /&gt;
||[[User:Todd Borst|Todd Borst]]&lt;br /&gt;
||Single script prim animation tool.  Menu driven, easy to use.&lt;br /&gt;
|-&lt;br /&gt;
||[[Open Zyngo Skin Installer]]&lt;br /&gt;
||[[User:Tmzasz Luminos|Tmzasz Luminos]]&lt;br /&gt;
||A Simple Script designed to install skins on the popular Skill machines.&lt;br /&gt;
|-&lt;br /&gt;
||[[Orbitor]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||Based on [[Wanderer]], we create [[Orbitor]] which allows a primitive to orbit around an origin point.&lt;br /&gt;
|-&lt;br /&gt;
||[[One Script, many doors]]&lt;br /&gt;
||[[User:Kyrah Abattoir|Kyrah Abattoir]]&lt;br /&gt;
||Door script able to manage more than 50 linked doors from a single script instance.&lt;br /&gt;
|-&lt;br /&gt;
||[[ParseString2List]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Same as [[llParseString2List]] and [[llParseStringKeepNulls]], but not limited to 8 spacers or separators. Thus substitute a call to the [[llParseString2List]] and [[llParseStringKeepNulls]] functions by a call to [[Parse_String_To_List|ParseString2List]] whenever you have more than 8 separators or more than 8 spacers.&lt;br /&gt;
|-&lt;br /&gt;
||[[Password Generator]]&lt;br /&gt;
||[[User:Syntrax Canucci|Syntrax Canucci]]&lt;br /&gt;
||This is an over-complicated, semi-complex password generator, which goes through multiple steps.&lt;br /&gt;
|-&lt;br /&gt;
||[[Pathfinder]]&lt;br /&gt;
||Babbage Linden&lt;br /&gt;
||A potential field based pathfinding library.&lt;br /&gt;
|-&lt;br /&gt;
||[[Pay to Strip]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||This script is mainly meant for dancers and uses RLV to allow people to strip an avatar by making every clothes and attachment piece removable, respectively detachable for a settable price.&lt;br /&gt;
|-&lt;br /&gt;
||[[Permanent Primitive URL]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that uses [http://tiny.cc http://tiny.cc] REST API to update a SIM URL and make it permanent. Full description on how to register and set up a &amp;quot;nice&amp;quot; URL, like: http://tiny.cc/Kira. Should work with most URL shortening services (I&#039;m not affiliated with tiny.cc except for having a pass at them for not allowing OpenSIM-style generated URLs).&lt;br /&gt;
|-&lt;br /&gt;
||[[Personal ATM Machine]]&lt;br /&gt;
||[[User:Jessikiti Nikitin|Jessikiti Nikitin]]&lt;br /&gt;
||Allows deposits and withdrawals into another of your accounts, without the account being logged in.&lt;br /&gt;
|-&lt;br /&gt;
||[[Phantom Child]]&lt;br /&gt;
||[[User:Aeron Kohime|Aeron Kohime]]&lt;br /&gt;
||Causes a child in a link set to become phantom without the entire object becoming phantom.&lt;br /&gt;
|-&lt;br /&gt;
||[[PHP_RegionFunctions]]&lt;br /&gt;
||[[User:Gypsy Paz|Gypsy Paz]] and [[User:Zayne Exonar|Zayne Exonar]]&lt;br /&gt;
||Three useful PHP functions to get region info&lt;br /&gt;
|-&lt;br /&gt;
||[[PhysicsLib]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Interesting set of fun physics functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[Planar Tile Generator]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script to generate perfectly aligned tiles.&lt;br /&gt;
|-&lt;br /&gt;
||[[Play and Loop Sound]]&lt;br /&gt;
||[[User:Bellla Clarity|Bella Clarity]]&lt;br /&gt;
||Very short and simple script; plays and loops a sound in an object.&lt;br /&gt;
|-&lt;br /&gt;
||[[Posing stand|Posing Stand]]&lt;br /&gt;
||[[User:Bellla Clarity|Bella Clarity]]&lt;br /&gt;
||Just a pose script to edit [[attachments]] more easily.&lt;br /&gt;
|-&lt;br /&gt;
||[[PosJump]]&lt;br /&gt;
||[[User:Uchi Desmoulins|Uchi Desmoulins]]&lt;br /&gt;
||A much more efficient alternative to the popular [[warpPos]] function for bypassing 10m distance-moved limitations.&lt;br /&gt;
|-&lt;br /&gt;
||[[Puppeteer]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A simple puppeteer script that will allow you to record and animate prim movements and rotations.&lt;br /&gt;
|-&lt;br /&gt;
||[[Primitive Name Changer]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
|| A script that changes the primitive&#039;s name based on an user-configurable interval and a notecard list containing possible names.&lt;br /&gt;
|-&lt;br /&gt;
||[[Prefix Calculator]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
|| A calculator that evaluates expressions in prefix notation. &lt;br /&gt;
&amp;lt;code&amp;gt;+ 3 4 = 5. * + 1 2 + 3 4 = 14.&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||[[Profile Generator]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A cynical script for generating boilerplate profiles by based on cliches and profile memes.&lt;br /&gt;
|-&lt;br /&gt;
||[[Profile Picture]]&lt;br /&gt;
||[[User: Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||A working profile picture script with the new SecondLife API (1/11/2011)&lt;br /&gt;
|-&lt;br /&gt;
||[[Progress Bar]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Flexible and powerful little function for creating progress bars useful in hovertext.&lt;br /&gt;
|-&lt;br /&gt;
||[[Pseudo-random Number Generator]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Generates a Pseudo-random number between -0x7FFFFFFF and 0x7FFFFFFF&lt;br /&gt;
|-&lt;br /&gt;
||[[Quick Collar]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A simple, no-bulk, no external database and essential feature-packed RLV collar script for your pleasures.&lt;br /&gt;
|-&lt;br /&gt;
||[[Quicksort]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||LSL implementation of the Quicksort algorithm.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Rolig_Loon/Quiz_From_Notecard|Quiz From Notecard]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||A multiple-choice testing script that reads questions and answer choices from a notecard and presents them in dialog boxes.&lt;br /&gt;
|-&lt;br /&gt;
||[[Racter]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||In-world, multi-purpose chatterbot (Eliza/A.L.I.C.E. inspired) supporting multiple configurable hot-swappable brain-files with a wide range of applications.&lt;br /&gt;
|-&lt;br /&gt;
||[[Rainbow_palette]]&lt;br /&gt;
||[[User:Rui Clary|Rui Clary]]&lt;br /&gt;
||Build a color picker, using only one prim, and a few lines of code.&lt;br /&gt;
|-&lt;br /&gt;
||[[Random Gaussian Number Generator]]&lt;br /&gt;
||[[User:Vlad Davidson|Vlad Davidson]]&lt;br /&gt;
||Generates a random number drawn from a normal (Gaussian; bell-curve) distribution, based on a specified mean/stdev&lt;br /&gt;
|-&lt;br /&gt;
||[[Random AV Profile Projector]]&lt;br /&gt;
||[[User:Debbie Trilling|Debbie Trilling]]&lt;br /&gt;
||Randomly selects an AV from a crowd &amp;amp; then projects their profile picture as a &#039;holographic&#039; image &lt;br /&gt;
|-&lt;br /&gt;
||[[Random Object Vendor]]&lt;br /&gt;
||[[User:CodeBastard Redgrave|CodeBastard Redgrave]]&lt;br /&gt;
||Simple vendor that gives out random objects when paid the right amount &lt;br /&gt;
|-&lt;br /&gt;
||[[Random Password Generator]]&lt;br /&gt;
||[[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||Generate Random passwords based on String Length.&lt;br /&gt;
|-&lt;br /&gt;
||[[RandomPrimParams]]&lt;br /&gt;
||[[User:Xintar Citron|Xintar Citron]]&lt;br /&gt;
||Simple script which randoms Prim Parameteres, in this example i used color, but you can use everything. &lt;br /&gt;
|-&lt;br /&gt;
||[[RavText]]&lt;br /&gt;
||[[User:Ravenous Dingo|Ravenous Dingo]]&lt;br /&gt;
||An alternate to XyText.  This is a lightweight, multiple font 10 character text display system.  It only supports uppercase alphanumeric text and a few special characters, but it is very fast, renders quickly and supports multiple fonts. It is meant for specialized use when all that is desired is basic, fast text display and the extra &amp;quot;bells and whistles&amp;quot; are not needed.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:PixelProphet Lane/Scripts#Real Object Inventory To Dialog|Real Object Inventory To Dialog]]&lt;br /&gt;
||[[User:PixelProphet Lane|PixelProphet Lane]]&lt;br /&gt;
||Display any amount of items contained in an Object in a Dialog, regardless of item name length.&lt;br /&gt;
|-&lt;br /&gt;
||[[RentalBoxv1|Rental Box, Simply]]&lt;br /&gt;
||[[User:Sendao Goodman|Sendao Goodman]]&lt;br /&gt;
||Simple explanation of how to make rental boxes.&lt;br /&gt;
|-&lt;br /&gt;
||[[Rental Cube]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Simple cube for renting out a space.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/*DS*_Rental-Cube|Rental-Cube]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||This is an Open-Source version of a Rental-Cube from Daemonika Nightfire. Just copy/paste this script into a inworld lsl-script and add one notecard called Info/Rules to the content of your cube.  &lt;br /&gt;
|-&lt;br /&gt;
||[[Remote Texture Loader]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A set of scripts for remotely loading textures within a sim. This means that a single &amp;quot;texture server&amp;quot; can manage multiple changing billboards within a sim.&lt;br /&gt;
|-&lt;br /&gt;
||[[Say Region Frames Per Second|Region Frames Per Second]]&lt;br /&gt;
||[[User:Heymeriou Mystakidou|Heymariou Mystakidou]]&lt;br /&gt;
|| Says the region name and frames per second out loud on command.&lt;br /&gt;
|-&lt;br /&gt;
||[[Security Orb|Security Orb]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A regular security orb that ejects people from a land parcel supporting a menu configuration and a notecard based access list.&lt;br /&gt;
|-&lt;br /&gt;
||[[Resizer multi-prims|Resizer multi-prims]]&lt;br /&gt;
||[[User:Christy Mansbridge|Christy Mansbridge]]&lt;br /&gt;
||1 Mono script to resize object (1 to 256 prims) by blue menu. Avoid risk to break the build by increasing link distance.&lt;br /&gt;
|-&lt;br /&gt;
||[[RLV Collision Grabber]]&lt;br /&gt;
||[[User:Vala_Vella|Vala Vella]]&lt;br /&gt;
||Grab people colliding with the object and sit them on a set target using RLV&lt;br /&gt;
|-&lt;br /&gt;
||[[sbDialog]]&lt;br /&gt;
||[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
||A simple replacement function for [[llDialog]]. It re-orders the button list so that the button values, as passed to it, display left-to-right, top-to-bottom. It also opens a [[llListen|listen]] on the specified channel, and returns the handle.&lt;br /&gt;
|-&lt;br /&gt;
||[[Scheduled Payments]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that will allow you to make scheduled (and reoccurring) payments to multiple avatars via a notecard. &lt;br /&gt;
|-&lt;br /&gt;
||[[Scheduler]]&lt;br /&gt;
||[[User:Haravikk Mistral|Haravikk Mistral]]&lt;br /&gt;
||Schedule multiple events using a single script timer&lt;br /&gt;
|-&lt;br /&gt;
||[[Scheme_Interpreter|Scheme Interpreter]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A scheme interpreter capable of handling most scheme expressions, including lambda and lists.&lt;br /&gt;
|-&lt;br /&gt;
||[[Script Override Functions]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||bypass default strings, integer etc in chat channel.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Toady_Nakamura/Scrubber_Script|Script Scrubber]]&lt;br /&gt;
||[[User:Toady Nakamura|Toady Nakamura]]&lt;br /&gt;
||Script scrubs memory resident script functions from prim and self-deletes the script. Does not damage the prim, or remove other scripts.  Use this to kill bling or other particle effects!&lt;br /&gt;
|-&lt;br /&gt;
||[[Scripted Attachment Detector.lsl|Scripted Attachment Detector]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A script that will display avatars wearing scripted attatchments in hovertext. This may be worn as an hud or rezzed. &lt;br /&gt;
|-&lt;br /&gt;
||[[Self Upgrading Script Enhanced]]&lt;br /&gt;
||[[User:Cron Stardust|Cron Stardust]]&lt;br /&gt;
||Keeps only latest version of the script on prim (even with multiple adds of the same script!)&lt;br /&gt;
|-&lt;br /&gt;
||[[Sensor Visualizer]]&lt;br /&gt;
||[[User:Cerise Sorbet|Cerise Sorbet]]&lt;br /&gt;
||Shows the size and shape you get with [[llSensor]] range and arc parameters&lt;br /&gt;
|-&lt;br /&gt;
||[[Serverless Key Exchange]]&lt;br /&gt;
||[[User:Sendao Goodman|Sendao Goodman]]&lt;br /&gt;
||Maintains a network of object keys without using an external server.&lt;br /&gt;
|-&lt;br /&gt;
||[[SHA-1|SHA-1 Hash]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Performs a SHA-1 Hash on an input text. Similar to MD5 only (slightly) more secure. &lt;br /&gt;
|-&lt;br /&gt;
||[[SHA-2|SHA-2 Hash]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Performs a SHA-2 Hash on an input text. Similar to SHA-1 only (slightly) more secure. &lt;br /&gt;
|-&lt;br /&gt;
||[[Shoutcast - radio controller v0.3 (remake of similar scripts)]]&lt;br /&gt;
||[[User:Flennan Roffo|Logic Scripts]]&lt;br /&gt;
||Control your shoutcast radio stations with this shoutcast controller. Uses notecard for info about genres and stations and menu to select the station. Sends info to Xytext display.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:PixelProphet Lane/Scripts#Show Agent Script Count and memory|Show Agent Script Count and memory]]&lt;br /&gt;
||[[User:PixelProphet Lane|PixelProphet Lane]]&lt;br /&gt;
||Fast and efficient method to display the amount of scripts and memory usage for an agent&lt;br /&gt;
|-&lt;br /&gt;
||[[Sim Map Particle Projector]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||Displays a floating map of the sim the script is in.&lt;br /&gt;
|-&lt;br /&gt;
||[[Sim Performance Collector (Web-based]]&lt;br /&gt;
||[[User:DeniseHoorn Slade|DeniseHoorn Slade]]&lt;br /&gt;
||Makes some graphs for your website on the sim-performance (DIL,FPS, PING). PHP and Round Robin Database on Server needed!&lt;br /&gt;
|-&lt;br /&gt;
||[[Sim Restart Logger]]&lt;br /&gt;
||[[User:Kyrah Abattoir|Kyrah Abattoir]]&lt;br /&gt;
||Counts region restarts and displays log of last 9 restarts together with region FPS and dilation. &lt;br /&gt;
|-&lt;br /&gt;
||[[SIM status]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that will scan and display the status of SIMs (up, down, starting, stopping, unknown, crashed) from a notecard in the same prim as the script.&lt;br /&gt;
|-&lt;br /&gt;
||[[Simple Elevator in a Box]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Simple elevator example.&lt;br /&gt;
|-&lt;br /&gt;
||[[Simple Pay Door]]&lt;br /&gt;
||[[User:Giygas Static|Giygas Static]]&lt;br /&gt;
||Simple door you pay to get access.&lt;br /&gt;
|-&lt;br /&gt;
||[[Skillingo AntiHack Script]]&lt;br /&gt;
||[[User:Tmzasz Luminos|Tmzasz Luminos]]&lt;br /&gt;
||A simple Protection script for skillingo thats modifyable to work with other machines.&lt;br /&gt;
|-&lt;br /&gt;
||[[Skunk Money]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Fun gambling machine of yesteryear, which only supports freeplay now due to SL regulations against gambling. &lt;br /&gt;
|-&lt;br /&gt;
||[[SLateIt]]&lt;br /&gt;
||Babbage Linden&lt;br /&gt;
||An augmented virtual reality HUD.&lt;br /&gt;
|-&lt;br /&gt;
||[[SLetanque]]&lt;br /&gt;
||Babbage Linden&lt;br /&gt;
||An LSL petanque game.&lt;br /&gt;
|-&lt;br /&gt;
||[[SLURL HUD]]&lt;br /&gt;
||[[User:CodeBastard Redgrave|CodeBastard Redgrave]]&lt;br /&gt;
||Touch this HUD to get a SLURL through IM, email and floating text.&lt;br /&gt;
|-&lt;br /&gt;
||[[BuildSlurl (NewAge)]]&lt;br /&gt;
||[[User:Archile Azalee|Archile Azalee]]&lt;br /&gt;
||A way to create a SLurl in a single function BuildSlurl&lt;br /&gt;
|-&lt;br /&gt;
||[[SL Mail V1.2]]&lt;br /&gt;
||[[User:Flennan Roffo|Flennan Roffo]]&lt;br /&gt;
||Second Life mail client V1.2 (released sept&#039;07). Send and receive mail from within Second Life from and to any address. With Address Book function and many chat commands. V1.3 is upcoming soon! &lt;br /&gt;
|-&lt;br /&gt;
||[[SL_NTPoHTTP_v1.1_client|SL NTPoHTTP client]]&lt;br /&gt;
|[[User:SignpostMarv Martin|SignpostMarv Martin]]&lt;br /&gt;
||Second Life Needs Time Parsing over Hyper Text Transfer Protocol&lt;br /&gt;
Emulates the function of [[llGetWallclock]] for any timezone by using SLOpenID&#039;s SLNTPoHTTP service. Also supports ISO 8601 and RFC 2822 timestamps. Script is dependent upon an external service operated by the author!&lt;br /&gt;
|-&lt;br /&gt;
||[[Slide Display]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||A display for presentations or talks supporting multiple slides as well as zooming-in on the slides.&lt;br /&gt;
|-&lt;br /&gt;
||[[Smile]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||An extended smile script supporting two smiles (extendable via a list) and a time delay triggering them at random.&lt;br /&gt;
|-&lt;br /&gt;
||[[Smooth Rotating Door]]&lt;br /&gt;
|[[User:Toy Wylie|Toy Wylie]]&lt;br /&gt;
||A script for doors that open and close smoothly using llTargetOmega&lt;br /&gt;
|-&lt;br /&gt;
||[[Smooth Rotating Linked Door With Hinge]]&lt;br /&gt;
|[[User:Lyn Mimistrobell|Lyn Mimistrobell]]&lt;br /&gt;
||A script for linked uncut (mesh) doors that smoothly rotates around a virtual hinge without the use of timers&lt;br /&gt;
|-&lt;br /&gt;
||[[Smooth Sliding Door]]&lt;br /&gt;
|[[User:SimonT Quinnell|SimonT Quinnell]]&lt;br /&gt;
||A script for sliding doors that open and close smoothly using [[llMoveToTarget]]. Asjusts for prim orientation.&lt;br /&gt;
|-&lt;br /&gt;
||[[Snake Game]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||The game of snake in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
||[[Song Requests]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||Helper script for DJs, allowing listeners to request songs and make dedications.&lt;br /&gt;
|-&lt;br /&gt;
||[[Speed Tester]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||Similar to the [[Efficiency Tester]], this script allows you to test the speed of a particular function or snippet with multiple trials giving min/max/avg/median and the standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
||[[Spiral Staircase Generator]]&lt;br /&gt;
|[[User:Meyermagic Salome|Meyermagic Salome]]&lt;br /&gt;
||Generates nice looking spiral staircases without much hassle.&lt;br /&gt;
|-&lt;br /&gt;
||[[Static URL&#039;s for HTTP-In Service|Static_URLs]]&lt;br /&gt;
||[[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||How to generate a static url for HTTP-In temporal limitations.&lt;br /&gt;
|-&lt;br /&gt;
||[[String Compare]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Compares two strings and reliably returns either 1, -1, or 0 if they are the same.&lt;br /&gt;
|-&lt;br /&gt;
||[[Synchronize]]&lt;br /&gt;
||[[User:Cay Trudeau|Cay Trudeau]]&lt;br /&gt;
||Makes synchronized start to a task on even/odd seconds&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#String:_Find_Last_Index|String: Reverse]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns an input string in reverse order&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#String:_Get_Reverse_Order|String: Last Index]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns the last index of search found in string (the backward equivalent of [[llSubStringIndex]])&lt;br /&gt;
|-&lt;br /&gt;
||[[Tail Messages (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||A super nice easy to use script for those non-scripters out there! NewAge coding has done it again where you no longer need to scroll up and down adding buttons and adding messages, Features a tag system (you&#039;ll see what i mean :P)&lt;br /&gt;
|-&lt;br /&gt;
||[[Taper Door (minimalistic)]]&lt;br /&gt;
||[[User:Kopilo Hallard|Kopilo Hallard]]&lt;br /&gt;
||A basic script for doors which open and close using taper.&lt;br /&gt;
|-&lt;br /&gt;
||[[Teleport HUD]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||WORKS TO 4096 METERS!! Very user friendly teleport HUD. Add destinations by touching &amp;quot;Add&amp;quot; &amp;amp; naming destination in chat. Automatically gets sim name and coordinates. Will only display the destinations in the sim you are currently in. Demonstrates more advanced list manipulation and stride functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Programs#v7-D_Enh._Landmark-2-Map|Teleporter (landmark based)]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Uses Landmarks to offer map teleports. Works as Hud or inworld objects, just drop in landmarks and go.&lt;br /&gt;
|-&lt;br /&gt;
||[[Text_Scroller|Text Scroller]]&lt;br /&gt;
||[[User:Fred_Gandt|Fred Gandt]]&lt;br /&gt;
||A simple text display object that scrolls text (applied as a texture) from right to left (like &#039;&#039;those&#039;&#039; LED signs) in a continuous loop.&lt;br /&gt;
|-&lt;br /&gt;
||[[Bobbyb&#039;s texture changer|Texture Changers]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A collection of texture changing scripts.&lt;br /&gt;
|-&lt;br /&gt;
||[[Texture Menu Management|Texture Management]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Dialog Menu based Texture Selection.&lt;br /&gt;
|-&lt;br /&gt;
||[[Texture Particle Poofer|Texture Particle Poofer]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||This is a generic dialog-based particle poofer, emitting textures towards an avatar for a configurable amount of time.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Xen_Lisle/Texture_Slide|Texture Slide]]&lt;br /&gt;
||[[User:Xen Lisle|Xen Lisle]]&lt;br /&gt;
||Slides a texture on mouse movement&lt;br /&gt;
|-&lt;br /&gt;
||[[Tic Tac Toe]]&lt;br /&gt;
||CG Linden&lt;br /&gt;
||Step by step demo on how to implement a larger scripting project&lt;br /&gt;
|-&lt;br /&gt;
||[[TightList]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Tight List is a family of functions for encoding lists as strings and then decoding them back into lists.&lt;br /&gt;
There are two flavors: TightList and TightListType. TightListType preserves types and uses a 6 char header, while TightList uses a 1 char header that doesn&#039;t preserve type. &lt;br /&gt;
|-&lt;br /&gt;
||[[Timer Module]]&lt;br /&gt;
||[[User:Isabelle Aquitaine|Isabelle Aquitaine]]&lt;br /&gt;
||Manage multiple timers via linked messages.&lt;br /&gt;
|-&lt;br /&gt;
||[[Two Avatars on single prim]]&lt;br /&gt;
||[[User:Pale Janus|Cay Trudeau]]&lt;br /&gt;
||Allow two (or more) avatars to sit on same prim&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#Unix_time_code_to_list_format|Timestamp:&amp;lt;br&amp;gt;Unix time code to list format]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||converts Unix timestamps to their [Y, M, D, h, m, s] equivalents (ex: 1234567890 to [2009, 2, 13, 3, 31, 30])&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List_format_to_Unix_time_code.|Timestamp:&amp;lt;br&amp;gt;List format to Unix time code]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||converts [Y, M, D, h, m, s] timestamps to their Unix equivalents (ex: [2009, 2, 13, 3, 31, 30] to 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#Weekday_from_Unix_timestamp|Timestamp:&amp;lt;br&amp;gt;Weekday from Unix timestamp]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Gets weekday from Unix timestamps (ex: &amp;quot;Friday&amp;quot; from 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
||[[The Stash (Bank)]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||This is a depositing system to link your secondary account (alt) to a prim in-world so you can retrieve money without switching back and forth between accounts. It supports setting an upper limit, sharing the stash if you wish, logging everybody who deposited money and retrieved money, sending money to a list of bookmarked avatars and getting a status of your current holdings. It also explains some tricks for developers, for example, how to get another timer() if your current timer() is used up already.&lt;br /&gt;
|-&lt;br /&gt;
||[[Tipjar]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||This is a fully fledged tipjar supporting shared access, split profits, inviting to group, handing over gifts, maintaining statistics of who tipped most and who tipped in general, eliminating deed to group and comes with an innovative feature: it periodically moves around from avatar to avatar in the room and returns back to its initial position after a sweep. This way your tijpar will not be static, but participate in the party!&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#Weekday_from_.28_Y.2C_M.2C_D_.29_format|Timestamp:&amp;lt;br&amp;gt;Weekday from (Y, M, D) format]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Gets weekday from (Y, M, D) timestamps (ex: &amp;quot;Friday&amp;quot; from (2009, 2, 13))&lt;br /&gt;
|-&lt;br /&gt;
||[[Touch A Quote]]&lt;br /&gt;
||[[User:CodeBastard Redgrave|CodeBastard Redgrave]]&lt;br /&gt;
||Touch an object to read quotes sequentially from a notecard&lt;br /&gt;
|-&lt;br /&gt;
||[[Touring Balloon]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Automated touring balloon with many options from long ago.  Always seems to work on one SL release, and not the other.&lt;br /&gt;
|-&lt;br /&gt;
||[[Towncrier]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A simple towncrier to be used in role-play SIMs or wherever there is a need to broadcast news in random intervals.&lt;br /&gt;
|-&lt;br /&gt;
||[[Trivia]]&lt;br /&gt;
||[[Wizardry and Steamworks]]&lt;br /&gt;
||A trivia game engine with provided ready-made notecards.&lt;br /&gt;
|-&lt;br /&gt;
||[[Under Age Boot]]&lt;br /&gt;
|[[User:Chance Unknown|Chance Unknown]]&lt;br /&gt;
||Security device example to teleport home accounts below a minimum age limit; can be useful in combating free griefer accounts.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Rolig_Loon/UNDO_PosRot|UNDO_PosRot]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Allows user to undo position and rotation changes that have been made &amp;quot;manually&amp;quot; to any or all prims in a linkset.&lt;br /&gt;
|-&lt;br /&gt;
||[[Universal Translator]]&lt;br /&gt;
|[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Chat listener that handles seamless translation of public chat between 50+ written languages without the need for configuration.  Handles numerous avatars, auto-detects languages, and works together with multiple copies of translators to spread-workload using a sophisticated back-end communications sub-system.&lt;br /&gt;
|-&lt;br /&gt;
||[[Unix2DateTime]]&lt;br /&gt;
|[[User:Flennan Roffo|Flennan Roffo]]&lt;br /&gt;
||Conversion from Unix time ([[llGetUnixTime]]()) to date and time string and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
||[[Unmutable Descript Nagger]]&lt;br /&gt;
|[[User:Bobbyb30 Zohari|Bobbyb30 Zohari]]&lt;br /&gt;
||To nag avatars to take off their scripted attatchments.&lt;br /&gt;
|-&lt;br /&gt;
||[[Unpacker On Rez (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||A very simple to use script for all you creators out there, This script will enable you to send out boxed items and make it easier for users to unpack, Also features auto die on completion. Very simple to configure!&lt;br /&gt;
|-&lt;br /&gt;
||[[Unpacker On Touch (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||Exactly like Unpacker On Rez, But changed some things about to make it Unpack On Touch&lt;br /&gt;
|-&lt;br /&gt;
||[[Update distributor]]&lt;br /&gt;
|[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Distribute an object (like a project update) to a list of people named in a notecard.&lt;br /&gt;
|-&lt;br /&gt;
||[[UUID2Channel]]&lt;br /&gt;
||[[User:Project Neox|Project Neox]]&lt;br /&gt;
||Optimised version of the original key2channel generators.&lt;br /&gt;
|-&lt;br /&gt;
||[[UUID Song Generator]]&lt;br /&gt;
||{{User|Sendao Goodman}}&lt;br /&gt;
||Translates a UUID into a simple song and plays it.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Programs#v7-D_Advanced_Visitor_Greeter|Visitor Greeter]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Reduced spam visitor greeter, highly configurable, easy to modify.&lt;br /&gt;
|-&lt;br /&gt;
|[[VariText]]&lt;br /&gt;
|[[User:Geneko Nemeth|Geneko Nemeth (Kakurady)]]&lt;br /&gt;
|Display text on a prim, without looking like from a typewriter&lt;br /&gt;
|-&lt;br /&gt;
||[[Visitor Logger (Web/Basic) ]]&lt;br /&gt;
|[[User:Buddy Sprocket|Buddy Sprocket]]&lt;br /&gt;
||A very basic visitor logger - log visitors in SL to a text file on your web-site.&lt;br /&gt;
|-&lt;br /&gt;
||[[Visitors]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||A series of scripts to hold lists of visitors taking into account display names and supporting tracking multiple visits.&lt;br /&gt;
|-&lt;br /&gt;
||[[Volleyball Game (Kira&#039;s Artillery Variations)]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||The game of Volleyball in SecondLife, based on the [[Artillery]] script and freefall theory. Full build instructions, scripts, import archive and marketplace freebie product. All full permission.&lt;br /&gt;
|-&lt;br /&gt;
||[[Vote Simple]]&lt;br /&gt;
||[[User:JB Kraft|JB Kraft]]&lt;br /&gt;
||Simple vote collector. One avi, one vote.&lt;br /&gt;
|-&lt;br /&gt;
||[[Walking Sound (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||Very powerful walking sound script, Featuring customer ability to add their own sounds with the API Sound Feature!&lt;br /&gt;
|-&lt;br /&gt;
||[[Wanderer]]&lt;br /&gt;
|[[Wizardry and Steamworks]]&lt;br /&gt;
||A script that can be used to randomly move a prim around relative to its origin point. Can be used for breeders, robots, birds and other applications where a primitive has to move around by itself.&lt;br /&gt;
|-&lt;br /&gt;
||[[WarpPos]]&lt;br /&gt;
|[[User:Keknehv Psaltery|Keknehv Psaltery]]&lt;br /&gt;
||Non-physical movement without the 10m limit.&lt;br /&gt;
|-&lt;br /&gt;
||[[Watchdog]]&lt;br /&gt;
|[[User:Tika Oberueng|Tika Oberueng]]&lt;br /&gt;
||LSL Watchdog scripts to monitor other scripts in the prim and restart them if they crash or stop running.&lt;br /&gt;
|-&lt;br /&gt;
||[[Wiki3DBuilder]] [[Wiki3DBuilder1.0]]&lt;br /&gt;
||[[User:Salahzar Stenvaag|Salahzar Stenvaag]] &lt;br /&gt;
||Allows a group of people to collectively build up complex 3D mindmaps with connected concepts. Uses particles for connections and low prim usage. Nodes can be textured, colored, changed form size moved collectively by everybody and can distribute notecards, landmarks, URL, objects, textures. I provide two version 0.1 and 1.0 and probably next version will communicate with moodle and sloodle external websites.&lt;br /&gt;
|-&lt;br /&gt;
||[[Window Control]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||For window opacity, helpful for buildings.&lt;br /&gt;
|-&lt;br /&gt;
||[[XTEA Strong Encryption Implementation]]&lt;br /&gt;
||[[User:Morse Dillon|Morse Dillon]]&lt;br /&gt;
||An LSL implementation of XTEA (eXtended Tiny Encryption Algorithm).  This is the first known public release of a &#039;real&#039; strong encryption implementation in LSL and is released under the GNU General Public License (GPL).&lt;br /&gt;
|-&lt;br /&gt;
||[[XyText 1.5|XyText]]&lt;br /&gt;
||[[User:Xylor Baysklef|Xylor Baysklef]]&lt;br /&gt;
|| Display text (up to 10 characters) on a prim. Use as many prims as desired.&lt;br /&gt;
|-&lt;br /&gt;
||[[XyyyyzText|XyyyyzText]]&lt;br /&gt;
||[[User:Criz Collins|Criz Collins]]&lt;br /&gt;
|| Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO&lt;br /&gt;
|-&lt;br /&gt;
||[[XyzzyText|XyzzyText]]&lt;br /&gt;
||[[User:Thraxis Epsilon|Thraxis Epsilon]] and [[User:Gigs Taggart|Gigs Taggart]]&lt;br /&gt;
|| Display text (up to 10 characters) on a prim. Way more efficient than XyText.&lt;br /&gt;
|-&lt;br /&gt;
||[[Youtube TV]]&lt;br /&gt;
||[[User:Morgam Biedermann|Morgam Biedermann]]&lt;br /&gt;
||Watch your favorite Youtube videos / auto set the texture to the parcel media texture.&lt;br /&gt;
|-&lt;br /&gt;
||[[Zero Lag Poseball]]&lt;br /&gt;
||[[User:Jippen Faddoul|Jippen Faddoul]] and [[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||A simple poseball with no lag&lt;br /&gt;
|-&lt;br /&gt;
||[[Zigzag Sequence]]&lt;br /&gt;
||[[User:Project Neox|Project Neox]]&lt;br /&gt;
||Zigzag sequence generator I developed while scripting checkers&lt;br /&gt;
|-&lt;br /&gt;
||[[Input number of seconds, get a string back that shows days, hours, minutes, seconds]]&lt;br /&gt;
||[[User:Fire Centaur|Fire Centaur]]&lt;br /&gt;
||Returns a string that displays days, hours, seconds&lt;br /&gt;
|-&lt;br /&gt;
||[[Random Giver Prim]]&lt;br /&gt;
||[[User:Damian Darkwyr|Damian Darkwyr]]&lt;br /&gt;
||A randomized item giver with a game-like twist&lt;br /&gt;
|-&lt;br /&gt;
||[[Client Specific Contents Giver]]&lt;br /&gt;
||[[User:Damian Darkwyr|Damian Darkwyr]]&lt;br /&gt;
||Give Contents only to users of a specific Client. Such as Phoenix, CoolVL or 2.0&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/v7-D_Zen_Resizer|Zen Resizer]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Single script object resizer w/ multi-language &amp;amp; multi-menu support, + many other features for simple or advanced use.&lt;br /&gt;
|-&lt;br /&gt;
||[[Presenter with Timer]]&lt;br /&gt;
||[[User:Fire Centaur]]&lt;br /&gt;
||Yet another texture presenter with a timer, lock, next/prev etc&lt;br /&gt;
|-&lt;br /&gt;
||[[TimeAPI Clock Script]]&lt;br /&gt;
||[[User:Elite Runner|Ryan R. Elite (Elite Runner)]]&lt;br /&gt;
||Gets time via HTTP function from TimeAPI.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Support Script Library==&lt;br /&gt;
These are scripts in other languages, intended to be run on other systems that support scripts written in LSL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| [https://github.com/Nexii-Malthus/phpPathfinding phpPathfinding]&lt;br /&gt;
|| [[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| PHP script for offloading complex pathfinding operations away from heavy use simulators onto external servers. Primarily A* Algorithm. Flexible -- works with any type of node graph. Public Domain. Clean and minimalistic code.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Ina Centaur/UUID/calimg.api|Calendar Image UUID API]]&lt;br /&gt;
||[[User:Ina Centaur|Ina Centaur]]&lt;br /&gt;
|| API that gives the UUID of an image of a calendar image give month and year arguments.&lt;br /&gt;
|-&lt;br /&gt;
|| [[HTTP Post request to a PHP server]]&lt;br /&gt;
|| [[User:Corto Maltese|Corto Maltese]]&lt;br /&gt;
|| This small library allows you to make simple POST requests to your website. The libraries allow you to get your request through the variable $_POST on the server. It also include a basic security mechanism aimed to stop hacking. Comprises of LSL client script and PHP server script.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Ina Centaur/PHP/k2n.php|Key2Name.php]]&lt;br /&gt;
|| [[User:Ina Centaur|Ina Centaur]]&lt;br /&gt;
|| Get Avatar&#039;s Name using Second Life search service. (like in LSL Key2Name)&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Darien_Caldwell/HTTP-DNS|HTTP-IN DNS]]&lt;br /&gt;
|| [[User:Darien Caldwell|Darien Caldwell]]&lt;br /&gt;
|| Public Domain DNS and HTTP-IN URL Distribution system running on GAE (the original). Deploy your own for maximum utility and security.&lt;br /&gt;
|-&lt;br /&gt;
|| [[Lame_Object_DNS_and_Cross_Sim_Messaging|Lame Object DNS and Cross Sim Messaging]]&lt;br /&gt;
|| [[User:Liandra Ceawlin|Liandra Ceawlin]]&lt;br /&gt;
|| Simple, cheeseball method of doing cross-sim communications with http-in and an external object DNS service.&lt;br /&gt;
|-&lt;br /&gt;
|| [[Minify|LSL Minify]]&lt;br /&gt;
|| [[Wizardry and Steamworks]]&lt;br /&gt;
|| LSL Minification and obfuscation tool written in JavaScript. Contains a form on the wiki using a widget where you can post LSL scripts to be minified as well as the source-code. For another full-screen demo you may [http://eva.comaroski.me/lslclean.html check it on my website]. To use, paste any LSL code and press ctrl+alt+enter to get the minified version.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:SignpostMarv Martin/PHP/llXorBase64StringsCorrect|llXorBase64StringsCorrect]]&lt;br /&gt;
|| [[User:SignpostMarv Martin|SignpostMarv Martin]]&lt;br /&gt;
|| An implementation of [[llXorBase64StringsCorrect]] in PHP- should be useful if you&#039;re using llXorBase64StringsCorrect to do cryptography work in LSL2 and posting it out to the web via [[llHTTPRequest]].&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:SignpostMarv Martin/PHP/lsl fu.php|lsl_fu.php]]&lt;br /&gt;
|| [[User:SignpostMarv Martin|SignpostMarv Martin]]&lt;br /&gt;
|| A basic OOP&#039;d PHP Class containing VeloxSeverine&#039;s $_POST fixer and Marv&#039;s own eccentric ideas for &amp;quot;fixing&amp;quot; things.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Jor3l Boa/PHP/n2k.php|Name2Key.php]]&lt;br /&gt;
|| [[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
|| Get Avatar&#039;s UUID using Second Life search service. (like in LSL Name2Key)&lt;br /&gt;
|-&lt;br /&gt;
|| [[Public_Object_DNS|Public Object DNS]]&lt;br /&gt;
|| [[User:Liandra Ceawlin|Liandra Ceawlin]]&lt;br /&gt;
|| Public object DNS-like system running on GAE, for http-in. Hopefully scalable enough for wide-spread usage.&lt;br /&gt;
|-&lt;br /&gt;
|| [[Rake|Rake]]&lt;br /&gt;
|| [[Wizardry and Steamworks]]&lt;br /&gt;
|| A C# utility meant to create full inventory backups to your local hard-drive including Textures/Sculpts, Animations, Notecards and Scripts. &lt;br /&gt;
|-&lt;br /&gt;
|| Silo&lt;br /&gt;
|| Zero Linden&lt;br /&gt;
|| General purpose data store in PHP.  Use this to persist arbitrary data from LSL via [[llHTTPRequest]].  See:&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo-README.txt README] file&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo.tgz silo.tgz] tarball&lt;br /&gt;
* forum post [http://forums-archive.secondlife.com/54/69/119570/1.html Announcement].&lt;br /&gt;
|-&lt;br /&gt;
||[[Silverday ObjectDNS]]&lt;br /&gt;
||[[User:Till Stirling|Till Stirling]]&lt;br /&gt;
||Dynamic Object-DNS-System to provide dynamic mapping of LSL-URLs to persistent domains. Features include redirect service, password protected domains, write protected domains, LSL-API for all necessary functions, optional web-interface.&lt;br /&gt;
|-&lt;br /&gt;
|| [http://aubretec.com/products/sldb SLDB]&lt;br /&gt;
|| [[User:Luc Aubret|Luc Aubret]]&lt;br /&gt;
|| Flexible web database storage using PHP/MySQL.  Used to store per-user field/value pairs from in-world objects using [[llHTTPRequest]]. &lt;br /&gt;
* [http://aubretec.com/support/manuals/sldbkit/ Implementation Guide]&lt;br /&gt;
* [http://aubretec.com/wp-content/uploads/2009/05/sldb.zip Download] (.zip, 12kb)&lt;br /&gt;
|-&lt;br /&gt;
|| [https://tlabsfoundry.atlassian.net/wiki/display/SLAD/SL+Asset+Data SL Asset Data]&lt;br /&gt;
|| [[User:Trimda Hedges|Trimda Hedges]]&lt;br /&gt;
|| A set of Java classes to retrieve information about Groups, Parcels and Agents/Avatars based on their key (UUID).  Includes caching of requests and results and example application.  Copyright under Eclipse Public License v1&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/SLAD/Downloads Downloads]&lt;br /&gt;
* [http://trimda.com/javadocs/slassetdata/1.1.0/ JavaDocs]&lt;br /&gt;
* [https://tlabsfoundry.atlassian.net/wiki/display/TF/TLabs+Foundry Other Projects]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Articles&#039;&#039;&#039;&lt;br /&gt;
*[[:Category:LSL Examples| Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{LSLC|}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105262</id>
		<title>Synchronize</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105262"/>
		<updated>2010-11-14T09:12:53Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
simple synchronize script for two or more separate prims, like wings for instance &amp;lt;br&amp;gt;&lt;br /&gt;
assuming the task();  is 100% similar in all prims and takes less than 1 sec to implement&lt;br /&gt;
&lt;br /&gt;
       float i = llGetTime();  &lt;br /&gt;
        task(); &lt;br /&gt;
       float x = llGetTime();&lt;br /&gt;
        while (llGetUnixTime()%2 == 0)// do every even second (result 1 for odd seconds)&lt;br /&gt;
            { &lt;br /&gt;
             llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
            }&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105252</id>
		<title>Synchronize</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105252"/>
		<updated>2010-11-14T09:11:53Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
simple synchronize script for two or more separate prims, like wings for instance&lt;br /&gt;
assuming the task();  is 100% similar in all prims and takes less than 1 sec to implement&lt;br /&gt;
&lt;br /&gt;
       float i = llGetTime();  &lt;br /&gt;
        task(); &lt;br /&gt;
       float x = llGetTime();&lt;br /&gt;
        while (llGetUnixTime()%2 == 0)// do every even second (result 1 for odd seconds)&lt;br /&gt;
            { &lt;br /&gt;
             llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
            }&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105242</id>
		<title>Synchronize</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105242"/>
		<updated>2010-11-14T09:10:18Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
simple synchronize script for two or more separate prims, like wings for instance&lt;br /&gt;
assuming the task();  is 100% similar in all prims and takes less than 1 sec to implement&lt;br /&gt;
&lt;br /&gt;
       float i = llGetTime();  &lt;br /&gt;
        task(); &lt;br /&gt;
       float x = llGetTime();&lt;br /&gt;
        while (llGetUnixTime()%2 == 0)//odd or even seconds&lt;br /&gt;
            { &lt;br /&gt;
             llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
            }&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105232</id>
		<title>Synchronize</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105232"/>
		<updated>2010-11-14T09:09:39Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
//simple synchronize script for two or more separate prims, like wings for instance&lt;br /&gt;
// assuming the task();  is 100% similar in all prims and takes less than 1 sec to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       float i = llGetTime();  &lt;br /&gt;
        task(); &lt;br /&gt;
       float x = llGetTime();&lt;br /&gt;
        while (llGetUnixTime()%2 == 0)//odd or even seconds&lt;br /&gt;
            { &lt;br /&gt;
             llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
            }&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1105222</id>
		<title>Category:LSL Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Library&amp;diff=1105222"/>
		<updated>2010-11-14T09:09:06Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* LSL Script Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}{{RightToc}}&lt;br /&gt;
==Script Library==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em 0.5em 1.5em&amp;quot;&amp;gt;&lt;br /&gt;
Come to this page to see complex examples that show how to combine parts of LSL.&lt;br /&gt;
&lt;br /&gt;
Go to the [[:Category:LSL Examples|LSL Examples]] page to see brief examples of how to use parts of LSL &lt;br /&gt;
&lt;br /&gt;
Why collect complex examples here? Well, ...&lt;br /&gt;
&lt;br /&gt;
There are many [[script|scripts]] that have become buried in the [[Old forum Scripting Library index| old forum Scripting Library]] or the newer [https://blogs.secondlife.com/community/forums/scripting_library?view=discussions Scripting Library forum], were lost with the death of the early scripting forums, or sit idle in [[inventory|inventories]] that could be useful and should be more accessible.&lt;br /&gt;
&lt;br /&gt;
Other scripters may be in the same situation. This wiki is a well-suited medium for a script library. Feel free to add your scripts to the script library by creating new pages for them and linking to those pages here.&lt;br /&gt;
&lt;br /&gt;
Note that there are many more scripts in the LSL Library here, but you can&#039;t get to them if you don&#039;t know they exist, because they are subpages now, instead of an automatically updated category.  Good luck searching.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rules for posting: ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
#Your script must be tested and working. If it&#039;s not, stick it in your user-space until it is. This is a list of working, usable scripts.&lt;br /&gt;
#Add a link to your script&#039;s page here. Link back to this page from your script&#039;s page. Start your page with &amp;lt;nowiki&amp;gt;{{LSL Header}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
#Do not add scripts that duplicate the same functionality as an existing script or built in {{LSLGC|Functions|function}}. If yours does, explain why.&lt;br /&gt;
#Do not list simple scripts here. Include those among the [[:Category:LSL Examples|LSL Examples]] instead.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
==LSL Script Library==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||[[1st necessity of SL]]&lt;br /&gt;
||[[User:Beer Dailey|Beer Dailey]]&lt;br /&gt;
||Monitors for avatars and (de)activates scripts states to control script performance/lag.&lt;br /&gt;
|-&lt;br /&gt;
||[[SetLinkText]]&lt;br /&gt;
||[[User:Tacusin Memo|Tacusin Memo]]&lt;br /&gt;
||Custom function like llSetText only applying to linked sets.&lt;br /&gt;
|-&lt;br /&gt;
||[[3D Radar]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||Rezzes a ball for each avatar in range. Each ball tracks its own AV and displays distance.&lt;br /&gt;
|-&lt;br /&gt;
||[[Access (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||An easy to use script for permissions on who can use the script, Public/Group/Owner&lt;br /&gt;
|-&lt;br /&gt;
||[[Aim Detection]]&lt;br /&gt;
||[[User:Han Shuffle|Han Shuffle]]&lt;br /&gt;
||Monitors for avatars and reports back to owner about who is aiming at them.&lt;br /&gt;
|-&lt;br /&gt;
||[[AntiDelay Node]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Uses [[llMessageLinked]] to stop those pesky delays.&lt;br /&gt;
|-&lt;br /&gt;
||[[AO Overriding Pose Ball]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||No more turning your AO off and on when you sit down&lt;br /&gt;
|-&lt;br /&gt;
||[[ARCFOUR Strong Encryption Implementation]]&lt;br /&gt;
||[[User:Nekow42 Zarf|Nekow42 Zarf]]&lt;br /&gt;
||An LSL implementation of ARCFOUR, the most popular stream cipher still in use. It is licensed under a Creative Commons Attribution 3.0 license.&lt;br /&gt;
|-&lt;br /&gt;
||[[Assembly Programming Language|Assembly-Like Programming Language]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A compiler that runs assembly-like programs.&lt;br /&gt;
|-&lt;br /&gt;
||[[Associative Array Emulator|Associative Array (Dictionary) Emulator]]&lt;br /&gt;
||[[User:Alynna Vixen|Alynna Vixen]]&lt;br /&gt;
||This library provides a set of functions for using a list as an associative array where string based keys can refer to one or more variant elements.&lt;br /&gt;
|-&lt;br /&gt;
||[[AvatarFollower]]&lt;br /&gt;
||[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Allows one avatar to automatically follow another.&lt;br /&gt;
|-&lt;br /&gt;
||[[Avatar Radar (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||Version 1.2; A nice new avatar radar script i just finish that you can place in your hud, Also features avatar locator&lt;br /&gt;
|-&lt;br /&gt;
||[[Base2Dec]]&lt;br /&gt;
||[[User:Siann Beck|Siann Beck]]&lt;br /&gt;
||Convert a number to decimal from any base.&lt;br /&gt;
|-&lt;br /&gt;
||[[BaseN]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
||Variable base compression, dynamically maps to usable UTF code points.&lt;br /&gt;
|-&lt;br /&gt;
||[[Basic A-Star Pathfinder]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| My own interpretation of A Star into a highly efficient algorithmn&lt;br /&gt;
|-&lt;br /&gt;
||[[Basic Encryption Modules]]&lt;br /&gt;
||[[User:Beverly Larkin|Beverly Larkin]]&lt;br /&gt;
||Basic encryption scripts, allows you to encrypt a float and shout it to another prim on a randomly chosen channel.&lt;br /&gt;
|-&lt;br /&gt;
||[[Be happy]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Basic smile attachment script, makes your avatar smile.&lt;br /&gt;
|-&lt;br /&gt;
||[[Best Neighbor Ad Hiding Script|Best Neighbor]]&lt;br /&gt;
||[[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
||Reduce ad clutter by hiding ads when users are on their own land nearby.&lt;br /&gt;
|-&lt;br /&gt;
||[[BigNum|BigNum Library (RSA Encryption)]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A BigNum Library for dealing with big numbers! Specialized for modular multiplication, and RSA encryption.&lt;br /&gt;
|-&lt;br /&gt;
||[[Binary Clock v1.1|Binary Clock]]&lt;br /&gt;
||[[User:Fox Diller|Fox Diller]]&lt;br /&gt;
||A Binary Clock.&lt;br /&gt;
|-&lt;br /&gt;
||[[BinaryDecimalConverter]]&lt;br /&gt;
||[[User:Soundless Smalls|Soundless Smalls]]&lt;br /&gt;
||Converts a binary value to a decimal value and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
||[[Blacklist and Remote Kill|Blacklist and Remote Kill]]&lt;br /&gt;
||[[User:Chase Quinnell|Chase Quinnell]]&lt;br /&gt;
||Blacklist(denial of use) or a creator kill script(can delete someone&#039;s item by command on private channel)&lt;br /&gt;
|-&lt;br /&gt;
||[[User_talk:Rolig_Loon/Bookmark_URLs|Bookmark URLs]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Dialog driven HUD reads bookmarked URLs from notecards and navigates directly to them with user&#039;s in-world browser.&lt;br /&gt;
|-&lt;br /&gt;
||[[Builders Buddy|Builder&#039;s Buddy Tool]]&lt;br /&gt;
||[[User:Newfie Pendragon|Newfie Pendragon]]&lt;br /&gt;
||Script to easily move/rotate large builds that exceed the linkable size limit (30 meters).&lt;br /&gt;
|-&lt;br /&gt;
||[[Button Click Detector]]&lt;br /&gt;
||{{User|Sendao Goodman}}&lt;br /&gt;
||Use [[llDetectedTouchUV]] to determine which button was pressed on a texture.&lt;br /&gt;
|-&lt;br /&gt;
||[[Camera following prim]]&lt;br /&gt;
||[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Pair of scripts to make a prim follow your camera position around (for lights etc).&lt;br /&gt;
|-&lt;br /&gt;
||[[Camera Sync]]&lt;br /&gt;
||[[User:Meyermagic Salome|Meyermagic Salome]] and [[User:Nomad Padar|Nomad Padar]]&lt;br /&gt;
||A system to synchronize the cameras of two avatars.&lt;br /&gt;
|-&lt;br /&gt;
||[[Chatbot]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Compile and run the LSL you type on a channel, faster than you can thru the 2007-08 SL GUI.&lt;br /&gt;
|-&lt;br /&gt;
||[[Chat Logger (GPL)]]&lt;br /&gt;
||[[User:Nobody Fugazi|Nobody Fugazi]]&lt;br /&gt;
||Chat logger which requests permission from participants before recording them.&lt;br /&gt;
|-&lt;br /&gt;
||[[Chat_Relay|Chat Relay]]&lt;br /&gt;
||[[User:grumble Loudon|grumble Loudon]]&lt;br /&gt;
||A Chat relay which can be routed using a path header and won&#039;t echo.&lt;br /&gt;
|-&lt;br /&gt;
||[[ClickAndDrag]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Click and Drag user interface elements using dynamic feedback&lt;br /&gt;
|-&lt;br /&gt;
||[[Code Racer]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Race two versions of code forever, to see which runs faster.&lt;br /&gt;
|-&lt;br /&gt;
||[[Code Sizer]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Count the bytes compiled from source code, to measure how to write small code.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Programs#v7-D_Enh._Color_Picker|Color Changer]]&lt;br /&gt;
||[[User:Void_Singer|Void_Singer]]&lt;br /&gt;
||Dialog driven color changer. Supports 16million+ colors, web color codes, multiple targeted prims, with save and recall.&lt;br /&gt;
|-&lt;br /&gt;
||[[Color Changer|Color Changer Plus]]&lt;br /&gt;
||[[User:Neo Calcutt|Neo Calcutt]]&lt;br /&gt;
||A color changer with 14 colors, a random function, and a custom vector function.&lt;br /&gt;
|-&lt;br /&gt;
||[[Color conversion scripts|Color Conversion]]&lt;br /&gt;
||[[User:Sally LaSalle|Sally LaSalle]]&lt;br /&gt;
||Convert between Red Green Blue (RGB) and Hue Saturation Value (HSV).&lt;br /&gt;
|-&lt;br /&gt;
||[[ColorConvert]]&lt;br /&gt;
||[[User:Siann Beck|Siann Beck]]&lt;br /&gt;
||Convert color values to vector from RGB, hex or HTML color name.&lt;br /&gt;
|-&lt;br /&gt;
||[[Color script]]&lt;br /&gt;
||[[User:Masakazu Kojima|Masakazu Kojima]]&lt;br /&gt;
||Script for changing colors trough a listener with pre-defined colors.&lt;br /&gt;
|-&lt;br /&gt;
||[[Library Combined Library|Combined Library]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Library of mostly encoding and decoding functions, some more useful then others.&lt;br /&gt;
* String functions: Replace / Trim right / Trim left / Trim both&lt;br /&gt;
* Unicode conversion: UTF8 to Unicode / Unicode to UTF8&lt;br /&gt;
* List functions: Replace / Compare&lt;br /&gt;
|-&lt;br /&gt;
||[[Computer:jaycoonlanguage]]&lt;br /&gt;
||[[User:jayco121 Bing|jayco121 Bing]]&lt;br /&gt;
|| A language written in LSL that is meant for my computer (available at the shop).&lt;br /&gt;
|-&lt;br /&gt;
||[[Read Note Card Configuration|Configuration Notecard Reader]]&lt;br /&gt;
||{{User|Dedric Mauriac}}&lt;br /&gt;
||A script to read configuration information from a notecard. Parses notecard to extract key words and their assigned values. Allows for comment lines and many more useful features.&lt;br /&gt;
|-&lt;br /&gt;
||[[AdvancedNotecardReader|Configuration Notecard Reader (advanced)]]&lt;br /&gt;
||[[Lear Cale|Lear Cale]]&lt;br /&gt;
||Robust configuration notecard reader; supports multiple notecards with same suffix, handles reconfig on inventory change, and does not usurp the default state.&lt;br /&gt;
|-&lt;br /&gt;
||[[Library_Chat_Relay|Conversation Relay]]&lt;br /&gt;
||[[User:Jippen Faddoul|Jippen Faddoul]]&lt;br /&gt;
||Chat relay which requests permission from participants before relaying their messages. Also includes their attachments. (ToS compliant).&lt;br /&gt;
|-&lt;br /&gt;
||[[Curtain script]]&lt;br /&gt;
||[[User:Zilla Larsson|Zilla Larsson]]&lt;br /&gt;
||A simple script to retract/stretch curtains, blinds, bedcovers and more&lt;br /&gt;
|-&lt;br /&gt;
||[[Dataserver API]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Dataserver Framework for Notecards.&lt;br /&gt;
|-&lt;br /&gt;
||[[Date Library]]&lt;br /&gt;
||[[User:Corto Maltese|Corto Maltese]]&lt;br /&gt;
|| Date library, based on number of day since march 3rd 1600, can be used to calculate weekday, date differences, and date offset, and date formating.&lt;br /&gt;
|-&lt;br /&gt;
||[[Day of the Week]]&lt;br /&gt;
||[[User:DoteDote Edison|DoteDote Edison]]&lt;br /&gt;
||Function to get day of the week from [[llGetUnixTime]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Days in Month]]&lt;br /&gt;
||[[User:IntLibber Brautigan begin_of_the_skype_highlighting     end_of_the_skype_highlighting begin_of_the_skype_highlighting     end_of_the_skype_highlighting|IntLibber Brautigan]]&lt;br /&gt;
||Clicking on it returns the number of days in the present month. Useful for scripting calendars and tier systems that need to know the number of days in the month at hand or to calculate for any month. Even adjusts for leap years.&lt;br /&gt;
|-&lt;br /&gt;
||[[Deed Tools]]&lt;br /&gt;
||[[User:Falados Kapuskas|Falados Kapuskas]]&lt;br /&gt;
||Tools that allow the creator to modify Group-Owned (Deeded) Objects via chat.&lt;br /&gt;
|-&lt;br /&gt;
||[[Describe Chatter]]&lt;br /&gt;
||Anonymous&lt;br /&gt;
||Chat to see yourself as others do.&lt;br /&gt;
|-&lt;br /&gt;
||[[Dialog Control]]&lt;br /&gt;
||[[User:Nargus Asturias|Nargus Asturias]]&lt;br /&gt;
|| A (not-so) simple dialog &amp;amp; menu control script. Call dialog and receive selected value via [[link_message]](), with built-in timer and [[link_message]]() notification on time out. Supports multi-pages dialog and numeric property dialog. Button text and dialog&#039;s returned value can differ.&lt;br /&gt;
Latest version also has [[Dialog Menus Control]] built-in; which allow multi-level menus through SL dialog system.&lt;br /&gt;
|-&lt;br /&gt;
||[[MultiUser_Dialog_Handler|Dialog Menus (multiuser)]]&lt;br /&gt;
||[[User:SimonT Quinnell|SimonT Quinnell]]&lt;br /&gt;
|| Menu dialog handler that supports multiple menus open at once from the single script. Displays multi-page menus if necessary as well as allowing for fixed header and footer buttons.  Timeouts as well as Text and button size limits are handled.&lt;br /&gt;
|-&lt;br /&gt;
||[[Dialog NumberPad|Dialog Number Pad]]&lt;br /&gt;
||[[User:DoteDote Edison|DoteDote Edison]]&lt;br /&gt;
||Use a dialog to accept positive integer input from users.&lt;br /&gt;
|-&lt;br /&gt;
||[[Display Names Radar]]&lt;br /&gt;
||[[User:Cerise Sorbet|Cerise Sorbet]]&lt;br /&gt;
||Simple HUD type avatar radar that can show [[display names]]&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/DS_Display-Username_Online_Indicator|*DS*_Display-Username_Online_Indicator]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||This simple hover text-based script is used to shop owners in Second Life, customers at the current display name and user name to display publicly. Additionally shows the status of the Userkey and online. Furthermore, there are click of a chat link that opens the profile owner. &lt;br /&gt;
|-&lt;br /&gt;
||[[Displayer Script]]&lt;br /&gt;
||[[User:Akinori Kimagawa|Akinori Kimagawa]]&lt;br /&gt;
||Display Words On Top Of An Object&lt;br /&gt;
|-&lt;br /&gt;
||[[Drink script]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Used mainly for food and drink in Second Life.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/DS_Single_AO-Sit|*DS*_Single_AO-Sit]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||Posescript for use with or without AO and with or without Animation. With the menu it is possible the seated Avatar to move.&lt;br /&gt;
|-&lt;br /&gt;
||[[TOXDropBox|DropBox]]&lt;br /&gt;
||[[User:Dimentox Travanti|Dimentox Travanti]]&lt;br /&gt;
|| This is a Drop box which allows people to drop certain items in a object &amp;amp; has many config options.&lt;br /&gt;
|-&lt;br /&gt;
||[[Efficiency Tester]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Tests the speed of a function.&lt;br /&gt;
|-&lt;br /&gt;
||[[Email-to-IM|Email2IM]]&lt;br /&gt;
||[[User:DoteDote Edison|DoteDote Edison]]&lt;br /&gt;
||Send IMs to SL friends via [[email]] (translate emails from friends into IMs).&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kireji_Haiku/SIMchat_headset|Encrypted Region-wide chat]]&lt;br /&gt;
||&#039;&#039;&#039;[[User:Kireji Haiku|Kireji Haiku]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Kireji Haiku|talk]]|[[Special:Contributions/Kireji Haiku|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
||Encrypted Region-wide chat&lt;br /&gt;
|-&lt;br /&gt;
||[[ExplodingObjects]]&lt;br /&gt;
||[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Causes an object (of the appropriate type) to explode on command.&lt;br /&gt;
|-&lt;br /&gt;
||[[FadeEasy]]&lt;br /&gt;
||[[User:Nika Rugani|Nika Rugani]]&lt;br /&gt;
||The easy way of fading objects in or out (Using llSetLinkAlpha)&lt;br /&gt;
|-&lt;br /&gt;
||[[FastConeSpread]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Fast Algorithmn to achieve cone spread, main use in weaponry systems.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:PixelProphet Lane/Scripts#Fast List Prim Contents|Fast List Prim Contents]]&lt;br /&gt;
||[[User:PixelProphet Lane|PixelProphet Lane]]&lt;br /&gt;
||Fast and efficient method to print Object Inventory (Name, Type and next Owner permissions)&lt;br /&gt;
|-&lt;br /&gt;
||[[Find Avatar Key|Find Avatar Key]]&lt;br /&gt;
||[[User:Huney Jewell|Huney Jewell]]&lt;br /&gt;
||Explores [[UUID]] of avatar whose name is said in local chat or who touches the prim.&lt;br /&gt;
|-&lt;br /&gt;
||[[First Name Letter Prize]]&lt;br /&gt;
||[[User:RaithSphere Whybrow|RaithSphere Whybrow]]&lt;br /&gt;
||Gives a prize if the person who sits on it&#039;s first letter of first name matches the random letter!&lt;br /&gt;
|-&lt;br /&gt;
||[[Fix Small Prims|Fix_Small_Prims]]&lt;br /&gt;
||[[User:Emma Nowhere|Emma Nowhere]]&lt;br /&gt;
||Finds and adjusts the smallest prims in a linkset so that it can be scaled down further.&lt;br /&gt;
|-&lt;br /&gt;
||[[Float2Hex]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Very useful for transporting [[float|floats]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Float Box Contents]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Displays object inventory in hover text, identified by type and updated marquee-style.&lt;br /&gt;
|-&lt;br /&gt;
||[[Follower (script)|Follower]]&lt;br /&gt;
||Unknown, uploaded by [[User:Slik Swindlehurst|Slik Swindlehurst]]&lt;br /&gt;
||Makes an object follow the nearest person. Do not use for [[grief|griefing]].&lt;br /&gt;
|-&lt;br /&gt;
||[[GA Event Notifier]]&lt;br /&gt;
||[[User:Victor Hua|Victor Hua]]&lt;br /&gt;
||Gathers seven days event data from a Google calendar and display it through a simple interface. The lsl script can access several calendars at once through seperate php files. One file per calendar. Host the included php on your own web server.&lt;br /&gt;
|-&lt;br /&gt;
||[[Geometric|Geometric Library]]&lt;br /&gt;
||Community Project&lt;br /&gt;
||A substantial amount of various geometric functions for intersection and other purposes of 3D maths.&lt;br /&gt;
|-&lt;br /&gt;
||[[Get Profile Picture]]&lt;br /&gt;
||[[User:Valentine Foxdale|Valentine Foxdale]]&lt;br /&gt;
||Sets the texture of the object to profile picture of the person that touches ot&lt;br /&gt;
|-&lt;br /&gt;
||[[GetTimestampOffset]]&lt;br /&gt;
||[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
||Returns [[llGetTimestamp]]() with an hour offset.&lt;br /&gt;
|-&lt;br /&gt;
||[[Give InvItem every n hours]]&lt;br /&gt;
||[[User:Criz Collins|Criz Collins]]&lt;br /&gt;
||Will give an inventory item on touch only every n hours, even if somebody touches the object more than once. &lt;br /&gt;
|-&lt;br /&gt;
||[[Give random object]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Touch to receive a random object in the prim&#039;s inventory&lt;br /&gt;
|-&lt;br /&gt;
||[[Google Charts]]&lt;br /&gt;
||[[User:Dedric Mauriac|Dedric Mauriac]]&lt;br /&gt;
||Create links to display raw data as a chart image.&lt;br /&gt;
|-&lt;br /&gt;
||[[Google_Translator]]&lt;br /&gt;
||[[User:Ugleh Ulrik|Ugleh Ulrik]]&lt;br /&gt;
||Translates spanish to english, and its simple to make it any other way.&lt;br /&gt;
|-&lt;br /&gt;
||[[Go transparent when walking]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||An attachment that goes invisible when you walk and visible when you don&#039;t walk.&lt;br /&gt;
|-&lt;br /&gt;
||[[Group Authorization]]&lt;br /&gt;
||[[User:Chase Quinnell|Chase Quinnell]]&lt;br /&gt;
||Checks to see if object is set to appropriate group (checks by [[Group key finder|group key]])&lt;br /&gt;
|-&lt;br /&gt;
||[[Group Information v1.0]]&lt;br /&gt;
||[[User:Tyrennic Rivera|Tyrennic Rivera]]&lt;br /&gt;
||When clicked the prim will show group information (set on the prim) from the official Second Life Search page.&lt;br /&gt;
|-&lt;br /&gt;
||[[Group key finder]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Touch to find the key of the group&lt;br /&gt;
|-&lt;br /&gt;
||[[Group Privacy]]&lt;br /&gt;
||[[User:Chance Unknown|Chance Unknown]]&lt;br /&gt;
||Security device to insure members of a group can have a private area. Deactivates when nobody present.&lt;br /&gt;
|-&lt;br /&gt;
||[[Hello Avatar]]&lt;br /&gt;
||Linden Lab&lt;br /&gt;
||SL&#039;s default script.&lt;br /&gt;
|-&lt;br /&gt;
||[[Hello Avatar Companion]]&lt;br /&gt;
||[[Chase Quinnell]]&lt;br /&gt;
||Companion to the original [[Hello Avatar]] script&lt;br /&gt;
|-&lt;br /&gt;
||[[Hierarchics]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Advanced script to create an efficient self-aware hierarchic structure.&lt;br /&gt;
|-&lt;br /&gt;
||[[Hierarchics2]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Second generation, one script per object. Only two functions, can be embedded in others. Uses the new [[llSetLinkPrimitiveParamsFast]]/[[llGetLinkPrimitiveParams]] functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Rolig_Loon/High-Capacity_Greeter-Counter|High-Capacity Greeter-Counter]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Uses a memory compression algorithm to store hashed visitor UUID&#039;s in a string instead of using a list. &lt;br /&gt;
|-&lt;br /&gt;
||[[Holodeck]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Home Rezzing System (Open Source).&lt;br /&gt;
|-&lt;br /&gt;
||[[Interpolation|Interpolation Library]]&lt;br /&gt;
||[[User:Nexii_Malthus|Nexii Malthus]]&lt;br /&gt;
||A small set of interpolation functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[Intra-Region Update Server]]&lt;br /&gt;
||[[User:Emma_Nowhere|Emma Nowhere]]&lt;br /&gt;
||Centrally update objects such as Freeview screens or teleport pads within a region that are configured by notecards or contain modifiable objects or media assets.&lt;br /&gt;
|-&lt;br /&gt;
||[[Inventory_Based_Menu]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Inventory Based Menu System.&lt;br /&gt;
|-&lt;br /&gt;
||[[iTunes RPC Email|iTunes RPC]]&lt;br /&gt;
||[[User:Fox Diller|Fox Diller]]&lt;br /&gt;
||iTunes RPC via LSL [[llEmail]] and [[llRemoteDataReply]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Kilt Editor|Kilt / Skirt Editor]]&lt;br /&gt;
||[[User:Brangus Weir|Brangus Weir]]&lt;br /&gt;
|| This changes all the parameters of all the flexis in the link set in one swell foop!&lt;br /&gt;
|-&lt;br /&gt;
||[[Key Pad Door|Keypad Door]]&lt;br /&gt;
||[[User:Tdub Dowler|Tdub Dowler]]&lt;br /&gt;
|| Door and keypad with changeable code. Follow instructions carefully!&lt;br /&gt;
|-&lt;br /&gt;
||[[Last Sound System]]&lt;br /&gt;
||[[User:Babbage Linden|Babbage Linden]]&lt;br /&gt;
||An LSL [http://Last.fm Last.fm] client.&lt;br /&gt;
|-&lt;br /&gt;
||[[LibraryDisplayLandScreenshot]]&lt;br /&gt;
||[[User:Jon Desmoulins|Jon Desmoulins]]&lt;br /&gt;
||A modified version of LibraryDisplayProfilePic using the new [[PARCEL_DETAILS_ID]] Implemented in Server v1.36&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Daemonika_Nightfire/Scripts/LinkNumber-List_in_llSetLinkPrimitiveParamsFast|LinkNumber-List_in_llSetLinkPrimitiveParamsFast]]&lt;br /&gt;
||[[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||Changed several prims in linkset with the same parameters, with a list. Without separate llSetLinkPrimitiveParams for each prim. (ideal for show/hide effects)&lt;br /&gt;
|-&lt;br /&gt;
||[[Linkset resizer]]&lt;br /&gt;
||[[User:Maestro Linden|Maestro Linden]]&lt;br /&gt;
||Systematically rescales a linkset by moving and resizing each prim (by using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]])&lt;br /&gt;
|-&lt;br /&gt;
||[[Linkset resizer with menu]]&lt;br /&gt;
||[[User:Brilliant Scientist|Brilliant Scientist]]&lt;br /&gt;
||A menu-driven script that rescales a linkset by moving and resizing the prims using [[llGetLinkPrimitiveParams]] and [[llSetLinkPrimitiveParamsFast]] functions. Based on [[Linkset resizer]].&lt;br /&gt;
|-&lt;br /&gt;
||[[Linkset Resizer 2]]&lt;br /&gt;
||[[User:Emma Nowhere|Emma Nowhere]]&lt;br /&gt;
||A more user-friendly resizer script designed for either drop-in use by the end-user or builder or for use in products. Based on [[Fix Small Prims]].&lt;br /&gt;
|-&lt;br /&gt;
||[[List2CSV]]&lt;br /&gt;
||[[User:Kunnis Basiat|Kunnis Basiat]]&lt;br /&gt;
||List2CSV &amp;amp; CSV2List that include preserving type and escaping characters.&lt;br /&gt;
|-&lt;br /&gt;
||[[list_cast]]&lt;br /&gt;
||[[User:Fractured Crystal|Fractured Crystal]]&lt;br /&gt;
||Casts a list of strings into the type they appear to be. Designed for preprocessing user input for feeding into [[llSetPrimitiveParams]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Listener Script]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Use to [[listen]] to other people&#039;s conversations (Like spying)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List:_Find_Last_Index|List: Find Last Index]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns the last index of searched item in a source list. (backwards version of [[llListFindList]])&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List:_Multi-Find_Index_.28First_or_Last.29|List: Multi Find]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns the first found index of multiple search items in a list. (Multi-item version of [[llListFindList]]. Fwd and Rev versions included)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List:_Get_Reverse_Order|List: Reverse]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns an input List in reverse order&lt;br /&gt;
|-&lt;br /&gt;
||[[Load URL]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||Touch to get a dialog to visit the URL inside the script.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDancemachine|lsDancemachine]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Low lag client server dancemachine.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDeejay|lsDeejay Home Edition]] &lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Client server media control for music, video, youtube, pictures, and texture animations.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDialog|lsDialog]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Universal notecard driven menu dialog system.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDisplay|lsDisplay]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Picture cycler with preloader.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Kephra_Nurmi/lsDistributor|lsDistributor]]&lt;br /&gt;
||[[User:Kephra_Nurmi|Kephra Nurmi]]&lt;br /&gt;
|| Simple &#039;try&#039; and &#039;buy&#039; vendor system.&lt;br /&gt;
|-&lt;br /&gt;
||[[LSL_languageAPI]]&lt;br /&gt;
||[[User:Gypsy paz|Gypsy Paz]]&lt;br /&gt;
||Multi-lingual API from notecard based language files&lt;br /&gt;
|-&lt;br /&gt;
||[[Mandelbrot Explorer]]&lt;br /&gt;
||[[User:Babbage Linden|Babbage Linden]]&lt;br /&gt;
||An interactive fractal explorer.&lt;br /&gt;
|-&lt;br /&gt;
||[[Materialization Effects]]&lt;br /&gt;
||[[User:Overbrain Unplugged|Overbrain Unplugged]]&lt;br /&gt;
|| Special effects to add to rezzing events to simulate a teleportation or materialization.&lt;br /&gt;
|-&lt;br /&gt;
||[[Merge Sort]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Implements a Merge Sort in LSL, however this code is 300(ish) times slower than [[llListSort]]. Don&#039;t use this in a script!&lt;br /&gt;
|-&lt;br /&gt;
||[[Minesweeper]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A simple minesweeper game.&lt;br /&gt;
|-&lt;br /&gt;
||[[Morse Code]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A script that allows for the conversion to and from morse code and can &amp;quot;play&amp;quot; morse code.&lt;br /&gt;
|-&lt;br /&gt;
||[[Multi-displays Texture Cycler]]&lt;br /&gt;
||[[User:Nargus Asturias|Nargus Asturias]]&lt;br /&gt;
||A simple texture rotator designed for multiple display screens. With delay between each screen AND delay between each loop.&lt;br /&gt;
|-&lt;br /&gt;
||[[Multi Item Rezzer|Multi Item Rezzer]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||A rework of my old High Altitude Rezzer. Place the objects that you wish to choose from to be rezzed inside. Sit on the rezzer and pick the item and the height. It will go to target height and rez the object.&lt;br /&gt;
|-&lt;br /&gt;
||[[Multirezzer|Multirezzer (on collision)]]&lt;br /&gt;
||[[User:Beet Streeter|Beet Streeter]]&lt;br /&gt;
||Spawns up to 10 objects when the object containing the script collides with a user.&lt;br /&gt;
|-&lt;br /&gt;
||[[Name2Key in LSL]]&lt;br /&gt;
||[[User:Maeva Anatine|Maeva Anatine]]&lt;br /&gt;
||Get the Name2Key feature inside your scripts. Works even on lastly subscribed avatars.&lt;br /&gt;
|-&lt;br /&gt;
||[[No Auto-Return]]&lt;br /&gt;
||[[User:Bellla Clarity|Bella Clarity]]&lt;br /&gt;
||To stop your long and hard builds from getting returned in sandboxes (&#039;&#039;only single prims, though!&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
||[[No Auto-Return NR]]&lt;br /&gt;
||[[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||This really works (29-05-09), needs a nearby region to do the trick and avoid auto return. (Tested on Blue and Rausch)&lt;br /&gt;
|-&lt;br /&gt;
||[[No Auto-Return (Multi)]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A revision of Bella&#039;s that works for multi-prim objects.&lt;br /&gt;
|-&lt;br /&gt;
||[[No Limit Teleporter]]&lt;br /&gt;
||[[User:Morgam Biedermann|Morgam Biedermann]]&lt;br /&gt;
||Teleport to infinite altitudes (up to 4096m)&lt;br /&gt;
|-&lt;br /&gt;
||[[Object Size]]&lt;br /&gt;
||[[User:Chase Quinnell|Chase Quinnell]]&lt;br /&gt;
||Gets the dimensions and footprint of a linkset&lt;br /&gt;
|-&lt;br /&gt;
||[[Object to Data v1.3|Object to Data]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Turns an object into text (and back). Allows people to transfer objects through notecards (or otherwise).&lt;br /&gt;
|-&lt;br /&gt;
||[[Online Indicator|Online Indicator]]&lt;br /&gt;
||[[User:Kristy Fanshaw|Kristy Fanshaw]]&lt;br /&gt;
||Will show if the user is online or not. Displays users profile picture and allows to send IM&#039;s to user. Also gives a link to open the users profile&lt;br /&gt;
|-&lt;br /&gt;
||[[Open Group Join]]&lt;br /&gt;
||[[User:Alicia Stella|Alicia Stella]]&lt;br /&gt;
||User Touches Object to Join Group from Group Info window, (no bot.)&lt;br /&gt;
|-&lt;br /&gt;
||[[Open Zyngo Skin Installer]]&lt;br /&gt;
||[[User:Tmzasz Luminos|Tmzasz Luminos]]&lt;br /&gt;
||A Simple Script designed to install skins on the popular Skill machines.&lt;br /&gt;
|-&lt;br /&gt;
||[[One Script, many doors]]&lt;br /&gt;
||[[User:Kyrah Abattoir|Kyrah Abattoir]]&lt;br /&gt;
||Door script able to manage more than 50 linked doors from a single script instance.&lt;br /&gt;
|-&lt;br /&gt;
||[[ParseString2List]]&lt;br /&gt;
||[[User:Strife Onizuka|Strife Onizuka]]&lt;br /&gt;
||Same as [[llParseString2List]] and [[llParseStringKeepNulls]], but not limited to 8 spacers or separators. Thus substitute a call to the [[llParseString2List]] and [[llParseStringKeepNulls]] functions by a call to [[Parse_String_To_List|ParseString2List]] whenever you have more than 8 separators or more than 8 spacers.&lt;br /&gt;
|-&lt;br /&gt;
||[[Password Generator]]&lt;br /&gt;
||[[User:Syntrax Canucci|Syntrax Canucci]]&lt;br /&gt;
||This is an over-complicated, semi-complex password generator, which goes through multiple steps.&lt;br /&gt;
|-&lt;br /&gt;
||[[Pathfinder]]&lt;br /&gt;
||[[User:Babbage Linden|Babbage Linden]]&lt;br /&gt;
||A potential field based pathfinding library.&lt;br /&gt;
|-&lt;br /&gt;
||[[Phantom Child]]&lt;br /&gt;
||[[User:Aeron Kohime|Aeron Kohime]]&lt;br /&gt;
||Causes a child in a link set to become phantom without the entire object becoming phantom.&lt;br /&gt;
|-&lt;br /&gt;
||[[PhysicsLib]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Interesting set of fun physics functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[Play and Loop Sound]]&lt;br /&gt;
||[[User:Bellla Clarity|Bella Clarity]]&lt;br /&gt;
||Very short and simple script; plays and loops a sound in an object.&lt;br /&gt;
|-&lt;br /&gt;
||[[Posing stand|Posing Stand]]&lt;br /&gt;
||[[User:Bellla Clarity|Bella Clarity]]&lt;br /&gt;
||Just a pose script to edit [[attachments]] more easily.&lt;br /&gt;
|-&lt;br /&gt;
||[[PosJump]]&lt;br /&gt;
||[[User:Uchi Desmoulins|Uchi Desmoulins]]&lt;br /&gt;
||A much more efficient alternative to the popular [[warpPos]] function for bypassing 10m distance-moved limitations.&lt;br /&gt;
|-&lt;br /&gt;
||[[Prefix Calculator]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
|| A calculator that evaluates expressions in prefix notation. &lt;br /&gt;
&amp;lt;code&amp;gt;+ 3 4 = 5. * + 1 2 + 3 4 = 14.&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||[[Progress Bar]]&lt;br /&gt;
||[[User:Nexii Malthus|Nexii Malthus]]&lt;br /&gt;
|| Flexible and powerful little function for creating progress bars useful in hovertext.&lt;br /&gt;
|-&lt;br /&gt;
||[[Pseudo-random Number Generator]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Generates a Pseudo-random number between -0x7FFFFFFF and 0x7FFFFFFF&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Rolig_Loon/Quiz_From_Notecard|Quiz From Notecard]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||A multiple-choice testing script that reads questions and answer choices from a notecard and presents them in dialog boxes.&lt;br /&gt;
|-&lt;br /&gt;
||[[Rainbow_palette]]&lt;br /&gt;
||[[User:Rui Clary|Rui Clary]]&lt;br /&gt;
||Build a color picker, using only one prim, and a few lines of code.&lt;br /&gt;
|-&lt;br /&gt;
||[[Random AV Profile Projector]]&lt;br /&gt;
||[[User:Debbie Trilling|Debbie Trilling]]&lt;br /&gt;
||Randomly selects an AV from a crowd &amp;amp; then projects their profile picture as a &#039;holographic&#039; image &lt;br /&gt;
|-&lt;br /&gt;
||[[Random Object Vendor]]&lt;br /&gt;
||[[User:CodeBastard Redgrave|CodeBastard Redgrave]]&lt;br /&gt;
||Simple vendor that gives out random objects when paid the right amount &lt;br /&gt;
|-&lt;br /&gt;
||[[Random Password Generator]]&lt;br /&gt;
||[[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||Generate Random passwords based on String Length.&lt;br /&gt;
|-&lt;br /&gt;
||[[RavText]]&lt;br /&gt;
||[[User:Ravenous Dingo|Ravenous Dingo]]&lt;br /&gt;
||An alternate to XyText.  This is a lightweight, multiple font 10 character text display system.  It only supports uppercase alphanumeric text and a few special characters, but it is very fast, renders quickly and supports multiple fonts. It is meant for specialized use when all that is desired is basic, fast text display and the extra &amp;quot;bells and whistles&amp;quot; are not needed.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:PixelProphet Lane/Scripts#Real Object Inventory To Dialog|Real Object Inventory To Dialog]]&lt;br /&gt;
||[[User:PixelProphet Lane|PixelProphet Lane]]&lt;br /&gt;
||Display any amount of items contained in an Object in a Dialog, regardless of item name length.&lt;br /&gt;
|-&lt;br /&gt;
||[[RentalBoxv1|Rental Box, Simply]]&lt;br /&gt;
||[[User:Sendao Goodman|Sendao Goodman]]&lt;br /&gt;
||Simple explanation of how to make rental boxes.&lt;br /&gt;
|-&lt;br /&gt;
||[[Rental Cube]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Simple cube for renting out a space.&lt;br /&gt;
|-&lt;br /&gt;
||[[Remote Texture Loader]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A set of scripts for remotely loading textures within a sim. This means that a single &amp;quot;texture server&amp;quot; can manage multiple changing billboards within a sim.&lt;br /&gt;
|-&lt;br /&gt;
||[[Say Region Frames Per Second|Region Frames Per Second]]&lt;br /&gt;
||[[User:Heymeriou Mystakidou|Heymariou Mystakidou]]&lt;br /&gt;
|| Says the region name and frames per second out loud on command.&lt;br /&gt;
|-&lt;br /&gt;
||[[Resizer multi-prims|Resizer multi-prims]]&lt;br /&gt;
||[[User:Christy Mansbridge|Christy Mansbridge]]&lt;br /&gt;
||1 Mono script to resize object (1 to 256 prims) by blue menu. Avoid risk to break the build by increasing link distance.&lt;br /&gt;
|-&lt;br /&gt;
||[[sbDialog]]&lt;br /&gt;
||[[User:Siann_Beck|Siann Beck]]&lt;br /&gt;
||A simple replacement function for [[llDialog]]. It re-orders the button list so that the button values, as passed to it, display left-to-right, top-to-bottom. It also opens a [[llListen|listen]] on the specified channel, and returns the handle.&lt;br /&gt;
|-&lt;br /&gt;
||[[Scheduler]]&lt;br /&gt;
||[[User:Haravikk Mistral|Haravikk Mistral]]&lt;br /&gt;
||Schedule multiple events using a single script timer&lt;br /&gt;
|-&lt;br /&gt;
||[[Scheme_Interpreter|Scheme Interpreter]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||A scheme interpreter capable of handling most scheme expressions, including lambda and lists.&lt;br /&gt;
|-&lt;br /&gt;
||[[Script Override Functions]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||bypass default strings, integer etc in chat channel.&lt;br /&gt;
|-&lt;br /&gt;
||[[Scripted Attachment Detector.lsl|Scripted Attachment Detector]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A script that will display avatars wearing scripted attatchments in hovertext. This may be worn as an hud or rezzed. &lt;br /&gt;
|-&lt;br /&gt;
||[[Self Upgrading Script Enhanced]]&lt;br /&gt;
||[[User:Cron Stardust|Cron Stardust]]&lt;br /&gt;
||Keeps only latest version of the script on prim (even with multiple adds of the same script!)&lt;br /&gt;
|-&lt;br /&gt;
||[[Sensor Visualizer]]&lt;br /&gt;
||[[User:Cerise Sorbet|Cerise Sorbet]]&lt;br /&gt;
||Shows the size and shape you get with [[llSensor]] range and arc parameters&lt;br /&gt;
|-&lt;br /&gt;
||[[Serverless Key Exchange]]&lt;br /&gt;
||[[User:Sendao Goodman|Sendao Goodman]]&lt;br /&gt;
||Maintains a network of object keys without using an external server.&lt;br /&gt;
|-&lt;br /&gt;
||[[SHA1|SHA1 Hash]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Preforms a SHA1 Hash on an input text. Similar to MD5 only (slightly) more secure. &lt;br /&gt;
|-&lt;br /&gt;
||[[Sim Map Particle Projector]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||Displays a floating map of the sim the script is in.&lt;br /&gt;
|-&lt;br /&gt;
||[[Sim Restart Logger]]&lt;br /&gt;
||[[User:Kyrah Abattoir|Kyrah Abattoir]]&lt;br /&gt;
||Counts region restarts and displays log of last 9 restarts together with region FPS and dilation. &lt;br /&gt;
|-&lt;br /&gt;
||[[Simple Elevator in a Box]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Simple elevator example.&lt;br /&gt;
|-&lt;br /&gt;
||[[Skillingo AntiHack Script]]&lt;br /&gt;
||[[User:Tmzasz Luminos|Tmzasz Luminos]]&lt;br /&gt;
||A simple Protection script for skillingo thats modifyable to work with other machines.&lt;br /&gt;
|-&lt;br /&gt;
||[[Skunk Money]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Fun gambling machine of yesteryear, which only supports freeplay now due to SL regulations against gambling. &lt;br /&gt;
|-&lt;br /&gt;
||[[SLateIt]]&lt;br /&gt;
||[[User:Babbage Linden|Babbage Linden]]&lt;br /&gt;
||An augmented virtual reality HUD.&lt;br /&gt;
|-&lt;br /&gt;
||[[SLetanque]]&lt;br /&gt;
||[[User:Babbage Linden|Babbage Linden]]&lt;br /&gt;
||An LSL petanque game.&lt;br /&gt;
|-&lt;br /&gt;
||[[SLURL HUD]]&lt;br /&gt;
||[[User:CodeBastard Redgrave|CodeBastard Redgrave]]&lt;br /&gt;
||Touch this HUD to get a SLURL through IM, email and floating text.&lt;br /&gt;
|-&lt;br /&gt;
||[[BuildSlurl (NewAge)]]&lt;br /&gt;
||[[User:Archile Azalee|Archile Azalee]]&lt;br /&gt;
||A way to create a SLurl in a single function BuildSlurl&lt;br /&gt;
|-&lt;br /&gt;
||[[SL Mail V1.2]]&lt;br /&gt;
||[[User:Flennan Roffo|Flennan Roffo]]&lt;br /&gt;
||Second Life mail client V1.2 (released sept&#039;07). Send and receive mail from within Second Life from and to any address. With Address Book function and many chat commands. V1.3 is upcoming soon! &lt;br /&gt;
|-&lt;br /&gt;
||[[SL_NTPoHTTP_v1.1_client|SL NTPoHTTP client]]&lt;br /&gt;
|[[User:SignpostMarv Martin|SignpostMarv Martin]]&lt;br /&gt;
||Second Life Needs Time Parsing over Hyper Text Transfer Protocol&lt;br /&gt;
Emulates the function of [[llGetWallclock]] for any timezone by using SLOpenID&#039;s SLNTPoHTTP service. Also supports ISO 8601 and RFC 2822 timestamps. Script is dependent upon an external service operated by the author!&lt;br /&gt;
|-&lt;br /&gt;
||[[Smooth Rotating Door]]&lt;br /&gt;
|[[User:Toy Wylie|Toy Wylie]]&lt;br /&gt;
||A script for doors that open and close smoothly using llTargetOmega&lt;br /&gt;
|-&lt;br /&gt;
||[[Smooth Sliding Door]]&lt;br /&gt;
|[[User:SimonT Quinnell|SimonT Quinnell]]&lt;br /&gt;
||A script for sliding doors that open and close smoothly using [[llMoveToTarget]]. Asjusts for prim orientation.&lt;br /&gt;
|-&lt;br /&gt;
||[[Speed Tester]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||Similar to the [[Efficiency Tester]], this script allows you to test the speed of a particular function or snippet with multiple trials giving min/max/avg/median and the standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
||[[Spiral Staircase Generator]]&lt;br /&gt;
|[[User:Meyermagic Salome|Meyermagic Salome]]&lt;br /&gt;
||Generates nice looking spiral staircases without much hassle.&lt;br /&gt;
|-&lt;br /&gt;
||[[Static URL&#039;s for HTTP-In Service|Static_URLs]]&lt;br /&gt;
||[[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
||How to generate a static url for HTTP-In temporal limitations.&lt;br /&gt;
|-&lt;br /&gt;
||[[String Compare]]&lt;br /&gt;
||[[User:Xaviar Czervik|Xaviar Czervik]]&lt;br /&gt;
||Compares two strings and reliably returns either 1, -1, or 0 if they are the same.&lt;br /&gt;
|-&lt;br /&gt;
||[[Synchronize]]&lt;br /&gt;
||[[User:Cay Trudeau|Cay Trudeau]]&lt;br /&gt;
||Makes synchronized start to a task on even/odd seconds&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#String:_Find_Last_Index|String: Reverse]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns an input string in reverse order&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#String:_Get_Reverse_Order|String: Last Index]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Returns the last index of search found in string (the backward equivalent of [[llSubStringIndex]])&lt;br /&gt;
|-&lt;br /&gt;
||[[Tail Messages (NewAge)]]&lt;br /&gt;
||[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||A super nice easy to use script for those non-scripters out there! NewAge coding has done it again where you no longer need to scroll up and down adding buttons and adding messages, Features a tag system (you&#039;ll see what i mean :P)&lt;br /&gt;
|-&lt;br /&gt;
||[[Teleport HUD]]&lt;br /&gt;
||[[User:Jesse Barnett|Jesse Barnett]]&lt;br /&gt;
||WORKS TO 4096 METERS!! Very user friendly teleport HUD. Add destinations by touching &amp;quot;Add&amp;quot; &amp;amp; naming destination in chat. Automatically gets sim name and coordinates. Will only display the destinations in the sim you are currently in. Demonstrates more advanced list manipulation and stride functions.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Programs#v7-D_Enh._Landmark-2-Map|Teleporter (landmark based)]]&lt;br /&gt;
||[[User:Void_Singer|Void_Singer]]&lt;br /&gt;
||Uses Landmarks to offer map teleports. Works as Hud or inworld objects, just drop in landmarks and go.&lt;br /&gt;
|-&lt;br /&gt;
||[[Text_Scroller|Text Scroller]]&lt;br /&gt;
||[[User:Fred_Gandt|Fred Gandt]]&lt;br /&gt;
||A simple text display object that scrolls text (applied as a texture) from right to left (like &#039;&#039;those&#039;&#039; LED signs) in a continuous loop.&lt;br /&gt;
|-&lt;br /&gt;
||[[Bobbyb&#039;s texture changer|Texture Changers]]&lt;br /&gt;
||{{User|Bobbyb30 Swashbuckler}}&lt;br /&gt;
||A collection of texture changing scripts.&lt;br /&gt;
|-&lt;br /&gt;
||[[Texture Menu Management|Texture Management]]&lt;br /&gt;
||[[User:Revolution Perenti|Revolution Perenti]]&lt;br /&gt;
||Dialog Menu based Texture Selection.&lt;br /&gt;
|-&lt;br /&gt;
||[[Tic Tac Toe]]&lt;br /&gt;
||[[User:CG Linden|CG Linden]]&lt;br /&gt;
||Step by step demo on how to implement a larger scripting project&lt;br /&gt;
|-&lt;br /&gt;
||[[TightList]]&lt;br /&gt;
||[[User:Strife Onizuka|Revolution Perenti]]&lt;br /&gt;
||Tight List is a family of functions for encoding lists as strings and then decoding them back into lists.&lt;br /&gt;
There are two flavors: TightList and TightListType. TightListType preserves types and uses a 6 char header, while TightList uses a 1 char header that doesn&#039;t preserve type. &lt;br /&gt;
|-&lt;br /&gt;
||[[Timer Module]]&lt;br /&gt;
||[[User:Isabelle Aquitaine|Isabelle Aquitaine]]&lt;br /&gt;
||Manage multiple timers via linked messages.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#Unix_time_code_to_list_format|Timestamp:&amp;lt;br&amp;gt;Unix time code to list format]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||converts Unix timestamps to their [Y, M, D, h, m, s] equivalents (ex: 1234567890 to [2009, 2, 13, 3, 31, 30])&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#List_format_to_Unix_time_code.|Timestamp:&amp;lt;br&amp;gt;List format to Unix time code]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||converts [Y, M, D, h, m, s] timestamps to their Unix equivalents (ex: [2009, 2, 13, 3, 31, 30] to 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#Weekday_from_Unix_timestamp|Timestamp:&amp;lt;br&amp;gt;Weekday from Unix timestamp]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Gets weekday from Unix timestamps (ex: &amp;quot;Friday&amp;quot; from 1234567890)&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Functions#Weekday_from_.28_Y.2C_M.2C_D_.29_format|Timestamp:&amp;lt;br&amp;gt;Weekday from (Y, M, D) format]]&lt;br /&gt;
||[[User:Void Singer|Void Singer]]&lt;br /&gt;
||Gets weekday from (Y, M, D) timestamps (ex: &amp;quot;Friday&amp;quot; from (2009, 2, 13))&lt;br /&gt;
|-&lt;br /&gt;
||[[Touch A Quote]]&lt;br /&gt;
||[[User:CodeBastard Redgrave|CodeBastard Redgrave]]&lt;br /&gt;
||Touch an object to read quotes sequentially from a notecard&lt;br /&gt;
|-&lt;br /&gt;
||[[Touring Balloon]]&lt;br /&gt;
||[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Automated touring balloon with many options from long ago.  Always seems to work on one SL release, and not the other.&lt;br /&gt;
|-&lt;br /&gt;
||[[Under Age Boot]]&lt;br /&gt;
|[[User:Chance Unknown|Chance Unknown]]&lt;br /&gt;
||Security device example to teleport home accounts below a minimum age limit; can be useful in combating free griefer accounts.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Rolig_Loon/UNDO_PosRot|UNDO_PosRot]]&lt;br /&gt;
||[[User:Rolig Loon|Rolig Loon]]&lt;br /&gt;
||Allows user to undo position and rotation changes that have been made &amp;quot;manually&amp;quot; to any or all prims in a linkset.&lt;br /&gt;
|-&lt;br /&gt;
||[[Universal Translator]]&lt;br /&gt;
|[[User:Hank Ramos|Hank Ramos]]&lt;br /&gt;
||Chat listener that handles seamless translation of public chat between 50+ written languages without the need for configuration.  Handles numerous avatars, auto-detects languages, and works together with multiple copies of translators to spread-workload using a sophisticated back-end communications sub-system.&lt;br /&gt;
|-&lt;br /&gt;
||[[Unix2DateTime]]&lt;br /&gt;
|[[User:Flennan Roffo|Flennan Roffo]]&lt;br /&gt;
||Conversion from Unix time ([[llGetUnixTime]]()) to date and time string and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
||[[Unmutable Descript Nagger]]&lt;br /&gt;
|[[User:Bobbyb30 Zohari|Bobbyb30 Zohari]]&lt;br /&gt;
||To nag avatars to take off their scripted attatchments.&lt;br /&gt;
|-&lt;br /&gt;
||[[Unpacker On Rez (NewAge)]]&lt;br /&gt;
|[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||A very simple to use script for all you creators out there, This script will enable you to send out boxed items and make it easier for users to unpack, Also features auto die on completion. Very simple to configure!&lt;br /&gt;
|-&lt;br /&gt;
||[[Unpacker On Touch (NewAge)]]&lt;br /&gt;
|[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||Exactly like Unpacker On Rez, But changed some things about to make it Unpack On Touch&lt;br /&gt;
|-&lt;br /&gt;
||[[Update distributor]]&lt;br /&gt;
|[[User:Dale Innis|Dale Innis]]&lt;br /&gt;
||Distribute an object (like a project update) to a list of people named in a notecard.&lt;br /&gt;
|-&lt;br /&gt;
||[[UUID2Channel]]&lt;br /&gt;
||[[User:Project Neox|Project Neox]]&lt;br /&gt;
||Optimised version of the original key2channel generators.&lt;br /&gt;
|-&lt;br /&gt;
||[[UUID Song Generator]]&lt;br /&gt;
||{{User|Sendao Goodman}}&lt;br /&gt;
||Translates a UUID into a simple song and plays it.&lt;br /&gt;
|-&lt;br /&gt;
||[[VirtualID_URLMap|VirtualID URL Mapper for HTTP-in]]&lt;br /&gt;
|[[User:Cenji Neutra|Cenji Neutra]]&lt;br /&gt;
||A script showing how to setup a static URL of the form &amp;lt;your-alias&amp;gt;.obj.virtualid.info which maps to the dynamic HTTP-in URL LSL generates and keeps it up-to-date.&lt;br /&gt;
|-&lt;br /&gt;
||[[User:Void_Singer/Programs#v7-D_Advanced_Visitor_Greeter|Visitor Greeter]]&lt;br /&gt;
|[[User:Void_Singer|Void_Singer]]&lt;br /&gt;
||Reduced spam visitor greeter, highly configurable, easy to modify.&lt;br /&gt;
|-&lt;br /&gt;
||[[Visitor Logger (Web/Basic) ]]&lt;br /&gt;
|[[User:Buddy Sprocket|Buddy Sprocket]]&lt;br /&gt;
||A very basic visitor logger - log visitors in SL to a text file on your web-site.&lt;br /&gt;
|-&lt;br /&gt;
||[[Vote Simple]]&lt;br /&gt;
|[[User:JB_Kraft|JB Kraft]]&lt;br /&gt;
||Simple vote collector. One avi, one vote.&lt;br /&gt;
|-&lt;br /&gt;
||[[Walking Sound (NewAge)]]&lt;br /&gt;
|[[User:Asia Snowfall|Asia Snowfall]]&lt;br /&gt;
||Very powerful walking sound script, Featuring customer ability to add their own sounds with the API Sound Feature!&lt;br /&gt;
|-&lt;br /&gt;
||[[WarpPos]]&lt;br /&gt;
|[[User:Keknehv Psaltery|Keknehv Psaltery]]&lt;br /&gt;
||Non-physical movement without the 10m limit.&lt;br /&gt;
|-&lt;br /&gt;
||[[Wiki3DBuilder]] [[Wiki3DBuilder1.0]]&lt;br /&gt;
||[[User:Salahzar Stenvaag|Salahzar Stenvaag]] &lt;br /&gt;
||Allows a group of people to collectively build up complex 3D mindmaps with connected concepts. Uses particles for connections and low prim usage. Nodes can be textured, colored, changed form size moved collectively by everybody and can distribute notecards, landmarks, URL, objects, textures. I provide two version 0.1 and 1.0 and probably next version will communicate with moodle and sloodle external websites.&lt;br /&gt;
|-&lt;br /&gt;
||[[Window Control]]&lt;br /&gt;
||[[User:Emmas Seetan|Emmas Seetan]]&lt;br /&gt;
||For window opacity, helpful for buildings.&lt;br /&gt;
|-&lt;br /&gt;
||[[WHMcs SecondLife plugin]]&lt;br /&gt;
|[[User:Alicia Sautereau|Alicia Sautereau]]&lt;br /&gt;
||Linden Dollar payment plugin for the WHMcs hosting portal.&lt;br /&gt;
|-&lt;br /&gt;
||[[XTEA Strong Encryption Implementation]]&lt;br /&gt;
||[[User:Morse Dillon|Morse Dillon]]&lt;br /&gt;
||An LSL implementation of XTEA (eXtended Tiny Encryption Algorithm).  This is the first known public release of a &#039;real&#039; strong encryption implementation in LSL and is released under the GNU General Public License (GPL).&lt;br /&gt;
|-&lt;br /&gt;
||[[XyText 1.5|XyText]]&lt;br /&gt;
||[[User:Xylor Baysklef|Xylor Baysklef]]&lt;br /&gt;
|| Display text (up to 10 characters) on a prim. Use as many prims as desired.&lt;br /&gt;
|-&lt;br /&gt;
||[[XyyyyzText|XyyyyzText]]&lt;br /&gt;
||[[User:Criz Collins|Criz Collins]]&lt;br /&gt;
|| Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO&lt;br /&gt;
|-&lt;br /&gt;
||[[XyzzyText|XyzzyText]]&lt;br /&gt;
||[[User:Thraxis Epsilon|Thraxis Epsilon]] and [[User:Gigs Taggart|Gigs Taggart]]&lt;br /&gt;
|| Display text (up to 10 characters) on a prim. Way more efficient than XyText.&lt;br /&gt;
|-&lt;br /&gt;
||[[Youtube TV]]&lt;br /&gt;
||[[User:Morgam Biedermann|Morgam Biedermann]]&lt;br /&gt;
||Watch your favorite Youtube videos / auto set the texture to the parcel media texture.&lt;br /&gt;
|-&lt;br /&gt;
||[[Zero Lag Poseball]]&lt;br /&gt;
||[[User:Jippen Faddoul|Jippen Faddoul]] and [[User:Daemonika Nightfire|Daemonika Nightfire]]&lt;br /&gt;
||A simple poseball with no lag&lt;br /&gt;
|-&lt;br /&gt;
||[[Input number of seconds, get a string back that shows days, hours, minutes, seconds]]&lt;br /&gt;
||[[User:Fire Centaur|Fire Centaur]]&lt;br /&gt;
||Returns a string that displays days, hours, seconds&lt;br /&gt;
|-&lt;br /&gt;
||[[Random Giver Prim]]&lt;br /&gt;
||[[User:Damian Darkwyr|Damian Darkwyr]]&lt;br /&gt;
||A randomized item giver with a game-like twist&lt;br /&gt;
|-&lt;br /&gt;
||[[Client Specific Contents Giver]]&lt;br /&gt;
||[[User:Damian Darkwyr|Damian Darkwyr]]&lt;br /&gt;
||Give Contents only to users of a specific Client. Such as Phoenix, CoolVL or 2.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Support Script Library==&lt;br /&gt;
These are scripts in other languages, intended to be run on other systems that support scripts written in LSL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creator&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Ina Centaur/UUID/calimg.api|Calendar Image UUID API]]&lt;br /&gt;
|| [[User:Ina Centaur|Ina Centaur]]&lt;br /&gt;
|| API that gives the UUID of an image of a calendar image give month and year arguments.&lt;br /&gt;
|-&lt;br /&gt;
||[[HTTP Post request to a PHP server]]&lt;br /&gt;
||[[User:Corto Maltese|Corto Maltese]]&lt;br /&gt;
|| This small library allows you to make simple POST requests to your website. The libraries allow you to get your request through the variable $_POST on the server. It also include a basic security mechanism aimed to stop hacking. Comprises of LSL client script and PHP server script.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Ina Centaur/PHP/k2n.php|Key2Name.php]]&lt;br /&gt;
|| [[User:Ina Centaur|Ina Centaur]]&lt;br /&gt;
|| Get Avatar&#039;s Name using Second Life search service. (like in LSL Key2Name)&lt;br /&gt;
|-&lt;br /&gt;
|| [[Lame_Object_DNS_and_Cross_Sim_Messaging|Lame Object DNS and Cross Sim Messaging]]&lt;br /&gt;
|| [[User:Liandra Ceawlin|Liandra Ceawlin]]&lt;br /&gt;
|| Simple, cheeseball method of doing cross-sim communications with http-in and an external object DNS service.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:SignpostMarv Martin/PHP/llXorBase64StringsCorrect|llXorBase64StringsCorrect]]&lt;br /&gt;
|| [[User:SignpostMarv Martin|SignpostMarv Martin]]&lt;br /&gt;
|| An implementation of [[llXorBase64StringsCorrect]] in PHP- should be useful if you&#039;re using llXorBase64StringsCorrect to do cryptography work in LSL2 and posting it out to the web via [[llHTTPRequest]].&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:SignpostMarv Martin/PHP/lsl fu.php|lsl_fu.php]]&lt;br /&gt;
|| [[User:SignpostMarv Martin|SignpostMarv Martin]]&lt;br /&gt;
|| A basic OOP&#039;d PHP Class containing VeloxSeverine&#039;s $_POST fixer and Marv&#039;s own eccentric ideas for &amp;quot;fixing&amp;quot; things.&lt;br /&gt;
|-&lt;br /&gt;
|| [[User:Jor3l Boa/PHP/n2k.php|Name2Key.php]]&lt;br /&gt;
|| [[User:Jor3l Boa|Jor3l Boa]]&lt;br /&gt;
|| Get Avatar&#039;s UUID using Second Life search service. (like in LSL Name2Key)&lt;br /&gt;
|-&lt;br /&gt;
|| [[Public_Object_DNS|Public Object DNS]]&lt;br /&gt;
|| [[User:Liandra Ceawlin|Liandra Ceawlin]]&lt;br /&gt;
|| Public object DNS-like system running on GAE, for http-in. Hopefully scalable enough for wide-spread usage.&lt;br /&gt;
|-&lt;br /&gt;
|| Silo&lt;br /&gt;
|| [[User:Zero_Linden|Zero Linden]]&lt;br /&gt;
|| General purpose data store in PHP.  Use this to persist arbitrary data from LSL via [[llHTTPRequest]].  See:&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo-README.txt README] file&lt;br /&gt;
* [http://www.notabene-sl.com/misc/silo.tgz silo.tgz] tarball&lt;br /&gt;
* forum post [http://forums-archive.secondlife.com/54/69/119570/1.html Announcement].&lt;br /&gt;
|-&lt;br /&gt;
||[[Silverday ObjectDNS]]&lt;br /&gt;
||[[User:Till Stirling|Till Stirling]]&lt;br /&gt;
||Dynamic Object-DNS-System to provide dynamic mapping of LSL-URLs to persistent domains. Features include redirect service, password protected domains, write protected domains, LSL-API for all necessary functions, optional web-interface.&lt;br /&gt;
|-&lt;br /&gt;
|| [http://aubretec.com/products/sldb SLDB]&lt;br /&gt;
|| [[User:Luc Aubret|Luc Aubret]]&lt;br /&gt;
|| Flexible web database storage using PHP/MySQL.  Used to store per-user field/value pairs from in-world objects using [[llHTTPRequest]]. &lt;br /&gt;
* [http://aubretec.com/support/manuals/sldbkit/ Implementation Guide]&lt;br /&gt;
* [http://aubretec.com/wp-content/uploads/2009/05/sldb.zip Download] (.zip, 12kb)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Articles&#039;&#039;&#039;&lt;br /&gt;
*[[:Category:LSL Examples| Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{LSLC|}}&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105212</id>
		<title>Synchronize</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Synchronize&amp;diff=1105212"/>
		<updated>2010-11-14T09:05:29Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: Created page with &amp;#039;    //simple synchronize script for two or more separate prims, like wings for instance // assuming the task();  is 100% similar in all prims and takes less than 1 sec to impleme...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
&lt;br /&gt;
//simple synchronize script for two or more separate prims, like wings for instance&lt;br /&gt;
// assuming the task();  is 100% similar in all prims and takes less than 1 sec to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       float i = llGetTime();  &lt;br /&gt;
&lt;br /&gt;
        task(); &lt;br /&gt;
&lt;br /&gt;
       float x = llGetTime();&lt;br /&gt;
&lt;br /&gt;
        while (llGetUnixTime()%2 == 0)//odd or even seconds&lt;br /&gt;
            { &lt;br /&gt;
             llSleep(1-(x-i));// one second minus time that has passed&lt;br /&gt;
            }&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Hair&amp;diff=933052</id>
		<title>Hair</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Hair&amp;diff=933052"/>
		<updated>2010-05-30T16:43:19Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Attachement Hair Makers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiFeatureNav}}&lt;br /&gt;
=== Feature Design Document ===&lt;br /&gt;
Hair is a [[Body Part OS|Body Part]]. It cannot be taken off, but can be replaced by a different hair body part. Many people choose to wear [[Attachment]] hair that covers or enhances the normal hair.&lt;br /&gt;
&lt;br /&gt;
=== Attachement Hair Makers ===&lt;br /&gt;
Not a comprehensive list&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Roosa/245/32/36]1-800-BETTIE&amp;amp;#8217;S[br /]&lt;br /&gt;
[http://slurl.com/secondlife/MIYABI/47/168/511]::69[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bolinas/135/185/48]Acedia[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ducknipple/180/162/26]Acid &amp;amp;amp; Mala Creations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Action%20Surf%20Sk8te/116/139/22]Action[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Genesis/119/163/38]Adam n Eve[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Golden%20Eye/186/75/32]Addict[br /]&lt;br /&gt;
[http://slurl.com/secondlife/DollyRock/152/72/29]Aden[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Heffero/193/78/27]Adimu[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Monterey%20dalliez/15/128/22]Akira Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/japan%20village/85/109/36]Ai Ni[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Aitui/170/151/23]Aitui[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Plush%20Omicron/153/89/22]AlexanderHunter&amp;amp;#8217;s Couture[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Jupiter/155/213/28]Alice Project ([em]aka Fornever, SHh Shop[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Shadowed%20Mist/163/53/502]All That Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/ImagineNation/172/214/22]Allure by Sparkle Skye[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Amacci/216/100/22]Amacci[br /]&lt;br /&gt;
[http://slurl.com/secondlife/kasandra/194/58/29]Amarita[br /]&lt;br /&gt;
[http://slurl.com/secondlife/AMOREPACIFIC/97/147/67]AmorePacific[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Triggerfish/17/29/21]Analog Dog[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Harajukubox/60/185/22]Animus[br /]&lt;br /&gt;
[http://slurl.com/secondlife/ANNEROSE/128/4/40]Annerose[br /]&lt;br /&gt;
[http://slurl.com/secondlife/AOHARU/112/125/23]Aoharu[br /]&lt;br /&gt;
[http://slurl.com/secondlife/zushi/186/87/24]Argrace[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Antiquity%20Township/212/106/32]Arundel Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/armidi/175/126/25]Armidi[br /]&lt;br /&gt;
[http://slurl.com/secondlife/artilleri/90/123/26]Artilleri[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Seed/144/88/22]Atelier Caraway[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Atomic%20Island/157/156/36]Atomic[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Atomic/25/192/492]Atomic Kitty[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Serendipity%20Drive/168/73/24]Audacity[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sunset%20Commerce/91/203/24]Aveda[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Laymon/134/103/27]AVZ[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ginza/183/33/31]Ay Line[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Palms%20district/193/228/23]B Spot[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bare%20Rose/202/33/30]Barerose[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Skin%20City/97/106/586]Baskin Bobbins[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Atria/16/196/27]Battle Angel[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Jiminy/215/182/441]Bax Coen Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Beauty%20Avatar%20couture/192/125/24]Beauty Avatar[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Welsh%20Falls/121/152/78]BeeBee ([em]aka Collar Me Sexy[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lemon%20Island/129/171/28]Bewitched[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Vice%20Pointe/81/82/25]Biedermann&amp;amp;#8217;s Quality Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Takaraduka/205/176/34]Bijou[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Prunariu/173/132/41]BishWear[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Virago/147/107/26]Bitter Thorns[br /]&lt;br /&gt;
[http://slurl.com/secondlife/0031%20Marktplaats/226/247/22]Bizzare Hair &amp;amp;amp; Deminations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Discovery/209/36/28]Black Maria[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Miniard/90/217/45/]Blooberry[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Zanzo/31/38/23]Blood Royal[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lakeside%20Shoppes/182/200/23]BloodSoul Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Zapico/12/168/36]Boon[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/BooPerFunK/234/23/24]BooPerFunk[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Osaka/153/162/23]BP[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Isla%20de%20Espiritus/132/70/27]BrainBow ([em]aka ColorYourSoul[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tully/147/148/26]Bryce ([em]aka Wig Out w/ Rising Phoenix Designs[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/FNKY%20Cake/113/51/23]Cake[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Calico%20Kitty/129/120/38]Calico Creations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Calla%20Lily/128/110/36]Calla[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Calleta/85/74/35]Calleta[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pirates%20Treasure/32/77/22]Caly&amp;amp;#8217;s Creations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/SuginamiKu/28/201/21]CanalGrande[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Honmoku%20Hills/232/220/23]Candy House[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Wonder%20Isle/225/40/301]Carlucci Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Celestial%20City/66/240/27]Celestial Studios[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Hairspray%202/33/177/52]ChiChickie[br /]&lt;br /&gt;
[http://slurl.com/secondlife/CUERVONO/107/7/79]ChiyoDori[br /]&lt;br /&gt;
[http://slurl.com/secondlife/sede%20di%20marte/228/180/37]CJ Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tableau/100/128/134]Clawtooth by Clawtooth[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Kuai%20aku/218/41/22]CMC[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Fahzilla/209/99/62]CocoLuv Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Silent/156/132/41]Coif[br /]&lt;br /&gt;
[http://slurl.com/secondlife/herons%20point/142/243/24]Color Me Couture[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Shubelik/17/151/703]Comme Il Faut ([em]aka Bossa Nova[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Details/154/108/42]Costumes Barque Roccoco[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Koenji/186/117/43]Cream Shop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Froth/82/14/23/]Crimson + Clover ([em]aka Lucky Hair[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Glen%20Lyon%20dAlliez/149/86/54]ChronoForge 4D[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Nanba/143/212/39]Crab Heaven[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sunset%20Commerce%201/237/212/23]Cross[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Mount%20Celestia/64/13/22]Crush Factory ([em]aka Madame du Pomadour[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Emmelia/154/242/57]Curio[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Rendervisions%20Isle/170/157/77]Curio Obscura[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Curious%20Kitties/224/62/31]Curious Kitties[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Inari/34/223/400]Curl Up and Dye[br /]&lt;br /&gt;
[http://slurl.com/secondlife/sendai/176/185/31]Custudio Shiga[br /]&lt;br /&gt;
[http://slurl.com/secondlife/dragonfly%20oasis/95/15/26/]Damselfly Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dark%20Eden/128/54/28]Dark Eden[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Taber/69/155/22]Dark Mouse[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lions%20Shore/195/44/22]Dark Star Designs[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Aelburt/185/115/364]Dead Kitties[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Daffodil%20Island/35/239/22]Decoy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/bel%20Drift/143/232/501]Defectiva[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dreams%20Edge/32/74/622]Defiant Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/KABUKI/181/101/28]DejaVu[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dernier%20Cri/146/110/28]Derneir Cri[br /]&lt;br /&gt;
[http://slurl.com/secondlife/DUBAI%20ISLAND/116/96/22]Designs by Katey[br /]&lt;br /&gt;
[secondlife://deviant%20kitties/91/146/28]Deviant Kitties[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Innovations/95/128/32]DG Innovations[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Addictive/12/118/22]Digit Darkes[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Kusanagi/227/214/573]Digital Eyes[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Digital%20Dragon/56/202/23]Digital Dragon Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bytegang/106/211/36]Dirty Lynx[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Synchronicity/192/168/27]Discord Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/RekidStyle/78/172/35]Discord Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Addictive/96/170/22]Diversity[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Isle%20of%20Tranquility/117/147/26]DP YumYum[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Koreshan/193/120/25]Draconic Kiss[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Bewitched/218/33/22]Dreads N Threads[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Honmoku/121/167/25]Dreaming Alice[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Enego/251/120/106/]DS Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Oddjob/185/181/49]Dump Factory[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Willow%20Beach/31/216/33]Dutch Touch[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lasombra/67/158/51]DV8[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Biopunk/182/191/36]Eat Rice[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Aventi%20Island%20NE/160/137/22]Eco[br /]&lt;br /&gt;
[http://slurl.com/secondlife/tenjin%20fukuoka%20japan/25/36/500]Electro Kitty[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/ETD%20Isle/126/212/32]Elika Tiramisu Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Elite%20Island/88/65/22]Elite Dreams[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Zerelia/110/17/22]Elsie[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Blake/105/159/21]EmeraldEver Cline&amp;amp;#8217;s Mertopia[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Oddjob/229/153/49]EMO[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Eros%20Cove/48/70/701]Eros Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dream%20Islands%20NW/28/176/23]Erotique Boutique[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Windy%20Gyle/115/23/56]Evergreen[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/eXceSs/63/128/29]ExCess[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Covet/177/67/31]Exile[br /]&lt;br /&gt;
[http://slurl.com/secondlife/EXXESS/186/162/26]Exxess[/p]&lt;br /&gt;
[p][strong]F &amp;amp;#8211; J[/strong][br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dream%20Jumbo%20Island/161/25/27]f.wi &amp;amp;amp; Tohryo ([em]aka Seri[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Hillcrest%20Estates/245/232/29]Fairlane Fashions[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Falln%20Sanitarium/150/130/52]FallnAngel[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bashamichi/83/97/22]Fascino[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tableau/189/64/23]Fashionably Dead[br /]&lt;br /&gt;
[http://slurl.com/secondlife/MoonCat%20Ringo/222/99/26] FeelsShy Skin[br /]&lt;br /&gt;
[http://slurl.com/secondlife/The%20Avenues/228/111/26]Fetish Boutique[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Fiertze/112/192/55]Fiertze &amp;amp;amp; Co[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/MoonCat%20Ringo/200/124/26]Find Ash[br /]&lt;br /&gt;
[http://slurl.com/secondlife/niQue%20soil/15/75/25]Five Minutes After[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sunset%20Commerce%205/162/21/23]Fizzy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/SHIKOKU/158/204/21]Flower &amp;amp;amp; Willow[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Iladil/207/90/351]Frangipani Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Fragment/44/53/30]Fuel[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lilac%20Island/219/22/26]G&amp;amp;amp;S Designs[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Snatch%20City/235/214/40]Gauze[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Amatsu%20Mitsukai/70/174/29]GeishaGlam Studio[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Imogen/124/195/24]George Street[br /]&lt;br /&gt;
[http://slurl.com/secondlife/CUERVONO/122/12/79]Gisele[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tokyo%20Seaside/49/207/22]Glitter Hair Store[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Nantli%20Xolal/97/142/23]Goldie Locks[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sunset%20Commerce/94/145/710/]Gracile[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sleepy%20Hollow/104/109/401]Grim Babies[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Mystical%20Island/100/210/24/]GrueLing Designs[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Koreshan/52/91/24]Gritty Kitty[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sarhina/227/146/25]Groovygirl Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pi/170/160/25]GryphonWings Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/GuRLyWood/110/63/33/]GuRL 6[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Case%20Colle/199/197/33]Gwendolyn Cassini Creations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Harajuku/106/78/0]H2L Hayate&amp;amp;#8217;s Hair Lab[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Hillcrest%20Estates/34/147/25]Hair by Cher[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Taunt/184/79/31]Hair by Taunt[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Hairspray/38/158/0]Hairapy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Eel%20Bay/84/186/24]Hair Influence[br /]&lt;br /&gt;
[http://slurl.com/secondlife/freetown/208/116/29]Hair Make Aqua[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ginza/230/48/31]Hair Salon Betty[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Elite%20Island/89/65/21]Hair Solutions[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dixie/87/90/23]Hair Styles by Tami McCoy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Nagasaki%20BAKUMATSU/150/122/22]Hakuowdow[br /]&lt;br /&gt;
[http://slurl.com/secondlife/RekidStyle/101/187/38]Hal*Hina[br /]&lt;br /&gt;
[http://slurl.com/secondlife/JapalandTokyo/31/98/24]Hanauta[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/HappyDispatch/141/31/36]Happy Dispatch[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Osaka/202/123/22]Happy Mood[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lions%20Shore/20/108/21]Hiccup[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Troubled%20City/193/125/32]Here Comes Trouble[br /]&lt;br /&gt;
[http://slurl.com/secondlife/KABUKI/113/224/27/]Heaven4D[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tropical%20Escape/128/71/24]House of Heart[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Hinode%20Shima/195/98/25/]House of Zen[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Fukuoka%20Tenjin/164/222/5]Honey Kitty[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Caledon%20II/23/46/25]Historical Heroines[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Sister%20of%20Eden/54/76/25]I Love Olive[br /]&lt;br /&gt;
[http://savoirhair.blogspot.com/search/label/i-candy]I-Candy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pulse/190/126/2]Illuminati[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Cybertopia%20North/239/30/24]Imagen[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Indulgence/130/136/251]Indulgence[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Naughty/79/70/23]Infulence by Naughty Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Born/98/43/32]Ingenue[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lloyd/181/209/22]Inorite[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ryder%20Jungle/215/12/2502]Irollic[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/MoonCat%20Izumo/149/13/28]Izumiya[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sannomiya/235/136/40]Jada Style[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Korea%20Mirinae/180/127/22]Je Republic[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bangu/125/38/21]JetDoll[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Neuntoter/81/136/28]JF Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Far%20Sight/75/168/53]JK[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Neuntoter/80/137/28]Jolie Femme[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Nanba/195/64/27]Junwave[/p]&lt;br /&gt;
[p][strong]K &amp;amp;#8211; O[/strong][br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Kyoto%20BAKUMATSU/106/124/22]K@E[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Danpoon/181/24/22]Kaiti[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Axis%20Mundi/117/116/23]KatatOnik[br /]&lt;br /&gt;
[http://slurl.com/secondlife/japan%20village/89/72/36]Key[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Eventide%20Far%20East/165/209/45]Kin[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Jeolla/224/88/68]Kiss[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Final%20Destiny/148/82/24]Kitten&amp;amp;#8217;s Ladies Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Seonggye/124/68/102]Kitty&amp;amp;#8217;s Kreations[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Caledon%20Eyre/33/107/23]Kleinschwein Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/uemachi/14/138/30]KMYY[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Mew/146/148/751]K.O. Industries[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Born%20North/240/67/6024]Kurotsubaki[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Silent/131/220/22]Kyoot[br /]&lt;br /&gt;
[http://slurl.com/secondlife/SkyBeam/56/109/38]Lag Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/LALA%20Moon/128/128/26]LALA Moon[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Rue%20DAntibes/76/101/28]Lamb[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Wonder%20Isle/146/171/24]Lamora ([em]aka Wonder Hair[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Faarsign/49/134/116]Lantern Evolution[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Laqroki/77/121/65]Laqroki ([em]aka RaC[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Oslar/34/25/94]Lavish Style[br /]&lt;br /&gt;
[http://slurl.com/secondlife/farstone/61/98/394]LC Lefebvre&amp;amp;#8217;s Creations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Woolsan/82/163/98]Le Grants[br /]&lt;br /&gt;
[http://slurl.com/secondlife/LeLutka/224/180/23]LeLutka ([em]aka MMS Hair[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Lovething/171/106/22]Lemon Pop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Honmoku/147/50/33]LFS[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Artists%20Island/10/203/84]Light&amp;amp;#8217;s Trash[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Kourinbou/49/179/22]Lily Lovers[br /]&lt;br /&gt;
[http://slurl.com/secondlife/BlueBird/170/231/24]Liriope[br /]&lt;br /&gt;
[http://slurl.com/secondlife/little%20heaven/128/128/0]Little Heaven[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sialimonus/90/73/75]Lotsa Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lutra/123/103/60]L.S.D Lutra[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/JAPAN%2008/192/64/0]Lycee Feelings Shop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Magika%20Land/61/156/27]Magika[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Maitreya%20Isle/206/137/26]Maitreya[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lloyd/144/19/24]Marlys[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Dibacco/242/163/108]Mau&amp;amp;#8217;s &amp;amp;amp; Mej&amp;amp;#8217;s[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Honmoku%20Hills/136/199/23]MayaMaya[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Scout/104/235/252]Miau Haus[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Cupcake/252/214/38]Miel[br /]&lt;br /&gt;
[http://slurl.com/secondlife/TOYOTA/248/31/28]Mikan[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Wasp/219/75/90]Mina&amp;amp;#8217;s Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Peronaut/91/135/45]Mingo[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Hairspray/21/70/52]Mirada[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Takaraduka/150/216/33]Mirai Style[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Miriel/135/64/33]Miriel[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Miss%20B/140/182/31]Miss B[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Stingray/102/188/54]Mojo ([em]aka Au Naturel[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Silver%20Lake/85/184/26]Moonshine[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Muism/130/112/26]Muism[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Witch%20Hazel/150/187/98]Mya[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Mystikal/112/117/27]Mystikal Hair Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ocean%20Park/162/224/22]NebuchadNezzar[br /]&lt;br /&gt;
[http://slurl.com/secondlife/New%20Paris/138/204/24]Never30[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/CUERVONO/92/26/79]Nico Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/NineInchNerds/171/249/23]Nifty Fifty[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pimushe/99/42/62]Nocturnal Threads[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Novocaine/84/51/25]Novocaine[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Archipelago%20Wild/125/127/27]Nuclear Boutique[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tableau/151/38/22]Nylon Outfitters[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Retrology/65/127/40]Old Gravy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Templegreen/80/13/51]Onigiri! ([em]aka Inspired[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Asagao/69/27/31]Orchid Dreams[/p]&lt;br /&gt;
[p][strong]P &amp;amp;#8211; T[/strong][br /]&lt;br /&gt;
[http://slurl.com/secondlife/Panache/125/104/389]Panache[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Tableau/54/68/29]Paper Couture[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pazazz/225/45/33]Pazazz[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Rockin%20Diva/67/141/33]Pirate Arts[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Mimolette/190/222/32]Pixelated Dreams[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Port%20Seraphine/29/85/57]Pixel Dolls[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Milyang/17/200/55]Pixelthreads ([em]aka DKs[/em])[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Imogen/166/163/22]Philotic Energy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Temenos/154/108/107]Playful Kitten[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Kon%20Tiki%20Eastern/98/242/22%22]Polised Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/shengri%20la/236/46/28]Prim &amp;amp;amp; Proper[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Delphi/182/107/26/]Prim Roots[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Primitive%20Island/122/131/23]Primative Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Endicott/155/17/132]Pudge[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pulse/130/163/30]Pulse[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Venufalat/157/40/47]Pura Vida[br /]&lt;br /&gt;
[http://slurl.com/secondlife/sendai/175/176/34]Quated-KANBAN[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Optimal/39/206/24]Rabbit&amp;amp;#8217;s Nest[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Hallgerda/143/78/598]Random[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ravens%20Requiem/12/23/78]Ravenwear[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Poco%20JAPAN/172/140/26]Raver Joker[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sunset%20Beach/159/12/22]Red Eye Shop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ocean%20Sandals/157/128/22]Red Queen[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Fanghammer/54/120/22]Redlic[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sinistyle/114/194/26]Refuge[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sirtony/35/33/68]Risa&amp;amp;#8217;s[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Illusion/91/100/42]Rising Phoenix Designs ([em]aka Wig Out w/ Bryce Designs[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Isle%20RFyre/97/119/23]RFyre[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Japan%20Resort%20C1/147/209/281]R&amp;amp;#8217;s Hair Style[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Ikebukuro/183/238/22]Road Men&amp;amp;#8217;s Shop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Phoenix%20Unlimited/206/107/22]Rock Candy[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Alleni/138/233/39]Rosy Mood[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Japan%20Resort%20C1/145/159/53]Sacrifice[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sanctum/63/152/29]Sanctum[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lions%20Shore/49/176/24]Sand Shack Surf Co.[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Scribble/221/27/22]Sanu[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Brannon/186/21/24/%22]Sassy Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lloyd/41/24/43]Schadenfreude[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sensual%20Productions/11/57/32]Sensual Productions[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Eel%20Bay/12/133/21]Seseragi Design[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Busiris/39/22/22/]S.E.M.s Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Juicy%20Del%20Mar/218/220/24]Simply Britnee[br /]&lt;br /&gt;
[http://slurl.com/secondlife/SiniStyle/45/16/39]SiniStyle[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Aurialis/85/156/86]Sinsation[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/boonootoo/96/27/56/]Skin Flicks[br /]&lt;br /&gt;
[http://slurl.com/secondlife/L&#039;Utopie/40/68/39]Sky Everett Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Heaton/90/172/296]SkyShop Hair Resort[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Sinsaibasi/134/230/38]Shop 141[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Meet/12/42/3337]Shop Seu[br /]&lt;br /&gt;
[http://slurl.com/secondlife/West%20Sunset/169/5/21]Sirena[br /]&lt;br /&gt;
[http://slurl.com/secondlife/CG%20Heart/41/43/22]SLink[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Nishi%20AZABU/22/108/23]Smoka Shop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/JAPAN%2010/180/34/27]Sola Design[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Quargar/212/181/757]Soreal[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Heathrow/237/150/22]SoulFire[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Quat/29/18/106]Spirit[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bricolage/119/49/22]Sprawl[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Maske/26/86/124]Steamtress[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Stellar%20Isle/50/128/24]Steller Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Isla%20Mirada/97/223/25]Street Magic[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Lyashko/175/160/401]Stringer[br /]&lt;br /&gt;
[http://slurl.com/secondlife/blumfield/207/79/27/]SugarCube Ketty[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Lost%20Islands%20CTR/87/162/21/]Synthetic Memory[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Mens%20Depot/49/32/303]T &amp;amp;amp; E Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Talisman/202/61/22]Talisman[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Rakshasa/247/241/44]Tampopo[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Granymyr/240/189/42]Tea Lane ([em]aka LaynieWear &amp;amp;amp; SYD: Style Your Destiny[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Asunder/112/136/39]Tekeli-li[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Shinjuku/90/153/22]TekuTeku[br /]&lt;br /&gt;
[http://slurl.com/secondlife/The%20Abyss/96/65/237]TheAbyss[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Good%20Life/113/86/27]The Good Life[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Artisan/38/94/24]The U-Neek[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Chatouille/156/130/24]Tickled Pink[br /]&lt;br /&gt;
[http://slurl.com/secondlife/MoonDoggies/153/86/30]Timberry Boutique[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Festivale/157/176/27]Tiny Bird ([em]aka Pixel Dust[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Topaz%20Square/85/102/22]Topaz Square[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Aido%20Wedo/160/108/311]Toharu&amp;amp;#8217;s Shop[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Chartreuse/153/63/32]TorridWear[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Higginston/125/202/977]Total Knock Out Hair[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bricolage/125/195/24]Tousled[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Cannery%20Rezzable/70/142/28]Toxic Boutique[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Truth%20Island/158/134/29]Truth[br /]&lt;br /&gt;
[http://slurl.com/secondlife/sunset%20resort3/127/128/22]TukinoWaguma ([em]aka Akina &amp;amp;amp; TwHairstyle[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Fields%20of%20Cardonicus/158/182/519]Turian Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/tricolore/205/128/39]Tricolore[/p]&lt;br /&gt;
[p][strong]U &amp;amp;#8211; Z[/strong][br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bare%20Rose/240/166/32]UFonly HQ[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Yamashita/249/226/22]UncleWeb[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Maske/101/65/125]Uncle Wiggley[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Al%20Tang/75/146/75]Virtual Creations[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Vixen%20Island/142/146/23]Vixen[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/NagoyaCentral%20Nippon/55/178/22]Voer[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Pandorus/176/64/23]Vy Nakamichi Design[br /]&lt;br /&gt;
[http://slurl.com/secondlife/TSUKIJI/155/206/22]Waka &amp;amp;amp; Yuki[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Thibedeau/44/95/22]Wasabi Pills[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Montlaur/244/41/52]White Well[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Bloom%20County/63/63/24]Wilted Rose Boutique[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Koreshan/72/71/25]Winter Moon[br /]&lt;br /&gt;
[http://slurl.com/secondlife/AlterNation/177/132/39]Wrong[br /]&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/ZoHa%20Islands%20E/193/100/33]Wunderlich[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Feoktistov/144/223/22]Yokihi Beauties[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Themis%20Island/43/150/24]Yuzukamiya[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Zero%20Style/122/134/38]Zero Style[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Archipelago%20Wild/83/97/25]Zullay Designs[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Horst/37/21/24]ZsaZsa&amp;amp;#8217;s House of Beauty[br /]&lt;br /&gt;
[http://slurl.com/secondlife/Panoochie/97/161/30]Zyrraphotic[/p]&lt;br /&gt;
&lt;br /&gt;
=== Test scripts ===&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== Discussion for future improvements ===&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== Relationship to other features ===&lt;br /&gt;
&amp;lt;b&amp;gt; List of features that need to be tested when this feature changes, and why. &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== User Guides ===&lt;br /&gt;
* [[How to create a hair texture in Adobe Photoshop]]&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Hair&amp;diff=933042</id>
		<title>Hair</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Hair&amp;diff=933042"/>
		<updated>2010-05-30T16:40:47Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Attachement Hair Makers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiFeatureNav}}&lt;br /&gt;
=== Feature Design Document ===&lt;br /&gt;
Hair is a [[Body Part OS|Body Part]]. It cannot be taken off, but can be replaced by a different hair body part. Many people choose to wear [[Attachment]] hair that covers or enhances the normal hair.&lt;br /&gt;
&lt;br /&gt;
=== Attachement Hair Makers ===&lt;br /&gt;
Not a comprehensive list&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Roosa/245/32/36&amp;quot;]1-800-BETTIE&amp;amp;#8217;S[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/MIYABI/47/168/511&amp;quot;]::69[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bolinas/135/185/48&amp;quot;]Acedia[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ducknipple/180/162/26&amp;quot;]Acid &amp;amp;amp; Mala Creations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Action%20Surf%20Sk8te/116/139/22&amp;quot;]Action[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Genesis/119/163/38&amp;quot;]Adam n Eve[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Golden%20Eye/186/75/32&amp;quot;]Addict[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/DollyRock/152/72/29&amp;quot;]Aden[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Heffero/193/78/27&amp;quot;]Adimu[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Monterey%20dalliez/15/128/22&amp;quot;]Akira Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/japan%20village/85/109/36&amp;quot;]Ai Ni[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Aitui/170/151/23&amp;quot;]Aitui[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Plush%20Omicron/153/89/22&amp;quot;]AlexanderHunter&amp;amp;#8217;s Couture[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Jupiter/155/213/28&amp;quot;]Alice Project[/a] ([em]aka Fornever, SHh Shop[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Shadowed%20Mist/163/53/502&amp;quot;]All That Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/ImagineNation/172/214/22&amp;quot;]Allure by Sparkle Skye[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Amacci/216/100/22&amp;quot;]Amacci[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/kasandra/194/58/29&amp;quot;]Amarita[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/AMOREPACIFIC/97/147/67&amp;quot;]AmorePacific[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Triggerfish/17/29/21&amp;quot;]Analog Dog[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Harajukubox/60/185/22&amp;quot;]Animus[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/ANNEROSE/128/4/40&amp;quot;]Annerose[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/AOHARU/112/125/23&amp;quot;]Aoharu[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/zushi/186/87/24&amp;quot;]Argrace[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Antiquity%20Township/212/106/32&amp;quot;]Arundel Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/armidi/175/126/25&amp;quot;]Armidi[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/artilleri/90/123/26&amp;quot;]Artilleri[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Seed/144/88/22&amp;quot;]Atelier Caraway[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Atomic%20Island/157/156/36&amp;quot;]Atomic[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Atomic/25/192/492&amp;quot;]Atomic Kitty[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Serendipity%20Drive/168/73/24&amp;quot;]Audacity[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce/91/203/24&amp;quot;]Aveda[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Laymon/134/103/27&amp;quot;]AVZ[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ginza/183/33/31&amp;quot;]Ay Line[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Palms%20district/193/228/23&amp;quot;]B Spot[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bare%20Rose/202/33/30&amp;quot;]Barerose[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Skin%20City/97/106/586&amp;quot;]Baskin Bobbins[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Atria/16/196/27&amp;quot;]Battle Angel[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Jiminy/215/182/441&amp;quot;]Bax Coen Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Beauty%20Avatar%20couture/192/125/24&amp;quot;]Beauty Avatar[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Welsh%20Falls/121/152/78&amp;quot;]BeeBee[/a] ([em]aka Collar Me Sexy[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lemon%20Island/129/171/28&amp;quot;]Bewitched[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Vice%20Pointe/81/82/25&amp;quot;]Biedermann&amp;amp;#8217;s Quality Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Takaraduka/205/176/34&amp;quot;]Bijou[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Prunariu/173/132/41&amp;quot;]BishWear[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Virago/147/107/26&amp;quot;]Bitter Thorns[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/0031%20Marktplaats/226/247/22&amp;quot;]Bizzare Hair &amp;amp;amp; Deminations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Discovery/209/36/28&amp;quot;]Black Maria[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Miniard/90/217/45/&amp;quot;]Blooberry[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Zanzo/31/38/23&amp;quot;]Blood Royal[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lakeside%20Shoppes/182/200/23&amp;quot;]BloodSoul Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Zapico/12/168/36&amp;quot;]Boon[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/BooPerFunK/234/23/24&amp;quot;]BooPerFunk[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Osaka/153/162/23&amp;quot;]BP[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Isla%20de%20Espiritus/132/70/27&amp;quot;]BrainBow[/a] ([em]aka ColorYourSoul[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tully/147/148/26&amp;quot;]Bryce[/a] ([em]aka Wig Out w/ Rising Phoenix Designs[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/FNKY%20Cake/113/51/23&amp;quot;]Cake[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Calico%20Kitty/129/120/38&amp;quot;]Calico Creations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Calla%20Lily/128/110/36&amp;quot;]Calla[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Calleta/85/74/35&amp;quot;]Calleta[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pirates%20Treasure/32/77/22&amp;quot;]Caly&amp;amp;#8217;s Creations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/SuginamiKu/28/201/21&amp;quot;]CanalGrande[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Honmoku%20Hills/232/220/23&amp;quot;]Candy House[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Wonder%20Isle/225/40/301&amp;quot;]Carlucci Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Celestial%20City/66/240/27&amp;quot;]Celestial Studios[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hairspray%202/33/177/52&amp;quot;]ChiChickie[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/CUERVONO/107/7/79&amp;quot;]ChiyoDori[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/sede%20di%20marte/228/180/37&amp;quot;]CJ Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tableau/100/128/134&amp;quot;]Clawtooth by Clawtooth[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Kuai%20aku/218/41/22&amp;quot;]CMC[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Fahzilla/209/99/62&amp;quot;]CocoLuv Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Silent/156/132/41&amp;quot;]Coif[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/herons%20point/142/243/24&amp;quot;]Color Me Couture[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Shubelik/17/151/703&amp;quot;]Comme Il Faut[/a] ([em]aka Bossa Nova[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Details/154/108/42&amp;quot;]Costumes Barque Roccoco[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Koenji/186/117/43&amp;quot;]Cream Shop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Froth/82/14/23/&amp;quot;]Crimson + Clover[/a] ([em]aka Lucky Hair[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Glen%20Lyon%20dAlliez/149/86/54&amp;quot;]ChronoForge 4D[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Nanba/143/212/39&amp;quot;]Crab Heaven[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce%201/237/212/23&amp;quot;]Cross[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Mount%20Celestia/64/13/22&amp;quot;]Crush Factory[/a] ([em]aka Madame du Pomadour[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Emmelia/154/242/57&amp;quot;]Curio[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Rendervisions%20Isle/170/157/77&amp;quot;]Curio Obscura[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Curious%20Kitties/224/62/31&amp;quot;]Curious Kitties[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Inari/34/223/400&amp;quot;]Curl Up and Dye[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/sendai/176/185/31&amp;quot;]Custudio Shiga[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/dragonfly%20oasis/95/15/26/&amp;quot;]Damselfly Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dark%20Eden/128/54/28&amp;quot;]Dark Eden[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Taber/69/155/22&amp;quot;]Dark Mouse[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lions%20Shore/195/44/22&amp;quot;]Dark Star Designs[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Aelburt/185/115/364&amp;quot;]Dead Kitties[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Daffodil%20Island/35/239/22&amp;quot;]Decoy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/bel%20Drift/143/232/501&amp;quot;]Defectiva[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dreams%20Edge/32/74/622&amp;quot;]Defiant Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/KABUKI/181/101/28&amp;quot;]DejaVu[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dernier%20Cri/146/110/28&amp;quot;]Derneir Cri[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/DUBAI%20ISLAND/116/96/22&amp;quot;]Designs by Katey[/a][br /]&lt;br /&gt;
[a href=&amp;quot;secondlife://deviant%20kitties/91/146/28&amp;quot;]Deviant Kitties[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Innovations/95/128/32&amp;quot;]DG Innovations[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Addictive/12/118/22&amp;quot;]Digit Darkes[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Kusanagi/227/214/573&amp;quot;]Digital Eyes[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Digital%20Dragon/56/202/23&amp;quot;]Digital Dragon Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bytegang/106/211/36&amp;quot;]Dirty Lynx[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Synchronicity/192/168/27&amp;quot;]Discord Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/RekidStyle/78/172/35&amp;quot;]Discord Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Addictive/96/170/22&amp;quot;]Diversity[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Isle%20of%20Tranquility/117/147/26&amp;quot;]DP YumYum[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Koreshan/193/120/25&amp;quot;]Draconic Kiss[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bewitched/218/33/22&amp;quot;]Dreads N Threads[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Honmoku/121/167/25&amp;quot;]Dreaming Alice[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Enego/251/120/106/&amp;quot;]DS Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Oddjob/185/181/49&amp;quot;]Dump Factory[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Willow%20Beach/31/216/33&amp;quot;]Dutch Touch[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lasombra/67/158/51&amp;quot;]DV8[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Biopunk/182/191/36&amp;quot;]Eat Rice[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Aventi%20Island%20NE/160/137/22&amp;quot;]Eco[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/tenjin%20fukuoka%20japan/25/36/500&amp;quot;]Electro Kitty[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/ETD%20Isle/126/212/32&amp;quot;]Elika Tiramisu Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Elite%20Island/88/65/22&amp;quot;]Elite Dreams[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Zerelia/110/17/22&amp;quot;]Elsie[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Blake/105/159/21&amp;quot;]EmeraldEver Cline&amp;amp;#8217;s Mertopia[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Oddjob/229/153/49&amp;quot;]EMO[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Eros%20Cove/48/70/701&amp;quot;]Eros Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dream%20Islands%20NW/28/176/23&amp;quot;]Erotique Boutique[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Windy%20Gyle/115/23/56&amp;quot;]Evergreen[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/eXceSs/63/128/29&amp;quot;]ExCess[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Covet/177/67/31&amp;quot;]Exile[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/EXXESS/186/162/26&amp;quot;]Exxess[/a][/p]&lt;br /&gt;
[p][strong]F &amp;amp;#8211; J[/strong][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dream%20Jumbo%20Island/161/25/27&amp;quot;]f.wi &amp;amp;amp; Tohryo[/a] ([em]aka Seri[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hillcrest%20Estates/245/232/29&amp;quot;]Fairlane Fashions[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Falln%20Sanitarium/150/130/52&amp;quot;]FallnAngel[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bashamichi/83/97/22&amp;quot;]Fascino[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tableau/189/64/23&amp;quot;]Fashionably Dead[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/MoonCat%20Ringo/222/99/26&amp;quot;] FeelsShy Skin[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/The%20Avenues/228/111/26&amp;quot;]Fetish Boutique[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Fiertze/112/192/55&amp;quot;]Fiertze &amp;amp;amp; Co[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/MoonCat%20Ringo/200/124/26&amp;quot;]Find Ash[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/niQue%20soil/15/75/25&amp;quot;]Five Minutes After[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce%205/162/21/23&amp;quot;]Fizzy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/SHIKOKU/158/204/21&amp;quot;]Flower &amp;amp;amp; Willow[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Iladil/207/90/351&amp;quot;]Frangipani Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Fragment/44/53/30&amp;quot;]Fuel[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lilac%20Island/219/22/26&amp;quot;]G&amp;amp;amp;S Designs[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Snatch%20City/235/214/40&amp;quot;]Gauze[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Amatsu%20Mitsukai/70/174/29&amp;quot;]GeishaGlam Studio[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Imogen/124/195/24&amp;quot;]George Street[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/CUERVONO/122/12/79&amp;quot;]Gisele[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tokyo%20Seaside/49/207/22&amp;quot;]Glitter Hair Store[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Nantli%20Xolal/97/142/23&amp;quot;]Goldie Locks[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce/94/145/710/&amp;quot;]Gracile[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sleepy%20Hollow/104/109/401&amp;quot;]Grim Babies[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Mystical%20Island/100/210/24/&amp;quot;]GrueLing Designs[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Koreshan/52/91/24&amp;quot;]Gritty Kitty[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sarhina/227/146/25&amp;quot;]Groovygirl Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pi/170/160/25&amp;quot;]GryphonWings Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/GuRLyWood/110/63/33/&amp;quot;]GuRL 6[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Case%20Colle/199/197/33&amp;quot;]Gwendolyn Cassini Creations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Harajuku/106/78/0&amp;quot;]H2L Hayate&amp;amp;#8217;s Hair Lab[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hillcrest%20Estates/34/147/25&amp;quot;]Hair by Cher[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Taunt/184/79/31&amp;quot;]Hair by Taunt[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hairspray/38/158/0&amp;quot;]Hairapy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Eel%20Bay/84/186/24&amp;quot;]Hair Influence[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/freetown/208/116/29&amp;quot;]Hair Make Aqua[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ginza/230/48/31&amp;quot;]Hair Salon Betty[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Elite%20Island/89/65/21&amp;quot;]Hair Solutions[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dixie/87/90/23&amp;quot;]Hair Styles by Tami McCoy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Nagasaki%20BAKUMATSU/150/122/22&amp;quot;]Hakuowdow[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/RekidStyle/101/187/38&amp;quot;]Hal*Hina[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/JapalandTokyo/31/98/24&amp;quot;]Hanauta[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/HappyDispatch/141/31/36&amp;quot;]Happy Dispatch[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Osaka/202/123/22&amp;quot;]Happy Mood[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lions%20Shore/20/108/21&amp;quot;]Hiccup[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Troubled%20City/193/125/32&amp;quot;]Here Comes Trouble[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/KABUKI/113/224/27/&amp;quot;]Heaven4D[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tropical%20Escape/128/71/24&amp;quot;]House of Heart[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hinode%20Shima/195/98/25/&amp;quot;]House of Zen[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Fukuoka%20Tenjin/164/222/5&amp;quot;]Honey Kitty[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Caledon%20II/23/46/25&amp;quot;]Historical Heroines[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sister%20of%20Eden/54/76/25&amp;quot;]I Love Olive[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://savoirhair.blogspot.com/search/label/i-candy&amp;quot;]I-Candy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pulse/190/126/2&amp;quot;]Illuminati[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Cybertopia%20North/239/30/24&amp;quot;]Imagen[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Indulgence/130/136/251&amp;quot;]Indulgence[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Naughty/79/70/23&amp;quot;]Infulence by Naughty Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Born/98/43/32&amp;quot;]Ingenue[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lloyd/181/209/22&amp;quot;]Inorite[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ryder%20Jungle/215/12/2502&amp;quot;]Irollic[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/MoonCat%20Izumo/149/13/28&amp;quot;]Izumiya[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sannomiya/235/136/40&amp;quot;]Jada Style[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Korea%20Mirinae/180/127/22&amp;quot;]Je Republic[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bangu/125/38/21&amp;quot;]JetDoll[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Neuntoter/81/136/28&amp;quot;]JF Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Far%20Sight/75/168/53&amp;quot;]JK[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Neuntoter/80/137/28&amp;quot;]Jolie Femme[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Nanba/195/64/27&amp;quot;]Junwave[/a][/p]&lt;br /&gt;
[p][strong]K &amp;amp;#8211; O[/strong][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Kyoto%20BAKUMATSU/106/124/22&amp;quot;]K@E[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Danpoon/181/24/22&amp;quot;]Kaiti[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Axis%20Mundi/117/116/23&amp;quot;]KatatOnik[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/japan%20village/89/72/36&amp;quot;]Key[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Eventide%20Far%20East/165/209/45&amp;quot;]Kin[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Jeolla/224/88/68&amp;quot;]Kiss[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Final%20Destiny/148/82/24&amp;quot;]Kitten&amp;amp;#8217;s Ladies Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Seonggye/124/68/102&amp;quot;]Kitty&amp;amp;#8217;s Kreations[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Caledon%20Eyre/33/107/23&amp;quot;]Kleinschwein Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/uemachi/14/138/30&amp;quot;]KMYY[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Mew/146/148/751&amp;quot;]K.O. Industries[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Born%20North/240/67/6024&amp;quot;]Kurotsubaki[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Silent/131/220/22&amp;quot;]Kyoot[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/SkyBeam/56/109/38&amp;quot;]Lag Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/LALA%20Moon/128/128/26&amp;quot;]LALA Moon[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Rue%20DAntibes/76/101/28&amp;quot;]Lamb[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Wonder%20Isle/146/171/24&amp;quot;]Lamora[/a] ([em]aka Wonder Hair[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Faarsign/49/134/116&amp;quot;]Lantern Evolution[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Laqroki/77/121/65&amp;quot;]Laqroki[/a] ([em]aka RaC[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Oslar/34/25/94&amp;quot;]Lavish Style[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/farstone/61/98/394&amp;quot;]LC Lefebvre&amp;amp;#8217;s Creations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Woolsan/82/163/98&amp;quot;]Le Grants[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/LeLutka/224/180/23&amp;quot;]LeLutka[/a] ([em]aka MMS Hair[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lovething/171/106/22&amp;quot;]Lemon Pop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Honmoku/147/50/33&amp;quot;]LFS[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Artists%20Island/10/203/84&amp;quot;]Light&amp;amp;#8217;s Trash[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Kourinbou/49/179/22&amp;quot;]Lily Lovers[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/BlueBird/170/231/24&amp;quot;]Liriope[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/little%20heaven/128/128/0&amp;quot;]Little Heaven[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sialimonus/90/73/75&amp;quot;]Lotsa Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lutra/123/103/60&amp;quot;]L.S.D Lutra[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/JAPAN%2008/192/64/0&amp;quot;]Lycee Feelings Shop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Magika%20Land/61/156/27&amp;quot;]Magika[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Maitreya%20Isle/206/137/26&amp;quot;]Maitreya[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lloyd/144/19/24&amp;quot;]Marlys[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Dibacco/242/163/108&amp;quot;]Mau&amp;amp;#8217;s &amp;amp;amp; Mej&amp;amp;#8217;s[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Honmoku%20Hills/136/199/23&amp;quot;]MayaMaya[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Scout/104/235/252&amp;quot;]Miau Haus[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Cupcake/252/214/38&amp;quot;]Miel[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/TOYOTA/248/31/28&amp;quot;]Mikan[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Wasp/219/75/90&amp;quot;]Mina&amp;amp;#8217;s Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Peronaut/91/135/45&amp;quot;]Mingo[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hairspray/21/70/52&amp;quot;]Mirada[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Takaraduka/150/216/33&amp;quot;]Mirai Style[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Miriel/135/64/33&amp;quot;]Miriel[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Miss%20B/140/182/31&amp;quot;]Miss B[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Stingray/102/188/54&amp;quot;]Mojo[/a] ([em]aka Au Naturel[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Silver%20Lake/85/184/26&amp;quot;]Moonshine[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Muism/130/112/26&amp;quot;]Muism[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Witch%20Hazel/150/187/98&amp;quot;]Mya[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Mystikal/112/117/27&amp;quot;]Mystikal Hair Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ocean%20Park/162/224/22&amp;quot;]NebuchadNezzar[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/New%20Paris/138/204/24&amp;quot;]Never30[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/CUERVONO/92/26/79&amp;quot;]Nico Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/NineInchNerds/171/249/23&amp;quot;]Nifty Fifty[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pimushe/99/42/62&amp;quot;]Nocturnal Threads[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Novocaine/84/51/25&amp;quot;]Novocaine[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Archipelago%20Wild/125/127/27&amp;quot;]Nuclear Boutique[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tableau/151/38/22&amp;quot;]Nylon Outfitters[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Retrology/65/127/40&amp;quot;]Old Gravy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Templegreen/80/13/51&amp;quot;]Onigiri![/a] ([em]aka Inspired[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Asagao/69/27/31&amp;quot;]Orchid Dreams[/a][/p]&lt;br /&gt;
[p][strong]P &amp;amp;#8211; T[/strong][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Panache/125/104/389&amp;quot;]Panache[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Tableau/54/68/29&amp;quot;]Paper Couture[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pazazz/225/45/33&amp;quot;]Pazazz[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Rockin%20Diva/67/141/33&amp;quot;]Pirate Arts[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Mimolette/190/222/32&amp;quot;]Pixelated Dreams[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Port%20Seraphine/29/85/57&amp;quot;]Pixel Dolls[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Milyang/17/200/55&amp;quot;]Pixelthreads[/a] ([em]aka DKs[/em])[br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Imogen/166/163/22&amp;quot;]Philotic Energy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Temenos/154/108/107&amp;quot;]Playful Kitten[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Kon%20Tiki%20Eastern/98/242/22%22&amp;quot;]Polised Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/shengri%20la/236/46/28&amp;quot;]Prim &amp;amp;amp; Proper[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Delphi/182/107/26/&amp;quot;]Prim Roots[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Primitive%20Island/122/131/23&amp;quot;]Primative Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Endicott/155/17/132&amp;quot;]Pudge[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pulse/130/163/30&amp;quot;]Pulse[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Venufalat/157/40/47&amp;quot;]Pura Vida[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/sendai/175/176/34&amp;quot;]Quated-KANBAN[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Optimal/39/206/24&amp;quot;]Rabbit&amp;amp;#8217;s Nest[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Hallgerda/143/78/598&amp;quot;]Random[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ravens%20Requiem/12/23/78&amp;quot;]Ravenwear[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Poco%20JAPAN/172/140/26&amp;quot;]Raver Joker[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Beach/159/12/22&amp;quot;]Red Eye Shop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ocean%20Sandals/157/128/22&amp;quot;]Red Queen[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Fanghammer/54/120/22&amp;quot;]Redlic[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sinistyle/114/194/26&amp;quot;]Refuge[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sirtony/35/33/68&amp;quot;]Risa&amp;amp;#8217;s[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Illusion/91/100/42&amp;quot;]Rising Phoenix Designs[/a] ([em]aka Wig Out w/ Bryce Designs[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Isle%20RFyre/97/119/23&amp;quot;]RFyre[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Japan%20Resort%20C1/147/209/281&amp;quot;]R&amp;amp;#8217;s Hair Style[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Ikebukuro/183/238/22&amp;quot;]Road Men&amp;amp;#8217;s Shop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Phoenix%20Unlimited/206/107/22&amp;quot;]Rock Candy[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Alleni/138/233/39&amp;quot;]Rosy Mood[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Japan%20Resort%20C1/145/159/53&amp;quot;]Sacrifice[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sanctum/63/152/29&amp;quot;]Sanctum[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lions%20Shore/49/176/24&amp;quot;]Sand Shack Surf Co.[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Scribble/221/27/22&amp;quot;]Sanu[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Brannon/186/21/24/%22&amp;quot;]Sassy Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lloyd/41/24/43&amp;quot;]Schadenfreude[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sensual%20Productions/11/57/32&amp;quot;]Sensual Productions[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Eel%20Bay/12/133/21&amp;quot;]Seseragi Design[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Busiris/39/22/22/&amp;quot;]S.E.M.s Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Juicy%20Del%20Mar/218/220/24&amp;quot;]Simply Britnee[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/SiniStyle/45/16/39&amp;quot;]SiniStyle[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Aurialis/85/156/86&amp;quot;]Sinsation[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/boonootoo/96/27/56/&amp;quot;]Skin Flicks[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/L&#039;Utopie/40/68/39&amp;quot;]Sky Everett Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Heaton/90/172/296&amp;quot;]SkyShop Hair Resort[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Sinsaibasi/134/230/38&amp;quot;]Shop 141[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Meet/12/42/3337&amp;quot;]Shop Seu[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/West%20Sunset/169/5/21&amp;quot;]Sirena[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/CG%20Heart/41/43/22&amp;quot;]SLink[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Nishi%20AZABU/22/108/23&amp;quot;]Smoka Shop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/JAPAN%2010/180/34/27&amp;quot;]Sola Design[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Quargar/212/181/757&amp;quot;]Soreal[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Heathrow/237/150/22&amp;quot;]SoulFire[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Quat/29/18/106&amp;quot;]Spirit[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bricolage/119/49/22&amp;quot;]Sprawl[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Maske/26/86/124&amp;quot;]Steamtress[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Stellar%20Isle/50/128/24&amp;quot;]Steller Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Isla%20Mirada/97/223/25&amp;quot;]Street Magic[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lyashko/175/160/401&amp;quot;]Stringer[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/blumfield/207/79/27/&amp;quot;]SugarCube Ketty[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Lost%20Islands%20CTR/87/162/21/&amp;quot;]Synthetic Memory[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Mens%20Depot/49/32/303&amp;quot;]T &amp;amp;amp; E Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Talisman/202/61/22&amp;quot;]Talisman[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Rakshasa/247/241/44&amp;quot;]Tampopo[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Granymyr/240/189/42&amp;quot;]Tea Lane[/a] ([em]aka LaynieWear &amp;amp;amp; SYD: Style Your Destiny[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Asunder/112/136/39&amp;quot;]Tekeli-li[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Shinjuku/90/153/22&amp;quot;]TekuTeku[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/The%20Abyss/96/65/237&amp;quot;]TheAbyss[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Good%20Life/113/86/27&amp;quot;]The Good Life[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Artisan/38/94/24&amp;quot;]The U-Neek[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Chatouille/156/130/24&amp;quot;]Tickled Pink[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/MoonDoggies/153/86/30&amp;quot;]Timberry Boutique[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Festivale/157/176/27&amp;quot;]Tiny Bird[/a] ([em]aka Pixel Dust[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Topaz%20Square/85/102/22&amp;quot;]Topaz Square[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Aido%20Wedo/160/108/311&amp;quot;]Toharu&amp;amp;#8217;s Shop[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Chartreuse/153/63/32&amp;quot;]TorridWear[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Higginston/125/202/977&amp;quot;]Total Knock Out Hair[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bricolage/125/195/24&amp;quot;]Tousled[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Cannery%20Rezzable/70/142/28&amp;quot;]Toxic Boutique[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Truth%20Island/158/134/29&amp;quot;]Truth[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/sunset%20resort3/127/128/22&amp;quot;]TukinoWaguma[/a] ([em]aka Akina &amp;amp;amp; TwHairstyle[/em])[br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Fields%20of%20Cardonicus/158/182/519&amp;quot;]Turian Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/tricolore/205/128/39&amp;quot;]Tricolore[/a][/p]&lt;br /&gt;
[p][strong]U &amp;amp;#8211; Z[/strong][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bare%20Rose/240/166/32&amp;quot;]UFonly HQ[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Yamashita/249/226/22&amp;quot;]UncleWeb[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Maske/101/65/125&amp;quot;]Uncle Wiggley[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Al%20Tang/75/146/75&amp;quot;]Virtual Creations[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Vixen%20Island/142/146/23&amp;quot;]Vixen[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/NagoyaCentral%20Nippon/55/178/22&amp;quot;]Voer[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Pandorus/176/64/23&amp;quot;]Vy Nakamichi Design[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/TSUKIJI/155/206/22&amp;quot;]Waka &amp;amp;amp; Yuki[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Thibedeau/44/95/22&amp;quot;]Wasabi Pills[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Montlaur/244/41/52&amp;quot;]White Well[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Bloom%20County/63/63/24&amp;quot;]Wilted Rose Boutique[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Koreshan/72/71/25&amp;quot;]Winter Moon[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/AlterNation/177/132/39&amp;quot;]Wrong[/a][br /]&lt;br /&gt;
&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/ZoHa%20Islands%20E/193/100/33&amp;quot;]Wunderlich[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Feoktistov/144/223/22&amp;quot;]Yokihi Beauties[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Themis%20Island/43/150/24&amp;quot;]Yuzukamiya[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Zero%20Style/122/134/38&amp;quot;]Zero Style[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Archipelago%20Wild/83/97/25&amp;quot;]Zullay Designs[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Horst/37/21/24&amp;quot;]ZsaZsa&amp;amp;#8217;s House of Beauty[/a][br /]&lt;br /&gt;
[a href=&amp;quot;http://slurl.com/secondlife/Panoochie/97/161/30&amp;quot;]Zyrraphotic[/a][/p]&lt;br /&gt;
&lt;br /&gt;
=== Test scripts ===&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== Discussion for future improvements ===&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== Relationship to other features ===&lt;br /&gt;
&amp;lt;b&amp;gt; List of features that need to be tested when this feature changes, and why. &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== User Guides ===&lt;br /&gt;
* [[How to create a hair texture in Adobe Photoshop]]&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Hair&amp;diff=933032</id>
		<title>Hair</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Hair&amp;diff=933032"/>
		<updated>2010-05-30T16:39:29Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /*Hair */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiFeatureNav}}&lt;br /&gt;
=== Feature Design Document ===&lt;br /&gt;
Hair is a [[Body Part OS|Body Part]]. It cannot be taken off, but can be replaced by a different hair body part. Many people choose to wear [[Attachment]] hair that covers or enhances the normal hair.&lt;br /&gt;
&lt;br /&gt;
=== Attachement Hair Makers ===&lt;br /&gt;
Not a comprehensive list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Roosa/245/32/36&amp;quot;&amp;gt;1-800-BETTIE&amp;amp;#8217;S&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/MIYABI/47/168/511&amp;quot;&amp;gt;::69&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bolinas/135/185/48&amp;quot;&amp;gt;Acedia&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ducknipple/180/162/26&amp;quot;&amp;gt;Acid &amp;amp;amp; Mala Creations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Action%20Surf%20Sk8te/116/139/22&amp;quot;&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Genesis/119/163/38&amp;quot;&amp;gt;Adam n Eve&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Golden%20Eye/186/75/32&amp;quot;&amp;gt;Addict&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/DollyRock/152/72/29&amp;quot;&amp;gt;Aden&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Heffero/193/78/27&amp;quot;&amp;gt;Adimu&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Monterey%20dalliez/15/128/22&amp;quot;&amp;gt;Akira Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/japan%20village/85/109/36&amp;quot;&amp;gt;Ai Ni&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Aitui/170/151/23&amp;quot;&amp;gt;Aitui&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Plush%20Omicron/153/89/22&amp;quot;&amp;gt;AlexanderHunter&amp;amp;#8217;s Couture&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Jupiter/155/213/28&amp;quot;&amp;gt;Alice Project&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Fornever, SHh Shop&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Shadowed%20Mist/163/53/502&amp;quot;&amp;gt;All That Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/ImagineNation/172/214/22&amp;quot;&amp;gt;Allure by Sparkle Skye&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Amacci/216/100/22&amp;quot;&amp;gt;Amacci&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/kasandra/194/58/29&amp;quot;&amp;gt;Amarita&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/AMOREPACIFIC/97/147/67&amp;quot;&amp;gt;AmorePacific&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Triggerfish/17/29/21&amp;quot;&amp;gt;Analog Dog&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Harajukubox/60/185/22&amp;quot;&amp;gt;Animus&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/ANNEROSE/128/4/40&amp;quot;&amp;gt;Annerose&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/AOHARU/112/125/23&amp;quot;&amp;gt;Aoharu&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/zushi/186/87/24&amp;quot;&amp;gt;Argrace&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Antiquity%20Township/212/106/32&amp;quot;&amp;gt;Arundel Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/armidi/175/126/25&amp;quot;&amp;gt;Armidi&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/artilleri/90/123/26&amp;quot;&amp;gt;Artilleri&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Seed/144/88/22&amp;quot;&amp;gt;Atelier Caraway&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Atomic%20Island/157/156/36&amp;quot;&amp;gt;Atomic&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Atomic/25/192/492&amp;quot;&amp;gt;Atomic Kitty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Serendipity%20Drive/168/73/24&amp;quot;&amp;gt;Audacity&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce/91/203/24&amp;quot;&amp;gt;Aveda&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Laymon/134/103/27&amp;quot;&amp;gt;AVZ&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ginza/183/33/31&amp;quot;&amp;gt;Ay Line&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Palms%20district/193/228/23&amp;quot;&amp;gt;B Spot&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bare%20Rose/202/33/30&amp;quot;&amp;gt;Barerose&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Skin%20City/97/106/586&amp;quot;&amp;gt;Baskin Bobbins&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Atria/16/196/27&amp;quot;&amp;gt;Battle Angel&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Jiminy/215/182/441&amp;quot;&amp;gt;Bax Coen Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Beauty%20Avatar%20couture/192/125/24&amp;quot;&amp;gt;Beauty Avatar&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Welsh%20Falls/121/152/78&amp;quot;&amp;gt;BeeBee&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Collar Me Sexy&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lemon%20Island/129/171/28&amp;quot;&amp;gt;Bewitched&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Vice%20Pointe/81/82/25&amp;quot;&amp;gt;Biedermann&amp;amp;#8217;s Quality Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Takaraduka/205/176/34&amp;quot;&amp;gt;Bijou&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Prunariu/173/132/41&amp;quot;&amp;gt;BishWear&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Virago/147/107/26&amp;quot;&amp;gt;Bitter Thorns&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/0031%20Marktplaats/226/247/22&amp;quot;&amp;gt;Bizzare Hair &amp;amp;amp; Deminations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Discovery/209/36/28&amp;quot;&amp;gt;Black Maria&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Miniard/90/217/45/&amp;quot;&amp;gt;Blooberry&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Zanzo/31/38/23&amp;quot;&amp;gt;Blood Royal&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lakeside%20Shoppes/182/200/23&amp;quot;&amp;gt;BloodSoul Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Zapico/12/168/36&amp;quot;&amp;gt;Boon&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/BooPerFunK/234/23/24&amp;quot;&amp;gt;BooPerFunk&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Osaka/153/162/23&amp;quot;&amp;gt;BP&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Isla%20de%20Espiritus/132/70/27&amp;quot;&amp;gt;BrainBow&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka ColorYourSoul&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tully/147/148/26&amp;quot;&amp;gt;Bryce&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Wig Out w/ Rising Phoenix Designs&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/FNKY%20Cake/113/51/23&amp;quot;&amp;gt;Cake&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Calico%20Kitty/129/120/38&amp;quot;&amp;gt;Calico Creations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Calla%20Lily/128/110/36&amp;quot;&amp;gt;Calla&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Calleta/85/74/35&amp;quot;&amp;gt;Calleta&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pirates%20Treasure/32/77/22&amp;quot;&amp;gt;Caly&amp;amp;#8217;s Creations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/SuginamiKu/28/201/21&amp;quot;&amp;gt;CanalGrande&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Honmoku%20Hills/232/220/23&amp;quot;&amp;gt;Candy House&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Wonder%20Isle/225/40/301&amp;quot;&amp;gt;Carlucci Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Celestial%20City/66/240/27&amp;quot;&amp;gt;Celestial Studios&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hairspray%202/33/177/52&amp;quot;&amp;gt;ChiChickie&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/CUERVONO/107/7/79&amp;quot;&amp;gt;ChiyoDori&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/sede%20di%20marte/228/180/37&amp;quot;&amp;gt;CJ Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tableau/100/128/134&amp;quot;&amp;gt;Clawtooth by Clawtooth&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Kuai%20aku/218/41/22&amp;quot;&amp;gt;CMC&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Fahzilla/209/99/62&amp;quot;&amp;gt;CocoLuv Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Silent/156/132/41&amp;quot;&amp;gt;Coif&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/herons%20point/142/243/24&amp;quot;&amp;gt;Color Me Couture&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Shubelik/17/151/703&amp;quot;&amp;gt;Comme Il Faut&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Bossa Nova&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Details/154/108/42&amp;quot;&amp;gt;Costumes Barque Roccoco&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Koenji/186/117/43&amp;quot;&amp;gt;Cream Shop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Froth/82/14/23/&amp;quot;&amp;gt;Crimson + Clover&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Lucky Hair&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Glen%20Lyon%20dAlliez/149/86/54&amp;quot;&amp;gt;ChronoForge 4D&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Nanba/143/212/39&amp;quot;&amp;gt;Crab Heaven&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce%201/237/212/23&amp;quot;&amp;gt;Cross&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Mount%20Celestia/64/13/22&amp;quot;&amp;gt;Crush Factory&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Madame du Pomadour&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Emmelia/154/242/57&amp;quot;&amp;gt;Curio&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Rendervisions%20Isle/170/157/77&amp;quot;&amp;gt;Curio Obscura&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Curious%20Kitties/224/62/31&amp;quot;&amp;gt;Curious Kitties&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Inari/34/223/400&amp;quot;&amp;gt;Curl Up and Dye&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/sendai/176/185/31&amp;quot;&amp;gt;Custudio Shiga&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/dragonfly%20oasis/95/15/26/&amp;quot;&amp;gt;Damselfly Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dark%20Eden/128/54/28&amp;quot;&amp;gt;Dark Eden&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Taber/69/155/22&amp;quot;&amp;gt;Dark Mouse&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lions%20Shore/195/44/22&amp;quot;&amp;gt;Dark Star Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Aelburt/185/115/364&amp;quot;&amp;gt;Dead Kitties&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Daffodil%20Island/35/239/22&amp;quot;&amp;gt;Decoy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/bel%20Drift/143/232/501&amp;quot;&amp;gt;Defectiva&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dreams%20Edge/32/74/622&amp;quot;&amp;gt;Defiant Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/KABUKI/181/101/28&amp;quot;&amp;gt;DejaVu&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dernier%20Cri/146/110/28&amp;quot;&amp;gt;Derneir Cri&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/DUBAI%20ISLAND/116/96/22&amp;quot;&amp;gt;Designs by Katey&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;secondlife://deviant%20kitties/91/146/28&amp;quot;&amp;gt;Deviant Kitties&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Innovations/95/128/32&amp;quot;&amp;gt;DG Innovations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Addictive/12/118/22&amp;quot;&amp;gt;Digit Darkes&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Kusanagi/227/214/573&amp;quot;&amp;gt;Digital Eyes&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Digital%20Dragon/56/202/23&amp;quot;&amp;gt;Digital Dragon Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bytegang/106/211/36&amp;quot;&amp;gt;Dirty Lynx&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Synchronicity/192/168/27&amp;quot;&amp;gt;Discord Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/RekidStyle/78/172/35&amp;quot;&amp;gt;Discord Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Addictive/96/170/22&amp;quot;&amp;gt;Diversity&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Isle%20of%20Tranquility/117/147/26&amp;quot;&amp;gt;DP YumYum&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Koreshan/193/120/25&amp;quot;&amp;gt;Draconic Kiss&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bewitched/218/33/22&amp;quot;&amp;gt;Dreads N Threads&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Honmoku/121/167/25&amp;quot;&amp;gt;Dreaming Alice&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Enego/251/120/106/&amp;quot;&amp;gt;DS Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Oddjob/185/181/49&amp;quot;&amp;gt;Dump Factory&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Willow%20Beach/31/216/33&amp;quot;&amp;gt;Dutch Touch&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lasombra/67/158/51&amp;quot;&amp;gt;DV8&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Biopunk/182/191/36&amp;quot;&amp;gt;Eat Rice&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Aventi%20Island%20NE/160/137/22&amp;quot;&amp;gt;Eco&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/tenjin%20fukuoka%20japan/25/36/500&amp;quot;&amp;gt;Electro Kitty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/ETD%20Isle/126/212/32&amp;quot;&amp;gt;Elika Tiramisu Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Elite%20Island/88/65/22&amp;quot;&amp;gt;Elite Dreams&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Zerelia/110/17/22&amp;quot;&amp;gt;Elsie&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Blake/105/159/21&amp;quot;&amp;gt;EmeraldEver Cline&amp;amp;#8217;s Mertopia&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Oddjob/229/153/49&amp;quot;&amp;gt;EMO&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Eros%20Cove/48/70/701&amp;quot;&amp;gt;Eros Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dream%20Islands%20NW/28/176/23&amp;quot;&amp;gt;Erotique Boutique&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Windy%20Gyle/115/23/56&amp;quot;&amp;gt;Evergreen&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/eXceSs/63/128/29&amp;quot;&amp;gt;ExCess&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Covet/177/67/31&amp;quot;&amp;gt;Exile&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/EXXESS/186/162/26&amp;quot;&amp;gt;Exxess&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;F &amp;amp;#8211; J&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dream%20Jumbo%20Island/161/25/27&amp;quot;&amp;gt;f.wi &amp;amp;amp; Tohryo&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Seri&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hillcrest%20Estates/245/232/29&amp;quot;&amp;gt;Fairlane Fashions&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Falln%20Sanitarium/150/130/52&amp;quot;&amp;gt;FallnAngel&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bashamichi/83/97/22&amp;quot;&amp;gt;Fascino&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tableau/189/64/23&amp;quot;&amp;gt;Fashionably Dead&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/MoonCat%20Ringo/222/99/26&amp;quot;&amp;gt; FeelsShy Skin&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/The%20Avenues/228/111/26&amp;quot;&amp;gt;Fetish Boutique&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Fiertze/112/192/55&amp;quot;&amp;gt;Fiertze &amp;amp;amp; Co&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/MoonCat%20Ringo/200/124/26&amp;quot;&amp;gt;Find Ash&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/niQue%20soil/15/75/25&amp;quot;&amp;gt;Five Minutes After&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce%205/162/21/23&amp;quot;&amp;gt;Fizzy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/SHIKOKU/158/204/21&amp;quot;&amp;gt;Flower &amp;amp;amp; Willow&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Iladil/207/90/351&amp;quot;&amp;gt;Frangipani Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Fragment/44/53/30&amp;quot;&amp;gt;Fuel&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lilac%20Island/219/22/26&amp;quot;&amp;gt;G&amp;amp;amp;S Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Snatch%20City/235/214/40&amp;quot;&amp;gt;Gauze&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Amatsu%20Mitsukai/70/174/29&amp;quot;&amp;gt;GeishaGlam Studio&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Imogen/124/195/24&amp;quot;&amp;gt;George Street&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/CUERVONO/122/12/79&amp;quot;&amp;gt;Gisele&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tokyo%20Seaside/49/207/22&amp;quot;&amp;gt;Glitter Hair Store&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Nantli%20Xolal/97/142/23&amp;quot;&amp;gt;Goldie Locks&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Commerce/94/145/710/&amp;quot;&amp;gt;Gracile&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sleepy%20Hollow/104/109/401&amp;quot;&amp;gt;Grim Babies&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Mystical%20Island/100/210/24/&amp;quot;&amp;gt;GrueLing Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Koreshan/52/91/24&amp;quot;&amp;gt;Gritty Kitty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sarhina/227/146/25&amp;quot;&amp;gt;Groovygirl Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pi/170/160/25&amp;quot;&amp;gt;GryphonWings Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/GuRLyWood/110/63/33/&amp;quot;&amp;gt;GuRL 6&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Case%20Colle/199/197/33&amp;quot;&amp;gt;Gwendolyn Cassini Creations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Harajuku/106/78/0&amp;quot;&amp;gt;H2L Hayate&amp;amp;#8217;s Hair Lab&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hillcrest%20Estates/34/147/25&amp;quot;&amp;gt;Hair by Cher&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Taunt/184/79/31&amp;quot;&amp;gt;Hair by Taunt&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hairspray/38/158/0&amp;quot;&amp;gt;Hairapy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Eel%20Bay/84/186/24&amp;quot;&amp;gt;Hair Influence&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/freetown/208/116/29&amp;quot;&amp;gt;Hair Make Aqua&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ginza/230/48/31&amp;quot;&amp;gt;Hair Salon Betty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Elite%20Island/89/65/21&amp;quot;&amp;gt;Hair Solutions&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dixie/87/90/23&amp;quot;&amp;gt;Hair Styles by Tami McCoy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Nagasaki%20BAKUMATSU/150/122/22&amp;quot;&amp;gt;Hakuowdow&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/RekidStyle/101/187/38&amp;quot;&amp;gt;Hal*Hina&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/JapalandTokyo/31/98/24&amp;quot;&amp;gt;Hanauta&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/HappyDispatch/141/31/36&amp;quot;&amp;gt;Happy Dispatch&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Osaka/202/123/22&amp;quot;&amp;gt;Happy Mood&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lions%20Shore/20/108/21&amp;quot;&amp;gt;Hiccup&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Troubled%20City/193/125/32&amp;quot;&amp;gt;Here Comes Trouble&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/KABUKI/113/224/27/&amp;quot;&amp;gt;Heaven4D&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tropical%20Escape/128/71/24&amp;quot;&amp;gt;House of Heart&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hinode%20Shima/195/98/25/&amp;quot;&amp;gt;House of Zen&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Fukuoka%20Tenjin/164/222/5&amp;quot;&amp;gt;Honey Kitty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Caledon%20II/23/46/25&amp;quot;&amp;gt;Historical Heroines&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sister%20of%20Eden/54/76/25&amp;quot;&amp;gt;I Love Olive&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://savoirhair.blogspot.com/search/label/i-candy&amp;quot;&amp;gt;I-Candy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pulse/190/126/2&amp;quot;&amp;gt;Illuminati&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Cybertopia%20North/239/30/24&amp;quot;&amp;gt;Imagen&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Indulgence/130/136/251&amp;quot;&amp;gt;Indulgence&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Naughty/79/70/23&amp;quot;&amp;gt;Infulence by Naughty Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Born/98/43/32&amp;quot;&amp;gt;Ingenue&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lloyd/181/209/22&amp;quot;&amp;gt;Inorite&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ryder%20Jungle/215/12/2502&amp;quot;&amp;gt;Irollic&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/MoonCat%20Izumo/149/13/28&amp;quot;&amp;gt;Izumiya&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sannomiya/235/136/40&amp;quot;&amp;gt;Jada Style&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Korea%20Mirinae/180/127/22&amp;quot;&amp;gt;Je Republic&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bangu/125/38/21&amp;quot;&amp;gt;JetDoll&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Neuntoter/81/136/28&amp;quot;&amp;gt;JF Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Far%20Sight/75/168/53&amp;quot;&amp;gt;JK&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Neuntoter/80/137/28&amp;quot;&amp;gt;Jolie Femme&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Nanba/195/64/27&amp;quot;&amp;gt;Junwave&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;K &amp;amp;#8211; O&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Kyoto%20BAKUMATSU/106/124/22&amp;quot;&amp;gt;K@E&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Danpoon/181/24/22&amp;quot;&amp;gt;Kaiti&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Axis%20Mundi/117/116/23&amp;quot;&amp;gt;KatatOnik&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/japan%20village/89/72/36&amp;quot;&amp;gt;Key&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Eventide%20Far%20East/165/209/45&amp;quot;&amp;gt;Kin&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Jeolla/224/88/68&amp;quot;&amp;gt;Kiss&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Final%20Destiny/148/82/24&amp;quot;&amp;gt;Kitten&amp;amp;#8217;s Ladies Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Seonggye/124/68/102&amp;quot;&amp;gt;Kitty&amp;amp;#8217;s Kreations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Caledon%20Eyre/33/107/23&amp;quot;&amp;gt;Kleinschwein Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/uemachi/14/138/30&amp;quot;&amp;gt;KMYY&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Mew/146/148/751&amp;quot;&amp;gt;K.O. Industries&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Born%20North/240/67/6024&amp;quot;&amp;gt;Kurotsubaki&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Silent/131/220/22&amp;quot;&amp;gt;Kyoot&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/SkyBeam/56/109/38&amp;quot;&amp;gt;Lag Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/LALA%20Moon/128/128/26&amp;quot;&amp;gt;LALA Moon&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Rue%20DAntibes/76/101/28&amp;quot;&amp;gt;Lamb&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Wonder%20Isle/146/171/24&amp;quot;&amp;gt;Lamora&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Wonder Hair&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Faarsign/49/134/116&amp;quot;&amp;gt;Lantern Evolution&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Laqroki/77/121/65&amp;quot;&amp;gt;Laqroki&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka RaC&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Oslar/34/25/94&amp;quot;&amp;gt;Lavish Style&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/farstone/61/98/394&amp;quot;&amp;gt;LC Lefebvre&amp;amp;#8217;s Creations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Woolsan/82/163/98&amp;quot;&amp;gt;Le Grants&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/LeLutka/224/180/23&amp;quot;&amp;gt;LeLutka&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka MMS Hair&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lovething/171/106/22&amp;quot;&amp;gt;Lemon Pop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Honmoku/147/50/33&amp;quot;&amp;gt;LFS&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Artists%20Island/10/203/84&amp;quot;&amp;gt;Light&amp;amp;#8217;s Trash&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Kourinbou/49/179/22&amp;quot;&amp;gt;Lily Lovers&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/BlueBird/170/231/24&amp;quot;&amp;gt;Liriope&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/little%20heaven/128/128/0&amp;quot;&amp;gt;Little Heaven&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sialimonus/90/73/75&amp;quot;&amp;gt;Lotsa Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lutra/123/103/60&amp;quot;&amp;gt;L.S.D Lutra&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/JAPAN%2008/192/64/0&amp;quot;&amp;gt;Lycee Feelings Shop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Magika%20Land/61/156/27&amp;quot;&amp;gt;Magika&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Maitreya%20Isle/206/137/26&amp;quot;&amp;gt;Maitreya&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lloyd/144/19/24&amp;quot;&amp;gt;Marlys&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Dibacco/242/163/108&amp;quot;&amp;gt;Mau&amp;amp;#8217;s &amp;amp;amp; Mej&amp;amp;#8217;s&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Honmoku%20Hills/136/199/23&amp;quot;&amp;gt;MayaMaya&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Scout/104/235/252&amp;quot;&amp;gt;Miau Haus&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Cupcake/252/214/38&amp;quot;&amp;gt;Miel&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/TOYOTA/248/31/28&amp;quot;&amp;gt;Mikan&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Wasp/219/75/90&amp;quot;&amp;gt;Mina&amp;amp;#8217;s Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Peronaut/91/135/45&amp;quot;&amp;gt;Mingo&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hairspray/21/70/52&amp;quot;&amp;gt;Mirada&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Takaraduka/150/216/33&amp;quot;&amp;gt;Mirai Style&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Miriel/135/64/33&amp;quot;&amp;gt;Miriel&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Miss%20B/140/182/31&amp;quot;&amp;gt;Miss B&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Stingray/102/188/54&amp;quot;&amp;gt;Mojo&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Au Naturel&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Silver%20Lake/85/184/26&amp;quot;&amp;gt;Moonshine&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Muism/130/112/26&amp;quot;&amp;gt;Muism&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Witch%20Hazel/150/187/98&amp;quot;&amp;gt;Mya&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Mystikal/112/117/27&amp;quot;&amp;gt;Mystikal Hair Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ocean%20Park/162/224/22&amp;quot;&amp;gt;NebuchadNezzar&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/New%20Paris/138/204/24&amp;quot;&amp;gt;Never30&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/CUERVONO/92/26/79&amp;quot;&amp;gt;Nico Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/NineInchNerds/171/249/23&amp;quot;&amp;gt;Nifty Fifty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pimushe/99/42/62&amp;quot;&amp;gt;Nocturnal Threads&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Novocaine/84/51/25&amp;quot;&amp;gt;Novocaine&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Archipelago%20Wild/125/127/27&amp;quot;&amp;gt;Nuclear Boutique&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tableau/151/38/22&amp;quot;&amp;gt;Nylon Outfitters&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Retrology/65/127/40&amp;quot;&amp;gt;Old Gravy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Templegreen/80/13/51&amp;quot;&amp;gt;Onigiri!&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Inspired&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Asagao/69/27/31&amp;quot;&amp;gt;Orchid Dreams&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;P &amp;amp;#8211; T&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Panache/125/104/389&amp;quot;&amp;gt;Panache&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Tableau/54/68/29&amp;quot;&amp;gt;Paper Couture&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pazazz/225/45/33&amp;quot;&amp;gt;Pazazz&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Rockin%20Diva/67/141/33&amp;quot;&amp;gt;Pirate Arts&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Mimolette/190/222/32&amp;quot;&amp;gt;Pixelated Dreams&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Port%20Seraphine/29/85/57&amp;quot;&amp;gt;Pixel Dolls&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Milyang/17/200/55&amp;quot;&amp;gt;Pixelthreads&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka DKs&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Imogen/166/163/22&amp;quot;&amp;gt;Philotic Energy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Temenos/154/108/107&amp;quot;&amp;gt;Playful Kitten&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Kon%20Tiki%20Eastern/98/242/22%22&amp;quot;&amp;gt;Polised Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/shengri%20la/236/46/28&amp;quot;&amp;gt;Prim &amp;amp;amp; Proper&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Delphi/182/107/26/&amp;quot;&amp;gt;Prim Roots&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Primitive%20Island/122/131/23&amp;quot;&amp;gt;Primative Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Endicott/155/17/132&amp;quot;&amp;gt;Pudge&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pulse/130/163/30&amp;quot;&amp;gt;Pulse&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Venufalat/157/40/47&amp;quot;&amp;gt;Pura Vida&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/sendai/175/176/34&amp;quot;&amp;gt;Quated-KANBAN&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Optimal/39/206/24&amp;quot;&amp;gt;Rabbit&amp;amp;#8217;s Nest&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Hallgerda/143/78/598&amp;quot;&amp;gt;Random&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ravens%20Requiem/12/23/78&amp;quot;&amp;gt;Ravenwear&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Poco%20JAPAN/172/140/26&amp;quot;&amp;gt;Raver Joker&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sunset%20Beach/159/12/22&amp;quot;&amp;gt;Red Eye Shop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ocean%20Sandals/157/128/22&amp;quot;&amp;gt;Red Queen&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Fanghammer/54/120/22&amp;quot;&amp;gt;Redlic&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sinistyle/114/194/26&amp;quot;&amp;gt;Refuge&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sirtony/35/33/68&amp;quot;&amp;gt;Risa&amp;amp;#8217;s&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Illusion/91/100/42&amp;quot;&amp;gt;Rising Phoenix Designs&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Wig Out w/ Bryce Designs&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Isle%20RFyre/97/119/23&amp;quot;&amp;gt;RFyre&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Japan%20Resort%20C1/147/209/281&amp;quot;&amp;gt;R&amp;amp;#8217;s Hair Style&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Ikebukuro/183/238/22&amp;quot;&amp;gt;Road Men&amp;amp;#8217;s Shop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Phoenix%20Unlimited/206/107/22&amp;quot;&amp;gt;Rock Candy&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Alleni/138/233/39&amp;quot;&amp;gt;Rosy Mood&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Japan%20Resort%20C1/145/159/53&amp;quot;&amp;gt;Sacrifice&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sanctum/63/152/29&amp;quot;&amp;gt;Sanctum&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lions%20Shore/49/176/24&amp;quot;&amp;gt;Sand Shack Surf Co.&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Scribble/221/27/22&amp;quot;&amp;gt;Sanu&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Brannon/186/21/24/%22&amp;quot;&amp;gt;Sassy Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lloyd/41/24/43&amp;quot;&amp;gt;Schadenfreude&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sensual%20Productions/11/57/32&amp;quot;&amp;gt;Sensual Productions&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Eel%20Bay/12/133/21&amp;quot;&amp;gt;Seseragi Design&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Busiris/39/22/22/&amp;quot;&amp;gt;S.E.M.s Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Juicy%20Del%20Mar/218/220/24&amp;quot;&amp;gt;Simply Britnee&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/SiniStyle/45/16/39&amp;quot;&amp;gt;SiniStyle&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Aurialis/85/156/86&amp;quot;&amp;gt;Sinsation&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/boonootoo/96/27/56/&amp;quot;&amp;gt;Skin Flicks&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/L&#039;Utopie/40/68/39&amp;quot;&amp;gt;Sky Everett Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Heaton/90/172/296&amp;quot;&amp;gt;SkyShop Hair Resort&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Sinsaibasi/134/230/38&amp;quot;&amp;gt;Shop 141&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Meet/12/42/3337&amp;quot;&amp;gt;Shop Seu&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/West%20Sunset/169/5/21&amp;quot;&amp;gt;Sirena&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/CG%20Heart/41/43/22&amp;quot;&amp;gt;SLink&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Nishi%20AZABU/22/108/23&amp;quot;&amp;gt;Smoka Shop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/JAPAN%2010/180/34/27&amp;quot;&amp;gt;Sola Design&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Quargar/212/181/757&amp;quot;&amp;gt;Soreal&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Heathrow/237/150/22&amp;quot;&amp;gt;SoulFire&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Quat/29/18/106&amp;quot;&amp;gt;Spirit&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bricolage/119/49/22&amp;quot;&amp;gt;Sprawl&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Maske/26/86/124&amp;quot;&amp;gt;Steamtress&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Stellar%20Isle/50/128/24&amp;quot;&amp;gt;Steller Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Isla%20Mirada/97/223/25&amp;quot;&amp;gt;Street Magic&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lyashko/175/160/401&amp;quot;&amp;gt;Stringer&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/blumfield/207/79/27/&amp;quot;&amp;gt;SugarCube Ketty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Lost%20Islands%20CTR/87/162/21/&amp;quot;&amp;gt;Synthetic Memory&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Mens%20Depot/49/32/303&amp;quot;&amp;gt;T &amp;amp;amp; E Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Talisman/202/61/22&amp;quot;&amp;gt;Talisman&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Rakshasa/247/241/44&amp;quot;&amp;gt;Tampopo&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Granymyr/240/189/42&amp;quot;&amp;gt;Tea Lane&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka LaynieWear &amp;amp;amp; SYD: Style Your Destiny&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Asunder/112/136/39&amp;quot;&amp;gt;Tekeli-li&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Shinjuku/90/153/22&amp;quot;&amp;gt;TekuTeku&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/The%20Abyss/96/65/237&amp;quot;&amp;gt;TheAbyss&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Good%20Life/113/86/27&amp;quot;&amp;gt;The Good Life&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Artisan/38/94/24&amp;quot;&amp;gt;The U-Neek&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Chatouille/156/130/24&amp;quot;&amp;gt;Tickled Pink&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/MoonDoggies/153/86/30&amp;quot;&amp;gt;Timberry Boutique&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Festivale/157/176/27&amp;quot;&amp;gt;Tiny Bird&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Pixel Dust&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Topaz%20Square/85/102/22&amp;quot;&amp;gt;Topaz Square&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Aido%20Wedo/160/108/311&amp;quot;&amp;gt;Toharu&amp;amp;#8217;s Shop&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Chartreuse/153/63/32&amp;quot;&amp;gt;TorridWear&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Higginston/125/202/977&amp;quot;&amp;gt;Total Knock Out Hair&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bricolage/125/195/24&amp;quot;&amp;gt;Tousled&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Cannery%20Rezzable/70/142/28&amp;quot;&amp;gt;Toxic Boutique&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Truth%20Island/158/134/29&amp;quot;&amp;gt;Truth&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/sunset%20resort3/127/128/22&amp;quot;&amp;gt;TukinoWaguma&amp;lt;/a&amp;gt; (&amp;lt;em&amp;gt;aka Akina &amp;amp;amp; TwHairstyle&amp;lt;/em&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Fields%20of%20Cardonicus/158/182/519&amp;quot;&amp;gt;Turian Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/tricolore/205/128/39&amp;quot;&amp;gt;Tricolore&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;U &amp;amp;#8211; Z&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bare%20Rose/240/166/32&amp;quot;&amp;gt;UFonly HQ&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Yamashita/249/226/22&amp;quot;&amp;gt;UncleWeb&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Maske/101/65/125&amp;quot;&amp;gt;Uncle Wiggley&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Al%20Tang/75/146/75&amp;quot;&amp;gt;Virtual Creations&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Vixen%20Island/142/146/23&amp;quot;&amp;gt;Vixen&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/NagoyaCentral%20Nippon/55/178/22&amp;quot;&amp;gt;Voer&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Pandorus/176/64/23&amp;quot;&amp;gt;Vy Nakamichi Design&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/TSUKIJI/155/206/22&amp;quot;&amp;gt;Waka &amp;amp;amp; Yuki&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Thibedeau/44/95/22&amp;quot;&amp;gt;Wasabi Pills&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Montlaur/244/41/52&amp;quot;&amp;gt;White Well&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Bloom%20County/63/63/24&amp;quot;&amp;gt;Wilted Rose Boutique&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Koreshan/72/71/25&amp;quot;&amp;gt;Winter Moon&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/AlterNation/177/132/39&amp;quot;&amp;gt;Wrong&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/ZoHa%20Islands%20E/193/100/33&amp;quot;&amp;gt;Wunderlich&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Feoktistov/144/223/22&amp;quot;&amp;gt;Yokihi Beauties&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Themis%20Island/43/150/24&amp;quot;&amp;gt;Yuzukamiya&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Zero%20Style/122/134/38&amp;quot;&amp;gt;Zero Style&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Archipelago%20Wild/83/97/25&amp;quot;&amp;gt;Zullay Designs&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Horst/37/21/24&amp;quot;&amp;gt;ZsaZsa&amp;amp;#8217;s House of Beauty&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://slurl.com/secondlife/Panoochie/97/161/30&amp;quot;&amp;gt;Zyrraphotic&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test scripts ===&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== Discussion for future improvements ===&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== Relationship to other features ===&lt;br /&gt;
&amp;lt;b&amp;gt; List of features that need to be tested when this feature changes, and why. &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
=== User Guides ===&lt;br /&gt;
* [[How to create a hair texture in Adobe Photoshop]]&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Role_play&amp;diff=827352</id>
		<title>Role play</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Role_play&amp;diff=827352"/>
		<updated>2010-03-28T19:49:07Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Some people, and on this page, they use &amp;#039;game&amp;#039; with quote marks, why is that? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Help|Glossary=*}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What is role play?=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Role-playing About Role play wiki page] (RP) is simply pretending to be someone or something to simulate an experience, &lt;br /&gt;
usually interacting with others doing the same. The simplest &#039;game&#039; is just a gathering of friends, endulging in a common tale.&lt;br /&gt;
&lt;br /&gt;
====Why would I want to role play at all?====&lt;br /&gt;
&lt;br /&gt;
To experience something without real life limitations. In the real world, the 18th century has passed, natural disasters infrequent, and identity fixed (for the most part). Role play is a well established principle of education, psychotherapy, self-exploration, and entertainment. We pretend to remove those limitations when simulating an experience. &lt;br /&gt;
&lt;br /&gt;
====Why role play in Second Life?====&lt;br /&gt;
&lt;br /&gt;
Unlike real life which limits the extent of presentation changes to represent a role, Second Life affords endless ways to represent a given role, a character with credibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What do I need to know about role playing in Second Life?=&lt;br /&gt;
&lt;br /&gt;
First of all, each RP sim and community has it´s own set of rules. &lt;br /&gt;
Some are open in creativity and free action, some aim to more strict controlled interaction.&lt;br /&gt;
There are five types of role playing: &#039;&#039;Non-literate, Semi-literate, Literate, Advanced and Elite.&#039;&#039;&lt;br /&gt;
Read more about the types under Practices&lt;br /&gt;
&lt;br /&gt;
Before you jump in, you might want to read more about different genres.&lt;br /&gt;
You should also get to know the terminology and shorthand, and also the practises how to &#039;play&#039;.&lt;br /&gt;
You will also want to think about a rough character for yourself.&lt;br /&gt;
&lt;br /&gt;
=== Genres ===&lt;br /&gt;
Few examples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: First person shooters&#039;&#039;&#039;&lt;br /&gt;
These games are more game-like and often lack plotlines completely, they are usually more alike shotgun-ranges in RL.&lt;br /&gt;
a Zombie-hunt for example&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Wargames&#039;&#039;&#039;&lt;br /&gt;
These are also games, usually two groups battle together. Usually random shooting without structure. &lt;br /&gt;
Although there is a rumor games with strategy do exist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Scheme &amp;amp; Plotting&#039;&#039;&#039;&lt;br /&gt;
These are usually Vampire games, others do exist, though. &lt;br /&gt;
People refer to these games as &#039;talking heads&#039; which means&lt;br /&gt;
more talk and less or no action. These are mostly Advanced or Elitist games.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Periodic Re-Enactement&#039;&#039;&#039;&lt;br /&gt;
Ancient Egypt, Medieval, Empire, 18th century, 19th century,  1950&#039;s -you name it! &lt;br /&gt;
People gather together to live out the era once was in the real world.&lt;br /&gt;
The clue is to be as authentic as one can. Usually not games.&lt;br /&gt;
The emphasis on character outfit and manners. Usually Literate type settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: Fantasy Theme&#039;&#039;&#039;&lt;br /&gt;
Lord of the Rings, Star Wars, My Little Ponies, Pirates, Medieval, Fairytale, Gor .... soo many!&lt;br /&gt;
Many different types exist, usually Non-Literate or Literate. But many Advanced ones there too.&lt;br /&gt;
There are lot´s of medievalish fantasy settings in SL! Mosty Immersion &#039;Games&#039;&lt;br /&gt;
&lt;br /&gt;
=== TERMINOLOGY &amp;amp; SHORTHAND ===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Role-playing_game_terms   Role Playing Terms Wiki page]&lt;br /&gt;
[http://www.all-acronyms.com/tag/roleplaying  Abbreviations]&lt;br /&gt;
&lt;br /&gt;
===== Some people, and on this page, they use &#039;game&#039; with quote marks, why is that? =====&lt;br /&gt;
Some people prefer to make a difference between Gamist games and Immersion &#039;games&#039;. The word game is used plainly about any playable,&lt;br /&gt;
but &#039;game&#039; with quotation marks is usually referred to the Immersion or theathre-play type sessions. &lt;br /&gt;
A Gamist game aims to win the game, aka it has a goal, a purpose the character has to achieve. &lt;br /&gt;
Immersion &#039;games&#039; have no set goal, and there is no way to &#039;win the game&#039;, &lt;br /&gt;
the point is to live out as the character and experience things and make connections.&lt;br /&gt;
&lt;br /&gt;
====Most needed in SL role play:====&lt;br /&gt;
&#039;&#039;&#039;Alt&#039;&#039;&#039; Alternate avatar, alternate character&lt;br /&gt;
Combat Meter/Meter  An object device you need to wear, it counts your HP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Character&#039;&#039;&#039; &lt;br /&gt;
A tailored avatar for the part, like a movie actor one should pre-meditate the outlook &amp;amp; characteristics of a character.&lt;br /&gt;
In most of the &#039;games&#039; any personality-traits are not needed, as one acts the same as oneself would. &lt;br /&gt;
Some Elitist games have pre-written characters, in that case it is needed to act the way the character would act. &lt;br /&gt;
That is theatre-play like.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Realm&#039;&#039;&#039;&lt;br /&gt;
The setting of the &#039;game&#039;. It contains other things than just the visual surroundings, it includes some story elements and background data of the world&lt;br /&gt;
the game is placed in. In many cases there is no specific Realm, but when there is, one should learn it before playing. &lt;br /&gt;
Information about the realm (or the world) usually contains info whether magic exists, what kind of dangers there are and such details to help immersion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC&#039;&#039;&#039;  In Character, person speaks as the character or acts as the character&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OOC&#039;&#039;&#039; Out of Character, person speaks as him/herself&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OOR&#039;&#039;&#039;  Out of Realm    something does not fit the given setting, like a futuristic Ray-Gun in a periodical medieval village... &lt;br /&gt;
HOWEVER if the said village is in one of the Goa&#039;uld&#039;s planets in a Stargate setting, a raygun is not out of place....&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HP&#039;&#039;&#039; Healt Points, healt level of your character. When you take hit, you loose Healt points and when you are healed, you gain HP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XP&#039;&#039;&#039;  Experience Points. Some games allow your character to &#039;grow&#039; in skills, to gain a new skill level, you need experience&lt;br /&gt;
&lt;br /&gt;
Every game has also it´s own abbrevations, you come to know them while playing.&lt;br /&gt;
&lt;br /&gt;
=== Practices ===&lt;br /&gt;
&lt;br /&gt;
How to play varies according to which game you take part in. &lt;br /&gt;
But the rule of thumb is &#039;&#039;&amp;quot;Listen to how other&#039;s play and follow example&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Common rules to all role play games==== &lt;br /&gt;
are few, here some (not exhaustive)&lt;br /&gt;
* Separation of OOC and IC chat and actions, there is a way how you do this in every game, and to what extinct&lt;br /&gt;
* Character Outfit&amp;amp;Gear, something else than your newbie gear, preferrably suitable for the Realm. Even the first-person shooters require at least a gun.&lt;br /&gt;
* A way to measure HP and/or XP and wear character name, usually a [https://wiki.secondlife.com/wiki/HUD HUD]&lt;br /&gt;
* People not following the rules usually get banned, fortunately there usually is a newbie-friendly area you can practise your gameplay safely.&lt;br /&gt;
&lt;br /&gt;
====Few tips &amp;amp; hints====&lt;br /&gt;
* Don&#039;t be afraid, people know you are new and will treat you kindly!&lt;br /&gt;
* Remember all chat is to be taken as IC talk, people will make known if they are speaking OOC, if they are not and you can tell, just ignore it.&lt;br /&gt;
* Some endulge in roleplay so deeply, all they do in SL is RP, this is even more true in Gor: it is a lifestyle to many. &lt;br /&gt;
It is, in any case your responsibility to let others know, if some things go beyond your borders. &lt;br /&gt;
Just notify them kindly the said thing was too hardcore for you. If you are uncomfortable, teleport away.&lt;br /&gt;
&lt;br /&gt;
=== Types of gameplay ===&lt;br /&gt;
&lt;br /&gt;
These names of the types are not estabished, and therefore many ways are used. &lt;br /&gt;
Usually people do not want to be called &#039;non-literate&#039; or &#039;elitist&#039;&lt;br /&gt;
so these are to be used only on an educational listing like this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Non-Literate&#039;&#039;&#039;&lt;br /&gt;
Non-Literate role plays have no need for quality posts and are littered with net-speak, improper grammar, actions quotes &lt;br /&gt;
No-one cares what you wear or if you speak OOC or not. The most common externalizion is action brackets or asterix:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Cay Avatar: I´m off to bed, good night!  *waves and hugs*&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This kind of &#039;role play&#039; is around one&#039;s every day Second Life&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Semi-Literate&#039;&#039;&#039;&lt;br /&gt;
Semi-Literate role plays are slightly better than Non-Literate in terms of grammar, although they still use improper grammar often. &lt;br /&gt;
The Character is not usually any more pre-meditated than the gear on your avatar.&lt;br /&gt;
Usually without thinking if the gear fits to the supposed era... you might end up having a 6 foot tall Hobbit,&lt;br /&gt;
or a pink-haired medieval lady. This kind of OOC or OOR (out of Realm) dressing, behaviour and talk is often tolerated or ignored.&lt;br /&gt;
Still the preference is to NOT forget the Realm.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Literate&#039;&#039;&#039;&lt;br /&gt;
Literate role plays are the most common types of role plays. &lt;br /&gt;
They are presented in the form of prose and prefer proper (In Realm) grammar and spelling. &lt;br /&gt;
Literate role playing is considered one of the more superior form of role play.&lt;br /&gt;
One&#039;s character is well-thought and out-of-character speach is discouraged.&lt;br /&gt;
Some gear fluxes are tolerated, but usually people would want it as close to the right era one can.&lt;br /&gt;
Many roleplays provide a special meter, a device you need to wear. That counts the wounds you might get&lt;br /&gt;
if you end up in a fight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advanced&#039;&#039;&#039;&lt;br /&gt;
Advanced role plays are with actual plotline and or arranged events.&lt;br /&gt;
The World (or Realm) comes with background material (books, scripts, castes etc.)&lt;br /&gt;
And the Rules how to enact battles. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elite&#039;&#039;&#039;&lt;br /&gt;
Elite role plays are basicly the same as Advanced, but these &#039;games&#039; are usually for the selected few and you need an invitation to take part.&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
&lt;br /&gt;
====I heard role play is bad in Second Life. That it is just sex slaves.====&lt;br /&gt;
&lt;br /&gt;
Yes there are sex slaves. But that is not the only way to role-play, it is not even the most common. &lt;br /&gt;
Before generalizing and condemning all role play, consider role plays for natural disaster recovery and first response treatment, leadership training, language training, interpersonal skills training, fire fighter training, interactive novels and more. &lt;br /&gt;
The best way to learn something is not to read or hear about it, but do it, even if simulated. &lt;br /&gt;
The corporate world trains employees globally using this technique, while others enjoy it for entertainment. It&#039;s all about immersion. &lt;br /&gt;
&lt;br /&gt;
====Aren&#039;t we all role playing all the time in Second Life?====&lt;br /&gt;
&lt;br /&gt;
You find as many opinions on this topic as you do [[avatar]]s in Second Life. Some strive for a real life connection to their avatars, others seek escape from real life. One advantage to considering some role play communities and [[sim]]s is that the line is more clearly drawn in such cases v.s. just your general avatar. Most role play communities allow renaming yourself with an &amp;quot;RP [[HUD]]&amp;quot; or tag of some kind allowing your &#039;&#039;normal&#039;&#039; avatar to still be used even if you may use that avatar for more work conferences and such. Some choose to get a completely new avatar (an &#039;alt&#039;) just for the role play they are involved in.&lt;br /&gt;
&lt;br /&gt;
====What role play communities are there in Second Life?====&lt;br /&gt;
&lt;br /&gt;
About anything you can imagine has a community in Second Life, including traditional fantasy and science fiction genres. For this one, we have started a [[Mentor_Resource-Fantasy_and_Roleplay_sims|page listing the role play communities and sims]]. If you hear of one not listed, consider contributing a listing.&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Role_play&amp;diff=827342</id>
		<title>Role play</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Role_play&amp;diff=827342"/>
		<updated>2010-03-28T19:48:06Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Genres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Help|Glossary=*}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What is role play?=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Role-playing About Role play wiki page] (RP) is simply pretending to be someone or something to simulate an experience, &lt;br /&gt;
usually interacting with others doing the same. The simplest &#039;game&#039; is just a gathering of friends, endulging in a common tale.&lt;br /&gt;
&lt;br /&gt;
====Why would I want to role play at all?====&lt;br /&gt;
&lt;br /&gt;
To experience something without real life limitations. In the real world, the 18th century has passed, natural disasters infrequent, and identity fixed (for the most part). Role play is a well established principle of education, psychotherapy, self-exploration, and entertainment. We pretend to remove those limitations when simulating an experience. &lt;br /&gt;
&lt;br /&gt;
====Why role play in Second Life?====&lt;br /&gt;
&lt;br /&gt;
Unlike real life which limits the extent of presentation changes to represent a role, Second Life affords endless ways to represent a given role, a character with credibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What do I need to know about role playing in Second Life?=&lt;br /&gt;
&lt;br /&gt;
First of all, each RP sim and community has it´s own set of rules. &lt;br /&gt;
Some are open in creativity and free action, some aim to more strict controlled interaction.&lt;br /&gt;
There are five types of role playing: &#039;&#039;Non-literate, Semi-literate, Literate, Advanced and Elite.&#039;&#039;&lt;br /&gt;
Read more about the types under Practices&lt;br /&gt;
&lt;br /&gt;
Before you jump in, you might want to read more about different genres.&lt;br /&gt;
You should also get to know the terminology and shorthand, and also the practises how to &#039;play&#039;.&lt;br /&gt;
You will also want to think about a rough character for yourself.&lt;br /&gt;
&lt;br /&gt;
=== Genres ===&lt;br /&gt;
Few examples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: First person shooters&#039;&#039;&#039;&lt;br /&gt;
These games are more game-like and often lack plotlines completely, they are usually more alike shotgun-ranges in RL.&lt;br /&gt;
a Zombie-hunt for example&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Wargames&#039;&#039;&#039;&lt;br /&gt;
These are also games, usually two groups battle together. Usually random shooting without structure. &lt;br /&gt;
Although there is a rumor games with strategy do exist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Scheme &amp;amp; Plotting&#039;&#039;&#039;&lt;br /&gt;
These are usually Vampire games, others do exist, though. &lt;br /&gt;
People refer to these games as &#039;talking heads&#039; which means&lt;br /&gt;
more talk and less or no action. These are mostly Advanced or Elitist games.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Periodic Re-Enactement&#039;&#039;&#039;&lt;br /&gt;
Ancient Egypt, Medieval, Empire, 18th century, 19th century,  1950&#039;s -you name it! &lt;br /&gt;
People gather together to live out the era once was in the real world.&lt;br /&gt;
The clue is to be as authentic as one can. Usually not games.&lt;br /&gt;
The emphasis on character outfit and manners. Usually Literate type settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: Fantasy Theme&#039;&#039;&#039;&lt;br /&gt;
Lord of the Rings, Star Wars, My Little Ponies, Pirates, Medieval, Fairytale, Gor .... soo many!&lt;br /&gt;
Many different types exist, usually Non-Literate or Literate. But many Advanced ones there too.&lt;br /&gt;
There are lot´s of medievalish fantasy settings in SL! Mosty Immersion &#039;Games&#039;&lt;br /&gt;
&lt;br /&gt;
=== TERMINOLOGY &amp;amp; SHORTHAND ===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Role-playing_game_terms   Role Playing Terms Wiki page]&lt;br /&gt;
[http://www.all-acronyms.com/tag/roleplaying  Abbreviations]&lt;br /&gt;
&lt;br /&gt;
===== Some people, and on this page, they use &#039;game&#039; with quote marks, why is that? =====&lt;br /&gt;
Some people prefer to make a difference between Gamist games and Immersion &#039;games&#039;. The word game is used plainly about in any playable,&lt;br /&gt;
but &#039;game&#039; with quotation marks is usually referred to the Immersion or theathre-play type sessions. &lt;br /&gt;
A Gamist game aims to win the game, aka it has a goal, a purpose the character has to achieve. &lt;br /&gt;
Immersion &#039;games&#039; have no set goal, and there is no way to &#039;win the game&#039;, &lt;br /&gt;
the point is to live out as the character and experience things and make connections.&lt;br /&gt;
&lt;br /&gt;
====Most needed in SL role play:====&lt;br /&gt;
&#039;&#039;&#039;Alt&#039;&#039;&#039; Alternate avatar, alternate character&lt;br /&gt;
Combat Meter/Meter  An object device you need to wear, it counts your HP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Character&#039;&#039;&#039; &lt;br /&gt;
A tailored avatar for the part, like a movie actor one should pre-meditate the outlook &amp;amp; characteristics of a character.&lt;br /&gt;
In most of the &#039;games&#039; any personality-traits are not needed, as one acts the same as oneself would. &lt;br /&gt;
Some Elitist games have pre-written characters, in that case it is needed to act the way the character would act. &lt;br /&gt;
That is theatre-play like.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Realm&#039;&#039;&#039;&lt;br /&gt;
The setting of the &#039;game&#039;. It contains other things than just the visual surroundings, it includes some story elements and background data of the world&lt;br /&gt;
the game is placed in. In many cases there is no specific Realm, but when there is, one should learn it before playing. &lt;br /&gt;
Information about the realm (or the world) usually contains info whether magic exists, what kind of dangers there are and such details to help immersion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC&#039;&#039;&#039;  In Character, person speaks as the character or acts as the character&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OOC&#039;&#039;&#039; Out of Character, person speaks as him/herself&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OOR&#039;&#039;&#039;  Out of Realm    something does not fit the given setting, like a futuristic Ray-Gun in a periodical medieval village... &lt;br /&gt;
HOWEVER if the said village is in one of the Goa&#039;uld&#039;s planets in a Stargate setting, a raygun is not out of place....&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HP&#039;&#039;&#039; Healt Points, healt level of your character. When you take hit, you loose Healt points and when you are healed, you gain HP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XP&#039;&#039;&#039;  Experience Points. Some games allow your character to &#039;grow&#039; in skills, to gain a new skill level, you need experience&lt;br /&gt;
&lt;br /&gt;
Every game has also it´s own abbrevations, you come to know them while playing.&lt;br /&gt;
&lt;br /&gt;
=== Practices ===&lt;br /&gt;
&lt;br /&gt;
How to play varies according to which game you take part in. &lt;br /&gt;
But the rule of thumb is &#039;&#039;&amp;quot;Listen to how other&#039;s play and follow example&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Common rules to all role play games==== &lt;br /&gt;
are few, here some (not exhaustive)&lt;br /&gt;
* Separation of OOC and IC chat and actions, there is a way how you do this in every game, and to what extinct&lt;br /&gt;
* Character Outfit&amp;amp;Gear, something else than your newbie gear, preferrably suitable for the Realm. Even the first-person shooters require at least a gun.&lt;br /&gt;
* A way to measure HP and/or XP and wear character name, usually a [https://wiki.secondlife.com/wiki/HUD HUD]&lt;br /&gt;
* People not following the rules usually get banned, fortunately there usually is a newbie-friendly area you can practise your gameplay safely.&lt;br /&gt;
&lt;br /&gt;
====Few tips &amp;amp; hints====&lt;br /&gt;
* Don&#039;t be afraid, people know you are new and will treat you kindly!&lt;br /&gt;
* Remember all chat is to be taken as IC talk, people will make known if they are speaking OOC, if they are not and you can tell, just ignore it.&lt;br /&gt;
* Some endulge in roleplay so deeply, all they do in SL is RP, this is even more true in Gor: it is a lifestyle to many. &lt;br /&gt;
It is, in any case your responsibility to let others know, if some things go beyond your borders. &lt;br /&gt;
Just notify them kindly the said thing was too hardcore for you. If you are uncomfortable, teleport away.&lt;br /&gt;
&lt;br /&gt;
=== Types of gameplay ===&lt;br /&gt;
&lt;br /&gt;
These names of the types are not estabished, and therefore many ways are used. &lt;br /&gt;
Usually people do not want to be called &#039;non-literate&#039; or &#039;elitist&#039;&lt;br /&gt;
so these are to be used only on an educational listing like this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Non-Literate&#039;&#039;&#039;&lt;br /&gt;
Non-Literate role plays have no need for quality posts and are littered with net-speak, improper grammar, actions quotes &lt;br /&gt;
No-one cares what you wear or if you speak OOC or not. The most common externalizion is action brackets or asterix:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Cay Avatar: I´m off to bed, good night!  *waves and hugs*&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This kind of &#039;role play&#039; is around one&#039;s every day Second Life&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Semi-Literate&#039;&#039;&#039;&lt;br /&gt;
Semi-Literate role plays are slightly better than Non-Literate in terms of grammar, although they still use improper grammar often. &lt;br /&gt;
The Character is not usually any more pre-meditated than the gear on your avatar.&lt;br /&gt;
Usually without thinking if the gear fits to the supposed era... you might end up having a 6 foot tall Hobbit,&lt;br /&gt;
or a pink-haired medieval lady. This kind of OOC or OOR (out of Realm) dressing, behaviour and talk is often tolerated or ignored.&lt;br /&gt;
Still the preference is to NOT forget the Realm.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Literate&#039;&#039;&#039;&lt;br /&gt;
Literate role plays are the most common types of role plays. &lt;br /&gt;
They are presented in the form of prose and prefer proper (In Realm) grammar and spelling. &lt;br /&gt;
Literate role playing is considered one of the more superior form of role play.&lt;br /&gt;
One&#039;s character is well-thought and out-of-character speach is discouraged.&lt;br /&gt;
Some gear fluxes are tolerated, but usually people would want it as close to the right era one can.&lt;br /&gt;
Many roleplays provide a special meter, a device you need to wear. That counts the wounds you might get&lt;br /&gt;
if you end up in a fight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advanced&#039;&#039;&#039;&lt;br /&gt;
Advanced role plays are with actual plotline and or arranged events.&lt;br /&gt;
The World (or Realm) comes with background material (books, scripts, castes etc.)&lt;br /&gt;
And the Rules how to enact battles. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elite&#039;&#039;&#039;&lt;br /&gt;
Elite role plays are basicly the same as Advanced, but these &#039;games&#039; are usually for the selected few and you need an invitation to take part.&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
&lt;br /&gt;
====I heard role play is bad in Second Life. That it is just sex slaves.====&lt;br /&gt;
&lt;br /&gt;
Yes there are sex slaves. But that is not the only way to role-play, it is not even the most common. &lt;br /&gt;
Before generalizing and condemning all role play, consider role plays for natural disaster recovery and first response treatment, leadership training, language training, interpersonal skills training, fire fighter training, interactive novels and more. &lt;br /&gt;
The best way to learn something is not to read or hear about it, but do it, even if simulated. &lt;br /&gt;
The corporate world trains employees globally using this technique, while others enjoy it for entertainment. It&#039;s all about immersion. &lt;br /&gt;
&lt;br /&gt;
====Aren&#039;t we all role playing all the time in Second Life?====&lt;br /&gt;
&lt;br /&gt;
You find as many opinions on this topic as you do [[avatar]]s in Second Life. Some strive for a real life connection to their avatars, others seek escape from real life. One advantage to considering some role play communities and [[sim]]s is that the line is more clearly drawn in such cases v.s. just your general avatar. Most role play communities allow renaming yourself with an &amp;quot;RP [[HUD]]&amp;quot; or tag of some kind allowing your &#039;&#039;normal&#039;&#039; avatar to still be used even if you may use that avatar for more work conferences and such. Some choose to get a completely new avatar (an &#039;alt&#039;) just for the role play they are involved in.&lt;br /&gt;
&lt;br /&gt;
====What role play communities are there in Second Life?====&lt;br /&gt;
&lt;br /&gt;
About anything you can imagine has a community in Second Life, including traditional fantasy and science fiction genres. For this one, we have started a [[Mentor_Resource-Fantasy_and_Roleplay_sims|page listing the role play communities and sims]]. If you hear of one not listed, consider contributing a listing.&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Role_play&amp;diff=827323</id>
		<title>Role play</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Role_play&amp;diff=827323"/>
		<updated>2010-03-28T18:31:40Z</updated>

		<summary type="html">&lt;p&gt;Cay Trudeau: /* Common rules to all role play games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Help|Glossary=*}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What is role play?=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Role-playing About Role play wiki page] (RP) is simply pretending to be someone or something to simulate an experience, &lt;br /&gt;
usually interacting with others doing the same. The simplest &#039;game&#039; is just a gathering of friends, endulging in a common tale.&lt;br /&gt;
&lt;br /&gt;
====Why would I want to role play at all?====&lt;br /&gt;
&lt;br /&gt;
To experience something without real life limitations. In the real world, the 18th century has passed, natural disasters infrequent, and identity fixed (for the most part). Role play is a well established principle of education, psychotherapy, self-exploration, and entertainment. We pretend to remove those limitations when simulating an experience. &lt;br /&gt;
&lt;br /&gt;
====Why role play in Second Life?====&lt;br /&gt;
&lt;br /&gt;
Unlike real life which limits the extent of presentation changes to represent a role, Second Life affords endless ways to represent a given role, a character with credibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What do I need to know about role playing in Second Life?=&lt;br /&gt;
&lt;br /&gt;
First of all, each RP sim and community has it´s own set of rules. &lt;br /&gt;
Some are open in creativity and free action, some aim to more strict controlled interaction.&lt;br /&gt;
There are five types of role playing: &#039;&#039;Non-literate, Semi-literate, Literate, Advanced and Elite.&#039;&#039;&lt;br /&gt;
Read more about the types under Practices&lt;br /&gt;
&lt;br /&gt;
Before you jump in, you might want to read more about different genres.&lt;br /&gt;
You should also get to know the terminology and shorthand, and also the practises how to &#039;play&#039;.&lt;br /&gt;
You will also want to think about a rough character for yourself.&lt;br /&gt;
&lt;br /&gt;
=== Genres ===&lt;br /&gt;
Few examples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: First person shooters&#039;&#039;&#039;&lt;br /&gt;
These games are more game-like and often lack plotlines completely, they are usually more alike shotgun-ranges in RL.&lt;br /&gt;
a Zombie-hunt for example&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Wargames&#039;&#039;&#039;&lt;br /&gt;
These are also games, usually two groups battle together. Usually random shooting without structure. &lt;br /&gt;
Although there is a rumor games with strategy do exist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Scheme &amp;amp; Plotting&#039;&#039;&#039;&lt;br /&gt;
These are usually Vampire games, others do exist, though. &lt;br /&gt;
People refer to these games as &#039;talking heads&#039; which means&lt;br /&gt;
more talk and less or no action. These are mostly Advanced or Elitist games.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Periodic Re-Enactement&#039;&#039;&#039;&lt;br /&gt;
Ancient Egypt, Medieval, Empire, 18th century, 19th century,  1950&#039;s -you name it! &lt;br /&gt;
People gather together to live out the era once was in the real world.&lt;br /&gt;
The clue is to be as authentic as one can. &lt;br /&gt;
The emphasis on character outfit and manners. Usually Literate type settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: Fantasy Theme&#039;&#039;&#039;&lt;br /&gt;
Lord of the Rings, Star Wars, My Little Ponies, Pirates, Medieval, Fairytale, Gor .... soo many!&lt;br /&gt;
Many different types exist, usually Non-Literate or Literate. But many Advanced ones there too.&lt;br /&gt;
There are lot´s of medievalish fantasy settings in SL!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TERMINOLOGY &amp;amp; SHORTHAND ===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Role-playing_game_terms   Role Playing Terms Wiki page]&lt;br /&gt;
[http://www.all-acronyms.com/tag/roleplaying  Abbreviations]&lt;br /&gt;
&lt;br /&gt;
===== Some people, and on this page, they use &#039;game&#039; with quote marks, why is that? =====&lt;br /&gt;
Some people prefer to make a difference between Gamist games and Immersion &#039;games&#039;. The word game is used plainly about in any playable,&lt;br /&gt;
but &#039;game&#039; with quotation marks is usually referred to the Immersion or theathre-play type sessions. &lt;br /&gt;
A Gamist game aims to win the game, aka it has a goal, a purpose the character has to achieve. &lt;br /&gt;
Immersion &#039;games&#039; have no set goal, and there is no way to &#039;win the game&#039;, &lt;br /&gt;
the point is to live out as the character and experience things and make connections.&lt;br /&gt;
&lt;br /&gt;
====Most needed in SL role play:====&lt;br /&gt;
&#039;&#039;&#039;Alt&#039;&#039;&#039; Alternate avatar, alternate character&lt;br /&gt;
Combat Meter/Meter  An object device you need to wear, it counts your HP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Character&#039;&#039;&#039; &lt;br /&gt;
A tailored avatar for the part, like a movie actor one should pre-meditate the outlook &amp;amp; characteristics of a character.&lt;br /&gt;
In most of the &#039;games&#039; any personality-traits are not needed, as one acts the same as oneself would. &lt;br /&gt;
Some Elitist games have pre-written characters, in that case it is needed to act the way the character would act. &lt;br /&gt;
That is theatre-play like.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Realm&#039;&#039;&#039;&lt;br /&gt;
The setting of the &#039;game&#039;. It contains other things than just the visual surroundings, it includes some story elements and background data of the world&lt;br /&gt;
the game is placed in. In many cases there is no specific Realm, but when there is, one should learn it before playing. &lt;br /&gt;
Information about the realm (or the world) usually contains info whether magic exists, what kind of dangers there are and such details to help immersion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC&#039;&#039;&#039;  In Character, person speaks as the character or acts as the character&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OOC&#039;&#039;&#039; Out of Character, person speaks as him/herself&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OOR&#039;&#039;&#039;  Out of Realm    something does not fit the given setting, like a futuristic Ray-Gun in a periodical medieval village... &lt;br /&gt;
HOWEVER if the said village is in one of the Goa&#039;uld&#039;s planets in a Stargate setting, a raygun is not out of place....&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HP&#039;&#039;&#039; Healt Points, healt level of your character. When you take hit, you loose Healt points and when you are healed, you gain HP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XP&#039;&#039;&#039;  Experience Points. Some games allow your character to &#039;grow&#039; in skills, to gain a new skill level, you need experience&lt;br /&gt;
&lt;br /&gt;
Every game has also it´s own abbrevations, you come to know them while playing.&lt;br /&gt;
&lt;br /&gt;
=== Practices ===&lt;br /&gt;
&lt;br /&gt;
How to play varies according to which game you take part in. &lt;br /&gt;
But the rule of thumb is &#039;&#039;&amp;quot;Listen to how other&#039;s play and follow example&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Common rules to all role play games==== &lt;br /&gt;
are few, here some (not exhaustive)&lt;br /&gt;
* Separation of OOC and IC chat and actions, there is a way how you do this in every game, and to what extinct&lt;br /&gt;
* Character Outfit&amp;amp;Gear, something else than your newbie gear, preferrably suitable for the Realm. Even the first-person shooters require at least a gun.&lt;br /&gt;
* A way to measure HP and/or XP and wear character name, usually a [https://wiki.secondlife.com/wiki/HUD HUD]&lt;br /&gt;
* People not following the rules usually get banned, fortunately there usually is a newbie-friendly area you can practise your gameplay safely.&lt;br /&gt;
&lt;br /&gt;
====Few tips &amp;amp; hints====&lt;br /&gt;
* Don&#039;t be afraid, people know you are new and will treat you kindly!&lt;br /&gt;
* Remember all chat is to be taken as IC talk, people will make known if they are speaking OOC, if they are not and you can tell, just ignore it.&lt;br /&gt;
* Some endulge in roleplay so deeply, all they do in SL is RP, this is even more true in Gor: it is a lifestyle to many. &lt;br /&gt;
It is, in any case your responsibility to let others know, if some things go beyond your borders. &lt;br /&gt;
Just notify them kindly the said thing was too hardcore for you. If you are uncomfortable, teleport away.&lt;br /&gt;
&lt;br /&gt;
=== Types of gameplay ===&lt;br /&gt;
&lt;br /&gt;
These names of the types are not estabished, and therefore many ways are used. &lt;br /&gt;
Usually people do not want to be called &#039;non-literate&#039; or &#039;elitist&#039;&lt;br /&gt;
so these are to be used only on an educational listing like this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Non-Literate&#039;&#039;&#039;&lt;br /&gt;
Non-Literate role plays have no need for quality posts and are littered with net-speak, improper grammar, actions quotes &lt;br /&gt;
No-one cares what you wear or if you speak OOC or not. The most common externalizion is action brackets or asterix:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Cay Avatar: I´m off to bed, good night!  *waves and hugs*&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This kind of &#039;role play&#039; is around one&#039;s every day Second Life&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Semi-Literate&#039;&#039;&#039;&lt;br /&gt;
Semi-Literate role plays are slightly better than Non-Literate in terms of grammar, although they still use improper grammar often. &lt;br /&gt;
The Character is not usually any more pre-meditated than the gear on your avatar.&lt;br /&gt;
Usually without thinking if the gear fits to the supposed era... you might end up having a 6 foot tall Hobbit,&lt;br /&gt;
or a pink-haired medieval lady. This kind of OOC or OOR (out of Realm) dressing, behaviour and talk is often tolerated or ignored.&lt;br /&gt;
Still the preference is to NOT forget the Realm.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Literate&#039;&#039;&#039;&lt;br /&gt;
Literate role plays are the most common types of role plays. &lt;br /&gt;
They are presented in the form of prose and prefer proper (In Realm) grammar and spelling. &lt;br /&gt;
Literate role playing is considered one of the more superior form of role play.&lt;br /&gt;
One&#039;s character is well-thought and out-of-character speach is discouraged.&lt;br /&gt;
Some gear fluxes are tolerated, but usually people would want it as close to the right era one can.&lt;br /&gt;
Many roleplays provide a special meter, a device you need to wear. That counts the wounds you might get&lt;br /&gt;
if you end up in a fight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advanced&#039;&#039;&#039;&lt;br /&gt;
Advanced role plays are with actual plotline and or arranged events.&lt;br /&gt;
The World (or Realm) comes with background material (books, scripts, castes etc.)&lt;br /&gt;
And the Rules how to enact battles. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elite&#039;&#039;&#039;&lt;br /&gt;
Elite role plays are basicly the same as Advanced, but these &#039;games&#039; are usually for the selected few and you need an invitation to take part.&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
&lt;br /&gt;
====I heard role play is bad in Second Life. That it is just sex slaves.====&lt;br /&gt;
&lt;br /&gt;
Yes there are sex slaves. But that is not the only way to role-play, it is not even the most common. &lt;br /&gt;
Before generalizing and condemning all role play, consider role plays for natural disaster recovery and first response treatment, leadership training, language training, interpersonal skills training, fire fighter training, interactive novels and more. &lt;br /&gt;
The best way to learn something is not to read or hear about it, but do it, even if simulated. &lt;br /&gt;
The corporate world trains employees globally using this technique, while others enjoy it for entertainment. It&#039;s all about immersion. &lt;br /&gt;
&lt;br /&gt;
====Aren&#039;t we all role playing all the time in Second Life?====&lt;br /&gt;
&lt;br /&gt;
You find as many opinions on this topic as you do [[avatar]]s in Second Life. Some strive for a real life connection to their avatars, others seek escape from real life. One advantage to considering some role play communities and [[sim]]s is that the line is more clearly drawn in such cases v.s. just your general avatar. Most role play communities allow renaming yourself with an &amp;quot;RP [[HUD]]&amp;quot; or tag of some kind allowing your &#039;&#039;normal&#039;&#039; avatar to still be used even if you may use that avatar for more work conferences and such. Some choose to get a completely new avatar (an &#039;alt&#039;) just for the role play they are involved in.&lt;br /&gt;
&lt;br /&gt;
====What role play communities are there in Second Life?====&lt;br /&gt;
&lt;br /&gt;
About anything you can imagine has a community in Second Life, including traditional fantasy and science fiction genres. For this one, we have started a [[Mentor_Resource-Fantasy_and_Roleplay_sims|page listing the role play communities and sims]]. If you hear of one not listed, consider contributing a listing.&lt;/div&gt;</summary>
		<author><name>Cay Trudeau</name></author>
	</entry>
</feed>