<?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=JS+Uralia</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=JS+Uralia"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/JS_Uralia"/>
	<updated>2026-06-19T22:24:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1125852</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1125852"/>
		<updated>2010-12-11T00:32:48Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Boolean precidence pragma */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:If you&#039;re sure it&#039;s stupid, it&#039;s okay to just remove it.  There&#039;s always the history if anyone disagrees with your opinion. [[User:JS Uralia|JS Uralia]] 20:08, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
:I annotated from letters &#039;A&#039;-&#039;N&#039; and &#039;T&#039;-&#039;Z&#039; but not the Other (non-function name) category below to which I placed some more proposed enhancements.  [[User:JS Uralia|JS Uralia]] 19:56, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Each one of these would require significant time for development and even more for QA and making sure we didn&#039;t break existing scripts. LSL is a crufty and dangerous language. In fact just today we were addressing a bug where some scripts changed behavior because of a change in the compiler flags for the project. If we spend significant time on scripting in SL it will probably be towards implementing a better language and not tacking on extensions to the core language of LSL. - [[User:Kelly Linden|Kelly Linden]] 22:58, 20 October 2010 (UTC)&#039;&#039;&lt;br /&gt;
::I wish you had pinged me after you replied here--I don&#039;t have this page on my universal watchlist for some reason.  The benefit of removing the low-hanging cruft and danger of LSL far outweighs disenfranchising all those who have learned to use it. The threat of C#, which has a &amp;quot;object&amp;quot; structure full of namespace conflicts with prim objects, has prevented a lot of very low-hanging LSL progress for years.  If such changes are not truly backwards compatible, if QA doesn&#039;t catch that fact then a roll-out will, and they can be reverted, but I doubt that will be necessary. These are not huge feature additions, and as modular changes or rolled together they should be easy to QA and roll out. If you compare LSL scripter time saved to the amount of time it would take to provide these improvements, are they really still significant? [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Define &amp;quot;huge additions&amp;quot;&lt;br /&gt;
:::For me a &amp;quot;huge addition&amp;quot; would be anything that requires A) adding more than 50 lines of code. A huge addition would be something that includes B) changes to existing code in multiple places. With regards to LSL it would be something that involves C) adding more then one object to the compiler tree. With LSO it would be anything that D) requires the addition of a new bytecode. Most of your suggestions violate at least one of these. 3 &amp;amp; 8 violate A, B, C &amp;amp; D. 4, 5 &amp;amp; 6 violate A, B &amp;amp; D. 7 violates A &amp;amp; B. There hasn&#039;t been a new LSO bytecode in 6 years (I&#039;ve tried to get them to add a few but with no success, like an unsigned right-shift operator &amp;gt;&amp;gt;&amp;gt;), so don&#039;t count on the likely hood of anything that requires one. #1 is likely the only one that is truly trivial. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 16:44, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:1, 5, 6 &amp;amp; 7 are manageable. Don&#039;t we already have 2? 3 would require a huge amount of work. 4 I don&#039;t know enough about, 8 would be a major rewrite. I agree with Kelly however. It&#039;s time to invest in a language that doesn&#039;t... -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:21, 21 October 2010 (UTC)&lt;br /&gt;
::4 would be, for example, a token in a LSL comment that would allow the use of &amp;quot;int&amp;quot; for &amp;quot;integer&amp;quot;, and functions such as sprintf() from the C standard libraries and Javascript. [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::In my opinion 1, 2, &amp;amp; 4 are trivial to implement in the compiler or viewer editor. 3, 5, 6 and maybe even 7 could be written in LSL or bytecode and inserted as macros by the compiler or editor. Albeit 5 &amp;amp; 6 might be limited. 3 &amp;amp; 7 could be tricky. Not the most efficient way but, it help out scripters now, leaving room for the additions to be incorporated into LSL itself later. If fact, just implementing a macro markup syntax would allow all of this and much more. Once the macro capability is in place, the residents can implement their own reusable (good time to add simple little includes too) parsing scripts. All this could happen as a script preprocessor at the editor and/or compiler levels, without changing LSL a bit. As a bonus, the macro language could continue to useful with future languages if/when added to SL. - [[User:FalconZip Zerbino|FalconZip Zerbino]] 21:13, 6 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Boolean precidence pragma ===&lt;br /&gt;
&lt;br /&gt;
Thanks everyone.  I continue to believe that all of these are well worth it.  We need a pragma to switch ||/&amp;amp;&amp;amp; precidence. See [http://lslwiki.net/lslwiki/wakka.php?wakka=boolean &amp;quot;Unlike most languages....] Does that take care of the cruft and safety issues Kelly raised above? [[User:JS Uralia|JS Uralia]] 00:32, 11 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== llGetLinkNumberOfSides ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function: integer llGetLinkNumberOfSides( integer link_number  );&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Returns an integer that is the number of faces (or sides) of the linked prim link_number&lt;br /&gt;
 &lt;br /&gt;
• integer  link_number  –  Link number (0: unlinked, 1: root prim, &amp;gt;1: child prims)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This usefull function would be a great to have as an addition to, and to be used with the llGetLinkPrimitiveParams function.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:Misty Wulluf|Misty Wulluf]] 08:56, 1 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;I believe this is on agni now. - [[User:Kelly Linden|Kelly Linden]] 22:51, 20 October 2010 (UTC)&#039;&#039;&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1125842</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1125842"/>
		<updated>2010-12-11T00:29:18Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* backwards-compatible ways to save typing or be more like C or Javascript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:If you&#039;re sure it&#039;s stupid, it&#039;s okay to just remove it.  There&#039;s always the history if anyone disagrees with your opinion. [[User:JS Uralia|JS Uralia]] 20:08, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
:I annotated from letters &#039;A&#039;-&#039;N&#039; and &#039;T&#039;-&#039;Z&#039; but not the Other (non-function name) category below to which I placed some more proposed enhancements.  [[User:JS Uralia|JS Uralia]] 19:56, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Each one of these would require significant time for development and even more for QA and making sure we didn&#039;t break existing scripts. LSL is a crufty and dangerous language. In fact just today we were addressing a bug where some scripts changed behavior because of a change in the compiler flags for the project. If we spend significant time on scripting in SL it will probably be towards implementing a better language and not tacking on extensions to the core language of LSL. - [[User:Kelly Linden|Kelly Linden]] 22:58, 20 October 2010 (UTC)&#039;&#039;&lt;br /&gt;
::I wish you had pinged me after you replied here--I don&#039;t have this page on my universal watchlist for some reason.  The benefit of removing the low-hanging cruft and danger of LSL far outweighs disenfranchising all those who have learned to use it. The threat of C#, which has a &amp;quot;object&amp;quot; structure full of namespace conflicts with prim objects, has prevented a lot of very low-hanging LSL progress for years.  If such changes are not truly backwards compatible, if QA doesn&#039;t catch that fact then a roll-out will, and they can be reverted, but I doubt that will be necessary. These are not huge feature additions, and as modular changes or rolled together they should be easy to QA and roll out. If you compare LSL scripter time saved to the amount of time it would take to provide these improvements, are they really still significant? [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Define &amp;quot;huge additions&amp;quot;&lt;br /&gt;
:::For me a &amp;quot;huge addition&amp;quot; would be anything that requires A) adding more than 50 lines of code. A huge addition would be something that includes B) changes to existing code in multiple places. With regards to LSL it would be something that involves C) adding more then one object to the compiler tree. With LSO it would be anything that D) requires the addition of a new bytecode. Most of your suggestions violate at least one of these. 3 &amp;amp; 8 violate A, B, C &amp;amp; D. 4, 5 &amp;amp; 6 violate A, B &amp;amp; D. 7 violates A &amp;amp; B. There hasn&#039;t been a new LSO bytecode in 6 years (I&#039;ve tried to get them to add a few but with no success, like an unsigned right-shift operator &amp;gt;&amp;gt;&amp;gt;), so don&#039;t count on the likely hood of anything that requires one. #1 is likely the only one that is truly trivial. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 16:44, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:1, 5, 6 &amp;amp; 7 are manageable. Don&#039;t we already have 2? 3 would require a huge amount of work. 4 I don&#039;t know enough about, 8 would be a major rewrite. I agree with Kelly however. It&#039;s time to invest in a language that doesn&#039;t... -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:21, 21 October 2010 (UTC)&lt;br /&gt;
::4 would be, for example, a token in a LSL comment that would allow the use of &amp;quot;int&amp;quot; for &amp;quot;integer&amp;quot;, and functions such as sprintf() from the C standard libraries and Javascript. [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::In my opinion 1, 2, &amp;amp; 4 are trivial to implement in the compiler or viewer editor. 3, 5, 6 and maybe even 7 could be written in LSL or bytecode and inserted as macros by the compiler or editor. Albeit 5 &amp;amp; 6 might be limited. 3 &amp;amp; 7 could be tricky. Not the most efficient way but, it help out scripters now, leaving room for the additions to be incorporated into LSL itself later. If fact, just implementing a macro markup syntax would allow all of this and much more. Once the macro capability is in place, the residents can implement their own reusable (good time to add simple little includes too) parsing scripts. All this could happen as a script preprocessor at the editor and/or compiler levels, without changing LSL a bit. As a bonus, the macro language could continue to useful with future languages if/when added to SL. - [[User:FalconZip Zerbino|FalconZip Zerbino]] 21:13, 6 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Boolean precidence pragma ===&lt;br /&gt;
&lt;br /&gt;
Thanks everyone.  I continue to believe that all of these are well worth it.  We need a pragma to switch ||/&amp;amp;&amp;amp; precidence. See [http://lslwiki.net/lslwiki/wakka.php?wakka=boolean]. [[User:JS Uralia|JS Uralia]] 00:29, 11 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== llGetLinkNumberOfSides ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function: integer llGetLinkNumberOfSides( integer link_number  );&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Returns an integer that is the number of faces (or sides) of the linked prim link_number&lt;br /&gt;
 &lt;br /&gt;
• integer  link_number  –  Link number (0: unlinked, 1: root prim, &amp;gt;1: child prims)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This usefull function would be a great to have as an addition to, and to be used with the llGetLinkPrimitiveParams function.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:Misty Wulluf|Misty Wulluf]] 08:56, 1 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;I believe this is on agni now. - [[User:Kelly Linden|Kelly Linden]] 22:51, 20 October 2010 (UTC)&#039;&#039;&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1080972</id>
		<title>User:Ama Omega/archive/office hour topics</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1080972"/>
		<updated>2010-10-27T07:28:58Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Suggested Topics */ link to specific quaternion library code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add any topics you want to discuss at the next general scripting office hours below.&lt;br /&gt;
&lt;br /&gt;
===Standing Topics===&lt;br /&gt;
* Updates on any scripting projects&lt;br /&gt;
&lt;br /&gt;
===Suggested Topics===&lt;br /&gt;
* [[Talk:LSL Useful Function WishList#backwards-compatible ways to save typing or be more like C or Javascript]] (please see for discussion of merits): &lt;br /&gt;
**(1) compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
**(2) declaration initialization, &amp;quot;integer i=1;&amp;quot; &lt;br /&gt;
**(3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
**(4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; &lt;br /&gt;
**(5) double precision floating point; &lt;br /&gt;
**(6) long integers. &lt;br /&gt;
* Mephistopheles Thalheimer suggests also: &lt;br /&gt;
**(7) function overloads; and &lt;br /&gt;
**(8) classes.&lt;br /&gt;
* [[Talk:Rotation#Useful snippets]] quaternion library improvements, e.g., SLERP, [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm], and [http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions]&lt;br /&gt;
* Clarification of how scripting JIRA issues are resolved. Specifically minor or trivial, how/when do these get picked up to be worked on, could one or more Lindens dedicate some time each week to picking up a few smaller issues and working on them, using the JIRA list sorted by age (oldest first) to clear them by developing them, or trying to design a solution if required beforehand ([[User:Haravikk Mistral|Haravikk Mistral]]).&lt;br /&gt;
&lt;br /&gt;
===Previously Discussed Topics===&lt;br /&gt;
* LSL library calls for mesh&lt;br /&gt;
: [[User:Kelly_Linden/Office Hours/2010-10-25 | 2010-10-25 DISCUSSION / TRIAGE]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1080962</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1080962"/>
		<updated>2010-10-27T07:22:42Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* backwards-compatible ways to save typing or be more like C or Javascript */ -- doesn&amp;#039;t work here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:If you&#039;re sure it&#039;s stupid, it&#039;s okay to just remove it.  There&#039;s always the history if anyone disagrees with your opinion. [[User:JS Uralia|JS Uralia]] 20:08, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
:I annotated from letters &#039;A&#039;-&#039;N&#039; and &#039;T&#039;-&#039;Z&#039; but not the Other (non-function name) category below to which I placed some more proposed enhancements.  [[User:JS Uralia|JS Uralia]] 19:56, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Each one of these would require significant time for development and even more for QA and making sure we didn&#039;t break existing scripts. LSL is a crufty and dangerous language. In fact just today we were addressing a bug where some scripts changed behavior because of a change in the compiler flags for the project. If we spend significant time on scripting in SL it will probably be towards implementing a better language and not tacking on extensions to the core language of LSL. - [[User:Kelly Linden|Kelly Linden]] 22:58, 20 October 2010 (UTC)&#039;&#039;&lt;br /&gt;
::I wish you had pinged me after you replied here--I don&#039;t have this page on my universal watchlist for some reason.  The benefit of removing the low-hanging cruft and danger of LSL far outweighs disenfranchising all those who have learned to use it. The threat of C#, which has a &amp;quot;object&amp;quot; structure full of namespace conflicts with prim objects, has prevented a lot of very low-hanging LSL progress for years.  If such changes are not truly backwards compatible, if QA doesn&#039;t catch that fact then a roll-out will, and they can be reverted, but I doubt that will be necessary. These are not huge feature additions, and as modular changes or rolled together they should be easy to QA and roll out. If you compare LSL scripter time saved to the amount of time it would take to provide these improvements, are they really still significant? [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:1, 5, 6 &amp;amp; 7 are manageable. Don&#039;t we already have 2? 3 would require a huge amount of work. 4 I don&#039;t know enough about, 8 would be a major rewrite. I agree with Kelly however. It&#039;s time to invest in a language that doesn&#039;t... -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:21, 21 October 2010 (UTC)&lt;br /&gt;
::4 would be, for example, a token in a LSL comment that would allow the use of &amp;quot;int&amp;quot; for &amp;quot;integer&amp;quot;, and functions such as sprintf() from the C standard libraries and Javascript. [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== llGetLinkNumberOfSides ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function: integer llGetLinkNumberOfSides( integer link_number  );&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Returns an integer that is the number of faces (or sides) of the linked prim link_number&lt;br /&gt;
 &lt;br /&gt;
• integer  link_number  –  Link number (0: unlinked, 1: root prim, &amp;gt;1: child prims)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This usefull function would be a great to have as an addition to, and to be used with the llGetLinkPrimitiveParams function.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:Misty Wulluf|Misty Wulluf]] 08:56, 1 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;I believe this is on agni now. - [[User:Kelly Linden|Kelly Linden]] 22:51, 20 October 2010 (UTC)&#039;&#039;&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1080952</id>
		<title>User:Ama Omega/archive/office hour topics</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1080952"/>
		<updated>2010-10-27T07:16:32Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Suggested Topics */ please see&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add any topics you want to discuss at the next general scripting office hours below.&lt;br /&gt;
&lt;br /&gt;
===Standing Topics===&lt;br /&gt;
* Updates on any scripting projects&lt;br /&gt;
&lt;br /&gt;
===Suggested Topics===&lt;br /&gt;
* [[Talk:LSL Useful Function WishList#backwards-compatible ways to save typing or be more like C or Javascript]] (please see for discussion of merits): &lt;br /&gt;
**(1) compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
**(2) declaration initialization, &amp;quot;integer i=1;&amp;quot; &lt;br /&gt;
**(3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
**(4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; &lt;br /&gt;
**(5) double precision floating point; &lt;br /&gt;
**(6) long integers. &lt;br /&gt;
* Mephistopheles Thalheimer suggests also: &lt;br /&gt;
**(7) function overloads; and &lt;br /&gt;
**(8) classes.&lt;br /&gt;
* [[Talk:Rotation#Useful snippets]] quaternion library improvements e.g. SLERP&lt;br /&gt;
* Clarification of how scripting JIRA issues are resolved. Specifically minor or trivial, how/when do these get picked up to be worked on, could one or more Lindens dedicate some time each week to picking up a few smaller issues and working on them, using the JIRA list sorted by age (oldest first) to clear them by developing them, or trying to design a solution if required beforehand ([[User:Haravikk Mistral|Haravikk Mistral]]).&lt;br /&gt;
&lt;br /&gt;
===Previously Discussed Topics===&lt;br /&gt;
* LSL library calls for mesh&lt;br /&gt;
: [[User:Kelly_Linden/Office Hours/2010-10-25 | 2010-10-25 DISCUSSION / TRIAGE]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1080942</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=1080942"/>
		<updated>2010-10-27T07:15:00Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* backwards-compatible ways to save typing or be more like C or Javascript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:If you&#039;re sure it&#039;s stupid, it&#039;s okay to just remove it.  There&#039;s always the history if anyone disagrees with your opinion. [[User:JS Uralia|JS Uralia]] 20:08, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
:I annotated from letters &#039;A&#039;-&#039;N&#039; and &#039;T&#039;-&#039;Z&#039; but not the Other (non-function name) category below to which I placed some more proposed enhancements.  [[User:JS Uralia|JS Uralia]] 19:56, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Each one of these would require significant time for development and even more for QA and making sure we didn&#039;t break existing scripts. LSL is a crufty and dangerous language. In fact just today we were addressing a bug where some scripts changed behavior because of a change in the compiler flags for the project. If we spend significant time on scripting in SL it will probably be towards implementing a better language and not tacking on extensions to the core language of LSL. - [[User:Kelly Linden|Kelly Linden]] 22:58, 20 October 2010 (UTC)&#039;&#039;&lt;br /&gt;
::I wish you had pinged me after you replied here--I don&#039;t have this page on my universal watchlist for some reason.  The benefit of removing the low-hanging cruft and danger of LSL far outweighs disenfranchising all those who have learned to use it. The threat of C#, which has a &amp;quot;object&amp;quot; structure full of namespace conflicts with prim objects has prevented a lot of very low-hanging LSL progress for years.  If such changes are not truly backwards compatible, if QA doesn&#039;t catch that fact then a roll-out will, and they can be reverted, but I doubt that will be necessary. These are not huge feature additions, and as modular changes or rolled together they should be easy to QA and roll out. If you compare LSL scripter time saved to the amount of time it would take to provide these improvements, are they really still significant? [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:1, 5, 6 &amp;amp; 7 are manageable. Don&#039;t we already have 2? 3 would require a huge amount of work. 4 I don&#039;t know enough about, 8 would be a major rewrite. I agree with Kelly however. It&#039;s time to invest in a language that doesn&#039;t... -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:21, 21 October 2010 (UTC)&lt;br /&gt;
::4 would be, for example, a token in a LSL comment that would allow the use of &amp;quot;int&amp;quot; for &amp;quot;integer&amp;quot;, and functions such as sprintf() from the C standard libraries and Javascript. [[User:JS Uralia|JS Uralia]] 07:15, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== llGetLinkNumberOfSides ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function: integer llGetLinkNumberOfSides( integer link_number  );&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Returns an integer that is the number of faces (or sides) of the linked prim link_number&lt;br /&gt;
 &lt;br /&gt;
• integer  link_number  –  Link number (0: unlinked, 1: root prim, &amp;gt;1: child prims)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This usefull function would be a great to have as an addition to, and to be used with the llGetLinkPrimitiveParams function.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:Misty Wulluf|Misty Wulluf]] 08:56, 1 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;I believe this is on agni now. - [[User:Kelly Linden|Kelly Linden]] 22:51, 20 October 2010 (UTC)&#039;&#039;&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1072702</id>
		<title>User:Ama Omega/archive/office hour topics</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1072702"/>
		<updated>2010-10-25T16:14:23Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add any topics you want to discuss at the next general scripting office hours below.&lt;br /&gt;
&lt;br /&gt;
Standing Topics:&lt;br /&gt;
* Updates on any scripting projects&lt;br /&gt;
&lt;br /&gt;
Suggested Topics:&lt;br /&gt;
* LSL library calls for mesh&lt;br /&gt;
* [[Talk:LSL Useful Function WishList#backwards-compatible ways to save typing or be more like C or Javascript]]: (1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers. (Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes.)&lt;br /&gt;
* [[Talk:Rotation#Useful snippets]] quaternion library improvements e.g. SLERP&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1072692</id>
		<title>User:Ama Omega/archive/office hour topics</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1072692"/>
		<updated>2010-10-25T16:14:03Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add any topics you want to discuss at the next general scripting office hours below.&lt;br /&gt;
&lt;br /&gt;
Standing Topics:&lt;br /&gt;
* Updates on any scripting projects&lt;br /&gt;
&lt;br /&gt;
Suggested Topics:&lt;br /&gt;
* LSL library calls for mesh&lt;br /&gt;
* [[Talk:LSL Useful Function WishList#backwards-compatible ways to save typing or be more like C or Javascript]]: (1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers. ([[User:Mephistopheles Thalheimer]] suggests also: (7) function overloads; and (8) classes.)&lt;br /&gt;
* [[Talk:Rotation#Useful snippets]] quaternion library improvements e.g. SLERP&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1072672</id>
		<title>User:Ama Omega/archive/office hour topics</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Ama_Omega/archive/office_hour_topics&amp;diff=1072672"/>
		<updated>2010-10-25T16:09:44Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: [9:07]  Kelly Linden: JS: Add em to the end of the appropriate page - discussion or triage - and we will see where we get to.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add any topics you want to discuss at the next general scripting office hours below.&lt;br /&gt;
&lt;br /&gt;
Standing Topics:&lt;br /&gt;
* Updates on any scripting projects&lt;br /&gt;
&lt;br /&gt;
Suggested Topics:&lt;br /&gt;
* LSL library calls for mesh&lt;br /&gt;
* [[Talk:LSL Useful Function WishList#backwards-compatible ways to save typing or be more like C or Javascript]]&lt;br /&gt;
* [[Talk:Rotation#Useful snippets]] quaternion library improvements e.g. SLERP&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=370003</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=370003"/>
		<updated>2009-05-23T20:45:19Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Useful snippets */ please someone test this so I don&amp;#039;t stiff Jesrad any further&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
::I know it&#039;s a way late comment, but my guess is that it&#039;s the noticable side effect of LSL&#039;s backwards order of evaluation. we just don&#039;t notice it elsewhere because most other operations within lsl are communicative and quaternion math isn&#039;t.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:09, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
:missed this comment before. although it should be guessable that offset = gPosOffset, and rot6x = gRotArc, I went ahead and made the section more explicit, and converted it to use lsl highlighting (so that all keywords would be linked) and removed a few slightly misleading viewer frame references. &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:00, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm to the Useful snippets here, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;br /&gt;
::Hello, I went ahead and added three such functions: ConstrainQuaternion2Plane, ScaleQuaternion and CombineQuaternions (Slerp) though this last one already existed on the Wiki.--[[User:Jesrad Seraph|Jesrad Seraph]] 07:05, 17 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Pending fulfillment of my promise to pay Jesrad L$5000 -- and [http://wiki.secondlife.com/w/index.php?title=Rotation&amp;amp;diff=220643&amp;amp;oldid=167253 Mephistopheles Thalheimer can attest I keep my word on these bounty payments] -- could someone please independently verify that this function works as it should?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;// Constrain a rotation to a given plane, defined by its normal, this is very useful for vehicles that remain horizontal in turns:&lt;br /&gt;
rotation ConstrainQuat2Plane(rotation source, vector normal)&lt;br /&gt;
{&lt;br /&gt;
	return llAxisAngle2Rot(normal, &amp;lt;source.x, source.y, source.z&amp;gt; * normal * llRot2Angle(source));&lt;br /&gt;
} // Jesrad Seraph&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m very troubled by the use of the first three elements of the quaternion in that manner, but in all honestly, I don&#039;t know enough to figure out what a correct answer is. [[User:JS Uralia|JS Uralia]] 20:43, 23 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=369993</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=369993"/>
		<updated>2009-05-23T20:43:50Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Useful snippets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
::I know it&#039;s a way late comment, but my guess is that it&#039;s the noticable side effect of LSL&#039;s backwards order of evaluation. we just don&#039;t notice it elsewhere because most other operations within lsl are communicative and quaternion math isn&#039;t.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:09, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
:missed this comment before. although it should be guessable that offset = gPosOffset, and rot6x = gRotArc, I went ahead and made the section more explicit, and converted it to use lsl highlighting (so that all keywords would be linked) and removed a few slightly misleading viewer frame references. &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:00, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm to the Useful snippets here, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;br /&gt;
::Hello, I went ahead and added three such functions: ConstrainQuaternion2Plane, ScaleQuaternion and CombineQuaternions (Slerp) though this last one already existed on the Wiki.--[[User:Jesrad Seraph|Jesrad Seraph]] 07:05, 17 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Pending fulfillment of my promise -- and [https://wiki.secondlife.com/w/index.php?title=Rotation&amp;amp;diff=220643&amp;amp;oldid=167253 Mephistopheles Thalheimer can attest I keep my word on these bounty payments] -- could someone please independently verify that this function works as advertised?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;// Constrain a rotation to a given plane, defined by its normal, this is very useful for vehicles that remain horizontal in turns:&lt;br /&gt;
rotation ConstrainQuat2Plane(rotation source, vector normal)&lt;br /&gt;
{&lt;br /&gt;
	return llAxisAngle2Rot(normal, &amp;lt;source.x, source.y, source.z&amp;gt; * normal * llRot2Angle(source));&lt;br /&gt;
} // Jesrad Seraph&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m very troubled by the use of the first three elements of the quaternion in that manner, but don&#039;t know enough to figure out what a correct answer is supposed to look like. [[User:JS Uralia|JS Uralia]] 20:43, 23 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=279552</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=279552"/>
		<updated>2009-03-15T23:45:39Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* R */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}} [JIRA search inconclusive]&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}} - http://jira.secondlife.com/browse/SVC-1224&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
:&#039;&#039;Note: the letters &#039;R&#039; and &#039;S&#039; still need to be checked for JIRA links as of 23:45, 15 March 2009 (UTC)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* dynamic typing;&lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls.&lt;br /&gt;
&lt;br /&gt;
* operator declarations;&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [[Talk:Rotation#Useful_snippets|I&#039;ve offered L$5000 for enhancements to the rotation library]]. [[User:JS Uralia|JS Uralia]] 20:00, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=279542</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=279542"/>
		<updated>2009-03-15T23:44:42Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* P */ we already have a changed event bimask for llPosition_change, and llPizza is just silly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}} [JIRA search inconclusive]&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}} - http://jira.secondlife.com/browse/SVC-1224&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* dynamic typing;&lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls.&lt;br /&gt;
&lt;br /&gt;
* operator declarations;&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [[Talk:Rotation#Useful_snippets|I&#039;ve offered L$5000 for enhancements to the rotation library]]. [[User:JS Uralia|JS Uralia]] 20:00, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=279532</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=279532"/>
		<updated>2009-03-15T23:41:43Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* O */ no JIRA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}} [JIRA search inconclusive]&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* dynamic typing;&lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls.&lt;br /&gt;
&lt;br /&gt;
* operator declarations;&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [[Talk:Rotation#Useful_snippets|I&#039;ve offered L$5000 for enhancements to the rotation library]]. [[User:JS Uralia|JS Uralia]] 20:00, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=275402</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=275402"/>
		<updated>2009-03-12T20:08:41Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Useful/Joke Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:If you&#039;re sure it&#039;s stupid, it&#039;s okay to just remove it.  There&#039;s always the history if anyone disagrees with your opinion. [[User:JS Uralia|JS Uralia]] 20:08, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
:I annotated from letters &#039;A&#039;-&#039;N&#039; and &#039;T&#039;-&#039;Z&#039; but not the Other (non-function name) category below to which I placed some more proposed enhancements.  [[User:JS Uralia|JS Uralia]] 19:56, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275392</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275392"/>
		<updated>2009-03-12T20:04:07Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Other functionality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, letters &#039;O&#039; through &#039;S&#039; and &amp;quot;Other functionality&amp;quot; below still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* dynamic typing;&lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls.&lt;br /&gt;
&lt;br /&gt;
* operator declarations;&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [[Talk:Rotation#Useful_snippets|I&#039;ve offered L$5000 for enhancements to the rotation library]]. [[User:JS Uralia|JS Uralia]] 20:00, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275382</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275382"/>
		<updated>2009-03-12T20:00:47Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Other functionality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, letters &#039;O&#039; through &#039;S&#039; and &amp;quot;Other functionality&amp;quot; below still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls. &lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [[Talk:Rotation#Useful_snippets|I&#039;ve offered L$5000 for enhancements to the rotation library]]. [[User:JS Uralia|JS Uralia]] 20:00, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275372</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275372"/>
		<updated>2009-03-12T20:00:00Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Other functionality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, letters &#039;O&#039; through &#039;S&#039; and &amp;quot;Other functionality&amp;quot; below still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls. &lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [http://wiki.secondlife.com/wiki/Talk:Rotation#Useful_snippets I&#039;ve offered L$5000 for enhancements to the rotation library]; see the talk page for details. [[User:JS Uralia|JS Uralia]] 19:52, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275362</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275362"/>
		<updated>2009-03-12T19:57:33Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Other functionality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, letters &#039;O&#039; through &#039;S&#039; and &amp;quot;Other functionality&amp;quot; below still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls. &lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, [https://wiki.secondlife.com/wiki/Talk:Rotation#Useful_snippets I&#039;ve offered L$5000 for enhancements to the rotation library]; see the talk page for details. [[User:JS Uralia|JS Uralia]] 19:52, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=275352</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=275352"/>
		<updated>2009-03-12T19:56:39Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Links to PJIRA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
:I annotated from letters &#039;A&#039;-&#039;N&#039; and &#039;T&#039;-&#039;Z&#039; but not the Other (non-function name) category below to which I placed some more proposed enhancements.  [[User:JS Uralia|JS Uralia]] 19:56, 12 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275342</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275342"/>
		<updated>2009-03-12T19:52:26Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Other functionality */ copy from talk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, letters &#039;O&#039; through &#039;S&#039; and &amp;quot;Other functionality&amp;quot; below still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;br /&gt;
&lt;br /&gt;
* compound declarations, &amp;quot;integer i, j;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* declaration initialization, &amp;quot;integer i=1;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* a (set of?) pragma(s) which offer(s~) synonyms for functions without the &amp;quot;ll&amp;quot; and their C, C#, and Javascript short common names, if any; &lt;br /&gt;
&lt;br /&gt;
* double precision floating point; &lt;br /&gt;
&lt;br /&gt;
* long integers; &lt;br /&gt;
&lt;br /&gt;
* Mephistopheles Thalheimer suggests also:&lt;br /&gt;
** function overloads and &lt;br /&gt;
** classes with method calls. &lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour -- can the m4 macro preprocessor accomplish some of these tasks, too?&lt;br /&gt;
&lt;br /&gt;
Also, I&#039;ve offered L$5000 for enhancements to the rotation library; see the talk page for details. [[User:JS Uralia|JS Uralia]] 19:52, 12 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275332</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275332"/>
		<updated>2009-03-12T19:47:59Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* O */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, letters &#039;O&#039; through &#039;S&#039; and &amp;quot;Other functionality&amp;quot; below still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275322</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=275322"/>
		<updated>2009-03-12T19:47:11Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* O */ pass until I have more free time; thanks if you can help.  Don&amp;#039;t forget this page&amp;#039;s talk page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note, O-S still need to be searched for JIRA links as of 19:47, 12 March 2009 (UTC).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273563</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273563"/>
		<updated>2009-03-11T19:51:01Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot; as it should be a SVC request)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273553</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273553"/>
		<updated>2009-03-11T19:50:23Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* N */ JIRA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}} - http://jira.secondlife.com/browse/SVC-215&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273543</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273543"/>
		<updated>2009-03-11T19:49:57Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* I */ rm sp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273533</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273533"/>
		<updated>2009-03-11T19:49:31Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* L */ not a serious proposal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273523</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273523"/>
		<updated>2009-03-11T19:48:07Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* I */ JIRAs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}} - http://jira.secondlife.com/browse/VWR-273 (marked &amp;quot;Resolved/Misfiled&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}} - http://jira.secondlife.com/browse/SVC-3624&lt;br /&gt;
&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273513</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273513"/>
		<updated>2009-03-11T19:42:35Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* T */ JIRA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}}&lt;br /&gt;
&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}} - http://jira.secondlife.com/browse/SVC-212&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273423</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273423"/>
		<updated>2009-03-11T18:05:47Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* G */ JIRAs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}} - http://jira.secondlife.com/browse/SVC-58&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}} - also SVC-58 as above&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}} - &amp;lt;s&amp;gt;http://jira.secondlife.com/browse/SVC-1602&amp;lt;/s&amp;gt; (is this done?) and mentioned on http://jira.secondlife.com/browse/SVC-1633&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}} - http://jira.secondlife.com/browse/SVC-244&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}} - http://jira.secondlife.com/browse/SVC-1636&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}} - http://jira.secondlife.com/browse/SVC-2928 and http://jira.secondlife.com/browse/SVC-606 (duplicates?)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}} - http://jira.secondlife.com/browse/SVC-377&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}} - http://jira.secondlife.com/browse/SVC-224&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}} (this search brings up a misfiled JIRA)&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}} &lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}} - http://jira.secondlife.com/browse/SVC-1593&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}}&lt;br /&gt;
&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273243</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273243"/>
		<updated>2009-03-11T17:12:02Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* C */ JIRA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]] - http://jira.secondlife.com/browse/SVC-3116&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}}&lt;br /&gt;
&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273213</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=273213"/>
		<updated>2009-03-11T16:50:09Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* A */ JIRA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header|ml=*}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
NOTE: Please also add your feature requests to the [http://jira.secondlife.com/ JIRA] and create crosslinks between the wiki and the JIRA for voting, and assignment to projects.&lt;br /&gt;
&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]] - http://jira.secondlife.com/browse/SVC-244 &lt;br /&gt;
&lt;br /&gt;
[[llAddCameraView]]&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
llDetectedDrop?&lt;br /&gt;
&lt;br /&gt;
event: Dropped&lt;br /&gt;
&lt;br /&gt;
(To prevent spamming of objects with llAllowInvenoryDrop)&lt;br /&gt;
[[CHANGED_ALLOWED_DROP]]&lt;br /&gt;
&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
[[llChildPrims2List]]&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llForeach}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llFrandom&amp;lt;/s&amp;gt; use llFrand&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetAgentHealth}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetCreatorKey}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGender}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetGroupTitle}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetInventoryDesc}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetLinkPrimitiveParams}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPowerThirst}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetPrice}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
&lt;br /&gt;
==H==&lt;br /&gt;
{{LSLG|llHsv2Rgb}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidIntegerString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidFloatString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidVectorString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llIsValidRotationString}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|ignored}}&lt;br /&gt;
&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
{{LSLG|llMapTouch}}&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
&lt;br /&gt;
==O==&lt;br /&gt;
{{LSLG|llOnRegionReset}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|OverParcel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_error}}&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llParcelSay}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llPosition_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestClientData}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRgb2hsv}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llRequestPermissions(llGetOwner(), PERMISSION_REFUND);}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSameGroupOfficer}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSameGroupOwner}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetFaceText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkMotorParam}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCOG}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetNotecard}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelDetails}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetParcelFlags}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetLinkPrimitiveParams(PRIM_TEXTURE_ANIM_%26_PRIM_TEXT)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llStringUTF16ToUTF8}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetSunDirection}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetWaterMark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetCloudLevel}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSetTouch}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|stopwatch(float precision_time)}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llSayTo}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTargetOffsetOmega}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTeleportAgent}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTriggerLandmark}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|llTreeSystem}}&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
{{LSLG|llWriteToNotecard}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|State variables}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Object Orientation aka OOP or OO}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Various C++ aspects should be implemented in LSL, Classes, Switch Statements, pointers, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Receive instant messages}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|money transfer denied for stale Event}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nestable lists}}&lt;br /&gt;
&lt;br /&gt;
{{LSLG|Nesting of Child Prims in a Parent}}&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273203</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273203"/>
		<updated>2009-03-11T16:46:04Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* lslplus on sourceforge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge and rotation library bounty ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. Also, I&#039;ve offered [[Talk:Rotation#Useful_snippets|a standing offer of L$5000 for enhancements]] to the rotation library. [[User:JS Uralia|JS Uralia]] 16:46, 11 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273153</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273153"/>
		<updated>2009-03-11T16:22:41Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* lslplus on sourceforge */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== lslplus on sourceforge ==&lt;br /&gt;
&lt;br /&gt;
http://lslplus.sourceforge.net/ was just mentioned in Babbage&#039;s office hour. [[User:JS Uralia|JS Uralia]] 16:22, 11 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273143</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273143"/>
		<updated>2009-03-11T16:19:39Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* backwards-compatible ways to save typing or be more like C or Javascript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes. [[User:JS Uralia|JS Uralia]] 16:19, 11 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273133</id>
		<title>Talk:LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LSL_Useful_Function_WishList&amp;diff=273133"/>
		<updated>2009-03-11T16:15:12Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* backwards-compatible ways to save typing or be more like C or Javascript */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful/Joke Functions ==&lt;br /&gt;
I have been noticing that some of the &amp;quot;feature request&amp;quot; functions are here only as documentation of a funny idea someone had.  IMHO these joke functions (and some are really funny, don&#039;t get me wrong,) should be organized into a different category/page.  That would allow for less clutter and make it more likely that useful suggestions would be seen by the eyes of those who have tha ability to implement them.  Does anyone else concur or disagree? [[User:Cron Stardust|Cron Stardust]] 15:52, 4 March 2007 (PST)&lt;br /&gt;
:I really really don&#039;t like joke functions. I don&#039;t think they should be on the wiki at all. It&#039;s not that I don&#039;t appreciate humor, it&#039;s just that I don&#039;t want LL wasting their time processing requests for joke functions. If we treat things like a joke, then LL will not take the wiki seriously; the effect will be a loss of influence. [[User:Strife Onizuka|Strife Onizuka]] 21:04, 4 March 2007 (PST)&lt;br /&gt;
::That was why I suggested a different page/template for them.  No-one can prevent them being added, but why have them dilute this space when they can be put in a slightly different category. :D [[User:Cron Stardust|Cron Stardust]] 21:29, 4 March 2007 (PST)&lt;br /&gt;
:::I&#039;ll make up a new modifier-template, it&#039;s not a time consuming task. Or maybe, make it a mode of the request template. [[User:Strife Onizuka|Strife Onizuka]] 22:28, 4 March 2007 (PST)&lt;br /&gt;
:My &amp;quot;llPizza&amp;quot; is nearly both.  If we had to remove humor to achieve better focus I&#039;m all for it.  However I would welcome the idea of two separate areas.  We are talking about a program with an easter egg of &amp;quot;hippos&amp;quot;. I think humor is a huge part of Second Life.[[User:Blueman Steele|Blueman Steele]]&lt;br /&gt;
I agree... I just read through all of the requests and there are quite a few jokes and a lot of requests duplicating functions that already exist. Should we clean this up in the hopes that the folks at LL will take a more serious look at the requests that remain?[[User:GC Continental|GC Continental]]&lt;br /&gt;
&lt;br /&gt;
Sad fact is that many of the functions being requested are not jokes but stupid ideals. Maybe we should make a Stupid function category and flag them as such. --[[User:Destiny Niles|Destiny Niles]] 14:20, 9 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should llGet... be in the same category as &amp;quot;llG...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
If you look under &amp;quot;G&amp;quot; in the list you will see that they are all llGet... functions. Seeing as how most of the functions starting with llG are llGet functions in LSL then why not separate them completely or in a sub category. In addition should we do this to llSet... functions? --[[User:TxMasterG Ping|TxMasterG Ping]] 17:28, 20 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Links to PJIRA ==&lt;br /&gt;
I am for cleaning some of the functions up as far as duplicate functions go (I don&#039;t mind joke requests since some valid changes can start from joking about issues). I do think every function listed should have a feature request on the PJIRA and a link between the two. Is it possible to put something easy in the template to create this connection? I&#039;m just going to add links where I can find them.&lt;br /&gt;
&lt;br /&gt;
== Rules for Posting ==&lt;br /&gt;
I am thinking we should add one rule for posting: only functions that can not be implemented in LSL, or would be very difficult to implement in LSL, or would be significantly faster if it was added as a function, should be asked for. This means, don&#039;t ask for a function such as llGetOwnerName(), as it is possible to just do llKey2Name(llGetOwner()). However, while it is possible, asking for a SHA1 or SHA2 hash would be reasonable for two reasons: first, it is difficult to write code for them; and second, the speed of SHA in LSL is incredibly slow. Asking for the ability to call &amp;quot;someList[5]&amp;quot; would be acceptable, as there is no way to write a function to do that in LSL. This is only and idea - and I&#039;d like to hear comments on what others think.  -[[User:Xaviar Czervik|Xaviar Czervik]] 23:35, 22 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== backwards-compatible ways to save typing or be more like C or Javascript ==&lt;br /&gt;
&lt;br /&gt;
(1) compound declarations, &amp;quot;integer i, j;&amp;quot; (2) declaration initialization, &amp;quot;integer i=1;&amp;quot; (3) Brackets for list index access, &amp;quot;l[5]=5;&amp;quot; (4) a pragma which offers synonyms for functions without the &amp;quot;ll&amp;quot; and/or their C or Javascript short common names, if any; (5) double precision floating point; (6) long integers; and Mephistopheles Thalheimer suggests also: (7) function overloads; and (8) classes&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=221763</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=221763"/>
		<updated>2009-02-02T21:18:23Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Useful snippets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm to the Useful snippets here, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=221753</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=221753"/>
		<updated>2009-02-02T21:18:04Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Useful snippets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm] to the Useful snippets here, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=221743</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=221743"/>
		<updated>2009-02-02T21:17:46Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Useful snippets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm] to the useful snippets, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=188683</id>
		<title>User talk:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=188683"/>
		<updated>2008-12-30T03:43:10Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Notecard campaign to M Linden */ fix for distribution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:User:Zai_Lynch/Award}}You found my talk page... Find old discussions at: [[User:Strife_Onizuka/Talkpage_Archive_01]]&lt;br /&gt;
&lt;br /&gt;
== Question about [[Template:Multi-lang]] ==&lt;br /&gt;
Heyas =)&amp;lt;br&amp;gt;&lt;br /&gt;
I was trying to add the new &#039;&#039;version&#039;&#039; feature to the [[Template:Help/de|help template]] and stumbled upon a difficulty where I hoped you could help me with... I made a testpage at [[User:Zai Lynch/Sandbox/MLtest/de]] but it acts weird... when i make a change to [[User:Zai_Lynch/Sandbox/MLtest/version]] then the box is displayed at the test page. When I just edit and save the test page (without changing anything) it eats up the language bar. It acts somehow unexpectedly/random. I don&#039;t really know why it is... (o.O) Any ideas?&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 19:42, 5 November 2008 (UTC)&lt;br /&gt;
:I&#039;ll take a look at the template and fidget with it. No ideas come to mind. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:00, 5 November 2008 (UTC)&lt;br /&gt;
::Kewl, thx! :-)&lt;br /&gt;
::And I&#039;ll go to bed as early as 9PM for the first time in ages (o.O) gotta be ill... ^^&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;sleepy* [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:07, 5 November 2008 (UTC)&lt;br /&gt;
:hm... the bug seems to be very strange. And it isn&#039;t part of the template.&lt;br /&gt;
:Please try the following and tell me what you see:&lt;br /&gt;
:*Log out of the Wiki and then browse to [[Quickie_Wiki_Intro/Usercategories]] (or [[User:Zai_Lynch/Sandbox/MLtest/de]]). Notice: there is a language bar on top&lt;br /&gt;
:*Log in the Wiki and look at the same page. Notice: Language bar is gone.&lt;br /&gt;
:*Edit the article and preview. Notice: Language bar is visible in preview.&lt;br /&gt;
:*Save the article. Notice: Language bar is gone again.&lt;br /&gt;
:*Go to [[Special:Preferences]] and change the interface language (to German, for example). Notice: The language bar is visible...&lt;br /&gt;
:*Change the language back to English. Notice: The language bar is gone again...&lt;br /&gt;
:o.O [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 07:47, 6 November 2008 (UTC)&lt;br /&gt;
::Had to sacrifice a (unused) feature but it&#039;s working now. Weird bug nevertheless... Sorry for spamming&lt;br /&gt;
::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 02:16, 7 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== grid list ==&lt;br /&gt;
&lt;br /&gt;
Strife, I was wondering if you&#039;d mind if I took the idea from the grids and downloads list that you have and turned it into a template since I know of a few places (my userpage for one :) ) where it could be useful and I didn&#039;t just want to copy off the code especially without your permission. [[User:Gordon Wendt|Gordon Wendt]] 16:34, 6 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Do what you want with it, I didn&#039;t put it in the global space because...&lt;br /&gt;
:*Make changes without having to fix what it breaks.&lt;br /&gt;
:*Unsure about who would want to use it.&lt;br /&gt;
:*Didn&#039;t want to fix my content when others changed it.&lt;br /&gt;
:To recap, you are welcome to reuse the code. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:24, 6 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LSL Category Localization Template ==&lt;br /&gt;
&lt;br /&gt;
Heyas! =)&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s me again... I wanted to ask for feedback/input on these two templates: [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/de|German]], [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/fr|French]].&amp;lt;br&amp;gt; It would be supposed to easily provide unified localized LSL cats so translators wouldn&#039;t accidentally connect an article to a wrong category when they&#039;d choose another translation for the same word. I implemented a small test version in [[Template:LSL Function/de]], [[Template:LSL Event/de]], [[Template:LSL Constant/de]], [[Template:LSLC/de]] and [[Template:LSLGC/de]]. I tried about 5 different ways of implementing the template itself (without database-slaves) but they all failed due to either wiki limitations or parser function bugs (it worked well in the sandbox wiki). I&#039;d like to try it in the German localization (can&#039;t break much content there at the moment...) and in case it works out fine, Gally would be willing to help me for the French implementation. Do you have any objections against the template (could it break something? slow the wiki down?) or input, thoughts, ...? Are there more templates besides the 5 I already altered, where I should pay attention to?&amp;lt;br&amp;gt;&lt;br /&gt;
Greetz, [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 00:35, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve given a lot of thought to slaves in the past (there was a time I wanted a centralized function/constant/event description lookup for the &amp;quot;Also...&amp;quot; section). The correct way to implement them is to have a slave for each letter, the advantage is that slaves can have slaves. If implemented properly the cost is very small. The problem however is that you have to be conscious of the format. If you want to change the format you have to change the entire DB. I believe the best solution is to version each of the entries. Now at this point you need to take a step back and ask &amp;quot;Am I reinventing the wheel?&amp;quot; And the answer is &amp;quot;Yes&amp;quot;. Essentially what you want is a database where you can feed it a key and get the stored value pair.&lt;br /&gt;
&lt;br /&gt;
:There is of course another solution to this problem. Make all the Categories smart so they can be included (like the PRIM_* flags), and pass it a parameter that tells it to only return the foreign language category name you specify OR you could make a subpage like we do for the translation version (which would be really smart) and just have the lookup table there.&lt;br /&gt;
&lt;br /&gt;
:Anywho there are my initial thoughts on this. Last time I checked MW executes both sides of a conditional, so you need to make it so what is inside the conditional is not the template but just the name of the template (so it only executes text and not a template). -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:42, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Thx for the feedback =)&lt;br /&gt;
::@Slaves: I didn&#039;t wanted to use any slaves for this. My goal was, to have all translations stored on one page so that only that one needed to be localized. Unfortunatly, the else-if chain exceeded the maximum depth allowed by the mediawiki. So I tried to break the chain into two chains and store a variable value in case the first chain didn&#039;t give a result, so the second chain starts. This [http://wiki.zeitenwerk.de/index.php/Template:LSL_Cat_L10n/de works in the sandbox] but not over here due to [[Help:Known_caveats_in_parser_functions|the nasty bug you mentioned as well]]. I also tried a recursive process where the template called itself with a value but the Wiki complained again (it doesn&#039;t like loops...). After two other work arounds failed too, I had to create the slaves to do the job... But I&#039;m not really happy with that solution since it splits my database into 2. Splitting it further (for every letter) would erase one of the benefits: easy localization. I think the database (around 100 terms in worst case, usually less cause not all terms need a translation) is to small to justify that.&lt;br /&gt;
::The smart cat version is a way I thought about too (and Gally had a similar idea to unify categories on translated subpages), but the problem with it would be again that it is a decentralized implementation. Someone who wants to begin with a new translation of the portal would have to edit all smart-cat pages instead of only one (or two) database pages. So I would consider this method in case it notably decreases the load on the Wiki. I don&#039;t know how computationally intensive it is for the Wiki to check the current database slaves. In case it&#039;s to much, I&#039;d like the subpage-lookup best. With some preperation (collecting translations for more than one language, like done with the [[Mentor_Linguist_Scribe_Translation_Project/HP_L10N|HP L10n]]) and then add them all when we got maybe 5 or 6 languages.&lt;br /&gt;
::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 17:03, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::You would actually want to use &amp;quot;switch&amp;quot; instead of &amp;quot;ifeq&amp;quot;, that said, you don&#039;t want to have a huge switch statement, it&#039;s not good for the wiki. Huge templates take a long time to execute (take a look at the templates on [[LSO]], they take so long to rebuild that the connection times out and the wiki has a fit). Anyway you cut it, to add a new language would require duplicating the slave DB. It would not be fun. You may gain some centralization by having the Slave DB but to keep it from bringing the wiki to it&#039;s knees you won&#039;t have much. If we decide to forgo the centralization altogether and go with a system like the article versioning, we can solve several problems all at once that would have popped up as a result of having it in a DB. If we do it properly we can set it up like multi-lang with the articles in need of translation. Sure it would be a bear to setup for each language but the alternatives just don&#039;t scale or require maintenance to allow it to scale. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:25, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Just to make sure that we&#039;re on the same page: I meant one DB (or X slaves) for each language. Not one DB for all languages. The German templates would only call the German DB, French only French, etc. So the maximum else-if depth got an upper bound at the count of LSL cats (worst case, when every cat has a translation other than cat/ISO-CODE) which seems to be something between 100 and 110.&lt;br /&gt;
::::That beeing said, I got to agree about the [[LSO]] article. I also checked the L10n lookup database and got to say that it needs like forever to load... Might be since I included it a hundret times in the table to verify that all translations work right and (since most of the translations are missing) it needs to run the else-if chain till the end. So it would only be included about 4 times on an average article I guess. Load would then be roughly ((current load)/100)*4 + (load of other templates). &lt;br /&gt;
::::So I think we&#039;ll go with the smart-cat-subpage-lookup? I&#039;d then need a complete list of LSL cats to hand them out to linguists to translate. I &#039;&#039;think&#039;&#039; the [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/de|table]] should be complete but I&#039;m not 100% sure. For implementation we&#039;d need to take care of the input format. French translations use &amp;quot;cat/fr&amp;quot; as input while Japanese and German translations just use &amp;quot;cat&amp;quot;. So we&#039;d either need to add these differences at the subpages (bad imho) or make the template unify the input before passing it to the lookup (better imho).&lt;br /&gt;
::::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:46, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::It won&#039;t be ((current load)/100)*4 + (load of other templates), it will be (current load)*4 + (load of other templates); there is no speed gain to my knowledge to a big switch statement (that I know of), it&#039;s O(N), not O(1). You probably don&#039;t want more than 25 items per slave, properly configured, it won&#039;t be much more costly then the slaves. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:27, 23 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::Currently, the template is included about 100 times in the table. At an average article, it would be only included maybe 3, 4 or 5 times. So it would be ((the load of the 100 includes table) / 100) * (number of inclusions in the article). That is what I meant. Not the else-if depth or the switch. &lt;br /&gt;
::::::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:37, 23 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
Ouch, I hope you get yourself setup soon with a new job and computer, your a valuable member of the community and it would be somewhat depressing to lose you. I wish you good luck. --[[User:Nexii Malthus|Nexii Malthus]] 10:53, 30 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
What Nexii said... *adds home, job and PC to Santa&#039;s list for Strife, as well as a four leaf clover and a fresh polished horseshoe for the x-tra boost of luck*&amp;lt;br&amp;gt;[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 13:37, 30 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:It all basically means I can&#039;t write scripts, login to SL or do much template work (alignment gets funky at smaller than 100% zoom). -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:31, 1 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
take care... (o.O) hope you&#039;re one of [http://www.xkcd.com/466/ them] and we&#039;ll have you back soon. *hugz*&amp;lt;br&amp;gt;[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:57, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
: *Borrows a computer* for the moment things are ok, after the holidays things will be a mess... *hugs* -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 17:04, 22 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Geek Award ==&lt;br /&gt;
LOL. That really makes my day. As to the inspiration... I got sick of having to manually double embed templates to avoid the call cost. I had been wanting a null/empty template so I could have an if on the template name and so nothing would get included... but then I&#039;m like, why not a variable template? So I start to write it and I&#039;m then like? What to name it... I know &amp;quot;Template&amp;quot;. On review though, the null/empty template is the better idea. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 21:44, 10 December 2008 (UTC)&lt;br /&gt;
:Glad you like it (^_^)&lt;br /&gt;
:Can you explain why an empty template is reducing the load on the Wiki when you call it with a parser function as an argument? Has it got something to do with {{Jira|WEB-896}}?&lt;br /&gt;
:[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:45, 10 December 2008 (UTC)&lt;br /&gt;
::Yep it has to do with {{Jira|WEB-896}}. Say you had the following code but you wanted it conditional:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ugly|ugly param1|ugly param2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::The easy thing would be to just wrap it:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{{test|}}}|{{ugly|ugly param1|ugly param2}}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::The problem is, Template:Ugly gets evaluated (and it effects #vars).&lt;br /&gt;
::Lets look at this solution:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{{#if:{{{test|}}}|ugly|/dev/null}}|ugly param1|ugly param2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::By putting the conditional around the name of the template, when the test fails it evaluates Template:/dev/null ... which does nothing, and with MediaWiki 1.12 template parameters aren&#039;t evaluated until they are first used by the template; so in this case, they are never evaluated. It gets us around the ugly problem of conditional templates getting called needlessly.&lt;br /&gt;
&lt;br /&gt;
::Historically I&#039;ve used Template:! instead of /dev/null, for the only reason I hadn&#039;t gotten around to making the /dev/null template. This of course had it&#039;s own problems (specifically that it inserted a | (pipe character)). I&#039;ll probably start converting things over to /dev/null when I do template updates.&lt;br /&gt;
&lt;br /&gt;
::P.S. You nailed it on the head though, Template:Template is the result of me giving into my more nerdy tendencies. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 23:49, 10 December 2008 (UTC)&lt;br /&gt;
:::Oh I get it. Is really a pretty creative work around! [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 03:01, 11 December 2008 (UTC)&lt;br /&gt;
Haha, nice award. Template:Template is definitely something interesting. --[[User:Nexii Malthus|Nexii Malthus]] 02:11, 11 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Widgets ==&lt;br /&gt;
&lt;br /&gt;
[[User:Kuraiko Yoshikawa|Kuraiko]] added the [http://www.mediawiki.org/wiki/Extension:Widgets widgets extension] to [http://wiki.zeitenwerk.de our sandbox] and added [http://wiki.zeitenwerk.de/index.php/User:BlindWanderer your account] to the widget editors group. So if you&#039;d like to play arround with widgets in a sandboxed SLwiki-like environment in order to develop some for this Wiki, you can have a look there when you&#039;re back and got time and so... Keep in mind that parser functions are acting slightly different, but the rest should be the same and the content isn&#039;t so much outdated (maybe a few month old). Have fun =)&amp;lt;br&amp;gt;I hope it will all turn out well for you soon... oh btw: you got mail. Outdated though.&amp;lt;br&amp;gt;Greetz, [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 02:10, 23 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Notecard campaign to M Linden ==&lt;br /&gt;
&lt;br /&gt;
I have been distributing this notecard:&lt;br /&gt;
&lt;br /&gt;
 [If you agree, please remove this line, replace the signature below, and send to M]&lt;br /&gt;
 &lt;br /&gt;
 M, &lt;br /&gt;
 &lt;br /&gt;
 Please hire Strife Onizuka; please read his user page: &lt;br /&gt;
 &lt;br /&gt;
  http://wiki.secondlife.com/wiki/User:Strife_Onizuka&lt;br /&gt;
 &lt;br /&gt;
 I don&#039;t know him personally, only through his volunteer work,&lt;br /&gt;
 and I&#039;m not related to him or interested in this financially.&lt;br /&gt;
 &lt;br /&gt;
 Would you please ask the Lindens in the HR department to read&lt;br /&gt;
 https://wiki.secondlife.com/wiki/User:Strife_Onizuka and see if&lt;br /&gt;
 he&#039;s ever applied, and if not, invite him to using his email&lt;br /&gt;
 address on file, and if so, resubmit him to jobs&lt;br /&gt;
 http://lindenlab.hrmdirect.com/employment/view.php?req=27066 and &lt;br /&gt;
 http://lindenlab.hrmdirect.com/employment/view.php?req=26066 ?&lt;br /&gt;
 &lt;br /&gt;
 Thank you.&lt;br /&gt;
 &lt;br /&gt;
 JS Uralia&lt;br /&gt;
[[User:JS Uralia|JS Uralia]] 03:26, 30 December 2008 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=188673</id>
		<title>User talk:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=188673"/>
		<updated>2008-12-30T03:36:23Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Notecard campaign to M Linden */ fix duplicate job URLs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:User:Zai_Lynch/Award}}You found my talk page... Find old discussions at: [[User:Strife_Onizuka/Talkpage_Archive_01]]&lt;br /&gt;
&lt;br /&gt;
== Question about [[Template:Multi-lang]] ==&lt;br /&gt;
Heyas =)&amp;lt;br&amp;gt;&lt;br /&gt;
I was trying to add the new &#039;&#039;version&#039;&#039; feature to the [[Template:Help/de|help template]] and stumbled upon a difficulty where I hoped you could help me with... I made a testpage at [[User:Zai Lynch/Sandbox/MLtest/de]] but it acts weird... when i make a change to [[User:Zai_Lynch/Sandbox/MLtest/version]] then the box is displayed at the test page. When I just edit and save the test page (without changing anything) it eats up the language bar. It acts somehow unexpectedly/random. I don&#039;t really know why it is... (o.O) Any ideas?&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 19:42, 5 November 2008 (UTC)&lt;br /&gt;
:I&#039;ll take a look at the template and fidget with it. No ideas come to mind. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:00, 5 November 2008 (UTC)&lt;br /&gt;
::Kewl, thx! :-)&lt;br /&gt;
::And I&#039;ll go to bed as early as 9PM for the first time in ages (o.O) gotta be ill... ^^&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;sleepy* [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:07, 5 November 2008 (UTC)&lt;br /&gt;
:hm... the bug seems to be very strange. And it isn&#039;t part of the template.&lt;br /&gt;
:Please try the following and tell me what you see:&lt;br /&gt;
:*Log out of the Wiki and then browse to [[Quickie_Wiki_Intro/Usercategories]] (or [[User:Zai_Lynch/Sandbox/MLtest/de]]). Notice: there is a language bar on top&lt;br /&gt;
:*Log in the Wiki and look at the same page. Notice: Language bar is gone.&lt;br /&gt;
:*Edit the article and preview. Notice: Language bar is visible in preview.&lt;br /&gt;
:*Save the article. Notice: Language bar is gone again.&lt;br /&gt;
:*Go to [[Special:Preferences]] and change the interface language (to German, for example). Notice: The language bar is visible...&lt;br /&gt;
:*Change the language back to English. Notice: The language bar is gone again...&lt;br /&gt;
:o.O [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 07:47, 6 November 2008 (UTC)&lt;br /&gt;
::Had to sacrifice a (unused) feature but it&#039;s working now. Weird bug nevertheless... Sorry for spamming&lt;br /&gt;
::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 02:16, 7 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== grid list ==&lt;br /&gt;
&lt;br /&gt;
Strife, I was wondering if you&#039;d mind if I took the idea from the grids and downloads list that you have and turned it into a template since I know of a few places (my userpage for one :) ) where it could be useful and I didn&#039;t just want to copy off the code especially without your permission. [[User:Gordon Wendt|Gordon Wendt]] 16:34, 6 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Do what you want with it, I didn&#039;t put it in the global space because...&lt;br /&gt;
:*Make changes without having to fix what it breaks.&lt;br /&gt;
:*Unsure about who would want to use it.&lt;br /&gt;
:*Didn&#039;t want to fix my content when others changed it.&lt;br /&gt;
:To recap, you are welcome to reuse the code. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:24, 6 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LSL Category Localization Template ==&lt;br /&gt;
&lt;br /&gt;
Heyas! =)&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s me again... I wanted to ask for feedback/input on these two templates: [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/de|German]], [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/fr|French]].&amp;lt;br&amp;gt; It would be supposed to easily provide unified localized LSL cats so translators wouldn&#039;t accidentally connect an article to a wrong category when they&#039;d choose another translation for the same word. I implemented a small test version in [[Template:LSL Function/de]], [[Template:LSL Event/de]], [[Template:LSL Constant/de]], [[Template:LSLC/de]] and [[Template:LSLGC/de]]. I tried about 5 different ways of implementing the template itself (without database-slaves) but they all failed due to either wiki limitations or parser function bugs (it worked well in the sandbox wiki). I&#039;d like to try it in the German localization (can&#039;t break much content there at the moment...) and in case it works out fine, Gally would be willing to help me for the French implementation. Do you have any objections against the template (could it break something? slow the wiki down?) or input, thoughts, ...? Are there more templates besides the 5 I already altered, where I should pay attention to?&amp;lt;br&amp;gt;&lt;br /&gt;
Greetz, [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 00:35, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve given a lot of thought to slaves in the past (there was a time I wanted a centralized function/constant/event description lookup for the &amp;quot;Also...&amp;quot; section). The correct way to implement them is to have a slave for each letter, the advantage is that slaves can have slaves. If implemented properly the cost is very small. The problem however is that you have to be conscious of the format. If you want to change the format you have to change the entire DB. I believe the best solution is to version each of the entries. Now at this point you need to take a step back and ask &amp;quot;Am I reinventing the wheel?&amp;quot; And the answer is &amp;quot;Yes&amp;quot;. Essentially what you want is a database where you can feed it a key and get the stored value pair.&lt;br /&gt;
&lt;br /&gt;
:There is of course another solution to this problem. Make all the Categories smart so they can be included (like the PRIM_* flags), and pass it a parameter that tells it to only return the foreign language category name you specify OR you could make a subpage like we do for the translation version (which would be really smart) and just have the lookup table there.&lt;br /&gt;
&lt;br /&gt;
:Anywho there are my initial thoughts on this. Last time I checked MW executes both sides of a conditional, so you need to make it so what is inside the conditional is not the template but just the name of the template (so it only executes text and not a template). -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:42, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Thx for the feedback =)&lt;br /&gt;
::@Slaves: I didn&#039;t wanted to use any slaves for this. My goal was, to have all translations stored on one page so that only that one needed to be localized. Unfortunatly, the else-if chain exceeded the maximum depth allowed by the mediawiki. So I tried to break the chain into two chains and store a variable value in case the first chain didn&#039;t give a result, so the second chain starts. This [http://wiki.zeitenwerk.de/index.php/Template:LSL_Cat_L10n/de works in the sandbox] but not over here due to [[Help:Known_caveats_in_parser_functions|the nasty bug you mentioned as well]]. I also tried a recursive process where the template called itself with a value but the Wiki complained again (it doesn&#039;t like loops...). After two other work arounds failed too, I had to create the slaves to do the job... But I&#039;m not really happy with that solution since it splits my database into 2. Splitting it further (for every letter) would erase one of the benefits: easy localization. I think the database (around 100 terms in worst case, usually less cause not all terms need a translation) is to small to justify that.&lt;br /&gt;
::The smart cat version is a way I thought about too (and Gally had a similar idea to unify categories on translated subpages), but the problem with it would be again that it is a decentralized implementation. Someone who wants to begin with a new translation of the portal would have to edit all smart-cat pages instead of only one (or two) database pages. So I would consider this method in case it notably decreases the load on the Wiki. I don&#039;t know how computationally intensive it is for the Wiki to check the current database slaves. In case it&#039;s to much, I&#039;d like the subpage-lookup best. With some preperation (collecting translations for more than one language, like done with the [[Mentor_Linguist_Scribe_Translation_Project/HP_L10N|HP L10n]]) and then add them all when we got maybe 5 or 6 languages.&lt;br /&gt;
::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 17:03, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::You would actually want to use &amp;quot;switch&amp;quot; instead of &amp;quot;ifeq&amp;quot;, that said, you don&#039;t want to have a huge switch statement, it&#039;s not good for the wiki. Huge templates take a long time to execute (take a look at the templates on [[LSO]], they take so long to rebuild that the connection times out and the wiki has a fit). Anyway you cut it, to add a new language would require duplicating the slave DB. It would not be fun. You may gain some centralization by having the Slave DB but to keep it from bringing the wiki to it&#039;s knees you won&#039;t have much. If we decide to forgo the centralization altogether and go with a system like the article versioning, we can solve several problems all at once that would have popped up as a result of having it in a DB. If we do it properly we can set it up like multi-lang with the articles in need of translation. Sure it would be a bear to setup for each language but the alternatives just don&#039;t scale or require maintenance to allow it to scale. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:25, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Just to make sure that we&#039;re on the same page: I meant one DB (or X slaves) for each language. Not one DB for all languages. The German templates would only call the German DB, French only French, etc. So the maximum else-if depth got an upper bound at the count of LSL cats (worst case, when every cat has a translation other than cat/ISO-CODE) which seems to be something between 100 and 110.&lt;br /&gt;
::::That beeing said, I got to agree about the [[LSO]] article. I also checked the L10n lookup database and got to say that it needs like forever to load... Might be since I included it a hundret times in the table to verify that all translations work right and (since most of the translations are missing) it needs to run the else-if chain till the end. So it would only be included about 4 times on an average article I guess. Load would then be roughly ((current load)/100)*4 + (load of other templates). &lt;br /&gt;
::::So I think we&#039;ll go with the smart-cat-subpage-lookup? I&#039;d then need a complete list of LSL cats to hand them out to linguists to translate. I &#039;&#039;think&#039;&#039; the [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/de|table]] should be complete but I&#039;m not 100% sure. For implementation we&#039;d need to take care of the input format. French translations use &amp;quot;cat/fr&amp;quot; as input while Japanese and German translations just use &amp;quot;cat&amp;quot;. So we&#039;d either need to add these differences at the subpages (bad imho) or make the template unify the input before passing it to the lookup (better imho).&lt;br /&gt;
::::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:46, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::It won&#039;t be ((current load)/100)*4 + (load of other templates), it will be (current load)*4 + (load of other templates); there is no speed gain to my knowledge to a big switch statement (that I know of), it&#039;s O(N), not O(1). You probably don&#039;t want more than 25 items per slave, properly configured, it won&#039;t be much more costly then the slaves. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:27, 23 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::Currently, the template is included about 100 times in the table. At an average article, it would be only included maybe 3, 4 or 5 times. So it would be ((the load of the 100 includes table) / 100) * (number of inclusions in the article). That is what I meant. Not the else-if depth or the switch. &lt;br /&gt;
::::::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:37, 23 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
Ouch, I hope you get yourself setup soon with a new job and computer, your a valuable member of the community and it would be somewhat depressing to lose you. I wish you good luck. --[[User:Nexii Malthus|Nexii Malthus]] 10:53, 30 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
What Nexii said... *adds home, job and PC to Santa&#039;s list for Strife, as well as a four leaf clover and a fresh polished horseshoe for the x-tra boost of luck*&amp;lt;br&amp;gt;[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 13:37, 30 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:It all basically means I can&#039;t write scripts, login to SL or do much template work (alignment gets funky at smaller than 100% zoom). -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:31, 1 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
take care... (o.O) hope you&#039;re one of [http://www.xkcd.com/466/ them] and we&#039;ll have you back soon. *hugz*&amp;lt;br&amp;gt;[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:57, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
: *Borrows a computer* for the moment things are ok, after the holidays things will be a mess... *hugs* -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 17:04, 22 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Geek Award ==&lt;br /&gt;
LOL. That really makes my day. As to the inspiration... I got sick of having to manually double embed templates to avoid the call cost. I had been wanting a null/empty template so I could have an if on the template name and so nothing would get included... but then I&#039;m like, why not a variable template? So I start to write it and I&#039;m then like? What to name it... I know &amp;quot;Template&amp;quot;. On review though, the null/empty template is the better idea. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 21:44, 10 December 2008 (UTC)&lt;br /&gt;
:Glad you like it (^_^)&lt;br /&gt;
:Can you explain why an empty template is reducing the load on the Wiki when you call it with a parser function as an argument? Has it got something to do with {{Jira|WEB-896}}?&lt;br /&gt;
:[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:45, 10 December 2008 (UTC)&lt;br /&gt;
::Yep it has to do with {{Jira|WEB-896}}. Say you had the following code but you wanted it conditional:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ugly|ugly param1|ugly param2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::The easy thing would be to just wrap it:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{{test|}}}|{{ugly|ugly param1|ugly param2}}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::The problem is, Template:Ugly gets evaluated (and it effects #vars).&lt;br /&gt;
::Lets look at this solution:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{{#if:{{{test|}}}|ugly|/dev/null}}|ugly param1|ugly param2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::By putting the conditional around the name of the template, when the test fails it evaluates Template:/dev/null ... which does nothing, and with MediaWiki 1.12 template parameters aren&#039;t evaluated until they are first used by the template; so in this case, they are never evaluated. It gets us around the ugly problem of conditional templates getting called needlessly.&lt;br /&gt;
&lt;br /&gt;
::Historically I&#039;ve used Template:! instead of /dev/null, for the only reason I hadn&#039;t gotten around to making the /dev/null template. This of course had it&#039;s own problems (specifically that it inserted a | (pipe character)). I&#039;ll probably start converting things over to /dev/null when I do template updates.&lt;br /&gt;
&lt;br /&gt;
::P.S. You nailed it on the head though, Template:Template is the result of me giving into my more nerdy tendencies. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 23:49, 10 December 2008 (UTC)&lt;br /&gt;
:::Oh I get it. Is really a pretty creative work around! [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 03:01, 11 December 2008 (UTC)&lt;br /&gt;
Haha, nice award. Template:Template is definitely something interesting. --[[User:Nexii Malthus|Nexii Malthus]] 02:11, 11 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Widgets ==&lt;br /&gt;
&lt;br /&gt;
[[User:Kuraiko Yoshikawa|Kuraiko]] added the [http://www.mediawiki.org/wiki/Extension:Widgets widgets extension] to [http://wiki.zeitenwerk.de our sandbox] and added [http://wiki.zeitenwerk.de/index.php/User:BlindWanderer your account] to the widget editors group. So if you&#039;d like to play arround with widgets in a sandboxed SLwiki-like environment in order to develop some for this Wiki, you can have a look there when you&#039;re back and got time and so... Keep in mind that parser functions are acting slightly different, but the rest should be the same and the content isn&#039;t so much outdated (maybe a few month old). Have fun =)&amp;lt;br&amp;gt;I hope it will all turn out well for you soon... oh btw: you got mail. Outdated though.&amp;lt;br&amp;gt;Greetz, [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 02:10, 23 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Notecard campaign to M Linden ==&lt;br /&gt;
&lt;br /&gt;
I have been distributing this notecard:&lt;br /&gt;
&lt;br /&gt;
 [If you agree, please remove this line, replace the signature below, and send to M]&lt;br /&gt;
 &lt;br /&gt;
 M, &lt;br /&gt;
 &lt;br /&gt;
 Please hire Strife Onizuka; please read his user page: &lt;br /&gt;
 &lt;br /&gt;
  http://wiki.secondlife.com/wiki/User:Strife_Onizuka&lt;br /&gt;
 &lt;br /&gt;
 I don&#039;t know him personally, only through his volunteer work,&lt;br /&gt;
 and I&#039;m not related to him or interested in this any other&lt;br /&gt;
 way than what I told Amber Linden at her volunteers office&lt;br /&gt;
 hour this morning.&lt;br /&gt;
 &lt;br /&gt;
 Would you please ask the Lindens in the HR department to read&lt;br /&gt;
 https://wiki.secondlife.com/wiki/User:Strife_Onizuka and see if&lt;br /&gt;
 he&#039;s ever applied, and if not, invite him to using his email&lt;br /&gt;
 address on file, and if so, resubmit him to jobs&lt;br /&gt;
 http://lindenlab.hrmdirect.com/employment/view.php?req=27066 and &lt;br /&gt;
 http://lindenlab.hrmdirect.com/employment/view.php?req=26066 ?&lt;br /&gt;
 &lt;br /&gt;
 Thank you.&lt;br /&gt;
 &lt;br /&gt;
 JS Uralia&lt;br /&gt;
[[User:JS Uralia|JS Uralia]] 03:26, 30 December 2008 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=188663</id>
		<title>User talk:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=188663"/>
		<updated>2008-12-30T03:26:27Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: /* Notecard campaign to M Linden */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:User:Zai_Lynch/Award}}You found my talk page... Find old discussions at: [[User:Strife_Onizuka/Talkpage_Archive_01]]&lt;br /&gt;
&lt;br /&gt;
== Question about [[Template:Multi-lang]] ==&lt;br /&gt;
Heyas =)&amp;lt;br&amp;gt;&lt;br /&gt;
I was trying to add the new &#039;&#039;version&#039;&#039; feature to the [[Template:Help/de|help template]] and stumbled upon a difficulty where I hoped you could help me with... I made a testpage at [[User:Zai Lynch/Sandbox/MLtest/de]] but it acts weird... when i make a change to [[User:Zai_Lynch/Sandbox/MLtest/version]] then the box is displayed at the test page. When I just edit and save the test page (without changing anything) it eats up the language bar. It acts somehow unexpectedly/random. I don&#039;t really know why it is... (o.O) Any ideas?&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 19:42, 5 November 2008 (UTC)&lt;br /&gt;
:I&#039;ll take a look at the template and fidget with it. No ideas come to mind. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:00, 5 November 2008 (UTC)&lt;br /&gt;
::Kewl, thx! :-)&lt;br /&gt;
::And I&#039;ll go to bed as early as 9PM for the first time in ages (o.O) gotta be ill... ^^&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;sleepy* [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:07, 5 November 2008 (UTC)&lt;br /&gt;
:hm... the bug seems to be very strange. And it isn&#039;t part of the template.&lt;br /&gt;
:Please try the following and tell me what you see:&lt;br /&gt;
:*Log out of the Wiki and then browse to [[Quickie_Wiki_Intro/Usercategories]] (or [[User:Zai_Lynch/Sandbox/MLtest/de]]). Notice: there is a language bar on top&lt;br /&gt;
:*Log in the Wiki and look at the same page. Notice: Language bar is gone.&lt;br /&gt;
:*Edit the article and preview. Notice: Language bar is visible in preview.&lt;br /&gt;
:*Save the article. Notice: Language bar is gone again.&lt;br /&gt;
:*Go to [[Special:Preferences]] and change the interface language (to German, for example). Notice: The language bar is visible...&lt;br /&gt;
:*Change the language back to English. Notice: The language bar is gone again...&lt;br /&gt;
:o.O [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 07:47, 6 November 2008 (UTC)&lt;br /&gt;
::Had to sacrifice a (unused) feature but it&#039;s working now. Weird bug nevertheless... Sorry for spamming&lt;br /&gt;
::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 02:16, 7 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== grid list ==&lt;br /&gt;
&lt;br /&gt;
Strife, I was wondering if you&#039;d mind if I took the idea from the grids and downloads list that you have and turned it into a template since I know of a few places (my userpage for one :) ) where it could be useful and I didn&#039;t just want to copy off the code especially without your permission. [[User:Gordon Wendt|Gordon Wendt]] 16:34, 6 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Do what you want with it, I didn&#039;t put it in the global space because...&lt;br /&gt;
:*Make changes without having to fix what it breaks.&lt;br /&gt;
:*Unsure about who would want to use it.&lt;br /&gt;
:*Didn&#039;t want to fix my content when others changed it.&lt;br /&gt;
:To recap, you are welcome to reuse the code. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:24, 6 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LSL Category Localization Template ==&lt;br /&gt;
&lt;br /&gt;
Heyas! =)&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s me again... I wanted to ask for feedback/input on these two templates: [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/de|German]], [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/fr|French]].&amp;lt;br&amp;gt; It would be supposed to easily provide unified localized LSL cats so translators wouldn&#039;t accidentally connect an article to a wrong category when they&#039;d choose another translation for the same word. I implemented a small test version in [[Template:LSL Function/de]], [[Template:LSL Event/de]], [[Template:LSL Constant/de]], [[Template:LSLC/de]] and [[Template:LSLGC/de]]. I tried about 5 different ways of implementing the template itself (without database-slaves) but they all failed due to either wiki limitations or parser function bugs (it worked well in the sandbox wiki). I&#039;d like to try it in the German localization (can&#039;t break much content there at the moment...) and in case it works out fine, Gally would be willing to help me for the French implementation. Do you have any objections against the template (could it break something? slow the wiki down?) or input, thoughts, ...? Are there more templates besides the 5 I already altered, where I should pay attention to?&amp;lt;br&amp;gt;&lt;br /&gt;
Greetz, [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 00:35, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve given a lot of thought to slaves in the past (there was a time I wanted a centralized function/constant/event description lookup for the &amp;quot;Also...&amp;quot; section). The correct way to implement them is to have a slave for each letter, the advantage is that slaves can have slaves. If implemented properly the cost is very small. The problem however is that you have to be conscious of the format. If you want to change the format you have to change the entire DB. I believe the best solution is to version each of the entries. Now at this point you need to take a step back and ask &amp;quot;Am I reinventing the wheel?&amp;quot; And the answer is &amp;quot;Yes&amp;quot;. Essentially what you want is a database where you can feed it a key and get the stored value pair.&lt;br /&gt;
&lt;br /&gt;
:There is of course another solution to this problem. Make all the Categories smart so they can be included (like the PRIM_* flags), and pass it a parameter that tells it to only return the foreign language category name you specify OR you could make a subpage like we do for the translation version (which would be really smart) and just have the lookup table there.&lt;br /&gt;
&lt;br /&gt;
:Anywho there are my initial thoughts on this. Last time I checked MW executes both sides of a conditional, so you need to make it so what is inside the conditional is not the template but just the name of the template (so it only executes text and not a template). -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:42, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Thx for the feedback =)&lt;br /&gt;
::@Slaves: I didn&#039;t wanted to use any slaves for this. My goal was, to have all translations stored on one page so that only that one needed to be localized. Unfortunatly, the else-if chain exceeded the maximum depth allowed by the mediawiki. So I tried to break the chain into two chains and store a variable value in case the first chain didn&#039;t give a result, so the second chain starts. This [http://wiki.zeitenwerk.de/index.php/Template:LSL_Cat_L10n/de works in the sandbox] but not over here due to [[Help:Known_caveats_in_parser_functions|the nasty bug you mentioned as well]]. I also tried a recursive process where the template called itself with a value but the Wiki complained again (it doesn&#039;t like loops...). After two other work arounds failed too, I had to create the slaves to do the job... But I&#039;m not really happy with that solution since it splits my database into 2. Splitting it further (for every letter) would erase one of the benefits: easy localization. I think the database (around 100 terms in worst case, usually less cause not all terms need a translation) is to small to justify that.&lt;br /&gt;
::The smart cat version is a way I thought about too (and Gally had a similar idea to unify categories on translated subpages), but the problem with it would be again that it is a decentralized implementation. Someone who wants to begin with a new translation of the portal would have to edit all smart-cat pages instead of only one (or two) database pages. So I would consider this method in case it notably decreases the load on the Wiki. I don&#039;t know how computationally intensive it is for the Wiki to check the current database slaves. In case it&#039;s to much, I&#039;d like the subpage-lookup best. With some preperation (collecting translations for more than one language, like done with the [[Mentor_Linguist_Scribe_Translation_Project/HP_L10N|HP L10n]]) and then add them all when we got maybe 5 or 6 languages.&lt;br /&gt;
::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 17:03, 21 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::You would actually want to use &amp;quot;switch&amp;quot; instead of &amp;quot;ifeq&amp;quot;, that said, you don&#039;t want to have a huge switch statement, it&#039;s not good for the wiki. Huge templates take a long time to execute (take a look at the templates on [[LSO]], they take so long to rebuild that the connection times out and the wiki has a fit). Anyway you cut it, to add a new language would require duplicating the slave DB. It would not be fun. You may gain some centralization by having the Slave DB but to keep it from bringing the wiki to it&#039;s knees you won&#039;t have much. If we decide to forgo the centralization altogether and go with a system like the article versioning, we can solve several problems all at once that would have popped up as a result of having it in a DB. If we do it properly we can set it up like multi-lang with the articles in need of translation. Sure it would be a bear to setup for each language but the alternatives just don&#039;t scale or require maintenance to allow it to scale. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 04:25, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Just to make sure that we&#039;re on the same page: I meant one DB (or X slaves) for each language. Not one DB for all languages. The German templates would only call the German DB, French only French, etc. So the maximum else-if depth got an upper bound at the count of LSL cats (worst case, when every cat has a translation other than cat/ISO-CODE) which seems to be something between 100 and 110.&lt;br /&gt;
::::That beeing said, I got to agree about the [[LSO]] article. I also checked the L10n lookup database and got to say that it needs like forever to load... Might be since I included it a hundret times in the table to verify that all translations work right and (since most of the translations are missing) it needs to run the else-if chain till the end. So it would only be included about 4 times on an average article I guess. Load would then be roughly ((current load)/100)*4 + (load of other templates). &lt;br /&gt;
::::So I think we&#039;ll go with the smart-cat-subpage-lookup? I&#039;d then need a complete list of LSL cats to hand them out to linguists to translate. I &#039;&#039;think&#039;&#039; the [[User:Zai_Lynch/Sandbox/Template:LSL_Cat_L10n/de|table]] should be complete but I&#039;m not 100% sure. For implementation we&#039;d need to take care of the input format. French translations use &amp;quot;cat/fr&amp;quot; as input while Japanese and German translations just use &amp;quot;cat&amp;quot;. So we&#039;d either need to add these differences at the subpages (bad imho) or make the template unify the input before passing it to the lookup (better imho).&lt;br /&gt;
::::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:46, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::It won&#039;t be ((current load)/100)*4 + (load of other templates), it will be (current load)*4 + (load of other templates); there is no speed gain to my knowledge to a big switch statement (that I know of), it&#039;s O(N), not O(1). You probably don&#039;t want more than 25 items per slave, properly configured, it won&#039;t be much more costly then the slaves. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:27, 23 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::Currently, the template is included about 100 times in the table. At an average article, it would be only included maybe 3, 4 or 5 times. So it would be ((the load of the 100 includes table) / 100) * (number of inclusions in the article). That is what I meant. Not the else-if depth or the switch. &lt;br /&gt;
::::::[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:37, 23 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
Ouch, I hope you get yourself setup soon with a new job and computer, your a valuable member of the community and it would be somewhat depressing to lose you. I wish you good luck. --[[User:Nexii Malthus|Nexii Malthus]] 10:53, 30 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
What Nexii said... *adds home, job and PC to Santa&#039;s list for Strife, as well as a four leaf clover and a fresh polished horseshoe for the x-tra boost of luck*&amp;lt;br&amp;gt;[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 13:37, 30 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:It all basically means I can&#039;t write scripts, login to SL or do much template work (alignment gets funky at smaller than 100% zoom). -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:31, 1 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
take care... (o.O) hope you&#039;re one of [http://www.xkcd.com/466/ them] and we&#039;ll have you back soon. *hugz*&amp;lt;br&amp;gt;[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:57, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
: *Borrows a computer* for the moment things are ok, after the holidays things will be a mess... *hugs* -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 17:04, 22 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Geek Award ==&lt;br /&gt;
LOL. That really makes my day. As to the inspiration... I got sick of having to manually double embed templates to avoid the call cost. I had been wanting a null/empty template so I could have an if on the template name and so nothing would get included... but then I&#039;m like, why not a variable template? So I start to write it and I&#039;m then like? What to name it... I know &amp;quot;Template&amp;quot;. On review though, the null/empty template is the better idea. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 21:44, 10 December 2008 (UTC)&lt;br /&gt;
:Glad you like it (^_^)&lt;br /&gt;
:Can you explain why an empty template is reducing the load on the Wiki when you call it with a parser function as an argument? Has it got something to do with {{Jira|WEB-896}}?&lt;br /&gt;
:[[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:45, 10 December 2008 (UTC)&lt;br /&gt;
::Yep it has to do with {{Jira|WEB-896}}. Say you had the following code but you wanted it conditional:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ugly|ugly param1|ugly param2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::The easy thing would be to just wrap it:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{{test|}}}|{{ugly|ugly param1|ugly param2}}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::The problem is, Template:Ugly gets evaluated (and it effects #vars).&lt;br /&gt;
::Lets look at this solution:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{{#if:{{{test|}}}|ugly|/dev/null}}|ugly param1|ugly param2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::By putting the conditional around the name of the template, when the test fails it evaluates Template:/dev/null ... which does nothing, and with MediaWiki 1.12 template parameters aren&#039;t evaluated until they are first used by the template; so in this case, they are never evaluated. It gets us around the ugly problem of conditional templates getting called needlessly.&lt;br /&gt;
&lt;br /&gt;
::Historically I&#039;ve used Template:! instead of /dev/null, for the only reason I hadn&#039;t gotten around to making the /dev/null template. This of course had it&#039;s own problems (specifically that it inserted a | (pipe character)). I&#039;ll probably start converting things over to /dev/null when I do template updates.&lt;br /&gt;
&lt;br /&gt;
::P.S. You nailed it on the head though, Template:Template is the result of me giving into my more nerdy tendencies. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 23:49, 10 December 2008 (UTC)&lt;br /&gt;
:::Oh I get it. Is really a pretty creative work around! [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 03:01, 11 December 2008 (UTC)&lt;br /&gt;
Haha, nice award. Template:Template is definitely something interesting. --[[User:Nexii Malthus|Nexii Malthus]] 02:11, 11 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Widgets ==&lt;br /&gt;
&lt;br /&gt;
[[User:Kuraiko Yoshikawa|Kuraiko]] added the [http://www.mediawiki.org/wiki/Extension:Widgets widgets extension] to [http://wiki.zeitenwerk.de our sandbox] and added [http://wiki.zeitenwerk.de/index.php/User:BlindWanderer your account] to the widget editors group. So if you&#039;d like to play arround with widgets in a sandboxed SLwiki-like environment in order to develop some for this Wiki, you can have a look there when you&#039;re back and got time and so... Keep in mind that parser functions are acting slightly different, but the rest should be the same and the content isn&#039;t so much outdated (maybe a few month old). Have fun =)&amp;lt;br&amp;gt;I hope it will all turn out well for you soon... oh btw: you got mail. Outdated though.&amp;lt;br&amp;gt;Greetz, [[Image:Zai_signature.png|45px]] &#039;&#039;&#039;[[User:Zai Lynch|Lynch]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 02:10, 23 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Notecard campaign to M Linden ==&lt;br /&gt;
&lt;br /&gt;
I have been distributing this notecard:&lt;br /&gt;
&lt;br /&gt;
 [If you agree, please remove this line, replace the signature below, and send to M]&lt;br /&gt;
 &lt;br /&gt;
 M, &lt;br /&gt;
 &lt;br /&gt;
 Please hire Strife Onizuka; please read his user page: &lt;br /&gt;
 &lt;br /&gt;
  http://wiki.secondlife.com/wiki/User:Strife_Onizuka&lt;br /&gt;
 &lt;br /&gt;
 I don&#039;t know him personally, only through his volunteer work,&lt;br /&gt;
 and I&#039;m not related to him or interested in this any other&lt;br /&gt;
 way than what I told Amber Linden at her volunteers office&lt;br /&gt;
 hour this morning.&lt;br /&gt;
 &lt;br /&gt;
 Would you please ask the Lindens in the HR department to read&lt;br /&gt;
 https://wiki.secondlife.com/wiki/User:Strife_Onizuka and see if&lt;br /&gt;
 he&#039;s ever applied, and if not, invite him to using his email&lt;br /&gt;
 address on file, and if so, resubmit him to jobs&lt;br /&gt;
 http://lindenlab.hrmdirect.com/employment/view.php?req=26066 and &lt;br /&gt;
 http://lindenlab.hrmdirect.com/employment/view.php?req=26066 ?&lt;br /&gt;
 &lt;br /&gt;
 Thank you.&lt;br /&gt;
 &lt;br /&gt;
 JS Uralia&lt;br /&gt;
[[User:JS Uralia|JS Uralia]] 03:26, 30 December 2008 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188642</id>
		<title>User:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188642"/>
		<updated>2008-12-30T00:11:39Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: reanchor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&amp;lt;videoflash&amp;gt;hTIsIjZCvHk&amp;lt;/videoflash&amp;gt;&amp;lt;/div&amp;gt;{{RightToc|clear:right;}}&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
&lt;br /&gt;
I may be MIA for the next month. I. My current computer is inadequeate for SL as this is my backup, my main computer died in August. Here&#039;s a glimpse of my ToDo list: Get a job, find a new place to live, get a new computer.&lt;br /&gt;
It may seem that Strife is MIA, well Strife&#039;s computer died several months ago... then the LCD on the backup failed... then the CRT on the backup decided the only resolution it wants to run at is 800x600 at 60hz. So Strife really can&#039;t do much until the computer gets rebuilt. To add to that, Strife will soon be moving to a yet unknown location. While a new computer would be nice, it&#039;s not a wise investment at the moment. Did I forget to mention the need for a job? -- So things are pretty stressed.&lt;br /&gt;
&lt;br /&gt;
It&#039;s moving day, and this may be the last you hear from me for a while. Going to dismantle the computer last. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:06, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;!-- please see http://en.wikipedia.org/wiki/Wikipedia:Barnstars for the motivation here --&amp;gt; &#039;&#039;&#039;Please note:&#039;&#039;&#039; Strife is a Hippo award winner, [http://blog.secondlife.com/2007/08/25/innovation-award-winners-announced/ awarded &amp;quot;Best Community Organizer&amp;quot; in the 2007 Linden Lab Innovation Awards], and here is [[Linden Lab Innovation Awards|his mention as a runner-up in the 2008 &amp;quot;Best Documentation&amp;quot; category:]] &amp;quot;Last year&#039;s winner, Strife Onizuka, continued to be insanely prolific, with thousands of edits over the past year.... Anyone learning LSL is almost certainly indebted to Strife&#039;s work in some way.&amp;quot; I don&#039;t know Strife other than through his work on the wiki, jira, and forums. [[User:JS Uralia|JS Uralia]] 18:34, 29 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Scite/ESL == &lt;br /&gt;
My config files:&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.api lsl.api]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.properties lsl.properties]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/stripper.zip stripper.zip - Whitespace stripper]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/clipboard.zip clipboard - copies text to clipboard]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/patch.esl patch.esl - make lslint not choke on new keywords]&lt;br /&gt;
*[http://w-hat.com/lslint lslint]&lt;br /&gt;
*[http://gnuwin32.sourceforge.net/packages/indent.htm indent - code beautifier] (picks up where the whitespace stripper leaves off)&lt;br /&gt;
*[http://msdn.microsoft.com/vstudio/express/visualc/ MSVC Express]&lt;br /&gt;
&lt;br /&gt;
==About Me ==&lt;br /&gt;
I&#039;m an immigrant from URU. Was in all 3 of it&#039;s beta&#039;s.&lt;br /&gt;
&lt;br /&gt;
Wiki Gnome (causing drama isn&#039;t why I&#039;m here).&lt;br /&gt;
&lt;br /&gt;
I have a webpage but haven&#039;t updated it in a few months...&lt;br /&gt;
&lt;br /&gt;
Wiki&#039;s are the way of the future when it comes to making documentation Ad-hoc but eventually become static as graffiti grows with popularity as a way of controlling it.&lt;br /&gt;
&lt;br /&gt;
also contribute to some other wiki&#039;s&lt;br /&gt;
[http://history.secondserver.net/index.php/Main_Page History Wiki]&lt;br /&gt;
[http://www.AviSynth.org/BlindWanderer AviSynth:BlindWanderer]&lt;br /&gt;
&lt;br /&gt;
When it comes to writing I tend to go towards concise. A short accurate description is better then a long equally accurate description; less to get confused with, easier to find the important information (because it is &#039;&#039;all&#039;&#039; important).&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
{{skills&lt;br /&gt;
|Builder=*&lt;br /&gt;
|Scripter=*&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! | Updates:&lt;br /&gt;
! class=&amp;quot;unsortable&amp;quot; | Preview&lt;br /&gt;
{{/Grid|DMZ}}&lt;br /&gt;
{{/Grid|Agni}}&lt;br /&gt;
{{/Grid|Colo|strike=*}}&lt;br /&gt;
{{/Grid|Siva}}&lt;br /&gt;
{{/Grid|Durga}}&lt;br /&gt;
{{/Grid|Aditi}}&lt;br /&gt;
{{/Grid|Soma}}&lt;br /&gt;
{{/Grid|Ganga}}&lt;br /&gt;
{{/Grid|Uma}}&lt;br /&gt;
{{/Grid|Shakti}}&lt;br /&gt;
{{/Grid|Vaak}}&lt;br /&gt;
{{/Grid|Mohini}}&lt;br /&gt;
{{/Grid|Yami}}&lt;br /&gt;
{{/Grid|Nandi}}&lt;br /&gt;
{{/Grid|Mitra}}&lt;br /&gt;
{{/Grid|Radha}}&lt;br /&gt;
{{/Grid|Ravi}}&lt;br /&gt;
{{/Grid|Aruna}}&lt;br /&gt;
{{/Grid|Damballah}}&lt;br /&gt;
{{/Grid|Bharati}}&lt;br /&gt;
{{/Grid|Chandra}}&lt;br /&gt;
{{/Grid|Danu}}&lt;br /&gt;
{{/Grid|Parvati}}&lt;br /&gt;
{{/Grid|Skanda}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TightList==&lt;br /&gt;
See [[TightList]]&lt;br /&gt;
&lt;br /&gt;
==Float {{LSL_VR|-Union-}} Integer==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer fui(float a)//Mono Safe, LSO Safe, Doubles Unsupported, LSLEditor Unsafe&lt;br /&gt;
{//union float to integer&lt;br /&gt;
    if((a)){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            return b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        integer c = llFloor((llLog(a) / 0.69314718055994530941723212145818));//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
        return (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= ((c &amp;gt;&amp;gt; 31) | 1)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    return ((string)a == (string)(-0.0)) &amp;lt;&amp;lt; 31;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float iuf(integer a)&lt;br /&gt;
{//union integer to float&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a specialized mode of transport, this is faster the [[Float2Hex]] and just as lossless.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string fuis(float a){//float union to base64ed integer&lt;br /&gt;
    if(a){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            b = b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            integer c = llFloor(llLog(a) / 0.69314718055994530941723212145818);//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
            b = (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= (c == 128)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
        }&lt;br /&gt;
        return llGetSubString(llIntegerToBase64(b),0,5)&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    if((string)a == (string)(0.0))&lt;br /&gt;
        return &amp;quot;AAAAAA&amp;quot;;&lt;br /&gt;
    return &amp;quot;gAAAAA&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float siuf(string b)&lt;br /&gt;
{//base64ed integer union to float&lt;br /&gt;
    integer a = llBase64ToInteger(b);&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Float Compare==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer FloatCompare(float a, float b, integer c)&lt;br /&gt;
{//compare floats and allow for a margin of error, requires fui().&lt;br /&gt;
    if(a - b)//(c) Strife Onizuka 2006 &lt;br /&gt;
    {//they are not equal&lt;br /&gt;
        //First we convert the floats to integer form, as they would be in memory;&lt;br /&gt;
        integer a_i = fui(a);&lt;br /&gt;
        integer b_i = fui(b);&lt;br /&gt;
        integer a_e = (a_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        integer b_e = (b_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        if(!(a_e || b_e) || //to disable the +/- roll under support put a // just before the !&lt;br /&gt;
            ((a_i &amp;amp; 0x80000000) == (b_i &amp;amp; 0x80000000)))//sign match check&lt;br /&gt;
        {//start by getting and testing the difference, this is what limits c&lt;br /&gt;
            integer diff = a_e - b_e;//ugly is fast, basicly, it gets the mantissa, sets the sign on the mantisa,&lt;br /&gt;
            if(diff &amp;gt;= -1 || diff &amp;lt;= 1)//shifts it depending on exponent, finaly executes the test.&lt;br /&gt;
                if(llAbs(((((a_i &amp;amp; 0x7FFFFF) | (!!a_e &amp;lt;&amp;lt; 23)) * ((a_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~-diff) - &lt;br /&gt;
                         ((((b_i &amp;amp; 0x7FFFFF) | (!!b_e &amp;lt;&amp;lt; 23)) * ((b_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~diff)) &amp;lt;= c)&lt;br /&gt;
                    jump out;&lt;br /&gt;
        }&lt;br /&gt;
        return (a &amp;gt; b) - (a &amp;lt; b);&lt;br /&gt;
    }&lt;br /&gt;
    @out;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FUI2HexFloat ==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string FUI2HexFloat(integer b)&lt;br /&gt;
{//Dump FUI float-integer to a hex-float string&lt;br /&gt;
    string c = &amp;quot;&amp;quot;;&lt;br /&gt;
    integer d = 0;&lt;br /&gt;
    integer e = 0xff &amp;amp; (b &amp;gt;&amp;gt; 23);&lt;br /&gt;
    string f = &amp;quot;0x&amp;quot;+(string)(!!e) + &amp;quot;.&amp;quot;;&lt;br /&gt;
    if(b &amp;amp; 0x80000000)&lt;br /&gt;
        f = &amp;quot;-&amp;quot;+ f;&lt;br /&gt;
    if(e ^ 127) c = &amp;quot;p&amp;quot; + (string)((e | !e) - 127);&lt;br /&gt;
    if((e = 0xfffffe &amp;amp; (b &amp;lt;&amp;lt; 1)))&lt;br /&gt;
    {&lt;br /&gt;
        while(!((e &amp;gt;&amp;gt; d) &amp;amp; 0xf))&lt;br /&gt;
            d+=4;&lt;br /&gt;
        while(d &amp;lt; 24)&lt;br /&gt;
        {&lt;br /&gt;
            c = llGetSubString(hexc, b = 0xf &amp;amp; (e &amp;gt;&amp;gt; d), b) + c;&lt;br /&gt;
            d += 4;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return f + c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
string Float2Hex(float a)&lt;br /&gt;
{//Another way to do Float2Hex, i wrote this for the heck of it; not because it&#039;s a good idea.&lt;br /&gt;
    return FUI2HexFloat(fui(a));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BitCount==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer bitcount(integer n)&lt;br /&gt;
{//MIT Hackmem 169, modified to work in LSL&lt;br /&gt;
    integer tmp = n - ((n &amp;gt;&amp;gt; 1) &amp;amp; 0x5B6DB6DB)//modified mask&lt;br /&gt;
                    - ((n &amp;gt;&amp;gt; 2) &amp;amp; 0x49249249);&lt;br /&gt;
    return (((tmp + (tmp &amp;gt;&amp;gt; 3)) &amp;amp; 0xC71C71C7) % 63) - (n &amp;gt;&amp;gt; 31);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{visl&lt;br /&gt;
|name=Strife Onizuka&lt;br /&gt;
|Greeters=&lt;br /&gt;
|Helpers=&lt;br /&gt;
|Instructors=&lt;br /&gt;
|Mentors=&lt;br /&gt;
|LSL=*&lt;br /&gt;
|i18n=&lt;br /&gt;
|l10n=&lt;br /&gt;
|SL4B=&lt;br /&gt;
|}}&lt;br /&gt;
[[Category:SL Certification Participant|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188622</id>
		<title>User:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188622"/>
		<updated>2008-12-29T23:52:39Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: correct and cut to the chase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&amp;lt;videoflash&amp;gt;hTIsIjZCvHk&amp;lt;/videoflash&amp;gt;&amp;lt;/div&amp;gt;{{RightToc|clear:right;}}&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
&lt;br /&gt;
I may be MIA for the next month. I. My current computer is inadequeate for SL as this is my backup, my main computer died in August. Here&#039;s a glimpse of my ToDo list: Get a job, find a new place to live, get a new computer.&lt;br /&gt;
It may seem that Strife is MIA, well Strife&#039;s computer died several months ago... then the LCD on the backup failed... then the CRT on the backup decided the only resolution it wants to run at is 800x600 at 60hz. So Strife really can&#039;t do much until the computer gets rebuilt. To add to that, Strife will soon be moving to a yet unknown location. While a new computer would be nice, it&#039;s not a wise investment at the moment. Did I forget to mention the need for a job? -- So things are pretty stressed.&lt;br /&gt;
&lt;br /&gt;
It&#039;s moving day, and this may be the last you hear from me for a while. Going to dismantle the computer last. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:06, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;!-- please see http://en.wikipedia.org/wiki/Wikipedia:Barnstars for the motivation here --&amp;gt; &#039;&#039;&#039;Please note:&#039;&#039;&#039; [http://blog.secondlife.com/2007/08/25/innovation-award-winners-announced/ Strife is a Hippo award winner, awarded &amp;quot;Best Community Organizer&amp;quot; in the 2007 Linden Lab Innovation Awards], and here is [[Linden Lab Innovation Awards|his mention as a runner-up in the 2008 &amp;quot;Best Documentation&amp;quot; category:]] &amp;quot;Last year&#039;s winner, Strife Onizuka, continued to be insanely prolific, with thousands of edits over the past year.... Anyone learning LSL is almost certainly indebted to Strife&#039;s work in some way.&amp;quot; I don&#039;t know Strife other than through his work on the wiki, jira, and forums. [[User:JS Uralia|JS Uralia]] 18:34, 29 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Scite/ESL == &lt;br /&gt;
My config files:&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.api lsl.api]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.properties lsl.properties]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/stripper.zip stripper.zip - Whitespace stripper]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/clipboard.zip clipboard - copies text to clipboard]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/patch.esl patch.esl - make lslint not choke on new keywords]&lt;br /&gt;
*[http://w-hat.com/lslint lslint]&lt;br /&gt;
*[http://gnuwin32.sourceforge.net/packages/indent.htm indent - code beautifier] (picks up where the whitespace stripper leaves off)&lt;br /&gt;
*[http://msdn.microsoft.com/vstudio/express/visualc/ MSVC Express]&lt;br /&gt;
&lt;br /&gt;
==About Me ==&lt;br /&gt;
I&#039;m an immigrant from URU. Was in all 3 of it&#039;s beta&#039;s.&lt;br /&gt;
&lt;br /&gt;
Wiki Gnome (causing drama isn&#039;t why I&#039;m here).&lt;br /&gt;
&lt;br /&gt;
I have a webpage but haven&#039;t updated it in a few months...&lt;br /&gt;
&lt;br /&gt;
Wiki&#039;s are the way of the future when it comes to making documentation Ad-hoc but eventually become static as graffiti grows with popularity as a way of controlling it.&lt;br /&gt;
&lt;br /&gt;
also contribute to some other wiki&#039;s&lt;br /&gt;
[http://history.secondserver.net/index.php/Main_Page History Wiki]&lt;br /&gt;
[http://www.AviSynth.org/BlindWanderer AviSynth:BlindWanderer]&lt;br /&gt;
&lt;br /&gt;
When it comes to writing I tend to go towards concise. A short accurate description is better then a long equally accurate description; less to get confused with, easier to find the important information (because it is &#039;&#039;all&#039;&#039; important).&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
{{skills&lt;br /&gt;
|Builder=*&lt;br /&gt;
|Scripter=*&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! | Updates:&lt;br /&gt;
! class=&amp;quot;unsortable&amp;quot; | Preview&lt;br /&gt;
{{/Grid|DMZ}}&lt;br /&gt;
{{/Grid|Agni}}&lt;br /&gt;
{{/Grid|Colo|strike=*}}&lt;br /&gt;
{{/Grid|Siva}}&lt;br /&gt;
{{/Grid|Durga}}&lt;br /&gt;
{{/Grid|Aditi}}&lt;br /&gt;
{{/Grid|Soma}}&lt;br /&gt;
{{/Grid|Ganga}}&lt;br /&gt;
{{/Grid|Uma}}&lt;br /&gt;
{{/Grid|Shakti}}&lt;br /&gt;
{{/Grid|Vaak}}&lt;br /&gt;
{{/Grid|Mohini}}&lt;br /&gt;
{{/Grid|Yami}}&lt;br /&gt;
{{/Grid|Nandi}}&lt;br /&gt;
{{/Grid|Mitra}}&lt;br /&gt;
{{/Grid|Radha}}&lt;br /&gt;
{{/Grid|Ravi}}&lt;br /&gt;
{{/Grid|Aruna}}&lt;br /&gt;
{{/Grid|Damballah}}&lt;br /&gt;
{{/Grid|Bharati}}&lt;br /&gt;
{{/Grid|Chandra}}&lt;br /&gt;
{{/Grid|Danu}}&lt;br /&gt;
{{/Grid|Parvati}}&lt;br /&gt;
{{/Grid|Skanda}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TightList==&lt;br /&gt;
See [[TightList]]&lt;br /&gt;
&lt;br /&gt;
==Float {{LSL_VR|-Union-}} Integer==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer fui(float a)//Mono Safe, LSO Safe, Doubles Unsupported, LSLEditor Unsafe&lt;br /&gt;
{//union float to integer&lt;br /&gt;
    if((a)){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            return b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        integer c = llFloor((llLog(a) / 0.69314718055994530941723212145818));//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
        return (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= ((c &amp;gt;&amp;gt; 31) | 1)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    return ((string)a == (string)(-0.0)) &amp;lt;&amp;lt; 31;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float iuf(integer a)&lt;br /&gt;
{//union integer to float&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a specialized mode of transport, this is faster the [[Float2Hex]] and just as lossless.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string fuis(float a){//float union to base64ed integer&lt;br /&gt;
    if(a){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            b = b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            integer c = llFloor(llLog(a) / 0.69314718055994530941723212145818);//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
            b = (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= (c == 128)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
        }&lt;br /&gt;
        return llGetSubString(llIntegerToBase64(b),0,5)&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    if((string)a == (string)(0.0))&lt;br /&gt;
        return &amp;quot;AAAAAA&amp;quot;;&lt;br /&gt;
    return &amp;quot;gAAAAA&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float siuf(string b)&lt;br /&gt;
{//base64ed integer union to float&lt;br /&gt;
    integer a = llBase64ToInteger(b);&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Float Compare==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer FloatCompare(float a, float b, integer c)&lt;br /&gt;
{//compare floats and allow for a margin of error, requires fui().&lt;br /&gt;
    if(a - b)//(c) Strife Onizuka 2006 &lt;br /&gt;
    {//they are not equal&lt;br /&gt;
        //First we convert the floats to integer form, as they would be in memory;&lt;br /&gt;
        integer a_i = fui(a);&lt;br /&gt;
        integer b_i = fui(b);&lt;br /&gt;
        integer a_e = (a_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        integer b_e = (b_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        if(!(a_e || b_e) || //to disable the +/- roll under support put a // just before the !&lt;br /&gt;
            ((a_i &amp;amp; 0x80000000) == (b_i &amp;amp; 0x80000000)))//sign match check&lt;br /&gt;
        {//start by getting and testing the difference, this is what limits c&lt;br /&gt;
            integer diff = a_e - b_e;//ugly is fast, basicly, it gets the mantissa, sets the sign on the mantisa,&lt;br /&gt;
            if(diff &amp;gt;= -1 || diff &amp;lt;= 1)//shifts it depending on exponent, finaly executes the test.&lt;br /&gt;
                if(llAbs(((((a_i &amp;amp; 0x7FFFFF) | (!!a_e &amp;lt;&amp;lt; 23)) * ((a_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~-diff) - &lt;br /&gt;
                         ((((b_i &amp;amp; 0x7FFFFF) | (!!b_e &amp;lt;&amp;lt; 23)) * ((b_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~diff)) &amp;lt;= c)&lt;br /&gt;
                    jump out;&lt;br /&gt;
        }&lt;br /&gt;
        return (a &amp;gt; b) - (a &amp;lt; b);&lt;br /&gt;
    }&lt;br /&gt;
    @out;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FUI2HexFloat ==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string FUI2HexFloat(integer b)&lt;br /&gt;
{//Dump FUI float-integer to a hex-float string&lt;br /&gt;
    string c = &amp;quot;&amp;quot;;&lt;br /&gt;
    integer d = 0;&lt;br /&gt;
    integer e = 0xff &amp;amp; (b &amp;gt;&amp;gt; 23);&lt;br /&gt;
    string f = &amp;quot;0x&amp;quot;+(string)(!!e) + &amp;quot;.&amp;quot;;&lt;br /&gt;
    if(b &amp;amp; 0x80000000)&lt;br /&gt;
        f = &amp;quot;-&amp;quot;+ f;&lt;br /&gt;
    if(e ^ 127) c = &amp;quot;p&amp;quot; + (string)((e | !e) - 127);&lt;br /&gt;
    if((e = 0xfffffe &amp;amp; (b &amp;lt;&amp;lt; 1)))&lt;br /&gt;
    {&lt;br /&gt;
        while(!((e &amp;gt;&amp;gt; d) &amp;amp; 0xf))&lt;br /&gt;
            d+=4;&lt;br /&gt;
        while(d &amp;lt; 24)&lt;br /&gt;
        {&lt;br /&gt;
            c = llGetSubString(hexc, b = 0xf &amp;amp; (e &amp;gt;&amp;gt; d), b) + c;&lt;br /&gt;
            d += 4;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return f + c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
string Float2Hex(float a)&lt;br /&gt;
{//Another way to do Float2Hex, i wrote this for the heck of it; not because it&#039;s a good idea.&lt;br /&gt;
    return FUI2HexFloat(fui(a));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BitCount==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer bitcount(integer n)&lt;br /&gt;
{//MIT Hackmem 169, modified to work in LSL&lt;br /&gt;
    integer tmp = n - ((n &amp;gt;&amp;gt; 1) &amp;amp; 0x5B6DB6DB)//modified mask&lt;br /&gt;
                    - ((n &amp;gt;&amp;gt; 2) &amp;amp; 0x49249249);&lt;br /&gt;
    return (((tmp + (tmp &amp;gt;&amp;gt; 3)) &amp;amp; 0xC71C71C7) % 63) - (n &amp;gt;&amp;gt; 31);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{visl&lt;br /&gt;
|name=Strife Onizuka&lt;br /&gt;
|Greeters=&lt;br /&gt;
|Helpers=&lt;br /&gt;
|Instructors=&lt;br /&gt;
|Mentors=&lt;br /&gt;
|LSL=*&lt;br /&gt;
|i18n=&lt;br /&gt;
|l10n=&lt;br /&gt;
|SL4B=&lt;br /&gt;
|}}&lt;br /&gt;
[[Category:SL Certification Participant|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188293</id>
		<title>User:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188293"/>
		<updated>2008-12-29T18:36:43Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: move note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&amp;lt;videoflash&amp;gt;hTIsIjZCvHk&amp;lt;/videoflash&amp;gt;&amp;lt;/div&amp;gt;{{RightToc|clear:right;}}&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
&lt;br /&gt;
I may be MIA for the next month. I. My current computer is inadequeate for SL as this is my backup, my main computer died in August. Here&#039;s a glimpse of my ToDo list: Get a job, find a new place to live, get a new computer.&lt;br /&gt;
It may seem that Strife is MIA, well Strife&#039;s computer died several months ago... then the LCD on the backup failed... then the CRT on the backup decided the only resolution it wants to run at is 800x600 at 60hz. So Strife really can&#039;t do much until the computer gets rebuilt. To add to that, Strife will soon be moving to a yet unknown location. While a new computer would be nice, it&#039;s not a wise investment at the moment. Did I forget to mention the need for a job? -- So things are pretty stressed.&lt;br /&gt;
&lt;br /&gt;
It&#039;s moving day, and this may be the last you hear from me for a while. Going to dismantle the computer last. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:06, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;!-- please see http://en.wikipedia.org/wiki/Wikipedia:Barnstars for the motivation here --&amp;gt; &#039;&#039;&#039;Please note:&#039;&#039;&#039; [http://blog.secondlife.com/2007/08/25/innovation-award-winners-announced/ Strife user was awarded &amp;quot;Best Community Organizer&amp;quot; in the 2007 Hippo Innovation Awards], and here is [[Linden Lab Innovation Awards|his mention as a runner-up in the 2008 &amp;quot;Best Documentation&amp;quot; category:]] &amp;quot;Last year&#039;s winner, Strife Onizuka, continued to be insanely prolific, with thousands of edits over the past year. The degree to which he has bent MediaWiki to his will to make the templates that underlie hundreds of pages are as impressive as they are arcane. Anyone learning LSL is almost certainly indebted to Strife&#039;s work in some way.&amp;quot; I don&#039;t know Strife other than through his work on the wiki, jira, and forums. [[User:JS Uralia|JS Uralia]] 18:34, 29 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Scite/ESL == &lt;br /&gt;
My config files:&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.api lsl.api]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.properties lsl.properties]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/stripper.zip stripper.zip - Whitespace stripper]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/clipboard.zip clipboard - copies text to clipboard]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/patch.esl patch.esl - make lslint not choke on new keywords]&lt;br /&gt;
*[http://w-hat.com/lslint lslint]&lt;br /&gt;
*[http://gnuwin32.sourceforge.net/packages/indent.htm indent - code beautifier] (picks up where the whitespace stripper leaves off)&lt;br /&gt;
*[http://msdn.microsoft.com/vstudio/express/visualc/ MSVC Express]&lt;br /&gt;
&lt;br /&gt;
==About Me ==&lt;br /&gt;
I&#039;m an immigrant from URU. Was in all 3 of it&#039;s beta&#039;s.&lt;br /&gt;
&lt;br /&gt;
Wiki Gnome (causing drama isn&#039;t why I&#039;m here).&lt;br /&gt;
&lt;br /&gt;
I have a webpage but haven&#039;t updated it in a few months...&lt;br /&gt;
&lt;br /&gt;
Wiki&#039;s are the way of the future when it comes to making documentation Ad-hoc but eventually become static as graffiti grows with popularity as a way of controlling it.&lt;br /&gt;
&lt;br /&gt;
also contribute to some other wiki&#039;s&lt;br /&gt;
[http://history.secondserver.net/index.php/Main_Page History Wiki]&lt;br /&gt;
[http://www.AviSynth.org/BlindWanderer AviSynth:BlindWanderer]&lt;br /&gt;
&lt;br /&gt;
When it comes to writing I tend to go towards concise. A short accurate description is better then a long equally accurate description; less to get confused with, easier to find the important information (because it is &#039;&#039;all&#039;&#039; important).&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
{{skills&lt;br /&gt;
|Builder=*&lt;br /&gt;
|Scripter=*&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! | Updates:&lt;br /&gt;
! class=&amp;quot;unsortable&amp;quot; | Preview&lt;br /&gt;
{{/Grid|DMZ}}&lt;br /&gt;
{{/Grid|Agni}}&lt;br /&gt;
{{/Grid|Colo|strike=*}}&lt;br /&gt;
{{/Grid|Siva}}&lt;br /&gt;
{{/Grid|Durga}}&lt;br /&gt;
{{/Grid|Aditi}}&lt;br /&gt;
{{/Grid|Soma}}&lt;br /&gt;
{{/Grid|Ganga}}&lt;br /&gt;
{{/Grid|Uma}}&lt;br /&gt;
{{/Grid|Shakti}}&lt;br /&gt;
{{/Grid|Vaak}}&lt;br /&gt;
{{/Grid|Mohini}}&lt;br /&gt;
{{/Grid|Yami}}&lt;br /&gt;
{{/Grid|Nandi}}&lt;br /&gt;
{{/Grid|Mitra}}&lt;br /&gt;
{{/Grid|Radha}}&lt;br /&gt;
{{/Grid|Ravi}}&lt;br /&gt;
{{/Grid|Aruna}}&lt;br /&gt;
{{/Grid|Damballah}}&lt;br /&gt;
{{/Grid|Bharati}}&lt;br /&gt;
{{/Grid|Chandra}}&lt;br /&gt;
{{/Grid|Danu}}&lt;br /&gt;
{{/Grid|Parvati}}&lt;br /&gt;
{{/Grid|Skanda}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TightList==&lt;br /&gt;
See [[TightList]]&lt;br /&gt;
&lt;br /&gt;
==Float {{LSL_VR|-Union-}} Integer==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer fui(float a)//Mono Safe, LSO Safe, Doubles Unsupported, LSLEditor Unsafe&lt;br /&gt;
{//union float to integer&lt;br /&gt;
    if((a)){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            return b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        integer c = llFloor((llLog(a) / 0.69314718055994530941723212145818));//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
        return (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= ((c &amp;gt;&amp;gt; 31) | 1)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    return ((string)a == (string)(-0.0)) &amp;lt;&amp;lt; 31;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float iuf(integer a)&lt;br /&gt;
{//union integer to float&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a specialized mode of transport, this is faster the [[Float2Hex]] and just as lossless.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string fuis(float a){//float union to base64ed integer&lt;br /&gt;
    if(a){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            b = b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            integer c = llFloor(llLog(a) / 0.69314718055994530941723212145818);//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
            b = (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= (c == 128)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
        }&lt;br /&gt;
        return llGetSubString(llIntegerToBase64(b),0,5)&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    if((string)a == (string)(0.0))&lt;br /&gt;
        return &amp;quot;AAAAAA&amp;quot;;&lt;br /&gt;
    return &amp;quot;gAAAAA&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float siuf(string b)&lt;br /&gt;
{//base64ed integer union to float&lt;br /&gt;
    integer a = llBase64ToInteger(b);&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Float Compare==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer FloatCompare(float a, float b, integer c)&lt;br /&gt;
{//compare floats and allow for a margin of error, requires fui().&lt;br /&gt;
    if(a - b)//(c) Strife Onizuka 2006 &lt;br /&gt;
    {//they are not equal&lt;br /&gt;
        //First we convert the floats to integer form, as they would be in memory;&lt;br /&gt;
        integer a_i = fui(a);&lt;br /&gt;
        integer b_i = fui(b);&lt;br /&gt;
        integer a_e = (a_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        integer b_e = (b_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        if(!(a_e || b_e) || //to disable the +/- roll under support put a // just before the !&lt;br /&gt;
            ((a_i &amp;amp; 0x80000000) == (b_i &amp;amp; 0x80000000)))//sign match check&lt;br /&gt;
        {//start by getting and testing the difference, this is what limits c&lt;br /&gt;
            integer diff = a_e - b_e;//ugly is fast, basicly, it gets the mantissa, sets the sign on the mantisa,&lt;br /&gt;
            if(diff &amp;gt;= -1 || diff &amp;lt;= 1)//shifts it depending on exponent, finaly executes the test.&lt;br /&gt;
                if(llAbs(((((a_i &amp;amp; 0x7FFFFF) | (!!a_e &amp;lt;&amp;lt; 23)) * ((a_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~-diff) - &lt;br /&gt;
                         ((((b_i &amp;amp; 0x7FFFFF) | (!!b_e &amp;lt;&amp;lt; 23)) * ((b_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~diff)) &amp;lt;= c)&lt;br /&gt;
                    jump out;&lt;br /&gt;
        }&lt;br /&gt;
        return (a &amp;gt; b) - (a &amp;lt; b);&lt;br /&gt;
    }&lt;br /&gt;
    @out;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FUI2HexFloat ==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string FUI2HexFloat(integer b)&lt;br /&gt;
{//Dump FUI float-integer to a hex-float string&lt;br /&gt;
    string c = &amp;quot;&amp;quot;;&lt;br /&gt;
    integer d = 0;&lt;br /&gt;
    integer e = 0xff &amp;amp; (b &amp;gt;&amp;gt; 23);&lt;br /&gt;
    string f = &amp;quot;0x&amp;quot;+(string)(!!e) + &amp;quot;.&amp;quot;;&lt;br /&gt;
    if(b &amp;amp; 0x80000000)&lt;br /&gt;
        f = &amp;quot;-&amp;quot;+ f;&lt;br /&gt;
    if(e ^ 127) c = &amp;quot;p&amp;quot; + (string)((e | !e) - 127);&lt;br /&gt;
    if((e = 0xfffffe &amp;amp; (b &amp;lt;&amp;lt; 1)))&lt;br /&gt;
    {&lt;br /&gt;
        while(!((e &amp;gt;&amp;gt; d) &amp;amp; 0xf))&lt;br /&gt;
            d+=4;&lt;br /&gt;
        while(d &amp;lt; 24)&lt;br /&gt;
        {&lt;br /&gt;
            c = llGetSubString(hexc, b = 0xf &amp;amp; (e &amp;gt;&amp;gt; d), b) + c;&lt;br /&gt;
            d += 4;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return f + c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
string Float2Hex(float a)&lt;br /&gt;
{//Another way to do Float2Hex, i wrote this for the heck of it; not because it&#039;s a good idea.&lt;br /&gt;
    return FUI2HexFloat(fui(a));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BitCount==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer bitcount(integer n)&lt;br /&gt;
{//MIT Hackmem 169, modified to work in LSL&lt;br /&gt;
    integer tmp = n - ((n &amp;gt;&amp;gt; 1) &amp;amp; 0x5B6DB6DB)//modified mask&lt;br /&gt;
                    - ((n &amp;gt;&amp;gt; 2) &amp;amp; 0x49249249);&lt;br /&gt;
    return (((tmp + (tmp &amp;gt;&amp;gt; 3)) &amp;amp; 0xC71C71C7) % 63) - (n &amp;gt;&amp;gt; 31);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{visl&lt;br /&gt;
|name=Strife Onizuka&lt;br /&gt;
|Greeters=&lt;br /&gt;
|Helpers=&lt;br /&gt;
|Instructors=&lt;br /&gt;
|Mentors=&lt;br /&gt;
|LSL=*&lt;br /&gt;
|i18n=&lt;br /&gt;
|l10n=&lt;br /&gt;
|SL4B=&lt;br /&gt;
|}}&lt;br /&gt;
[[Category:SL Certification Participant|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188283</id>
		<title>User:Strife Onizuka</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Strife_Onizuka&amp;diff=188283"/>
		<updated>2008-12-29T18:34:16Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: user note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&#039;&#039;&#039;Please note:&#039;&#039;&#039; [http://blog.secondlife.com/2007/08/25/innovation-award-winners-announced/ This user was awarded &amp;quot;Best Community Organizer&amp;quot; in 2007], and here is [[Linden Lab Innovation Awards|his mention as a runner-up in the 2008 &amp;quot;Best Documentation&amp;quot; category:]] &amp;quot;Last year&#039;s winner, Strife Onizuka, continued to be insanely prolific, with thousands of edits over the past year. The degree to which he has bent MediaWiki to his will to make the templates that underlie hundreds of pages are as impressive as they are arcane. Anyone learning LSL is almost certainly indebted to Strife&#039;s work in some way.&amp;quot; I don&#039;t know Strife other than through his work on the wiki, jira, and forums. [[User:JS Uralia|JS Uralia]] 18:34, 29 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&amp;lt;videoflash&amp;gt;hTIsIjZCvHk&amp;lt;/videoflash&amp;gt;&amp;lt;/div&amp;gt;{{RightToc|clear:right;}}&lt;br /&gt;
&lt;br /&gt;
== MIA ==&lt;br /&gt;
&lt;br /&gt;
I may be MIA for the next month. I. My current computer is inadequeate for SL as this is my backup, my main computer died in August. Here&#039;s a glimpse of my ToDo list: Get a job, find a new place to live, get a new computer.&lt;br /&gt;
It may seem that Strife is MIA, well Strife&#039;s computer died several months ago... then the LCD on the backup failed... then the CRT on the backup decided the only resolution it wants to run at is 800x600 at 60hz. So Strife really can&#039;t do much until the computer gets rebuilt. To add to that, Strife will soon be moving to a yet unknown location. While a new computer would be nice, it&#039;s not a wise investment at the moment. Did I forget to mention the need for a job? -- So things are pretty stressed.&lt;br /&gt;
&lt;br /&gt;
It&#039;s moving day, and this may be the last you hear from me for a while. Going to dismantle the computer last. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:06, 21 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Scite/ESL == &lt;br /&gt;
My config files:&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.api lsl.api]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/lsl.properties lsl.properties]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/stripper.zip stripper.zip - Whitespace stripper]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/clipboard.zip clipboard - copies text to clipboard]&lt;br /&gt;
*[http://mailerdaemon.home.comcast.net/patch.esl patch.esl - make lslint not choke on new keywords]&lt;br /&gt;
*[http://w-hat.com/lslint lslint]&lt;br /&gt;
*[http://gnuwin32.sourceforge.net/packages/indent.htm indent - code beautifier] (picks up where the whitespace stripper leaves off)&lt;br /&gt;
*[http://msdn.microsoft.com/vstudio/express/visualc/ MSVC Express]&lt;br /&gt;
&lt;br /&gt;
==About Me ==&lt;br /&gt;
I&#039;m an immigrant from URU. Was in all 3 of it&#039;s beta&#039;s.&lt;br /&gt;
&lt;br /&gt;
Wiki Gnome (causing drama isn&#039;t why I&#039;m here).&lt;br /&gt;
&lt;br /&gt;
I have a webpage but haven&#039;t updated it in a few months...&lt;br /&gt;
&lt;br /&gt;
Wiki&#039;s are the way of the future when it comes to making documentation Ad-hoc but eventually become static as graffiti grows with popularity as a way of controlling it.&lt;br /&gt;
&lt;br /&gt;
also contribute to some other wiki&#039;s&lt;br /&gt;
[http://history.secondserver.net/index.php/Main_Page History Wiki]&lt;br /&gt;
[http://www.AviSynth.org/BlindWanderer AviSynth:BlindWanderer]&lt;br /&gt;
&lt;br /&gt;
When it comes to writing I tend to go towards concise. A short accurate description is better then a long equally accurate description; less to get confused with, easier to find the important information (because it is &#039;&#039;all&#039;&#039; important).&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
{{skills&lt;br /&gt;
|Builder=*&lt;br /&gt;
|Scripter=*&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; {{prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! | Updates:&lt;br /&gt;
! class=&amp;quot;unsortable&amp;quot; | Preview&lt;br /&gt;
{{/Grid|DMZ}}&lt;br /&gt;
{{/Grid|Agni}}&lt;br /&gt;
{{/Grid|Colo|strike=*}}&lt;br /&gt;
{{/Grid|Siva}}&lt;br /&gt;
{{/Grid|Durga}}&lt;br /&gt;
{{/Grid|Aditi}}&lt;br /&gt;
{{/Grid|Soma}}&lt;br /&gt;
{{/Grid|Ganga}}&lt;br /&gt;
{{/Grid|Uma}}&lt;br /&gt;
{{/Grid|Shakti}}&lt;br /&gt;
{{/Grid|Vaak}}&lt;br /&gt;
{{/Grid|Mohini}}&lt;br /&gt;
{{/Grid|Yami}}&lt;br /&gt;
{{/Grid|Nandi}}&lt;br /&gt;
{{/Grid|Mitra}}&lt;br /&gt;
{{/Grid|Radha}}&lt;br /&gt;
{{/Grid|Ravi}}&lt;br /&gt;
{{/Grid|Aruna}}&lt;br /&gt;
{{/Grid|Damballah}}&lt;br /&gt;
{{/Grid|Bharati}}&lt;br /&gt;
{{/Grid|Chandra}}&lt;br /&gt;
{{/Grid|Danu}}&lt;br /&gt;
{{/Grid|Parvati}}&lt;br /&gt;
{{/Grid|Skanda}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TightList==&lt;br /&gt;
See [[TightList]]&lt;br /&gt;
&lt;br /&gt;
==Float {{LSL_VR|-Union-}} Integer==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
integer fui(float a)//Mono Safe, LSO Safe, Doubles Unsupported, LSLEditor Unsafe&lt;br /&gt;
{//union float to integer&lt;br /&gt;
    if((a)){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            return b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        integer c = llFloor((llLog(a) / 0.69314718055994530941723212145818));//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
        return (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= ((c &amp;gt;&amp;gt; 31) | 1)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    return ((string)a == (string)(-0.0)) &amp;lt;&amp;lt; 31;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float iuf(integer a)&lt;br /&gt;
{//union integer to float&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a specialized mode of transport, this is faster the [[Float2Hex]] and just as lossless.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string fuis(float a){//float union to base64ed integer&lt;br /&gt;
    if(a){//is it non zero?&lt;br /&gt;
        integer b = (a &amp;lt; 0) &amp;lt;&amp;lt; 31;//the sign, but later this variable is reused to store the shift&lt;br /&gt;
        if((a = llFabs(a)) &amp;lt; 2.3509887016445750159374730744445e-38)//Denormalized range check &amp;amp; last stirde of normalized range&lt;br /&gt;
            b = b | (integer)(a / 1.4012984643248170709237295832899e-45);//the math overlaps; saves cpu time.&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            integer c = llFloor(llLog(a) / 0.69314718055994530941723212145818);//extremes will error towards extremes. following yuch corrects it.&lt;br /&gt;
            b = (0x7FFFFF &amp;amp; (integer)(a * (0x1000000 &amp;gt;&amp;gt; b))) | (((c + 126 + (b = ((integer)a - (3 &amp;lt;= (a /= (float)(&amp;quot;0x1p&amp;quot;+(string)(c -= (c == 128)))))))) &amp;lt;&amp;lt; 23 ) | b);&lt;br /&gt;
        }&lt;br /&gt;
        return llGetSubString(llIntegerToBase64(b),0,5)&lt;br /&gt;
    }//for grins, detect the sign on zero. it&#039;s not pretty but it works. the previous requires alot of unwinding to understand it.&lt;br /&gt;
    if((string)a == (string)(0.0))&lt;br /&gt;
        return &amp;quot;AAAAAA&amp;quot;;&lt;br /&gt;
    return &amp;quot;gAAAAA&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float siuf(string b)&lt;br /&gt;
{//base64ed integer union to float&lt;br /&gt;
    integer a = llBase64ToInteger(b);&lt;br /&gt;
    return ((float)(&amp;quot;0x1p&amp;quot;+(string)((a | !a) - 150))) * ((!!(a = (0xff &amp;amp; (a &amp;gt;&amp;gt; 23))) &amp;lt;&amp;lt; 23) | ((a &amp;amp; 0x7fffff))) * (1 | (a &amp;gt;&amp;gt; 31));&lt;br /&gt;
}//will crash if the raw exponent == 0xff; reason for crash deviates from float standard; though a crash is warented.&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Float Compare==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer FloatCompare(float a, float b, integer c)&lt;br /&gt;
{//compare floats and allow for a margin of error, requires fui().&lt;br /&gt;
    if(a - b)//(c) Strife Onizuka 2006 &lt;br /&gt;
    {//they are not equal&lt;br /&gt;
        //First we convert the floats to integer form, as they would be in memory;&lt;br /&gt;
        integer a_i = fui(a);&lt;br /&gt;
        integer b_i = fui(b);&lt;br /&gt;
        integer a_e = (a_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        integer b_e = (b_i &amp;gt;&amp;gt; 23) &amp;amp; 0xff;&lt;br /&gt;
        if(!(a_e || b_e) || //to disable the +/- roll under support put a // just before the !&lt;br /&gt;
            ((a_i &amp;amp; 0x80000000) == (b_i &amp;amp; 0x80000000)))//sign match check&lt;br /&gt;
        {//start by getting and testing the difference, this is what limits c&lt;br /&gt;
            integer diff = a_e - b_e;//ugly is fast, basicly, it gets the mantissa, sets the sign on the mantisa,&lt;br /&gt;
            if(diff &amp;gt;= -1 || diff &amp;lt;= 1)//shifts it depending on exponent, finaly executes the test.&lt;br /&gt;
                if(llAbs(((((a_i &amp;amp; 0x7FFFFF) | (!!a_e &amp;lt;&amp;lt; 23)) * ((a_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~-diff) - &lt;br /&gt;
                         ((((b_i &amp;amp; 0x7FFFFF) | (!!b_e &amp;lt;&amp;lt; 23)) * ((b_i &amp;gt;&amp;gt; 31) | 1)) &amp;gt;&amp;gt; !~diff)) &amp;lt;= c)&lt;br /&gt;
                    jump out;&lt;br /&gt;
        }&lt;br /&gt;
        return (a &amp;gt; b) - (a &amp;lt; b);&lt;br /&gt;
    }&lt;br /&gt;
    @out;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FUI2HexFloat ==&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string FUI2HexFloat(integer b)&lt;br /&gt;
{//Dump FUI float-integer to a hex-float string&lt;br /&gt;
    string c = &amp;quot;&amp;quot;;&lt;br /&gt;
    integer d = 0;&lt;br /&gt;
    integer e = 0xff &amp;amp; (b &amp;gt;&amp;gt; 23);&lt;br /&gt;
    string f = &amp;quot;0x&amp;quot;+(string)(!!e) + &amp;quot;.&amp;quot;;&lt;br /&gt;
    if(b &amp;amp; 0x80000000)&lt;br /&gt;
        f = &amp;quot;-&amp;quot;+ f;&lt;br /&gt;
    if(e ^ 127) c = &amp;quot;p&amp;quot; + (string)((e | !e) - 127);&lt;br /&gt;
    if((e = 0xfffffe &amp;amp; (b &amp;lt;&amp;lt; 1)))&lt;br /&gt;
    {&lt;br /&gt;
        while(!((e &amp;gt;&amp;gt; d) &amp;amp; 0xf))&lt;br /&gt;
            d+=4;&lt;br /&gt;
        while(d &amp;lt; 24)&lt;br /&gt;
        {&lt;br /&gt;
            c = llGetSubString(hexc, b = 0xf &amp;amp; (e &amp;gt;&amp;gt; d), b) + c;&lt;br /&gt;
            d += 4;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return f + c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
string Float2Hex(float a)&lt;br /&gt;
{//Another way to do Float2Hex, i wrote this for the heck of it; not because it&#039;s a good idea.&lt;br /&gt;
    return FUI2HexFloat(fui(a));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BitCount==&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer bitcount(integer n)&lt;br /&gt;
{//MIT Hackmem 169, modified to work in LSL&lt;br /&gt;
    integer tmp = n - ((n &amp;gt;&amp;gt; 1) &amp;amp; 0x5B6DB6DB)//modified mask&lt;br /&gt;
                    - ((n &amp;gt;&amp;gt; 2) &amp;amp; 0x49249249);&lt;br /&gt;
    return (((tmp + (tmp &amp;gt;&amp;gt; 3)) &amp;amp; 0xC71C71C7) % 63) - (n &amp;gt;&amp;gt; 31);&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
{{visl&lt;br /&gt;
|name=Strife Onizuka&lt;br /&gt;
|Greeters=&lt;br /&gt;
|Helpers=&lt;br /&gt;
|Instructors=&lt;br /&gt;
|Mentors=&lt;br /&gt;
|LSL=*&lt;br /&gt;
|i18n=&lt;br /&gt;
|l10n=&lt;br /&gt;
|SL4B=&lt;br /&gt;
|}}&lt;br /&gt;
[[Category:SL Certification Participant|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:JS_Uralia&amp;diff=188273</id>
		<title>User talk:JS Uralia</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:JS_Uralia&amp;diff=188273"/>
		<updated>2008-12-29T18:33:20Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: New page: Please send me a notecard in-world if you need to reach me, as I don&amp;#039;t read here very often.  Thanks! ~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please send me a notecard in-world if you need to reach me, as I don&#039;t read here very often.  Thanks! [[User:JS Uralia|JS Uralia]] 18:33, 29 December 2008 (UTC)&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:JS_Uralia&amp;diff=188263</id>
		<title>User:JS Uralia</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:JS_Uralia&amp;diff=188263"/>
		<updated>2008-12-29T18:32:13Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: New page: https://wiki.secondlife.com/wiki/Special:Contributions/JS_Uralia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://wiki.secondlife.com/wiki/Special:Contributions/JS_Uralia&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Beta_Release_Notes&amp;diff=53799</id>
		<title>Beta Release Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Beta_Release_Notes&amp;diff=53799"/>
		<updated>2008-02-13T06:43:15Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: notice: this page needs updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|style=&amp;quot;border: solid #ff0000&amp;quot; align=center&lt;br /&gt;
!Note: This page hasn&#039;t been updated in a long time.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See also [[Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life Havok Beta - September 28, 2007==&lt;br /&gt;
&lt;br /&gt;
See [[Havok_4_Beta_Home]]&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(4) July 5, 2007==&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed SVC-371: Fix the legibility and grammar/consistency of the new llOwnerSay implementation&lt;br /&gt;
* Fixed SVC-286: deleted fully-permissive objects owned by others skip trash&lt;br /&gt;
* Fixed SVC-251: Death teleport fails when teleporting to a home point you no longer have access to&lt;br /&gt;
* Fixed VWR-1418: Progressive memory consumption (leak) since 1.17.1&lt;br /&gt;
* Fixed VWR-1410: Quirk in net.cpp&lt;br /&gt;
* Fixed VWR-1351: Violation against the conding standard in llfloaterchat.cpp&lt;br /&gt;
* Fixed VWR-1184: [Linux VWR] Signal 7 (SIGBUS) Error (caused by libtcmalloc)&lt;br /&gt;
* Fixed VWR-1147: A patch set is provided to add an optional &#039;Confirm Exit&#039; pop-up window for most user client exit methods. Prevents the &#039;Accidental Quit&#039;.&lt;br /&gt;
* Fixed VWR-962: llprocessor.cpp: enable x86 detection for GCC&lt;br /&gt;
* Fixed VWR-605: Include the SL date &amp;amp; day with the time&lt;br /&gt;
* Fixed VWR-561: Blurry arrows in camera control and other graphics issues&lt;br /&gt;
* Fixed VWR-53: Inconsistency in order of AV texture layer between the upper and lower body&lt;br /&gt;
* Fixed group chat sessions not working&lt;br /&gt;
* Fixed script email only receiving after sim is restarted&lt;br /&gt;
* Fixed permission requests not properly muted&lt;br /&gt;
* Fixed viewer &amp;quot;channel&amp;quot; now visible in the lower right corner next to the version number&lt;br /&gt;
* Fixed presence not properly being report to others upon initial login&lt;br /&gt;
* Fixed double text overlay on About Land &amp;gt; General tab&lt;br /&gt;
* Fixed &amp;quot;Top Scripts&amp;quot; window does not refresh when button is pressed while &amp;quot;Top Colliders&amp;quot; list is still open&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(3) June 26, 2007==&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-1369: Creating, re-rezzing, then editing an object results in a viewer crash&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(2) June 26, 2007==&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* German language added to the Windows installer.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-1339: Asset upload fails for certain saves, eg scripts and appearance.&lt;br /&gt;
* Fixed VWR-796: llStopSound() not working&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(1) June 22, 2007==&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* More Viewer interface elements and text has been translated to Japanese and German.&lt;br /&gt;
* Estate owners can now postpone a region restart for one hour.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed MISC-273: Enrollment fee is incorrectly deducted if you belong to max. # of groups and try to join new ones&lt;br /&gt;
* Fixed SVC-248: Viewer crash: Server sends malformed DeRezAck Packet (see VWR-176)&lt;br /&gt;
* Fixed SVC-242: Copyable objects are not appearing in inventory after being taken, are remaining, invisible, in world&lt;br /&gt;
* Fixed SVC-52: UTF-8 characters read from notecards are lost&lt;br /&gt;
* Fixed SVC-21: Request for making identification of llOwnerSay messages possible&lt;br /&gt;
* Fixed VWR-1101: Active Gestures &amp;gt; New button doesn&#039;t auto-open gesture&lt;br /&gt;
* Fixed VWR-684: German Translation of the Viewer inaccurate/dangerously wrong (corrections in patch)&lt;br /&gt;
* Fixed ejecting a sitting intruder would cause the object they were sitting on to eject too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(0) June 14, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Message system changes to support transport via TCP (HTTP) as well as UDP.&lt;br /&gt;
** More details are available here: http://blog.secondlife.com/2006/12/21/a-big-change-youll-barely-notice/&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.17.0(12) June 13, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Inventory transfers&lt;br /&gt;
** Auto-accept inventory and auto-preview texture/notecard/landmark are now separate preferences.&lt;br /&gt;
** Viewing an embedded notecard or landmark no longer adds it to your inventory.&lt;br /&gt;
** Muting the sender of notecards, inventory, textures, etc., now removes all blue pop-ups in the upper right corner from that sender.&lt;br /&gt;
** Offline inventory transfers and group invites now include the name of the item or group, along with group role, in the email.&lt;br /&gt;
* Added &amp;quot;Clear Browser Cache&amp;quot; button to web prefs.&lt;br /&gt;
** This only affects the embedded browser, not any other browsers installed on your system&lt;br /&gt;
* Embedded Mozilla browser now supports cookies.&lt;br /&gt;
* Preliminary support added to the Windows installer for selecting a language (English, Korean)&lt;br /&gt;
* Closing a changed Classified now confirms changes&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed a client crash while in startup&lt;br /&gt;
* Fixed group chat reopening with one message and an error after closing group chat&lt;br /&gt;
* Fixed &amp;quot;Stop All Animations&amp;quot; when stuck in an animation after teleporting&lt;br /&gt;
* Fixed group messages to allow the use of UTF8 characters&lt;br /&gt;
* Fixed &amp;quot;Show Owners&amp;quot; from automatically turning on again&lt;br /&gt;
* Fixed an issue with &amp;quot;Release Controls&amp;quot; when an object is taken and rerezed.&lt;br /&gt;
* Fixed an issue with texture picker not displaying any results unless inventory had been shown&lt;br /&gt;
* Fixed chat history to not show muted resident chat&lt;br /&gt;
* Fixed &amp;quot;Mute Resident&amp;quot; button, now opens the user picker&lt;br /&gt;
* Fixed group ability settings for group owners in German language viewer&lt;br /&gt;
* Fixed embedded Mozilla browser to work with HTTPS sites (affected Windows only)&lt;br /&gt;
* Notecards no longer display the &amp;quot;Keep&amp;quot; and &amp;quot;Discard&amp;quot; buttons when opened from inventory&lt;br /&gt;
* Acquired date is now set for items dragged from the contents of a container prim&lt;br /&gt;
* VWR-1040: crash when opening several gestures quickly&lt;br /&gt;
* VWR-966: Minor memory leak in llfloaterpreferences.cpp and a tiny leak in llstatup.cpp&lt;br /&gt;
* VWR-908: Various memory leaks in the group dialog&lt;br /&gt;
* VWR-871: More bad f00d: Two minor (or inconsequential) misses of initializing object members&lt;br /&gt;
* VWR-870: Memory violation through uninitialized variable (invisible or unrendered flexis)&lt;br /&gt;
* VWR-869: Possible hard-loop (endless, viewer-hang) in script editor&lt;br /&gt;
* VWR-827: Toruses are borked after making/editing sculpted prims&lt;br /&gt;
* VWR-823: Two unintialized variables in lltexturefetch.cpp&lt;br /&gt;
* VWR-822: &amp;quot;Create new...&amp;quot; clothing buttons don&#039;t auto-wear items&lt;br /&gt;
* VWR-810: Destructor forgets to delete mFloaterContros member in llui/llview.cpp&lt;br /&gt;
* VWR-809: Destructor fails to clean up global menus in llviewermenu.cpp&lt;br /&gt;
* VWR-808: Incorrect cleanup in message.cpp&lt;br /&gt;
* VWR-807: Forgets to delete gToolInspect in lltoolmgr.cpp&lt;br /&gt;
* VWR-804: Quirk in llviewerwindow.cpp&lt;br /&gt;
* VWR-805: LLCurl not properly cleaned up&lt;br /&gt;
* VWR-765: Cannot open embedded notecards in other notecards when Automatic preview of new notecards/textures/landmarks is off&lt;br /&gt;
* VWR-409: New Feature -&amp;gt; UI -&amp;gt; Dialog -&amp;gt; Buy Copy/Contents -&amp;gt; Default Action -&amp;gt; Cancel&lt;br /&gt;
* VWR-682: Text Editors should try to preserve X cursor position&lt;br /&gt;
* VWR-671: Line editor history for recalling previously typed lines&lt;br /&gt;
* VWR-648: Texture picker should highlight the texture in the swatch&lt;br /&gt;
* VWR-412: Object editing arrows hidden but clickable on objects you can&#039;t edit.&lt;br /&gt;
* VWR-364: Viewer memory leak&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.17.0(107) June 1, 2007==&lt;br /&gt;
New features:&lt;br /&gt;
* Group voice chat is available.  This enables group voice conversation between avatars all across the grid, no matter where avatars are located in relation to each other. &lt;br /&gt;
* Group voice chat is available for both &amp;quot;formal&amp;quot; Second Life groups and ad hoc groups (as is the case for text chat).&lt;br /&gt;
* Group voice chat for &amp;quot;formal&amp;quot; Second Life groups can be initiated by clicking on the Groups tab in the Chatterbox and double-clicking on the group with which you&#039;d like to chat.&lt;br /&gt;
* Group voice chat with two or more friends can be initiated by clicking on the Friends tab in the Chatterbox, selecting multiple friends from the list, and clicking the &amp;quot;Call/IM&amp;quot; button.&lt;br /&gt;
* If you were speaking in a spatial voice channel prior to joining a group voice chat, you will return to the same spatial voice channel after leaving the group voice chat.&lt;br /&gt;
* The Talk button on the Voice tab contains a volume indicator (a dot to the right of the button text &amp;quot;Talk&amp;quot;) that shows how loudly YOU are speaking.  Green indicates a normal volume, red indicates too loud a volume (a standard across speaking indicators for voice).&lt;br /&gt;
* Volume control and mute options are disabled on the &amp;quot;Near Me&amp;quot; tab in the Chatterbox when your own name is selected in the list of speakers.&lt;br /&gt;
&lt;br /&gt;
Known Issues&lt;br /&gt;
* Users do not see a notification or visible invitation to group voice conversations.  We expect this to be fixed in the next release, so users can accept or reject calls and receive feedback that they&#039;ve successfully joined.&lt;br /&gt;
* Private voice chat with a single other user is not yet implemented.&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.17.0(0) June 1, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Auto-accept inventory and auto-preview texture/notecard/landmark are now separate preferences.&lt;br /&gt;
* Viewing an embedded notecard or landmark no longer adds it to your inventory.&lt;br /&gt;
* Muting the sender of notecards, inventory, textures, etc., now removes all blue pop-ups in the upper right corner from that sender.&lt;br /&gt;
* Offline inventory transfers and group invites now include the name of the item or group, along with group role, in the email.&lt;br /&gt;
* Added clear browser cache button to web prefs.&lt;br /&gt;
* Embedded Mozilla browser now supports cookies.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* VWR-870: Memory violation through uninitialized variable (invisible or unrendered flexis)&lt;br /&gt;
* VWR-849: LLerror.cpp does not clean up global objects&lt;br /&gt;
* VWR-823: Two unintialized variables in lltexturefetch.cpp&lt;br /&gt;
* VWR-810: Destructor forgets to delete mFloaterContros member in llui/llview.cpp&lt;br /&gt;
* VWR-809: Destructor fails to clean up global menus in llviewermenu.cpp&lt;br /&gt;
* VWR-808: Incorrect cleanup in message.cpp&lt;br /&gt;
* VWR-807: Forgets to delete gToolInspect in lltoolmgr.cpp&lt;br /&gt;
* VWR-804: Quirk in llviewerwindow.cpp&lt;br /&gt;
* VWR-805: LLCurl not properly cleaned up&lt;br /&gt;
* VWR-765: Cannot open embedded notecards in other notecards when Automatic preview of new notecards/textures/landmarks is off&lt;br /&gt;
* VWR-409: New Feature -&amp;gt; UI -&amp;gt; Dialog -&amp;gt; Buy Copy/Contents -&amp;gt; Default Action -&amp;gt; Cancel&lt;br /&gt;
* VWR-682: Text Editors should try to preserve X cursor position&lt;br /&gt;
* VWR-671: Line editor history for recalling previously typed lines&lt;br /&gt;
* VWR-412: Object editing arrows hidden but clickable on objects you can&#039;t edit.&lt;br /&gt;
* Fixed texture picker now shows any results unless inventory has been opened previously or a search term is typed&lt;br /&gt;
* Fixed muted resident chat no longer shows up in your chat history&lt;br /&gt;
* Fixed mute resident button now opens the user picker&lt;br /&gt;
* Fixed in German client, all group abilities now available for group owners&lt;br /&gt;
* Fixed closing a changed Classified now confirms changes&lt;br /&gt;
* Fixed embedded Mozilla browser to work with HTTPS sites (affected Windows only)&lt;br /&gt;
* Fixed items dragged from the contents of a container prim now have an acquired date&lt;br /&gt;
* Fixed no MOD scripts could be modded by ppl granted Modify Rights&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(105) May 22, 2007==&lt;br /&gt;
New features:&lt;br /&gt;
* The &amp;quot;Chatterbox&amp;quot; is a new communication hub that brings text and voice chat for group, individual (one-to-one), and spatial conversation into a single user interface.&lt;br /&gt;
* This is the first iteration of the Chatterbox and it isn&#039;t perfect yet, so you may notice a few bugs.&lt;br /&gt;
* The &amp;quot;Friends&amp;quot; tab of the Chatterbox shows a list of friends, via the &amp;quot;Friends&#039; button in the viewer.&lt;br /&gt;
* The &amp;quot;Groups&amp;quot; tab of the Chatterbox shows a list of groups to which a resident belongs.&lt;br /&gt;
* The &amp;quot;Near Me&amp;quot; tab shows voice speakers in close proximity to a resident. &lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* Audio devices are now enumerated and can subsequently be selected for use via the API.  A device enumeration is provided when a user connects and when a a new device is added or removed.&lt;br /&gt;
* Local audio intensity events are now exclusively generated by the local microphone energy.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-657: Beta -&amp;gt; Linux -&amp;gt; Startup -&amp;gt; Crash&lt;br /&gt;
* Fixed object loss occuring when taking an item&lt;br /&gt;
* Fixed render issues with tapered cubes&lt;br /&gt;
* Fixed sculpt texture loss after when texture picker is cancelled&lt;br /&gt;
* Fixed flexible sculpted prims becoming distorted&lt;br /&gt;
* Fixed textures applied to sculpted prim at a 90 degree rotation&lt;br /&gt;
* Fixed connection issue for users with Speedstream 6300 w/ VOIP routers connecting via port 5060.  Failed registration attempts with Vivox servers on UDP port 5060 will automatically be attempted on UDP port 5062.&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(4) May 21, 2007==&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-657: Beta -&amp;gt; Linux -&amp;gt; Startup -&amp;gt; Crash&lt;br /&gt;
* Fixed object loss occuring when taking an item&lt;br /&gt;
* Fixed render issues with tapered cubes&lt;br /&gt;
* Fixed sculpt texture loss after when texture picker is cancelled&lt;br /&gt;
* Fixed flexible sculpted prims becoming distorted&lt;br /&gt;
* Fixed textures applied to sculpted prim at a 90 degree rotation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(1) May 15, 2007== &lt;br /&gt;
New Features:&lt;br /&gt;
* Add &amp;quot;Mute&amp;quot; button to block unwanted notecards, landmarks, and textures&lt;br /&gt;
* Particle systems are added to the restriction list in a resident&#039;s mute list&lt;br /&gt;
&lt;br /&gt;
Changes: &lt;br /&gt;
* The orientation of the sculpt texture has changed. &lt;br /&gt;
** All previously created sculpt textures will now make &amp;quot;inside-out&amp;quot; sculpties. &lt;br /&gt;
** To fix this, flip the texture horizontally.&lt;br /&gt;
&lt;br /&gt;
LSL Changes:&lt;br /&gt;
* New function: [[llRegionSay]]() &lt;br /&gt;
** Allows object to communicate region-wide&lt;br /&gt;
** Does not allow communication on channel 0&lt;br /&gt;
** This is intended to reduce simulator load by eliminating the need for relay objects&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed positioning of maximize button when minimizing both script and lsl window &lt;br /&gt;
* Fixed positioning of LSL help window after minimizing/maximizing main script window&lt;br /&gt;
* Text for several alert messages has been updated&lt;br /&gt;
* Fixed issue where sculpted prims revert to spheres when zooming in/LOD change.&lt;br /&gt;
* Fixed issue where sculpted prims loose texture map when texture picker is cancelled.&lt;br /&gt;
* Fixed issue where not making a selection in the prim type changes sculpted prim to sphere until edit is closed&lt;br /&gt;
* Fixed issue where scale edit handles would become lost inside a sculpted prim&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(0) May 4, 2007==&lt;br /&gt;
&lt;br /&gt;
New Features&lt;br /&gt;
* Voice in Second Life &lt;br /&gt;
** Beta test of integrated voice capabilities within Second Life&lt;br /&gt;
** See http://secondlife.com/community/bhear.php for detailed information&lt;br /&gt;
* Sculpted Prims&lt;br /&gt;
** Sculpted Prims are a new primitive type that uses a texture to control its 3D shape&lt;br /&gt;
** See http://wiki.secondlife.com/wiki/Sculpted_Prims for the FAQ and detailed information&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* Voice changes since last voice beta release:&lt;br /&gt;
** Active Speakers window opens via the &#039;Speakers&#039; button and shows all active voice speakers in a channel&lt;br /&gt;
*** Also enables volume and mute control by individual speaker&lt;br /&gt;
** Mute settings for voice only are now available via the Active Speakers window&lt;br /&gt;
*** Avatar &#039;pie menu&#039; mute option still mutes both voice and text chat simultaneously&lt;br /&gt;
*** This will change in future releases&lt;br /&gt;
* Alt-Left and Alt-Right switch between tabs in IM&lt;br /&gt;
* Ctrl-W closes one panel in IM&lt;br /&gt;
* Ctrl-Shift-W closes all windows&lt;br /&gt;
* Inventory sort optionally sorts system folders on top&lt;br /&gt;
* Busy mode declines notecards and textures, and accepts other inventory transfers silently&lt;br /&gt;
* Offline IMs from objects include object name, owner, type and SLURL&lt;br /&gt;
* L$ displays &#039;Loading...&#039; if balance is not yet retrieved&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed a client crash when deleting objects from inventory&lt;br /&gt;
* Fixed &#039;... has left the session&#039; when leaving group chat after talking&lt;br /&gt;
* Fixed failed email when no subject is included&lt;br /&gt;
* Fixed closing an inventory folder while selecting inside moves selection to My Inventory&lt;br /&gt;
* Fixed build if llmozlib disabled&lt;br /&gt;
* Fixed avatar name not remaining within background box&lt;br /&gt;
* Fixed graphics cards with unlisted memory sizes defaulting to 16MB&lt;br /&gt;
* Fixed Alt-WASD camera controls while sitting&lt;br /&gt;
* Fixed first digit in Pay dialog cannot be deleted&lt;br /&gt;
* Fixed minimap not opening on first login&lt;br /&gt;
* Fixed &#039;Use Selection for Grid&#039; referencing edge of region and not reference prim&lt;br /&gt;
* Removed avatar eyeball shader&lt;br /&gt;
* VWR-38: Magic Opening Folders&lt;br /&gt;
* VWR-42: llSetSoundQueueing() is broken&lt;br /&gt;
* VWR-71: Tabulating and moving by word (Ctrl-left, ctrl-right) off-by-one errors in scripting editor.&lt;br /&gt;
* VWR-136: Seg fault in llpolymorph.cpp&lt;br /&gt;
* VWR-148: llListStatistics tooltip wrong&lt;br /&gt;
* VWR-165: First Digit in the &#039;Pay&#039; dialog does not erase without entering more digits&lt;br /&gt;
* VWR-166: moving of open folders in the inventory to an other indentation level leaves the contents on the previous level&lt;br /&gt;
* VWR-326: Allow a &#039;limit texture recieving&#039; in the client&lt;br /&gt;
* VWR-346: Selecting Client&amp;gt;Character&amp;gt;Flush Animations immediately crashes 1.14.0.x&lt;br /&gt;
* VWR-379: Fix shell scripts to use bash and not sh when appropriate.&lt;br /&gt;
* VWR-429: add scons option making FMOD optional&lt;br /&gt;
* VWR-414: 8-bit character in llagent.cpp comment confuses Japanese text editors&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.15.0(1) April 20, 2007==&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Improved performance of inventory operations&lt;br /&gt;
* Removed First Land filter in Search&lt;br /&gt;
* Improved recognition of some processor types&lt;br /&gt;
* Fixed extra face when using hollow with path cut&lt;br /&gt;
* Fixed a way to teleport to Orientation Islands&lt;br /&gt;
* Fixed right-click on your own avatar if you have a HUD attachment&lt;br /&gt;
* Fixed llSetText appearance on HUD attachments&lt;br /&gt;
* Fixed About Land reporting the wrong parcel when teleporting between estates&lt;br /&gt;
* Fixed a source of stalled Pending Uploads&lt;br /&gt;
* Fixed Texture Repeats Per Face rounding incorrectly when tabbing between fields&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.15.0(0) April 17, 2007==&lt;br /&gt;
Changes&lt;br /&gt;
* Inworld rating system has been removed&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed list selection triggering when mouse-up occurs over scrollbar&lt;br /&gt;
* Fixed Get Top Scripts not sorting on refresh&lt;br /&gt;
* Fixed a simulator crash related to group messages&lt;br /&gt;
* Fixed alphabetical sorting of groups on profile&lt;br /&gt;
* Fixed display of group voting history&lt;br /&gt;
* Fixed group chat not reopening when user relogs or closes chat session&lt;br /&gt;
* Fixed ability to start group messages and multi-user conferences&lt;br /&gt;
* Fixed cutoff of Help -&amp;gt; About Second Life text&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.14.1(2) April 13, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Alpha textures sorted more accurately&lt;br /&gt;
** Example: the hollow inner surface of a sphere will no longer draw on top of the outer surface&lt;br /&gt;
** This change will cause some content (which used this bug to imitate cel-shading) to look dramatically different&lt;br /&gt;
* Larger debug beacons (View &amp;gt; Beacon)&lt;br /&gt;
** You can now set the beacon size in Preferences -&amp;gt; Adv. Graphics (Range is 1-127)&lt;br /&gt;
* Groups are now searched with an index (refreshed daily)&lt;br /&gt;
** Searches are done against the full text of the group, including charter&lt;br /&gt;
** Clicking on a group found via search still shows up-to-date information&lt;br /&gt;
* Added &#039;Add as Friend&#039; button to profile&lt;br /&gt;
* Added |&amp;lt; and &amp;gt;| buttons to scroll to the ends of IM window conversations&lt;br /&gt;
* Added parcel flag for Mature Content&lt;br /&gt;
** Parcel searches use the parcel rating instead of the region rating&lt;br /&gt;
* Groups list window taller and resizeable&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* LSL Wiki is not editable from within the Second Life viewer&lt;br /&gt;
* PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY and PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY flags &lt;br /&gt;
were added to llGetParcelFlags()/llSetParcelFlags several versions many builds ago, &lt;br /&gt;
but not documented. These will now appear correctly in the script editor.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed OK button not enabling after editing profile&lt;br /&gt;
* Fixed pie menu options shifting position when right-clicking avatar&lt;br /&gt;
* Fixed a sim crash related to group messages&lt;br /&gt;
* Fixed combo box not closing after hitting Tab&lt;br /&gt;
* Fixed gap with combo boxes on bottom of the screen&lt;br /&gt;
* Fixed combo boxes not closing when hitting button&lt;br /&gt;
* Fixed proposals being created with incorrect information&lt;br /&gt;
* Fixed agent information not displaying for land/objects&lt;br /&gt;
* Fixed group information for members/roles not loading&lt;br /&gt;
* Fixed IM window showing all users in bold&lt;br /&gt;
* Fixed font of Bumps, Pushes, Hits window&lt;br /&gt;
* Fixed objects appearing in two places while moving in editor&lt;br /&gt;
* Fixed a client crash with some mobile ATI chipsets&lt;br /&gt;
* Fixed button images when first running SL&lt;br /&gt;
* Fixed overlapping text in proposals in group info window&lt;br /&gt;
* Fixed selecting group roles not updating UI&lt;br /&gt;
* Fixed avatar names not appearing when Show Avatar Names Temporarily is enabled&lt;br /&gt;
* Fixed New IM showing (nobody) for group names&lt;br /&gt;
* Fixed task email failing between regions&lt;br /&gt;
* Fixed avatar reverting to default appearance&lt;br /&gt;
* Fixed broken embedded landmarks when editing their notecard&lt;br /&gt;
* Fixed display of Terms of Service&lt;br /&gt;
* Fixed a case where you could not modify your modifyable object&lt;br /&gt;
* Fixed attachments disappearing a minute after teleport&lt;br /&gt;
* Fixed ability to set Mature on parcels in non-Mature regions&lt;br /&gt;
* Fixed saving changes to notecards in contents&lt;br /&gt;
* Fixed HUD positioning guide misaligning when UI Size changed&lt;br /&gt;
* Fixed a case where no-copy objects could be lost during rez&lt;br /&gt;
* Fixed textures in windows only stretching horizontally&lt;br /&gt;
* Fixed texture animation rotation changing when Flip is enabled&lt;br /&gt;
* Fixed erroneous &#039;User has left this session&#039; messages&lt;br /&gt;
* Fixed display bug with a cube with Path Cut Begin/End set to .150&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.14.1(1) April 2, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Users are now notified if they are the only ones present in a group or conference session&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed: VWR-130: llimagejpeg.h remove jinclude.h&lt;br /&gt;
* Fixed: VWR-200: money(); events in a linked sets fail to trigger&lt;br /&gt;
* Fixed: VWR-243: Sort inventory System folders to the top&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.14.1(0) March 23, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Teleport Home disabled for new users on an Orientation Island&lt;br /&gt;
* Share With Group disabled after object is deeded to group&lt;br /&gt;
&lt;br /&gt;
LSL changes:&lt;br /&gt;
* string llStringTrim(string src, integer trim_type)&lt;br /&gt;
** STRING_TRIM_HEAD: trim all leading spaces in src&lt;br /&gt;
** STRING_TRIM_TAIL: trim all trailing spaces in src&lt;br /&gt;
** STRING_TRIM: trim all leading and trailing spaces in src &lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* New groups are instantly searchable&lt;br /&gt;
* Fixed disappearing alpha HUD prims&lt;br /&gt;
* Fixed menu bar processing keystrokes when moused over&lt;br /&gt;
* Fixed detached IM windows not resizing&lt;br /&gt;
* Fixed animated textures when using llSetColor, llSetLinkColor, or PRIM_PROPERTIES&lt;br /&gt;
* Fixed HUD object movement when logging in at a no-script area&lt;br /&gt;
* Fixed HUD objects not loading new textures&lt;br /&gt;
* Fixed HUD objects becoming invisible the first time they are attached from inworld&lt;br /&gt;
* Fixed &#039;IM All Contacts In Folder&#039;&lt;br /&gt;
* Fixed a viewer crash in the name cache&lt;br /&gt;
* Fixed Undo resetting position only on root prim&lt;br /&gt;
* Fixed Texture Picker search not showing results&lt;br /&gt;
* Fixed IM window reverting to default size&lt;br /&gt;
* Fixed overriding stand-up animation freezing you in place&lt;br /&gt;
* Fixed Appearance mode showing back of avatar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:QA Portal]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Beta_Release_Notes&amp;diff=53798</id>
		<title>Beta Release Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Beta_Release_Notes&amp;diff=53798"/>
		<updated>2008-02-13T06:02:18Z</updated>

		<summary type="html">&lt;p&gt;JS Uralia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice}}&lt;br /&gt;
&lt;br /&gt;
See also [[Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life Havok Beta - September 28, 2007==&lt;br /&gt;
&lt;br /&gt;
See [[Havok_4_Beta_Home]]&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(4) July 5, 2007==&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed SVC-371: Fix the legibility and grammar/consistency of the new llOwnerSay implementation&lt;br /&gt;
* Fixed SVC-286: deleted fully-permissive objects owned by others skip trash&lt;br /&gt;
* Fixed SVC-251: Death teleport fails when teleporting to a home point you no longer have access to&lt;br /&gt;
* Fixed VWR-1418: Progressive memory consumption (leak) since 1.17.1&lt;br /&gt;
* Fixed VWR-1410: Quirk in net.cpp&lt;br /&gt;
* Fixed VWR-1351: Violation against the conding standard in llfloaterchat.cpp&lt;br /&gt;
* Fixed VWR-1184: [Linux VWR] Signal 7 (SIGBUS) Error (caused by libtcmalloc)&lt;br /&gt;
* Fixed VWR-1147: A patch set is provided to add an optional &#039;Confirm Exit&#039; pop-up window for most user client exit methods. Prevents the &#039;Accidental Quit&#039;.&lt;br /&gt;
* Fixed VWR-962: llprocessor.cpp: enable x86 detection for GCC&lt;br /&gt;
* Fixed VWR-605: Include the SL date &amp;amp; day with the time&lt;br /&gt;
* Fixed VWR-561: Blurry arrows in camera control and other graphics issues&lt;br /&gt;
* Fixed VWR-53: Inconsistency in order of AV texture layer between the upper and lower body&lt;br /&gt;
* Fixed group chat sessions not working&lt;br /&gt;
* Fixed script email only receiving after sim is restarted&lt;br /&gt;
* Fixed permission requests not properly muted&lt;br /&gt;
* Fixed viewer &amp;quot;channel&amp;quot; now visible in the lower right corner next to the version number&lt;br /&gt;
* Fixed presence not properly being report to others upon initial login&lt;br /&gt;
* Fixed double text overlay on About Land &amp;gt; General tab&lt;br /&gt;
* Fixed &amp;quot;Top Scripts&amp;quot; window does not refresh when button is pressed while &amp;quot;Top Colliders&amp;quot; list is still open&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(3) June 26, 2007==&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-1369: Creating, re-rezzing, then editing an object results in a viewer crash&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(2) June 26, 2007==&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* German language added to the Windows installer.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-1339: Asset upload fails for certain saves, eg scripts and appearance.&lt;br /&gt;
* Fixed VWR-796: llStopSound() not working&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(1) June 22, 2007==&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* More Viewer interface elements and text has been translated to Japanese and German.&lt;br /&gt;
* Estate owners can now postpone a region restart for one hour.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed MISC-273: Enrollment fee is incorrectly deducted if you belong to max. # of groups and try to join new ones&lt;br /&gt;
* Fixed SVC-248: Viewer crash: Server sends malformed DeRezAck Packet (see VWR-176)&lt;br /&gt;
* Fixed SVC-242: Copyable objects are not appearing in inventory after being taken, are remaining, invisible, in world&lt;br /&gt;
* Fixed SVC-52: UTF-8 characters read from notecards are lost&lt;br /&gt;
* Fixed SVC-21: Request for making identification of llOwnerSay messages possible&lt;br /&gt;
* Fixed VWR-1101: Active Gestures &amp;gt; New button doesn&#039;t auto-open gesture&lt;br /&gt;
* Fixed VWR-684: German Translation of the Viewer inaccurate/dangerously wrong (corrections in patch)&lt;br /&gt;
* Fixed ejecting a sitting intruder would cause the object they were sitting on to eject too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.18.0(0) June 14, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Message system changes to support transport via TCP (HTTP) as well as UDP.&lt;br /&gt;
** More details are available here: http://blog.secondlife.com/2006/12/21/a-big-change-youll-barely-notice/&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.17.0(12) June 13, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Inventory transfers&lt;br /&gt;
** Auto-accept inventory and auto-preview texture/notecard/landmark are now separate preferences.&lt;br /&gt;
** Viewing an embedded notecard or landmark no longer adds it to your inventory.&lt;br /&gt;
** Muting the sender of notecards, inventory, textures, etc., now removes all blue pop-ups in the upper right corner from that sender.&lt;br /&gt;
** Offline inventory transfers and group invites now include the name of the item or group, along with group role, in the email.&lt;br /&gt;
* Added &amp;quot;Clear Browser Cache&amp;quot; button to web prefs.&lt;br /&gt;
** This only affects the embedded browser, not any other browsers installed on your system&lt;br /&gt;
* Embedded Mozilla browser now supports cookies.&lt;br /&gt;
* Preliminary support added to the Windows installer for selecting a language (English, Korean)&lt;br /&gt;
* Closing a changed Classified now confirms changes&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed a client crash while in startup&lt;br /&gt;
* Fixed group chat reopening with one message and an error after closing group chat&lt;br /&gt;
* Fixed &amp;quot;Stop All Animations&amp;quot; when stuck in an animation after teleporting&lt;br /&gt;
* Fixed group messages to allow the use of UTF8 characters&lt;br /&gt;
* Fixed &amp;quot;Show Owners&amp;quot; from automatically turning on again&lt;br /&gt;
* Fixed an issue with &amp;quot;Release Controls&amp;quot; when an object is taken and rerezed.&lt;br /&gt;
* Fixed an issue with texture picker not displaying any results unless inventory had been shown&lt;br /&gt;
* Fixed chat history to not show muted resident chat&lt;br /&gt;
* Fixed &amp;quot;Mute Resident&amp;quot; button, now opens the user picker&lt;br /&gt;
* Fixed group ability settings for group owners in German language viewer&lt;br /&gt;
* Fixed embedded Mozilla browser to work with HTTPS sites (affected Windows only)&lt;br /&gt;
* Notecards no longer display the &amp;quot;Keep&amp;quot; and &amp;quot;Discard&amp;quot; buttons when opened from inventory&lt;br /&gt;
* Acquired date is now set for items dragged from the contents of a container prim&lt;br /&gt;
* VWR-1040: crash when opening several gestures quickly&lt;br /&gt;
* VWR-966: Minor memory leak in llfloaterpreferences.cpp and a tiny leak in llstatup.cpp&lt;br /&gt;
* VWR-908: Various memory leaks in the group dialog&lt;br /&gt;
* VWR-871: More bad f00d: Two minor (or inconsequential) misses of initializing object members&lt;br /&gt;
* VWR-870: Memory violation through uninitialized variable (invisible or unrendered flexis)&lt;br /&gt;
* VWR-869: Possible hard-loop (endless, viewer-hang) in script editor&lt;br /&gt;
* VWR-827: Toruses are borked after making/editing sculpted prims&lt;br /&gt;
* VWR-823: Two unintialized variables in lltexturefetch.cpp&lt;br /&gt;
* VWR-822: &amp;quot;Create new...&amp;quot; clothing buttons don&#039;t auto-wear items&lt;br /&gt;
* VWR-810: Destructor forgets to delete mFloaterContros member in llui/llview.cpp&lt;br /&gt;
* VWR-809: Destructor fails to clean up global menus in llviewermenu.cpp&lt;br /&gt;
* VWR-808: Incorrect cleanup in message.cpp&lt;br /&gt;
* VWR-807: Forgets to delete gToolInspect in lltoolmgr.cpp&lt;br /&gt;
* VWR-804: Quirk in llviewerwindow.cpp&lt;br /&gt;
* VWR-805: LLCurl not properly cleaned up&lt;br /&gt;
* VWR-765: Cannot open embedded notecards in other notecards when Automatic preview of new notecards/textures/landmarks is off&lt;br /&gt;
* VWR-409: New Feature -&amp;gt; UI -&amp;gt; Dialog -&amp;gt; Buy Copy/Contents -&amp;gt; Default Action -&amp;gt; Cancel&lt;br /&gt;
* VWR-682: Text Editors should try to preserve X cursor position&lt;br /&gt;
* VWR-671: Line editor history for recalling previously typed lines&lt;br /&gt;
* VWR-648: Texture picker should highlight the texture in the swatch&lt;br /&gt;
* VWR-412: Object editing arrows hidden but clickable on objects you can&#039;t edit.&lt;br /&gt;
* VWR-364: Viewer memory leak&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.17.0(107) June 1, 2007==&lt;br /&gt;
New features:&lt;br /&gt;
* Group voice chat is available.  This enables group voice conversation between avatars all across the grid, no matter where avatars are located in relation to each other. &lt;br /&gt;
* Group voice chat is available for both &amp;quot;formal&amp;quot; Second Life groups and ad hoc groups (as is the case for text chat).&lt;br /&gt;
* Group voice chat for &amp;quot;formal&amp;quot; Second Life groups can be initiated by clicking on the Groups tab in the Chatterbox and double-clicking on the group with which you&#039;d like to chat.&lt;br /&gt;
* Group voice chat with two or more friends can be initiated by clicking on the Friends tab in the Chatterbox, selecting multiple friends from the list, and clicking the &amp;quot;Call/IM&amp;quot; button.&lt;br /&gt;
* If you were speaking in a spatial voice channel prior to joining a group voice chat, you will return to the same spatial voice channel after leaving the group voice chat.&lt;br /&gt;
* The Talk button on the Voice tab contains a volume indicator (a dot to the right of the button text &amp;quot;Talk&amp;quot;) that shows how loudly YOU are speaking.  Green indicates a normal volume, red indicates too loud a volume (a standard across speaking indicators for voice).&lt;br /&gt;
* Volume control and mute options are disabled on the &amp;quot;Near Me&amp;quot; tab in the Chatterbox when your own name is selected in the list of speakers.&lt;br /&gt;
&lt;br /&gt;
Known Issues&lt;br /&gt;
* Users do not see a notification or visible invitation to group voice conversations.  We expect this to be fixed in the next release, so users can accept or reject calls and receive feedback that they&#039;ve successfully joined.&lt;br /&gt;
* Private voice chat with a single other user is not yet implemented.&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.17.0(0) June 1, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Auto-accept inventory and auto-preview texture/notecard/landmark are now separate preferences.&lt;br /&gt;
* Viewing an embedded notecard or landmark no longer adds it to your inventory.&lt;br /&gt;
* Muting the sender of notecards, inventory, textures, etc., now removes all blue pop-ups in the upper right corner from that sender.&lt;br /&gt;
* Offline inventory transfers and group invites now include the name of the item or group, along with group role, in the email.&lt;br /&gt;
* Added clear browser cache button to web prefs.&lt;br /&gt;
* Embedded Mozilla browser now supports cookies.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* VWR-870: Memory violation through uninitialized variable (invisible or unrendered flexis)&lt;br /&gt;
* VWR-849: LLerror.cpp does not clean up global objects&lt;br /&gt;
* VWR-823: Two unintialized variables in lltexturefetch.cpp&lt;br /&gt;
* VWR-810: Destructor forgets to delete mFloaterContros member in llui/llview.cpp&lt;br /&gt;
* VWR-809: Destructor fails to clean up global menus in llviewermenu.cpp&lt;br /&gt;
* VWR-808: Incorrect cleanup in message.cpp&lt;br /&gt;
* VWR-807: Forgets to delete gToolInspect in lltoolmgr.cpp&lt;br /&gt;
* VWR-804: Quirk in llviewerwindow.cpp&lt;br /&gt;
* VWR-805: LLCurl not properly cleaned up&lt;br /&gt;
* VWR-765: Cannot open embedded notecards in other notecards when Automatic preview of new notecards/textures/landmarks is off&lt;br /&gt;
* VWR-409: New Feature -&amp;gt; UI -&amp;gt; Dialog -&amp;gt; Buy Copy/Contents -&amp;gt; Default Action -&amp;gt; Cancel&lt;br /&gt;
* VWR-682: Text Editors should try to preserve X cursor position&lt;br /&gt;
* VWR-671: Line editor history for recalling previously typed lines&lt;br /&gt;
* VWR-412: Object editing arrows hidden but clickable on objects you can&#039;t edit.&lt;br /&gt;
* Fixed texture picker now shows any results unless inventory has been opened previously or a search term is typed&lt;br /&gt;
* Fixed muted resident chat no longer shows up in your chat history&lt;br /&gt;
* Fixed mute resident button now opens the user picker&lt;br /&gt;
* Fixed in German client, all group abilities now available for group owners&lt;br /&gt;
* Fixed closing a changed Classified now confirms changes&lt;br /&gt;
* Fixed embedded Mozilla browser to work with HTTPS sites (affected Windows only)&lt;br /&gt;
* Fixed items dragged from the contents of a container prim now have an acquired date&lt;br /&gt;
* Fixed no MOD scripts could be modded by ppl granted Modify Rights&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(105) May 22, 2007==&lt;br /&gt;
New features:&lt;br /&gt;
* The &amp;quot;Chatterbox&amp;quot; is a new communication hub that brings text and voice chat for group, individual (one-to-one), and spatial conversation into a single user interface.&lt;br /&gt;
* This is the first iteration of the Chatterbox and it isn&#039;t perfect yet, so you may notice a few bugs.&lt;br /&gt;
* The &amp;quot;Friends&amp;quot; tab of the Chatterbox shows a list of friends, via the &amp;quot;Friends&#039; button in the viewer.&lt;br /&gt;
* The &amp;quot;Groups&amp;quot; tab of the Chatterbox shows a list of groups to which a resident belongs.&lt;br /&gt;
* The &amp;quot;Near Me&amp;quot; tab shows voice speakers in close proximity to a resident. &lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* Audio devices are now enumerated and can subsequently be selected for use via the API.  A device enumeration is provided when a user connects and when a a new device is added or removed.&lt;br /&gt;
* Local audio intensity events are now exclusively generated by the local microphone energy.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-657: Beta -&amp;gt; Linux -&amp;gt; Startup -&amp;gt; Crash&lt;br /&gt;
* Fixed object loss occuring when taking an item&lt;br /&gt;
* Fixed render issues with tapered cubes&lt;br /&gt;
* Fixed sculpt texture loss after when texture picker is cancelled&lt;br /&gt;
* Fixed flexible sculpted prims becoming distorted&lt;br /&gt;
* Fixed textures applied to sculpted prim at a 90 degree rotation&lt;br /&gt;
* Fixed connection issue for users with Speedstream 6300 w/ VOIP routers connecting via port 5060.  Failed registration attempts with Vivox servers on UDP port 5060 will automatically be attempted on UDP port 5062.&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(4) May 21, 2007==&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed VWR-657: Beta -&amp;gt; Linux -&amp;gt; Startup -&amp;gt; Crash&lt;br /&gt;
* Fixed object loss occuring when taking an item&lt;br /&gt;
* Fixed render issues with tapered cubes&lt;br /&gt;
* Fixed sculpt texture loss after when texture picker is cancelled&lt;br /&gt;
* Fixed flexible sculpted prims becoming distorted&lt;br /&gt;
* Fixed textures applied to sculpted prim at a 90 degree rotation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(1) May 15, 2007== &lt;br /&gt;
New Features:&lt;br /&gt;
* Add &amp;quot;Mute&amp;quot; button to block unwanted notecards, landmarks, and textures&lt;br /&gt;
* Particle systems are added to the restriction list in a resident&#039;s mute list&lt;br /&gt;
&lt;br /&gt;
Changes: &lt;br /&gt;
* The orientation of the sculpt texture has changed. &lt;br /&gt;
** All previously created sculpt textures will now make &amp;quot;inside-out&amp;quot; sculpties. &lt;br /&gt;
** To fix this, flip the texture horizontally.&lt;br /&gt;
&lt;br /&gt;
LSL Changes:&lt;br /&gt;
* New function: [[llRegionSay]]() &lt;br /&gt;
** Allows object to communicate region-wide&lt;br /&gt;
** Does not allow communication on channel 0&lt;br /&gt;
** This is intended to reduce simulator load by eliminating the need for relay objects&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed positioning of maximize button when minimizing both script and lsl window &lt;br /&gt;
* Fixed positioning of LSL help window after minimizing/maximizing main script window&lt;br /&gt;
* Text for several alert messages has been updated&lt;br /&gt;
* Fixed issue where sculpted prims revert to spheres when zooming in/LOD change.&lt;br /&gt;
* Fixed issue where sculpted prims loose texture map when texture picker is cancelled.&lt;br /&gt;
* Fixed issue where not making a selection in the prim type changes sculpted prim to sphere until edit is closed&lt;br /&gt;
* Fixed issue where scale edit handles would become lost inside a sculpted prim&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.16.0(0) May 4, 2007==&lt;br /&gt;
&lt;br /&gt;
New Features&lt;br /&gt;
* Voice in Second Life &lt;br /&gt;
** Beta test of integrated voice capabilities within Second Life&lt;br /&gt;
** See http://secondlife.com/community/bhear.php for detailed information&lt;br /&gt;
* Sculpted Prims&lt;br /&gt;
** Sculpted Prims are a new primitive type that uses a texture to control its 3D shape&lt;br /&gt;
** See http://wiki.secondlife.com/wiki/Sculpted_Prims for the FAQ and detailed information&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* Voice changes since last voice beta release:&lt;br /&gt;
** Active Speakers window opens via the &#039;Speakers&#039; button and shows all active voice speakers in a channel&lt;br /&gt;
*** Also enables volume and mute control by individual speaker&lt;br /&gt;
** Mute settings for voice only are now available via the Active Speakers window&lt;br /&gt;
*** Avatar &#039;pie menu&#039; mute option still mutes both voice and text chat simultaneously&lt;br /&gt;
*** This will change in future releases&lt;br /&gt;
* Alt-Left and Alt-Right switch between tabs in IM&lt;br /&gt;
* Ctrl-W closes one panel in IM&lt;br /&gt;
* Ctrl-Shift-W closes all windows&lt;br /&gt;
* Inventory sort optionally sorts system folders on top&lt;br /&gt;
* Busy mode declines notecards and textures, and accepts other inventory transfers silently&lt;br /&gt;
* Offline IMs from objects include object name, owner, type and SLURL&lt;br /&gt;
* L$ displays &#039;Loading...&#039; if balance is not yet retrieved&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed a client crash when deleting objects from inventory&lt;br /&gt;
* Fixed &#039;... has left the session&#039; when leaving group chat after talking&lt;br /&gt;
* Fixed failed email when no subject is included&lt;br /&gt;
* Fixed closing an inventory folder while selecting inside moves selection to My Inventory&lt;br /&gt;
* Fixed build if llmozlib disabled&lt;br /&gt;
* Fixed avatar name not remaining within background box&lt;br /&gt;
* Fixed graphics cards with unlisted memory sizes defaulting to 16MB&lt;br /&gt;
* Fixed Alt-WASD camera controls while sitting&lt;br /&gt;
* Fixed first digit in Pay dialog cannot be deleted&lt;br /&gt;
* Fixed minimap not opening on first login&lt;br /&gt;
* Fixed &#039;Use Selection for Grid&#039; referencing edge of region and not reference prim&lt;br /&gt;
* Removed avatar eyeball shader&lt;br /&gt;
* VWR-38: Magic Opening Folders&lt;br /&gt;
* VWR-42: llSetSoundQueueing() is broken&lt;br /&gt;
* VWR-71: Tabulating and moving by word (Ctrl-left, ctrl-right) off-by-one errors in scripting editor.&lt;br /&gt;
* VWR-136: Seg fault in llpolymorph.cpp&lt;br /&gt;
* VWR-148: llListStatistics tooltip wrong&lt;br /&gt;
* VWR-165: First Digit in the &#039;Pay&#039; dialog does not erase without entering more digits&lt;br /&gt;
* VWR-166: moving of open folders in the inventory to an other indentation level leaves the contents on the previous level&lt;br /&gt;
* VWR-326: Allow a &#039;limit texture recieving&#039; in the client&lt;br /&gt;
* VWR-346: Selecting Client&amp;gt;Character&amp;gt;Flush Animations immediately crashes 1.14.0.x&lt;br /&gt;
* VWR-379: Fix shell scripts to use bash and not sh when appropriate.&lt;br /&gt;
* VWR-429: add scons option making FMOD optional&lt;br /&gt;
* VWR-414: 8-bit character in llagent.cpp comment confuses Japanese text editors&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.15.0(1) April 20, 2007==&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Improved performance of inventory operations&lt;br /&gt;
* Removed First Land filter in Search&lt;br /&gt;
* Improved recognition of some processor types&lt;br /&gt;
* Fixed extra face when using hollow with path cut&lt;br /&gt;
* Fixed a way to teleport to Orientation Islands&lt;br /&gt;
* Fixed right-click on your own avatar if you have a HUD attachment&lt;br /&gt;
* Fixed llSetText appearance on HUD attachments&lt;br /&gt;
* Fixed About Land reporting the wrong parcel when teleporting between estates&lt;br /&gt;
* Fixed a source of stalled Pending Uploads&lt;br /&gt;
* Fixed Texture Repeats Per Face rounding incorrectly when tabbing between fields&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.15.0(0) April 17, 2007==&lt;br /&gt;
Changes&lt;br /&gt;
* Inworld rating system has been removed&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed list selection triggering when mouse-up occurs over scrollbar&lt;br /&gt;
* Fixed Get Top Scripts not sorting on refresh&lt;br /&gt;
* Fixed a simulator crash related to group messages&lt;br /&gt;
* Fixed alphabetical sorting of groups on profile&lt;br /&gt;
* Fixed display of group voting history&lt;br /&gt;
* Fixed group chat not reopening when user relogs or closes chat session&lt;br /&gt;
* Fixed ability to start group messages and multi-user conferences&lt;br /&gt;
* Fixed cutoff of Help -&amp;gt; About Second Life text&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.14.1(2) April 13, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Alpha textures sorted more accurately&lt;br /&gt;
** Example: the hollow inner surface of a sphere will no longer draw on top of the outer surface&lt;br /&gt;
** This change will cause some content (which used this bug to imitate cel-shading) to look dramatically different&lt;br /&gt;
* Larger debug beacons (View &amp;gt; Beacon)&lt;br /&gt;
** You can now set the beacon size in Preferences -&amp;gt; Adv. Graphics (Range is 1-127)&lt;br /&gt;
* Groups are now searched with an index (refreshed daily)&lt;br /&gt;
** Searches are done against the full text of the group, including charter&lt;br /&gt;
** Clicking on a group found via search still shows up-to-date information&lt;br /&gt;
* Added &#039;Add as Friend&#039; button to profile&lt;br /&gt;
* Added |&amp;lt; and &amp;gt;| buttons to scroll to the ends of IM window conversations&lt;br /&gt;
* Added parcel flag for Mature Content&lt;br /&gt;
** Parcel searches use the parcel rating instead of the region rating&lt;br /&gt;
* Groups list window taller and resizeable&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* LSL Wiki is not editable from within the Second Life viewer&lt;br /&gt;
* PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY and PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY flags &lt;br /&gt;
were added to llGetParcelFlags()/llSetParcelFlags several versions many builds ago, &lt;br /&gt;
but not documented. These will now appear correctly in the script editor.&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed OK button not enabling after editing profile&lt;br /&gt;
* Fixed pie menu options shifting position when right-clicking avatar&lt;br /&gt;
* Fixed a sim crash related to group messages&lt;br /&gt;
* Fixed combo box not closing after hitting Tab&lt;br /&gt;
* Fixed gap with combo boxes on bottom of the screen&lt;br /&gt;
* Fixed combo boxes not closing when hitting button&lt;br /&gt;
* Fixed proposals being created with incorrect information&lt;br /&gt;
* Fixed agent information not displaying for land/objects&lt;br /&gt;
* Fixed group information for members/roles not loading&lt;br /&gt;
* Fixed IM window showing all users in bold&lt;br /&gt;
* Fixed font of Bumps, Pushes, Hits window&lt;br /&gt;
* Fixed objects appearing in two places while moving in editor&lt;br /&gt;
* Fixed a client crash with some mobile ATI chipsets&lt;br /&gt;
* Fixed button images when first running SL&lt;br /&gt;
* Fixed overlapping text in proposals in group info window&lt;br /&gt;
* Fixed selecting group roles not updating UI&lt;br /&gt;
* Fixed avatar names not appearing when Show Avatar Names Temporarily is enabled&lt;br /&gt;
* Fixed New IM showing (nobody) for group names&lt;br /&gt;
* Fixed task email failing between regions&lt;br /&gt;
* Fixed avatar reverting to default appearance&lt;br /&gt;
* Fixed broken embedded landmarks when editing their notecard&lt;br /&gt;
* Fixed display of Terms of Service&lt;br /&gt;
* Fixed a case where you could not modify your modifyable object&lt;br /&gt;
* Fixed attachments disappearing a minute after teleport&lt;br /&gt;
* Fixed ability to set Mature on parcels in non-Mature regions&lt;br /&gt;
* Fixed saving changes to notecards in contents&lt;br /&gt;
* Fixed HUD positioning guide misaligning when UI Size changed&lt;br /&gt;
* Fixed a case where no-copy objects could be lost during rez&lt;br /&gt;
* Fixed textures in windows only stretching horizontally&lt;br /&gt;
* Fixed texture animation rotation changing when Flip is enabled&lt;br /&gt;
* Fixed erroneous &#039;User has left this session&#039; messages&lt;br /&gt;
* Fixed display bug with a cube with Path Cut Begin/End set to .150&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.14.1(1) April 2, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Users are now notified if they are the only ones present in a group or conference session&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* Fixed: VWR-130: llimagejpeg.h remove jinclude.h&lt;br /&gt;
* Fixed: VWR-200: money(); events in a linked sets fail to trigger&lt;br /&gt;
* Fixed: VWR-243: Sort inventory System folders to the top&lt;br /&gt;
&lt;br /&gt;
==Release Notes for Second Life 1.14.1(0) March 23, 2007==&lt;br /&gt;
Changes:&lt;br /&gt;
* Teleport Home disabled for new users on an Orientation Island&lt;br /&gt;
* Share With Group disabled after object is deeded to group&lt;br /&gt;
&lt;br /&gt;
LSL changes:&lt;br /&gt;
* string llStringTrim(string src, integer trim_type)&lt;br /&gt;
** STRING_TRIM_HEAD: trim all leading spaces in src&lt;br /&gt;
** STRING_TRIM_TAIL: trim all trailing spaces in src&lt;br /&gt;
** STRING_TRIM: trim all leading and trailing spaces in src &lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
* New groups are instantly searchable&lt;br /&gt;
* Fixed disappearing alpha HUD prims&lt;br /&gt;
* Fixed menu bar processing keystrokes when moused over&lt;br /&gt;
* Fixed detached IM windows not resizing&lt;br /&gt;
* Fixed animated textures when using llSetColor, llSetLinkColor, or PRIM_PROPERTIES&lt;br /&gt;
* Fixed HUD object movement when logging in at a no-script area&lt;br /&gt;
* Fixed HUD objects not loading new textures&lt;br /&gt;
* Fixed HUD objects becoming invisible the first time they are attached from inworld&lt;br /&gt;
* Fixed &#039;IM All Contacts In Folder&#039;&lt;br /&gt;
* Fixed a viewer crash in the name cache&lt;br /&gt;
* Fixed Undo resetting position only on root prim&lt;br /&gt;
* Fixed Texture Picker search not showing results&lt;br /&gt;
* Fixed IM window reverting to default size&lt;br /&gt;
* Fixed overriding stand-up animation freezing you in place&lt;br /&gt;
* Fixed Appearance mode showing back of avatar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:QA Portal]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>JS Uralia</name></author>
	</entry>
</feed>