<?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=MartinRJ+Fayray</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=MartinRJ+Fayray"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/MartinRJ_Fayray"/>
	<updated>2026-07-26T14:54:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray/de&amp;diff=1218369</id>
		<title>User:MartinRJ Fayray/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray/de&amp;diff=1218369"/>
		<updated>2025-07-24T10:34:42Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Year&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MartinRJ_Small_New.png|right|thumb|50x55px]]&lt;br /&gt;
&#039;&#039;&#039;MartinRJ&#039;&#039;&#039; (&#039;&#039;&#039;nick: [http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] in [[Second Life]]&#039;&#039;&#039;), ist ein österreichischer [[Furry]], der seit vielen Jahren in Deutschland lebt. Er betreibt mehrere populäre deutschsprachige [[Furry]]-Gruppen in [[Second Life]]: [https://world.secondlife.com/group/f3c6593e-55f7-b6d5-9c81-47d3515b743b German Furs] (die größte deutschsprachige Furrygruppe in SL), [https://world.secondlife.com/group/1d4268a3-297a-e68d-ac0c-c8b5389135ae DACH Furries] und [https://world.secondlife.com/group/11a186d7-8f12-9031-6d21-66fb6c6a0146 Austrian Furry].&lt;br /&gt;
&lt;br /&gt;
MartinRJ ist Programmierer, Sicherheitsforscher („Hacker“) und langjähriger Mitwirkender am [[Second Life Viewer]]. Zudem organisiert er virtuelle Events und Konzerte in [[Second Life]].&lt;br /&gt;
&lt;br /&gt;
Er besitzt und verwaltet die deutsche Furry-Hauptsim [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 &amp;quot;DACH Furries&amp;quot;] (Regionname „Wander Beachside“), mit großzügigem Strandbereich, Partyzone, Skyboxen, BDSM-Haus und einer großen Sandbox. Direkt angrenzend befindet sich seine Rental-Sim [http://maps.secondlife.com/secondlife/DACH%20Furries/182/144/32 &amp;quot;DACH Furries Oase&amp;quot;] (Regionsname „DACH Furries“), auf der Parzellen zum Selbstkostenpreis angeboten werden.&lt;br /&gt;
&lt;br /&gt;
Besucher sind herzlich eingeladen, den einzigartigen und intelligenten Wolf-Bot „Lupo“ auf &amp;quot;DACH Furries&amp;quot; zu testen. Traut euch ruhig, ihm auch einmal etwas schmuddeligere Fragen zu stellen – er liebt es!&lt;br /&gt;
&lt;br /&gt;
Übrigens steht gelegentlich ein Klon von MartinRJ persönlich am Strand der DACH Furries, wenn er selbst gerade anderswo in SL-Clubs unterwegs ist. Rawr! 🐾&lt;br /&gt;
&lt;br /&gt;
[[Image:MartinRJ_3.PNG|center|thumb|220px|[http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] auf seiner Heimat-Sim [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 DACH Furries], 2025]]&lt;br /&gt;
&lt;br /&gt;
Webseite (deutschsprachige SL-Furry-Community-Linksammlung): [https://german-furs.de German-Furs.de]&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
[[Category:People]]&lt;br /&gt;
[[Category:Second Life characters]]&lt;br /&gt;
[[Category:Austria]]&lt;br /&gt;
[[Category:Germany]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray/de&amp;diff=1218368</id>
		<title>User:MartinRJ Fayray/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray/de&amp;diff=1218368"/>
		<updated>2025-07-24T10:34:13Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Updated images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MartinRJ_Small_New.png|right|thumb|50x55px]]&lt;br /&gt;
&#039;&#039;&#039;MartinRJ&#039;&#039;&#039; (&#039;&#039;&#039;nick: [http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] in [[Second Life]]&#039;&#039;&#039;), ist ein österreichischer [[Furry]], der seit vielen Jahren in Deutschland lebt. Er betreibt mehrere populäre deutschsprachige [[Furry]]-Gruppen in [[Second Life]]: [https://world.secondlife.com/group/f3c6593e-55f7-b6d5-9c81-47d3515b743b German Furs] (die größte deutschsprachige Furrygruppe in SL), [https://world.secondlife.com/group/1d4268a3-297a-e68d-ac0c-c8b5389135ae DACH Furries] und [https://world.secondlife.com/group/11a186d7-8f12-9031-6d21-66fb6c6a0146 Austrian Furry].&lt;br /&gt;
&lt;br /&gt;
MartinRJ ist Programmierer, Sicherheitsforscher („Hacker“) und langjähriger Mitwirkender am [[Second Life Viewer]]. Zudem organisiert er virtuelle Events und Konzerte in [[Second Life]].&lt;br /&gt;
&lt;br /&gt;
Er besitzt und verwaltet die deutsche Furry-Hauptsim [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 &amp;quot;DACH Furries&amp;quot;] (Regionname „Wander Beachside“), mit großzügigem Strandbereich, Partyzone, Skyboxen, BDSM-Haus und einer großen Sandbox. Direkt angrenzend befindet sich seine Rental-Sim [http://maps.secondlife.com/secondlife/DACH%20Furries/182/144/32 &amp;quot;DACH Furries Oase&amp;quot;] (Regionsname „DACH Furries“), auf der Parzellen zum Selbstkostenpreis angeboten werden.&lt;br /&gt;
&lt;br /&gt;
Besucher sind herzlich eingeladen, den einzigartigen und intelligenten Wolf-Bot „Lupo“ auf &amp;quot;DACH Furries&amp;quot; zu testen. Traut euch ruhig, ihm auch einmal etwas schmuddeligere Fragen zu stellen – er liebt es!&lt;br /&gt;
&lt;br /&gt;
Übrigens steht gelegentlich ein Klon von MartinRJ persönlich am Strand der DACH Furries, wenn er selbst gerade anderswo in SL-Clubs unterwegs ist. Rawr! 🐾&lt;br /&gt;
&lt;br /&gt;
[[Image:MartinRJ_3.PNG|center|thumb|220px|[http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] auf seiner Heimat-Sim [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 DACH Furries], 2024]]&lt;br /&gt;
&lt;br /&gt;
Webseite (deutschsprachige SL-Furry-Community-Linksammlung): [https://german-furs.de German-Furs.de]&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
[[Category:People]]&lt;br /&gt;
[[Category:Second Life characters]]&lt;br /&gt;
[[Category:Austria]]&lt;br /&gt;
[[Category:Germany]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray&amp;diff=1218367</id>
		<title>User:MartinRJ Fayray</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray&amp;diff=1218367"/>
		<updated>2025-07-24T10:31:07Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Updated images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MartinRJ_Small_New.png|right|thumb|50x55px]]&lt;br /&gt;
&#039;&#039;&#039;MartinRJ&#039;&#039;&#039; (&#039;&#039;&#039;nick: [http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] in [[Second Life]]&#039;&#039;&#039;), is an Austrian [[Furry]] living in Germany for many years. He manages several popular German-language [[Furry]] groups in [[Second Life]]: [https://world.secondlife.com/group/f3c6593e-55f7-b6d5-9c81-47d3515b743b German Furs] (the largest German-speaking furry group in SL), [https://world.secondlife.com/group/1d4268a3-297a-e68d-ac0c-c8b5389135ae DACH Furries], and [https://world.secondlife.com/group/11a186d7-8f12-9031-6d21-66fb6c6a0146 Austrian Furry].&lt;br /&gt;
&lt;br /&gt;
MartinRJ is a programmer, security researcher (&amp;quot;hacker&amp;quot;), and longtime contributor to the [[Second Life Viewer]]. He also organizes virtual events and concerts in [[Second Life]].&lt;br /&gt;
&lt;br /&gt;
He owns and manages the German furry main region [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 &amp;quot;DACH Furries&amp;quot;] (region name &amp;quot;Wander Beachside&amp;quot;), featuring a large beach area, party zone, skyboxes, BDSM house, and a spacious sandbox. Adjacent to this is his rental region [http://maps.secondlife.com/secondlife/DACH%20Furries/182/144/32 &amp;quot;DACH Furries Oase&amp;quot;] (region name &amp;quot;DACH Furries&amp;quot;), where plots are available at cost price.&lt;br /&gt;
&lt;br /&gt;
Visitors are warmly invited to test the unique and intelligent wolf-bot &amp;quot;Lupo&amp;quot; at &amp;quot;DACH Furries&amp;quot;. Feel free to ask him some naughty questions – he enjoys it!&lt;br /&gt;
&lt;br /&gt;
Occasionally, a clone of MartinRJ himself can be found standing at the DACH Furries beach while he&#039;s busy exploring other SL clubs. Rawr! 🐾&lt;br /&gt;
&lt;br /&gt;
[[Image:MartinRJ 3.PNG|center|thumb|220px|[http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] at his home region [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 DACH Furries], 2025]]&lt;br /&gt;
&lt;br /&gt;
Website (German-language SL furry community link collection): [https://german-furs.de German-Furs.de]&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
[[Category:People]]&lt;br /&gt;
[[Category:Second Life characters]]&lt;br /&gt;
[[Category:Austria]]&lt;br /&gt;
[[Category:Germany]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=File:MartinRJ_Small_New.png&amp;diff=1218366</id>
		<title>File:MartinRJ Small New.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=File:MartinRJ_Small_New.png&amp;diff=1218366"/>
		<updated>2025-07-24T10:29:38Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Profile of MartinRJ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Profile of MartinRJ&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=File:MartinRJ_3.PNG&amp;diff=1218365</id>
		<title>File:MartinRJ 3.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=File:MartinRJ_3.PNG&amp;diff=1218365"/>
		<updated>2025-07-24T10:28:37Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: MartinRJ in his home in Secod Life.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
MartinRJ in his home in Secod Life.&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray&amp;diff=1218364</id>
		<title>User:MartinRJ Fayray</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray&amp;diff=1218364"/>
		<updated>2025-07-24T10:07:26Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Update after over a decade&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MartinRJ_Small_New.GIF|right|thumb|50x60px]]&lt;br /&gt;
&#039;&#039;&#039;MartinRJ&#039;&#039;&#039; (&#039;&#039;&#039;nick: [http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] in [[Second Life]]&#039;&#039;&#039;), is an Austrian [[Furry]] living in Germany for many years. He manages several popular German-language [[Furry]] groups in [[Second Life]]: [https://world.secondlife.com/group/f3c6593e-55f7-b6d5-9c81-47d3515b743b German Furs] (the largest German-speaking furry group in SL), [https://world.secondlife.com/group/1d4268a3-297a-e68d-ac0c-c8b5389135ae DACH Furries], and [https://world.secondlife.com/group/11a186d7-8f12-9031-6d21-66fb6c6a0146 Austrian Furry].&lt;br /&gt;
&lt;br /&gt;
MartinRJ is a programmer, security researcher (&amp;quot;hacker&amp;quot;), and longtime contributor to the [[Second Life Viewer]]. He also organizes virtual events and concerts in [[Second Life]].&lt;br /&gt;
&lt;br /&gt;
He owns and manages the German furry main region [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 &amp;quot;DACH Furries&amp;quot;] (region name &amp;quot;Wander Beachside&amp;quot;), featuring a large beach area, party zone, skyboxes, BDSM house, and a spacious sandbox. Adjacent to this is his rental region [http://maps.secondlife.com/secondlife/DACH%20Furries/182/144/32 &amp;quot;DACH Furries Oase&amp;quot;] (region name &amp;quot;DACH Furries&amp;quot;), where plots are available at cost price.&lt;br /&gt;
&lt;br /&gt;
Visitors are warmly invited to test the unique and intelligent wolf-bot &amp;quot;Lupo&amp;quot; at &amp;quot;DACH Furries&amp;quot;. Feel free to ask him some naughty questions – he enjoys it!&lt;br /&gt;
&lt;br /&gt;
Occasionally, a clone of MartinRJ himself can be found standing at the DACH Furries beach while he&#039;s busy exploring other SL clubs. Rawr! 🐾&lt;br /&gt;
&lt;br /&gt;
[[Image:MartinRJ_2.PNG|center|thumb|220px|[http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] at his home region [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 DACH Furries], 2024]]&lt;br /&gt;
&lt;br /&gt;
Website (German-language SL furry community link collection): [https://german-furs.de German-Furs.de]&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
[[Category:People]]&lt;br /&gt;
[[Category:Second Life characters]]&lt;br /&gt;
[[Category:Austria]]&lt;br /&gt;
[[Category:Germany]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray/de&amp;diff=1218363</id>
		<title>User:MartinRJ Fayray/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:MartinRJ_Fayray/de&amp;diff=1218363"/>
		<updated>2025-07-24T10:04:59Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Created page / translation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MartinRJ_Small_New.GIF|right|thumb|50x60px]]&lt;br /&gt;
&#039;&#039;&#039;MartinRJ&#039;&#039;&#039; (&#039;&#039;&#039;nick: [http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] in [[Second Life]]&#039;&#039;&#039;), ist ein österreichischer [[Furry]], der seit vielen Jahren in Deutschland lebt. Er betreibt mehrere populäre deutschsprachige [[Furry]]-Gruppen in [[Second Life]]: [https://world.secondlife.com/group/f3c6593e-55f7-b6d5-9c81-47d3515b743b German Furs] (die größte deutschsprachige Furrygruppe in SL), [https://world.secondlife.com/group/1d4268a3-297a-e68d-ac0c-c8b5389135ae DACH Furries] und [https://world.secondlife.com/group/11a186d7-8f12-9031-6d21-66fb6c6a0146 Austrian Furry].&lt;br /&gt;
&lt;br /&gt;
MartinRJ ist Programmierer, Sicherheitsforscher („Hacker“) und langjähriger Mitwirkender am [[Second Life Viewer]]. Zudem organisiert er virtuelle Events und Konzerte in [[Second Life]].&lt;br /&gt;
&lt;br /&gt;
Er besitzt und verwaltet die deutsche Furry-Hauptsim [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 &amp;quot;DACH Furries&amp;quot;] (Regionname „Wander Beachside“), mit großzügigem Strandbereich, Partyzone, Skyboxen, BDSM-Haus und einer großen Sandbox. Direkt angrenzend befindet sich seine Rental-Sim [http://maps.secondlife.com/secondlife/DACH%20Furries/182/144/32 &amp;quot;DACH Furries Oase&amp;quot;] (Regionsname „DACH Furries“), auf der Parzellen zum Selbstkostenpreis angeboten werden.&lt;br /&gt;
&lt;br /&gt;
Besucher sind herzlich eingeladen, den einzigartigen und intelligenten Wolf-Bot „Lupo“ auf &amp;quot;DACH Furries&amp;quot; zu testen. Traut euch ruhig, ihm auch einmal etwas schmuddeligere Fragen zu stellen – er liebt es!&lt;br /&gt;
&lt;br /&gt;
Übrigens steht gelegentlich ein Klon von MartinRJ persönlich am Strand der DACH Furries, wenn er selbst gerade anderswo in SL-Clubs unterwegs ist. Rawr! 🐾&lt;br /&gt;
&lt;br /&gt;
[[Image:MartinRJ_2.PNG|center|thumb|220px|[http://world.secondlife.com/resident/97980bee-d865-4100-80e7-9763e53e8a6a MartinRJ Fayray] auf seiner Heimat-Sim [http://maps.secondlife.com/secondlife/Wander%20Beachside/183/132/22 DACH Furries], 2024]]&lt;br /&gt;
&lt;br /&gt;
Webseite (deutschsprachige SL-Furry-Community-Linksammlung): [https://german-furs.de German-Furs.de]&lt;br /&gt;
&lt;br /&gt;
{{Jira Reporter}}&lt;br /&gt;
[[Category:People]]&lt;br /&gt;
[[Category:Second Life characters]]&lt;br /&gt;
[[Category:Austria]]&lt;br /&gt;
[[Category:Germany]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Flycam&amp;diff=1197886</id>
		<title>Flycam</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Flycam&amp;diff=1197886"/>
		<updated>2015-11-03T17:58:36Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* Nathan Zetkin - Space Mouse wireless - 3DxWare v10.0.19 - Windows 7 64 bit */  Update for version v10.2.9 of the SpaceMouse Wireless&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Help&lt;br /&gt;
|BugFixes=&lt;br /&gt;
|Avatar=&lt;br /&gt;
|Object=&lt;br /&gt;
|LandSim=&lt;br /&gt;
|Community=&lt;br /&gt;
|Viewer=*&lt;br /&gt;
|Communication=&lt;br /&gt;
|Multimedia=&lt;br /&gt;
|Navigation=*&lt;br /&gt;
|Misc=&lt;br /&gt;
|Description=&lt;br /&gt;
|Wiki=&lt;br /&gt;
|Glossary=&lt;br /&gt;
}}&lt;br /&gt;
== How do I enable Joystick Flycam? ==&lt;br /&gt;
In [[1.20|Second Life 1.20]] and newer where it became a formally supported feature, View menu &amp;gt; Joystick Flycam (Alt-Shift-F). To customize settings, go to Edit menu &amp;gt; Preferences &amp;gt; Input &amp;amp; Camera tab and click Joystick Setup.&lt;br /&gt;
&lt;br /&gt;
In order versions (like 1.9.1), [[Advanced menu]] &amp;gt; Joystick Flycam.&lt;br /&gt;
&lt;br /&gt;
Press Esc to leave Flycam mode.&lt;br /&gt;
&lt;br /&gt;
== How do I use Flycam with the 3DConnexion SpaceNavigator? ==&lt;br /&gt;
&#039;&#039;&#039;[[SpaceNavigator|See the SpaceNavigator page.]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
[[Image:Joystick-Configuration.png|384px|thumb|SpaceNavigator Defaults]] The following instructions were graciously provided by Runitai Linden and edited by Torley Linden. As of &#039;&#039;&#039;[[1.20|Second Life 1.20]], the Joystick Flycam, and specifically, [[SpaceNavigator]] compatibility, is officially supported&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&amp;quot;I tested on a logitech cordless rumblepad 2 (PS2 controller clone) and got some great shots, but with only 4 axes, I couldn&#039;t move straight up or down.  The device that started this whole mess was a 3D connexion 6-axis controller, so the camera works well with it, but I&#039;m not fond of the device because it acts more like a 3D cursor than a joystick, hence the &#039;3D Cursor&#039; check box. Enjoy!&amp;quot; -Runitai Linden&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Joystick Flycam offers 6 degrees of freedom that you can bind to various actions:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Y-Axis&#039;&#039;&#039; - Move camera up/down&lt;br /&gt;
* &#039;&#039;&#039;X-Axis&#039;&#039;&#039; - Move camera left/right&lt;br /&gt;
* &#039;&#039;&#039;Z-Axis&#039;&#039;&#039; - Move camera forward/backward&lt;br /&gt;
* &#039;&#039;&#039;Yaw&#039;&#039;&#039; - Turn left/right&lt;br /&gt;
* &#039;&#039;&#039;Pitch&#039;&#039;&#039; - Look up/down&lt;br /&gt;
* &#039;&#039;&#039;Roll&#039;&#039;&#039; - Bank left/right&lt;br /&gt;
* &#039;&#039;&#039;Zoom In/Out&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The little output graph shows you the values Second Life is getting from your joystick on each axis. Take the number of the axis you want and set the action you want it to go to to that axis number. &#039;&#039;&#039;Set an action axis to &amp;quot;-1&amp;quot; to turn the action off.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dead Zone&#039;&#039;&#039; - These values tell Second Life to ignore values below a certain threshold to avoid drift.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scale&#039;&#039;&#039; - These values adjust sensitivity. If you find it difficult to move with precision, use lower scale values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3D Cursor&#039;&#039;&#039; - Gives values as cursor positions instead of push amounts. Should be enabled for SpaceNavigator and similar devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Direct Zoom&#039;&#039;&#039; - Enable this to directly map values from your joystick to your FOV (Field Of Vision) instead of being treated as a delta. Off by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auto Level&#039;&#039;&#039; - Keeps the camera up, vector sane — good if you feel dizzy and want the horizon to be level.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Feathering&#039;&#039;&#039; - Setting the slider all the way to the right will make the camera very rigid, giving complete control to the joystick. Setting the slider all the way to the left will make the camera very fluid like the camera weighs a lot; good for fly-by shots, not good for framing.&lt;br /&gt;
&lt;br /&gt;
== Resident experiences ==&lt;br /&gt;
Have an intriguing Flycam story to tell? &#039;&#039;Share it here!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Nalates Urriah - Win-7 64-bit SpaceNavigator Install ===&lt;br /&gt;
:: The information below got me started. But, it is possible to get the version 10 (v10) driver for the SpaceNavigator working and program the SpaceNavigator buttons. The quick and dirty install is to use version 3-18 legacy driver (Download: [http://www.3dconnexion.com/service/legacy-driver.html 3Dconnexion&#039;s Legacy Drivers]). To use the newer version 32 or 64 bit (current 64-bit: 3DxWare64_v10-1-4_r1818 as of 8/2014) you have to make a change in Windows Device Manager and manually create a profile for Second Life. It is a long explanation. The details are here: [http://blog.nalates.net/2014/08/28/3dconnextion-spacenavigator-v10-for-second-life Installing 3DConnextion SpaceNavigator v10 for Second Life]. [[User:Nalates Urriah|Nalates Urriah]] 07:42, 28 August 2014 (PDT) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:: Please click by the JIRA and Watch item: [https://jira.secondlife.com/browse/BUG-6049 BUG-6049] - Add Ability to select device in Joystick Config. If you have a good user case and have needed this feature please explain it in the comments and itemize the device or devices that ran you into the problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nathan Zetkin - Space Mouse wireless - 3DxWare v10.0.19 - Windows 7 64 bit ===&lt;br /&gt;
(with much thanks to Zion Tristan)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Use Zion&#039;s instructions below to begin:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Windows, go to &#039;&#039;Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management&#039;&#039;. Select the &#039;&#039;Device Manager&#039;&#039; from the left pane, and then choose the &#039;&#039;Human Interface Devices&#039;&#039; and check to see if you have a device called &#039;&#039;3Dconnexion KMJ Emulator&#039;&#039;. You may or may not be able to disable this device (&#039;&#039;Properties &amp;gt; Driver &amp;gt; Disable&#039;&#039;), but disable it if you can. Additionally, find a &#039;&#039;HID-compliant device&#039;&#039;, &#039;&#039;HID-compliant game controller&#039;&#039;, or &#039;&#039;HID-compliant consumer control device&#039;&#039;, and check the &#039;&#039;Hardware ID&#039;&#039; (&#039;&#039;Properties &amp;gt; Details &amp;gt; Hardware IDs&#039;&#039;), looking for &#039;&#039;&#039;HID\3DXKMJ_HIDMINI&amp;amp;Col03&#039;&#039;&#039; as the topmost value. When you find the device, disable it from the &#039;&#039;Driver&#039;&#039; tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Editing the config file:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the folder &#039;&#039;C:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg&#039;&#039;, you will find a file called &#039;&#039;joystick.xml&#039;&#039;. Copy it and rename the new file to &#039;&#039;SecondLifeViewer.xml&#039;&#039;. I use a free xml editor to edit xml files but just about any text editor should work. I made the following changes so that the top part looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;AppCfg Default=&amp;quot;true&amp;quot; xmlns=&amp;quot;&amp;quot; CfgFormatVersion=&amp;quot;1.0&amp;quot; ThisFileVersion=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AppInfo&amp;gt;&lt;br /&gt;
    &amp;lt;Name&amp;gt;Second Life&amp;lt;/Name&amp;gt;&lt;br /&gt;
    &amp;lt;VersionRange&amp;gt;&lt;br /&gt;
      &amp;lt;Min&amp;gt;1.0&amp;lt;/Min&amp;gt;&lt;br /&gt;
      &amp;lt;Max&amp;gt;1.0&amp;lt;/Max&amp;gt;&lt;br /&gt;
    &amp;lt;/VersionRange&amp;gt;&lt;br /&gt;
    &amp;lt;ExecutableName&amp;gt;SecondLifeViewer.exe&amp;lt;/ExecutableName&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationIcon&amp;gt;SecondLifeViewer.ico&amp;lt;/ApplicationIcon&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file and run Second Life. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changing Second Life preferences:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to &#039;&#039;Preferences-&amp;gt;Move &amp;amp; View-&amp;gt;Other Devices&#039;&#039;. You should see at the top, that the &#039;&#039;&#039;Enable Joystick: SpaceMouse Wireless&#039;&#039;&#039; is checked. The other parameters are set as shown below:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &lt;br /&gt;
! &#039;&#039;&#039;Avatar&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Build&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Flycam&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||X Scale&lt;br /&gt;
||0.50&lt;br /&gt;
||0.30&lt;br /&gt;
||8.00&lt;br /&gt;
|-&lt;br /&gt;
||Y Scale&lt;br /&gt;
||0.50&lt;br /&gt;
||0.30&lt;br /&gt;
||8.00&lt;br /&gt;
|-&lt;br /&gt;
||Z Scale&lt;br /&gt;
||0.50&lt;br /&gt;
||0.30&lt;br /&gt;
||8.00&lt;br /&gt;
|-&lt;br /&gt;
||Pitch Scale&lt;br /&gt;
||0.50&lt;br /&gt;
||0.30&lt;br /&gt;
||2.00&lt;br /&gt;
|-&lt;br /&gt;
||Yaw Scale&lt;br /&gt;
||4.00&lt;br /&gt;
||0.30&lt;br /&gt;
||2.00&lt;br /&gt;
|-&lt;br /&gt;
||Roll Scale&lt;br /&gt;
||&lt;br /&gt;
||0.30&lt;br /&gt;
||0.30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I check the box &#039;&#039;&#039;Auto Level&#039;&#039;&#039; and leave &#039;&#039;&#039;Direct Zoom&#039;&#039;&#039; and &#039;&#039;&#039;3D Cursor&#039;&#039;&#039; unchecked. For &#039;&#039;&#039;Control Modes&#039;&#039;&#039;, I leave &#039;&#039;&#039;Build&#039;&#039;&#039; unchecked and &#039;&#039;&#039;Avatar&#039;&#039;&#039; and &#039;&#039;&#039;Flycam&#039;&#039;&#039; checked. &lt;br /&gt;
&lt;br /&gt;
I hope this helps. 3Dconnexion says the Second Life is no longer supported, but the Space Mouse is a joy to use in Second Life and is indispensable when building.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update (2015-11-03) by MartinRJ Fayray&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You need to make some slight modifications to the instructions above, with newer versions (3DxWare64 v10.2.9).&lt;br /&gt;
&lt;br /&gt;
Open the config-file JoystickTemplate.xml with notepad,&lt;br /&gt;
&lt;br /&gt;
(you have to open notepad AS ADMINISTRATOR, rightclick Notepad.exe-&amp;gt;Run as administrator),&lt;br /&gt;
&lt;br /&gt;
and replace the AppInfo part in the top with this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;code&amp;gt;&amp;lt;AppInfo&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;Name&amp;gt;STR_SECONDLIFE&amp;lt;/Name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;VersionRange&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::::			&amp;lt;code&amp;gt;&amp;lt;Min&amp;gt;1.0.0.0&amp;lt;/Min&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::::			&amp;lt;code&amp;gt;&amp;lt;Max&amp;gt;1.0.0.0&amp;lt;/Max&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;/VersionRange&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;ExecutableName&amp;gt;SECONDLIFEVIEWER.exe&amp;lt;/ExecutableName&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;InheritsFrom /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;ApplicationIcon&amp;gt;SecondLifeViewer.ico&amp;lt;/ApplicationIcon&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;Transport&amp;gt;KMJ&amp;lt;/Transport&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		&amp;lt;code&amp;gt;&amp;lt;IgnoreMouseWheelInertia&amp;gt;true&amp;lt;/IgnoreMouseWheelInertia&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;code&amp;gt;&amp;lt;/AppInfo&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then save the file as SecondLifeViewer.xml in the same folder.&lt;br /&gt;
&lt;br /&gt;
Afterwards you have to restart your PC, in order to apply the changes.&lt;br /&gt;
&lt;br /&gt;
--[[User:MartinRJ Fayray|MartinRJ Fayray]] ([[User talk:MartinRJ Fayray|talk]]) 09:58, 3 November 2015 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Zion Tristan - SpacePilot Pro - 3DxWare v10 Beta 15 - Windows 8 ===&lt;br /&gt;
[[Image:SpacePilot%20Pro.png|right|thumb|SpacePilot Pro]]&lt;br /&gt;
The Beta 15 version of the 3DxWare v10 works quite well, however may require some tweaking in terms of removing the KMJ Emulator from the Devices list to make it work correctly.&lt;br /&gt;
&lt;br /&gt;
In Windows, go to &#039;&#039;Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management&#039;&#039;. Select the &#039;&#039;Device Manager&#039;&#039; from the left pane, and then choose the &#039;&#039;Human Interface Devices&#039;&#039; and check to see if you have a device called &#039;&#039;3Dconnexion KMJ Emulator&#039;&#039;. You may or may not be able to disable this device (&#039;&#039;Properties &amp;gt; Driver &amp;gt; Disable&#039;&#039;), but disable it if you can. Additionally, find a &#039;&#039;HID-compliant device&#039;&#039;, &#039;&#039;HID-compliant game controller&#039;&#039;, or &#039;&#039;HID-compliant consumer control device&#039;&#039;, and check the &#039;&#039;Hardware ID&#039;&#039; (&#039;&#039;Properties &amp;gt; Details &amp;gt; Hardware IDs&#039;&#039;), looking for &#039;&#039;&#039;HID\3DXKMJ_HIDMINI&amp;amp;Col03&#039;&#039;&#039; as the topmost value. When you find the device, disable it from the &#039;&#039;Driver&#039;&#039; tab.&lt;br /&gt;
&lt;br /&gt;
I additionally note that the .xml file holding the settings for the profile you use with Second Life needs editing. If you create a profile for Second Life (highly recommended), navigate to the following directory: &#039;&#039;C:\Users\&amp;lt;your username&amp;gt;\AppData\Roaming\3Dconnexion\3DxWare\Cfg\secondlife.xml&#039;&#039; (Or your viewer of preference) and change the &#039;&#039;&#039;&amp;lt;Transport&amp;gt;DirectInput&amp;lt;/Transport&amp;gt;&#039;&#039;&#039; to &#039;&#039;&#039;&amp;lt;Transport&amp;gt;S80&amp;lt;/Transport&amp;gt;&#039;&#039;&#039;, then save the file.&lt;br /&gt;
&lt;br /&gt;
You may need to restart your computer for changes to take effect, but it should be pretty instantaneous. When you start up Second Life, you can go to the &#039;&#039;Properties &amp;gt; Move &amp;amp; View &amp;gt; Joystick Configuration&#039;&#039;, and check the &#039;&#039;Enable Joystick: SpacePilot PRO 3Dmouse (or your joystick&#039;s name)&#039;&#039;. I personally use the settings below:&lt;br /&gt;
{| class=&amp;quot;&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &lt;br /&gt;
! &#039;&#039;&#039;Avatar&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Build&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Flycam&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||X Scale&lt;br /&gt;
||1.00&lt;br /&gt;
||0.30&lt;br /&gt;
||20.00&lt;br /&gt;
|-&lt;br /&gt;
||Y Scale&lt;br /&gt;
||1.00&lt;br /&gt;
||0.30&lt;br /&gt;
||20.00&lt;br /&gt;
|-&lt;br /&gt;
||Z Scale&lt;br /&gt;
||1.00&lt;br /&gt;
||0.30&lt;br /&gt;
||20.00&lt;br /&gt;
|-&lt;br /&gt;
||Pitch Scale&lt;br /&gt;
||5.00&lt;br /&gt;
||0.30&lt;br /&gt;
||5.00&lt;br /&gt;
|-&lt;br /&gt;
||Yaw Scale&lt;br /&gt;
||5.00&lt;br /&gt;
||0.30&lt;br /&gt;
||5.00&lt;br /&gt;
|-&lt;br /&gt;
||Roll Scale&lt;br /&gt;
||&lt;br /&gt;
||0.30&lt;br /&gt;
||0.00&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I additionally have unchecked &#039;&#039;&#039;Direct Zoom&#039;&#039;&#039; and &#039;&#039;&#039;3D Cursor&#039;&#039;&#039;, and these settings work fine for me.&lt;br /&gt;
&lt;br /&gt;
I did notice that the &amp;quot;Fit&amp;quot; key on the actual device (thumb button, when used in the left hand) also makes the avatar jump, and I&#039;ve found no way around this, so I use one of the other 39 buttons, and assign macro&#039;s to them to control me. I set the following buttons to do the following actions through the 3DxWare Properties:&lt;br /&gt;
{| class=&amp;quot;&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Button&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Action&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||R (lower right corner, right set of buttons)&lt;br /&gt;
||Flycam Toggle {{KeyCombo|alt=*|shift=*|F}}&lt;br /&gt;
|-&lt;br /&gt;
||F (lower left corner, right set of buttons)&lt;br /&gt;
||Escape (Reset camera position) {{KeyCombo|esc}}&lt;br /&gt;
|-&lt;br /&gt;
||ISO 1 (centre, right set of buttons)&lt;br /&gt;
||Fly toggle {{KeyCombo|F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kiptic Horsley - SpaceNavigator 3DxWare v10 ===&lt;br /&gt;
The new (currently beta) 3DxWare v10 puts everything on its head, so to make it work with&lt;br /&gt;
Second Life you need to change a few settings:&lt;br /&gt;
&lt;br /&gt;
* In the 3Dconnextion Properties, create a new application profile for SL. Make sure you select &#039;&#039;Joystick&#039;&#039; as the profile template.&lt;br /&gt;
* In the Joystick configuration inside the SL viewer, change all XYZ etc. Scale values for &amp;quot;Avatar&amp;quot; to 1.00 (they have various values like 2.00, 0.10 and so on by default and this will not work well). You can always change this later if you like. You might want to increase the flycam XYZ scales a bit too, maybe 3.00 or so.&lt;br /&gt;
* Finally, &#039;&#039;&#039;uncheck 3D Cursor&#039;&#039;&#039;. This is very important, and completely contrary to everything anyone has said about SpaceNavigator inside SL before :)&lt;br /&gt;
&lt;br /&gt;
Now it should work, enjoy!&lt;br /&gt;
&lt;br /&gt;
Major gripe: left button can&#039;t be changed from that annoying 3Dx popup menu in the current 3DxWare beta, so you&#039;ll have to get along with only one button for now.&lt;br /&gt;
&lt;br /&gt;
=== Illumine Demina - SpaceNavigator ===&lt;br /&gt;
Updated: 4/9/2008 per 1.20 &amp;quot;Dazzle&amp;quot; release&lt;br /&gt;
&lt;br /&gt;
We have some nice new &amp;quot;joystick&amp;quot; support: these instructions describe use of the 3d_Connexion &amp;quot;Space Navigator.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Configuration options have been moved to the Edit -&amp;gt; Preferences menu item, &amp;quot;Input and Camera&amp;quot; tab.  At the bottom of the page, select &amp;quot;Joystick Setup&amp;quot; and a new popup appears.  Bottom right of this page, click &amp;quot;SpaceNavigator Defaults.&amp;quot;  For some, you might be all set... give it a try.  &lt;br /&gt;
&lt;br /&gt;
NOTE that in prior releases, the SpaceNavigator could only control the &amp;quot;Flycam&amp;quot;, whereas now it can also control objects in Build/Edit mode (&amp;quot;Build&amp;quot; column) as well as Avatar motion (&amp;quot;Avatar&amp;quot; column).  To enter Flycam mode select the View -&amp;gt; Joystick Flycam menu item, or keystroke Alt-Shift-F.&lt;br /&gt;
 &lt;br /&gt;
In Avatar mode, it seems the X/Y/Z scales have no effect - amy value other than 0 gives standard walk/run speeds.  Pitch and Yaw scale cn be raised to 1.0 if you like to dance till you&#039;re dizzy... 0.3 seems about right to me.  I leave all the zones at the defaults.&lt;br /&gt;
&lt;br /&gt;
I&#039;m not a dedicated builder... but it seems to me that aligning anything would be about impossible using this feature.  I defer to others on this.  &lt;br /&gt;
&lt;br /&gt;
As a machinimatographer I like to make some changes to the defaults in the &amp;quot;FlyCam&amp;quot; column.  First, decide if you want the SpaceNavigator to act as if you&#039;re moving 1) the object, or 2) the camera.  The defaults move the camera, just as advertised.  When you lift up the camera goes up - and the world goes down.  I&#039;m sure some get used to this with no issue, but I prefer the SpaceNavigator to operate as though I&#039;m holding the world: lift up and the world raises, pull toward you and the world comes closer.  Its entirely a matter of preference, but its weird how one can feel right and the other probably doesn&#039;t.  For this behavior, all the numbers in the top half of the &amp;quot;Flycam&amp;quot; column get a minus &amp;quot;-&amp;quot; in front of them, inverting everything and giving you object mode.  Most of my camera moves are around an avatar, so they are short and delicate.  That means the scale numbers need to get smaller (in absolute value): X-Scale and Z-Scale become -0.6, Y-Scale becomes -0.2 (up and down is less quick) as do &amp;quot;Pitch Scale&amp;quot; and &amp;quot;Yaw Scale.&amp;quot;  I slightly increase deadzones to 0.03, except pitch goes to 0.1 to keep things a bit stabler.  Feather slider goes all the way left (syrupy, not snappy), and give it a try.&lt;br /&gt;
&lt;br /&gt;
Illumine )I(&lt;br /&gt;
&lt;br /&gt;
=== Pre-1.20:&lt;br /&gt;
I made mine work (on Windows XP) by installing, configuring, and calibrating per the factory instructions, starting SL, and selecting the Client -&amp;gt; Joystick Flycam option.  A popup appears... and my screen went wonky :)  But after fiddling quite a bit I was able to operate using these settings:&lt;br /&gt;
&lt;br /&gt;
First, this is a &amp;quot;3D cursor&amp;quot;, so check that box.  Then, check &amp;quot;auto-level&amp;quot;, un-check &amp;quot;Direct Zoom&amp;quot;, and set &amp;quot;Feathering&amp;quot; to the middle.  Start here: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            x          y          z        yaw         pitch       roll     zoom&lt;br /&gt;
mapping     0          2          1          5           3           4        -1&lt;br /&gt;
scale      .1         .05        .2        .05          .05         .01        0&lt;br /&gt;
deadzone   .1         .1         .1         .1          .1          .1         1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Try moving the navigator ... it may work ... else restart the application and re-enable Flycam.   &lt;br /&gt;
&lt;br /&gt;
Update as of Jan 2008:&lt;br /&gt;
&lt;br /&gt;
When I first wrote this, the feathering slider was way weird... it needed to be pretty much left or it wouldn&#039;t work.  As of windlight at this time, feathering works *much* better.  Left is &amp;quot;mushy soft&amp;quot; and right is &amp;quot;snappy firm&amp;quot; ... season to taste :)&lt;br /&gt;
&lt;br /&gt;
I updated the above settings to give a better ability to move forward and back (Z Axis) and better overall response.  Love this!&lt;br /&gt;
 &lt;br /&gt;
If the motion seems weird, perhaps you&#039;d prefer to use its inverse!  In a typical 3D modeling approach, you move the controller just like you would model a model in your hand.  In the inverse case, its more like you are holding and moving a camera.  To really confuse yourself, set different axis in different senses :)  You can reverse motion either in the controller software or in the SL Client -&amp;gt; Joystick Flycam option popup.  To reverse an axis, simply enter a negative scale.  Inverting makes a huge difference... try them both so you know which you like.&lt;br /&gt;
&lt;br /&gt;
=== Tenebrous Pau - SpaceNavigator ===&lt;br /&gt;
Tenebrous Pau uses a [http://www.3dconnexion.com/forum/viewtopic.php?t=336 community-provided joystick driver] to connect the SpaceNavigator to SL. See [http://teneverse.blogspot.com/2007/07/blog-post.html this blog post] for Tenebrous&#039; recommended settings with the RBC9 driver. &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The RBC9 driver is not needed to make the SpaceNavigator work with SL; just use [http://www.3dconnexion.com/support/4a1.php the latest 3DConnexion driver].&lt;br /&gt;
&lt;br /&gt;
The community-provided joystick driver is not compatible with 64-bit operating systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As of 11th April 2008, Tenebrous no longer uses the RBC9 driver, with the advent of Second Life client 1.20.0 84432.  The SL viewer has built in support for the SpaceNavigator, without need for the RBC9 drivers, as per [[Flycam#Illumine_Demina.27s_Instructions|Illumine Demina&#039;s Instructions]] above.&lt;br /&gt;
&lt;br /&gt;
=== Ganesha Xi - Space Navigator ===&lt;br /&gt;
[[Image:Space Nav settings.png|256px|right|thumb|My Flycam settings]]&lt;br /&gt;
After much frustration with this cool hardware I bought, I decided to further investigate settings.  As I don&#039;t use it much to walk, only for fly cam, those are the only settings I changed.&lt;br /&gt;
Some advice if you are getting frustrated with your SpaceNav:&lt;br /&gt;
* Always get the latest driver.  If your Space Nav is NOT glowing blue, it does not have the driver installed.  See previous contributions.&lt;br /&gt;
* The default SpaceNav settings are &amp;quot;slow&amp;quot; (according to them), but are entirely too fast for the average user.  Step them down some (such as in my picture)!&lt;br /&gt;
* Practice, practice, practice.  The SpaceNav requires a gentle touch.  The only way to fully master it is by practicing.&lt;br /&gt;
* Join the 3DConnexion Space Cadets group in SL.  They are a friendly bunch!&lt;br /&gt;
* Yes, seeing a bunch of ]]]]]]]]]]]]][[[[[[[[[[[[[[[[&#039;s in your chat box when you &amp;quot;spin&amp;quot; left/right is common (and irritating).  The only way I&#039;ve found to fix it is to relog.&lt;br /&gt;
&lt;br /&gt;
=== ZATZAi Asturias - Xbox 360 controller ===&lt;br /&gt;
[[Image:FlyCam360.jpg|256px|right|thumb|Suggested Flycam Settings for Xbox 360 Controller]]&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to use the FlyCam mode with the very popular Xbox 360 controller, provided you have one you can connect to your PC and the latest drivers (Works on XP &amp;amp; Vista) you&#039;re set for FlyCam. One thing to keep in mind with the 360 controller, is that it only supports five axis&#039;s, the joysticks each have two and the analog triggers together represent a fifth (Right trigger for negative left trigger for positive). The FlyCam only supports the first two buttons, so you can&#039;t use any other buttons on the 360 controller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To the right you can see the settings I went with for my 360 controller after toying with it for a while, this allowed maximum mobility and smooth movement, also I used a larger than default dead zone on each input because the precision of the 360&#039;s joysticks called for it. Additionally 10% feathering, or so, was used as it greatly smoothed out camera movement while not suffering from the excessive sliding of the maximum setting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Settings:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                   x          y          z        pitch      yaw        roll      zoom&lt;br /&gt;
mapping            0          2          1        4          3          -1        -1&lt;br /&gt;
&lt;br /&gt;
flycam scale       8.00       4.00       20.00    2.00       2.00       5.00      1.00&lt;br /&gt;
flycam deadzone    0.25       0.25       0.25     0.25       0.25       0.25      0.50&lt;br /&gt;
flycam feathering  10%&lt;br /&gt;
&lt;br /&gt;
avatar scale       1.00       1.00       1.00     1.00       1.00       &lt;br /&gt;
avatar deadzone    0.25       0.25       0.25     0.25       0.25       0.25&lt;br /&gt;
avatar feathering  5%&lt;br /&gt;
&lt;br /&gt;
Direct Zoom        Enabled&lt;br /&gt;
3D Cursor          Disabled&lt;br /&gt;
Auto Level         Enabled&lt;br /&gt;
&lt;br /&gt;
Zoom Scale         1.00&lt;br /&gt;
Zoom Dead Zone     0.50&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With these settings you can push forwards and back on the left joystick to dolly the camera forwards and back, and left and right on the same joystick to dolly the camera left and right. To pitch the camera up or down push forward (To pitch down) or pull back (To pitch up) with the right joystick, or tilt the right joystick to the left or right to turn the camera to the left or right. To raise the camera pull in on the right trigger and to lower it pull in on the left trigger.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll find you have a slightly smaller field of vision which makes a nice effect for machinima with Direct Zoom enabled. You can disabled it or adjust the Zoom settings to alter it&#039;s appearance for close in or wide angle shots. I didn&#039;t put in any settings for Build as personally I don&#039;t use it (Note that while you can move things around very elegantly with flycam for build... only you will see the object move others will not until you stop moving the item). You will also be able to move your avatar with your joystick with these settings (That&#039;s why the Avatar column is checked). Not terribly useful for walking around but you&#039;ll find it fun for controlling vehicles, especially planes!&lt;br /&gt;
&lt;br /&gt;
To activate or deactivate flycam mode press: {{KeyCombo|alt=*|shift=*|F}} (Or the &#039;&#039;&#039;A&#039;&#039;&#039; button on your controller)&lt;br /&gt;
&lt;br /&gt;
=== Geneko Nemeth - Logitech Dual Action ===&lt;br /&gt;
This controller is similar in layout with the Xbox 360 Controller. It has 4 axis (shoulder buttons are not analog), 12 buttons and a D-pad, but Second Life does not support more than 2 buttons or Point-of-View hat, so the D-pad cannot be used under Windows (but can be used in Linux).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scales             Whatever you like&lt;br /&gt;
Dead Zone          At least 0.15&lt;br /&gt;
&lt;br /&gt;
Direct Zoom        Disabled&lt;br /&gt;
3D Cursor          Disabled&lt;br /&gt;
Auto Level         Disabled (Enable if you think turning around in flycam mode looks strange...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Left thumbstick to walk (Z) / turn around(yaw)&amp;lt;br /&amp;gt;&lt;br /&gt;
Right thumbstick to fly (Y) / strafe (X).&lt;br /&gt;
&lt;br /&gt;
== Related resources ==&lt;br /&gt;
* &#039;&#039;&#039;[[SpaceNavigator]]&#039;&#039;&#039; - Includes video demos.&lt;br /&gt;
&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlRequestPermissions&amp;diff=1195645</id>
		<title>LlRequestPermissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlRequestPermissions&amp;diff=1195645"/>
		<updated>2015-02-24T21:03:54Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added information about &amp;quot;Stop Animating Me&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|inject-2={{Issues/SVC-1006}}{{Issues/SVC-8067}}{{LSL_Function/avatar|agent|sim=*}}&lt;br /&gt;
|func=llRequestPermissions|sort=RequestPermissions&lt;br /&gt;
|func_id=136|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|p1_type=key|p1_name=agent|p1_desc&lt;br /&gt;
|p2_type=integer|p2_name=permissions|p2_desc=Permission mask ([[Bit field|bitfield]] containing the permissions to request).&lt;br /&gt;
|func_desc=Ask {{LSLP|agent}} for {{LSLP|permissions}} to run certain classes of functions.&lt;br /&gt;
|func_footer=Script execution continues without waiting for a response. When a response is given, a [[run_time_permissions]] event is put in the event queue. &lt;br /&gt;
|return_text&lt;br /&gt;
|spec&lt;br /&gt;
|caveats=&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
* A dialog is presented to the agent to grant these permissions except when granted automatically as shown in the table above.&lt;br /&gt;
* If object is attached to agent, &amp;quot;automatic&amp;quot; permissions are granted without notification upon request.&lt;br /&gt;
* Permissions persist across state changes.&lt;br /&gt;
* Regardless of whether granting is automatic, you should always use the [[run_time_permissions]] event.  Granting permissions takes time, and you shouldn&#039;t assume it&#039;s completed until the [[run_time_permissions]] handler gets invoked.&lt;br /&gt;
* The menu-option &amp;quot;Stop Animating Me&amp;quot; will release certain permissions (PERMISSION_TRIGGER_ANIMATION and PERMISSION_OVERRIDE_ANIMATIONS), if the script which holds these permissions is in the same region as the agent, and the script is not attached to the permission granter.&lt;br /&gt;
* Permissions do not accumulate.&lt;br /&gt;
** If a permission was requested with a previous call to this function and granted, then in subsequent call was not requested, that permission is released (lost).&lt;br /&gt;
** To request two or more permissions at the same time, use the bitwise OR &amp;lt;nowiki&amp;gt;(|) operator, e.g.:&amp;lt;/nowiki&amp;gt; &amp;lt;lsl&amp;gt;llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* Permissions are requested and granted separately for each script, even if they are located in the same object.&lt;br /&gt;
* It is currently not possible to request no permissions at all (see Issues below); as a workaround [[llResetScript]] can be used.&lt;br /&gt;
* Scripts may hold permissions for only one agent at a time. To hold permissions for multiple agents you must use more than one script.&lt;br /&gt;
* The result of granting permissions affects the return of [[llGetPermissions]] and [[llGetPermissionsKey]] immediately, despite the [[run_time_permissions]] event being queued, or dropped if the object&#039;s event queue is full.&lt;br /&gt;
* Permission request dialogs never time out.&lt;br /&gt;
** If a script makes two permission requests, which ever response is last is considered the granted permissions.&lt;br /&gt;
* The viewer limits permission requests from any agent to any other agent to 5 dialogs in 10 seconds&lt;br /&gt;
|notes=When an agent grants a script non-automatic permissions they will receive a notification (in chat) of - The &#039;&#039;&#039;name&#039;&#039;&#039; of the object that contains the script that has been granted perms, The name of the owner of the object, The location of the object in the order - Region name at &#039;&#039;&#039;position&#039;&#039;&#039; - and a statement of what permissions were granted. If the script that holds the permissions is in a child prim the &#039;&#039;&#039;name&#039;&#039;&#039; will be that of the child prim (not the object (root)) and &#039;&#039;&#039;position&#039;&#039;&#039; will be its [[llGetLocalPos|local]] position (relative to its root).&lt;br /&gt;
|examples=Request permission to animate an avatar&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl2&amp;quot;&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer detected)&lt;br /&gt;
    {&lt;br /&gt;
        llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
    }&lt;br /&gt;
    run_time_permissions(integer perm)&lt;br /&gt;
    {&lt;br /&gt;
        if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)&lt;br /&gt;
        {&lt;br /&gt;
            llStartAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
            llOwnerSay(&amp;quot;animation will end in 5 seconds&amp;quot;);&lt;br /&gt;
            llSetTimerEvent(5.0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    timer()&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent(0.0);&lt;br /&gt;
        llStopAnimation(&amp;quot;sit&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request two (or more) different permissions at the same time you can using the bitwise OR &amp;lt;nowiki&amp;gt;(|)&amp;lt;/nowiki&amp;gt; or precompute the value.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl2&amp;quot;&amp;gt;llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;
&lt;br /&gt;
integer perms = PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION;&lt;br /&gt;
llRequestPermissions(AvatarID, perms);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|helpers&lt;br /&gt;
|also_events={{LSL DefineRow||[[run_time_permissions]]|Permission receiver event}}&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llGetPermissions]]|Get the permissions granted}}&lt;br /&gt;
{{LSL DefineRow||[[llGetPermissionsKey]]|Get the avatar who granted permissions.}}&lt;br /&gt;
|also_articles={{LSL DefineRow||{{LSLGC|Permissions/Script|Script permissions}}|}}&lt;br /&gt;
|constants={{LSL Constants/Permissions}}&lt;br /&gt;
|cat1=Permissions/Script&lt;br /&gt;
|cat2=Dialog&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|cat5&lt;br /&gt;
|cat6&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Functions/de&amp;diff=1193273</id>
		<title>Category:LSL Functions/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Functions/de&amp;diff=1193273"/>
		<updated>2014-09-10T22:04:59Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Punctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
&lt;br /&gt;
Diese Kategorie beinhaltet die eingebauten LSL Funktionen.&lt;br /&gt;
&lt;br /&gt;
== Wandlungsfähigkeit ==&lt;br /&gt;
Alle Typen in LSL sind unveränderlich (sie können nicht durch Nebeneffekte verändert werden). Variablen können nur durch Überschreiben verändert werden. Es gibt keine Möglichkeit indirekt einen Variablenwert zu verändern; die einzige Möglichkeit ist durch direkte Interaktion mit einem speichernden Operator (=, +=, -=, *=, /=, %=, ++, --).&lt;br /&gt;
*Standardfunktionen werden die Variablen, die sie als Parameter nutzen, &#039;&#039;&#039;niemals&#039;&#039;&#039; verändern.&lt;br /&gt;
*Von Usern erstellte Funktionen, welche die Werte von Parametern in der Funktion verändern, werden diese Veränderungen nicht in den Variablen speichern, die diese Parameter überliefert haben.&lt;br /&gt;
{{LSLC/de|Keywords}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Functions/de&amp;diff=1193272</id>
		<title>Category:LSL Functions/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Functions/de&amp;diff=1193272"/>
		<updated>2014-09-10T22:03:49Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Fixed typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
&lt;br /&gt;
Diese Kategorie beinhaltet die eingebauten LSL Funktionen.&lt;br /&gt;
&lt;br /&gt;
== Wandlungsfähigkeit ==&lt;br /&gt;
Alle Typen in LSL sind unveränderlich (sie können nicht durch Nebeneffekte verändert werden). Variablen können nur durch Überschreiben verändert werden. Es gibt keine Möglichkeit indirekt einen Variablenwert zu verändern; die einzige Möglichkeit ist durch direkte Interaktion mit einem speichernden Operator (=, +=, -=, *=, /=, %=, ++, --).&lt;br /&gt;
*Standardfunktionen werden die Variablen die sie als Parameter nutzen &#039;&#039;&#039;niemals&#039;&#039;&#039; verändern.&lt;br /&gt;
*Von Usern erstellte Funktionen, welche die Werte von Parametern in der Funktion verändern, werden diese Veränderungen nicht in den Variablen speichern, die diese Parameter überliefert haben.&lt;br /&gt;
{{LSLC/de|Keywords}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Types/de&amp;diff=1193271</id>
		<title>Category:LSL Types/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Types/de&amp;diff=1193271"/>
		<updated>2014-09-10T21:42:47Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added missing var:lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
===Einleitung===&lt;br /&gt;
&lt;br /&gt;
Ein Datentyp (Englisch: type, auch: Datenart) ist die Klassifikation die eine bestimmte Art von Daten identifiziert, die bestimmt welche Werte für diesen Typ gültig sind.&lt;br /&gt;
&lt;br /&gt;
Datentypen in [[LSL{{#var:lang}}|LSL]] können:&lt;br /&gt;
&lt;br /&gt;
[[Integer{{#var:lang}}|Ganzzahlen]],&lt;br /&gt;
&lt;br /&gt;
[[Float{{#var:lang}}|Fließkommazahlen]],&lt;br /&gt;
&lt;br /&gt;
[[String{{#var:lang}}|Zeichenketten]],&lt;br /&gt;
&lt;br /&gt;
[[Key{{#var:lang}}|Keys]] (Zeichenketten von bestimmter Länge),&lt;br /&gt;
&lt;br /&gt;
[[Vector{{#var:lang}}|Vektoren]],&lt;br /&gt;
&lt;br /&gt;
[[Rotation{{#var:lang}}|Rotationen]],&lt;br /&gt;
&lt;br /&gt;
[[List{{#var:lang}}|Listen]]&lt;br /&gt;
sein.&lt;br /&gt;
&lt;br /&gt;
Die Deklaration einer integer-Variable (Ganzzahl) definiert, dass diese Variable ausschließlich Ganzzahlen enthalten kann, bei dem hier verwendeten 32-bit Wertebereich entspricht das einer beliebigen Ganzzahl in dem Bereich zwischen {{LSL Hex|0x00000000}} und {{LSL Hex|0xFFFFFFFF}}.&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer meineVariable = 123;&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LSLC/de|Types}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Category:LSL_Types/de&amp;diff=1193269</id>
		<title>Category:LSL Types/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Category:LSL_Types/de&amp;diff=1193269"/>
		<updated>2014-09-10T21:06:00Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Created the page (translation from English)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
===Einleitung===&lt;br /&gt;
&lt;br /&gt;
Ein Datentyp (Englisch: type, auch: Datenart) ist die Klassifikation die eine bestimmte Art von Daten identifiziert, die bestimmt welche Werte für diesen Typ gültig sind.&lt;br /&gt;
&lt;br /&gt;
Datentypen in [[LSL]] können:&lt;br /&gt;
&lt;br /&gt;
[[Integer{{#var:lang}}|Ganzzahlen]],&lt;br /&gt;
&lt;br /&gt;
[[Float{{#var:lang}}|Fließkommazahlen]],&lt;br /&gt;
&lt;br /&gt;
[[String{{#var:lang}}|Zeichenketten]],&lt;br /&gt;
&lt;br /&gt;
[[Key{{#var:lang}}|Keys]] (Zeichenketten von bestimmter Länge),&lt;br /&gt;
&lt;br /&gt;
[[Vector{{#var:lang}}|Vektoren]],&lt;br /&gt;
&lt;br /&gt;
[[Rotation{{#var:lang}}|Rotationen]],&lt;br /&gt;
&lt;br /&gt;
[[List{{#var:lang}}|Listen]]&lt;br /&gt;
sein.&lt;br /&gt;
&lt;br /&gt;
Die Deklaration einer integer-Variable (Ganzzahl) definiert, dass diese Variable ausschließlich Ganzzahlen enthalten kann, bei dem hier verwendeten 32-bit Wertebereich entspricht das einer beliebigen Ganzzahl in dem Bereich zwischen {{LSL Hex|0x00000000}} und {{LSL Hex|0xFFFFFFFF}}.&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer meineVariable = 123;&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LSLC/de|Types}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193240</id>
		<title>LSL Operators/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193240"/>
		<updated>2014-09-08T06:45:50Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Fixed some missing translations, typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
Operatoren sind Zeichen mit denen man Informationen aus Variablen auf vordefinierte Weise verarbeiten lassen kann. Eine (mathematische) Aktion kann auf eine oder zwei Operanden angewendet werden.&lt;br /&gt;
Ein einfaches Beispiel ist 1 + 2, wobei die Zahlen 1 und 2 die Operanden darstellen, und &#039;&#039;&#039;+&#039;&#039;&#039; ist der Operator.&lt;br /&gt;
&lt;br /&gt;
{| bgcolor=&amp;quot;#FFFFFF&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|- bgColor=&amp;quot;#A7C1F2&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Anwendungsbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| () || Klammern || a * (b + c)&lt;br /&gt;
|-&lt;br /&gt;
| [] || Eckige Klammern: Listen-Konstruktor || [a, 2, &amp;quot;das&amp;quot;, 0.01]&lt;br /&gt;
|-&lt;br /&gt;
| (&#039;&#039;typ&#039;&#039;) || Typkonvertierung || nachricht = &amp;quot;Das Ergebnis lautet:&amp;quot; + (string) ergebnis;&lt;br /&gt;
|- &lt;br /&gt;
| ! ~ ++ --  || Logisches-NICHT, Bitweises-NICHT, Inkrement, Dekrement || zaehler++;  &lt;br /&gt;
|-&lt;br /&gt;
| * / %  || Multiplikation/Skalarprodukt, Division, Modulo/Kreuzprodukt  || rest = (anzahl + 1)%5;&lt;br /&gt;
|-&lt;br /&gt;
| -  ||   Subtraktion  || eins = 3 - 2;&lt;br /&gt;
|-&lt;br /&gt;
| + || Addition oder String-Verknüpfung || zwei = 1+1;&lt;br /&gt;
text = &amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| + || Konkatenation oder Zusammenführung von Listen || meineListe = [1, 2, 3] + [4, 5];&lt;br /&gt;
neueListe = alteListe + zusatzListe;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt; &amp;gt;&amp;gt;  || Links Shift, Rechts Shift  || acht = 4 &amp;lt;&amp;lt; 1;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; &amp;lt;= &amp;gt; &amp;gt;=  || Kleiner Als, Kleiner Als oder Gleich,&lt;br /&gt;
Größer Als, Größer Als oder Gleich  &lt;br /&gt;
|| istFalsch = (6 &amp;lt;= 4);&lt;br /&gt;
|-&lt;br /&gt;
| ==  !=  || Vergleich auf Gleichheit, Vergleich auf Ungleichheit  || istFalsch = (&amp;quot;dies&amp;quot; == &amp;quot;das&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || Bitweises UND  || null = 4 &amp;amp; 2;&lt;br /&gt;
vier = 4 &amp;amp; 4;&lt;br /&gt;
|-&lt;br /&gt;
| ^  || Bitweises XOR  || null = 4 ^ 4;&lt;br /&gt;
sechs = 4 ^ 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || Bitweises ODER  || vier = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 4;&lt;br /&gt;
sechs = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  || Logisches ODER  || istWahr = (FALSE &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  ||Logisches UND  || istFalsch = (FALSE &amp;amp;&amp;amp; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| = += -= *= /= %=  || Zuweisung  || vier = 4;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Anders als in den meisten anderen Programmiersprachen die den C-Stil für &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; und &#039;&#039;&#039;||&#039;&#039;&#039; Operatoren anwenden, werden &#039;&#039;&#039;beide&#039;&#039;&#039; Operanden &#039;&#039;&#039;immer&#039;&#039;&#039; ausgewertet.  Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;if (TRUE || 1/0) llSay(PUBLIC_CHANNEL, &amp;quot;Aha!&amp;quot;);&amp;lt;/lsl&amp;gt; &lt;br /&gt;
&lt;br /&gt;
führt zu einer Fehlermeldung, statt &amp;quot;Aha&amp;quot; auszugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die ++ (Inkrement) und -- (Dekrement) - Operatoren wirken sich auf die Zahl entweder vor oder nach der Auswertung aus, je nachdem ob sie vor oder nach dieser Zahl stehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(++count)) // Wird erhöht, und danach ausgewertet.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird nicht ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(count++)) // Wird ausgewertet und danach erhöht.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Boole&#039;schen Operatoren &#039;&#039;&#039;||&#039;&#039;&#039; und &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; werden in der Auswertungs-Reihenfolge von LSL als gleichwertig angesehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Auswertungsreihenfolge unterscheidet sich von der Auswertungsreihenfolge der meisten Programmiersprachen. Wenn der Wert von x im nachfolgenden Beispiel initial 1 ist, dann werden die zwei Bedingungen unterhalb als FALSCH ausgewertet, und die nächsten beiden als WAHR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Seiten werden ausgewertet, unabhängig davon ob eine der Seiten WAHR ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Gleichheits-Test bei Listen vergleichen nicht deren Inhalte, sondern lediglich deren Länge.&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==+ Operator==&lt;br /&gt;
&amp;lt;code&amp;gt;ergebnis = links + rechts&amp;lt;/code&amp;gt;&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Linker Typ&lt;br /&gt;
!Rechter Typ&lt;br /&gt;
!Ergebnistyp&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; an das Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|list&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; nach dem Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|list&lt;br /&gt;
|Fügt &#039;&#039;&#039;links&#039;&#039;&#039; vor dem Start von &#039;&#039;&#039;rechts&#039;&#039;&#039; ein.&lt;br /&gt;
|-&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&amp;lt;br/&amp;gt;Nicht brauchbar um Rotationen zu kombinieren, stattdessen verwendet man die Operatoren [[#* Operator|*]] oder [[#/ Operator|/]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
&lt;br /&gt;
==Operator-Abkürzungen==&lt;br /&gt;
Alternativen zum einfachen &#039;=&#039; Operator...&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Einfacher Zuweisungsoperator&lt;br /&gt;
!Operator-Abkürzung (shorthand operator)&lt;br /&gt;
|-&lt;br /&gt;
|a = a + 1&lt;br /&gt;
|a += 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a – 1&lt;br /&gt;
|a -= 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a * (n+1)&lt;br /&gt;
|a *= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a / (n+1)&lt;br /&gt;
|a /= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a % b&lt;br /&gt;
|a %= b&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[http://de.wikipedia.org/wiki/De_Morgansche_Gesetze De Morgansche Regeln]==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Bitweise Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; ~b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(~a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; ~b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Boole&#039;sche Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; !b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(!a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; !b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach den De Morganschen Regeln (zeilenweise dargestellt), ist der Code in der &#039;&#039;&#039;UND&#039;&#039;&#039;-Spalte logisch äquivalent zum Code in der &#039;&#039;&#039;ODER&#039;&#039;&#039;-Spalte. &#039;&#039;&#039;a&#039;&#039;&#039; und &#039;&#039;&#039;b&#039;&#039;&#039; müssen nicht zwangsläufig Variablen sein, sondern können auch Ausdrücke sein. In speziellen Fällen kann man diese Gleichwertigkeiten anwenden, um komplexen Code vereinfacht darzustellen. Es ist wichtig diese zwei Tabellen nicht zu verwechseln wenn man sie anwendet. Die ersten beiden Zeilen stellen die De Morganschen Regeln dar wie postuliert, und die letzten beiden Zeilen bauen darauf auf.&lt;br /&gt;
{{LSLC/de|Operators}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193239</id>
		<title>LSL Operators/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193239"/>
		<updated>2014-09-08T05:22:57Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* + Operator */  added missing translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
Operatoren sind Zeichen mit denen man Informationen aus Variablen auf vordefinierte Weise verarbeiten lassen kann. Eine (mathematische) Aktion kann auf eine oder zwei Operanden angewendet werden.&lt;br /&gt;
Ein einfaches Beispiel ist 1 + 2, wobei die Zahlen 1 und 2 die Operanden darstellen, und &#039;&#039;&#039;+&#039;&#039;&#039; ist der Operator.&lt;br /&gt;
&lt;br /&gt;
{| bgcolor=&amp;quot;#FFFFFF&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|- bgColor=&amp;quot;#A7C1F2&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Anwendungsbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| () || Klammern || a * (b + c)&lt;br /&gt;
|-&lt;br /&gt;
| [] || Eckige Klammern: Listen-Konstruktor || [a, 2, &amp;quot;this&amp;quot;, 0.01]&lt;br /&gt;
|-&lt;br /&gt;
| (&#039;&#039;type&#039;&#039;) || Typkonvertierung || message = &amp;quot;Das Ergebnis lautet:&amp;quot; + (string) ergebnis;&lt;br /&gt;
|- &lt;br /&gt;
| ! ~ ++ --  || Logisches-NICHT, Bitweises-NICHT, Inkrement, Dekrement || counter++;  &lt;br /&gt;
|-&lt;br /&gt;
| * / %  || Multiplikations/Skalarprodukt, Division, Modulus/Kreuzprodukt  || rest = (anzahl + 1)%5;&lt;br /&gt;
|-&lt;br /&gt;
| -  ||   Substraktion  || eins = 3 - 2;&lt;br /&gt;
|-&lt;br /&gt;
| + || Addition oder String-Verknüpfung || two = 1+1;&lt;br /&gt;
text = &amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| + || Konkatenation oder Zusammenführung von Listen || meineListe = [1, 2, 3] + [4, 5];&lt;br /&gt;
neueListe = alteListe + zusatzListe;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt; &amp;gt;&amp;gt;  || Links Shift, Rechts Shift  || acht = 4 &amp;lt;&amp;lt; 1;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; &amp;lt;= &amp;gt; &amp;gt;=  || Kleiner Als, Kleiner Als oder Gleich,&lt;br /&gt;
Größer Als, Größer Als oder Gleich  &lt;br /&gt;
|| istFalsch = (6 &amp;lt;= 4);&lt;br /&gt;
|-&lt;br /&gt;
| ==  !=  || Vergleich auf Gleichheit, Vergleich auf Ungleichheit  || istFalsch = (&amp;quot;dies&amp;quot; == &amp;quot;das&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || Bitweises UND  || zero = 4 &amp;amp; 2;&lt;br /&gt;
four = 4 &amp;amp; 4;&lt;br /&gt;
|-&lt;br /&gt;
| ^  || Bitweises XOR  || zero = 4 ^ 4;&lt;br /&gt;
six = 4 ^ 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || Bitweises ODER  || vier = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 4;&lt;br /&gt;
six = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  || Logisches ODER  || istWahr = (FALSE &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  ||Logisches UND  || istFalsch = (FALSE &amp;amp;&amp;amp; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| = += -= *= /= %=  || Zuweisung  || vier = 4;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Anders als in den meisten anderen Programmiersprachen die den C-Stil für &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; und &#039;&#039;&#039;||&#039;&#039;&#039; Operatoren anwenden, werden &#039;&#039;&#039;beide&#039;&#039;&#039; Operanden &#039;&#039;&#039;immer&#039;&#039;&#039; ausgewertet.  Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;if (TRUE || 1/0) llSay(PUBLIC_CHANNEL, &amp;quot;Aha!&amp;quot;);&amp;lt;/lsl&amp;gt; &lt;br /&gt;
&lt;br /&gt;
führt zu einer Fehlermeldung, statt &amp;quot;Aha&amp;quot; auszugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die ++ (Inkrement) und -- (Dekrement) - Operatoren wirken sich auf die Zahl entweder vor oder nach der Auswertung aus, je nachdem ob sie vor oder nach dieser Zahl stehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(++count)) // Wird erhöht, und danach ausgewertet.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird nicht ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(count++)) // Wird ausgewertet und danach erhöht.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Boole&#039;schen Operatoren &#039;&#039;&#039;||&#039;&#039;&#039; und &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; werden in der Auswertungs-Reihenfolge von LSL als gleichwertig angesehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Auswertunsreihenfolge unterscheidet sich von der Auswertungsreihenfolge der meisten Programmiersprachen. Wenn der Wert von x im nachfolgenden Beispiel initial 1 ist, dann werden die zwei Bedingungen unterhalb als FALSCH ausgewertet, und die nächsten beiden als WAHR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Seiten werden ausgewertet, unabhängig davon ob eine der Seiten WAHR ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Gleichheits-Test bei Listen vergleichen nicht deren Inhalte, sondern lediglich deren Länge.&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==+ Operator==&lt;br /&gt;
&amp;lt;code&amp;gt;ergebnis = links + rechts&amp;lt;/code&amp;gt;&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Linker Typ&lt;br /&gt;
!Rechter Typ&lt;br /&gt;
!Ergebnistyp&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; an das Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|list&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; nach dem Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|list&lt;br /&gt;
|Fügt &#039;&#039;&#039;links&#039;&#039;&#039; vor dem Start von &#039;&#039;&#039;rechts&#039;&#039;&#039; ein.&lt;br /&gt;
|-&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&amp;lt;br/&amp;gt;Nicht brauchbar um Rotationen zu kombinieren, stattdessen verwendet man die Operatoren [[#* Operator|*]] oder [[#/ Operator|/]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
&lt;br /&gt;
==Operator-Abkürzungen==&lt;br /&gt;
Alternativen zum einfachen &#039;=&#039; Operator...&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Einfacher Zuweisungsoperator&lt;br /&gt;
!Operator-Abkürzung (shorthand operator)&lt;br /&gt;
|-&lt;br /&gt;
|a = a + 1&lt;br /&gt;
|a += 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a – 1&lt;br /&gt;
|a -= 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a * (n+1)&lt;br /&gt;
|a *= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a / (n+1)&lt;br /&gt;
|a /= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a % b&lt;br /&gt;
|a %= b&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[http://de.wikipedia.org/wiki/De_Morgansche_Gesetze De Morgansche Regeln]==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Bitweise Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; ~b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(~a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; ~b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Boole&#039;sche Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; !b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(!a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; !b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach den De Morganschen Regeln (zeilenweise dargestellt), ist der Code in der &#039;&#039;&#039;UND&#039;&#039;&#039;-Spalte logisch equivalent zum Code in der &#039;&#039;&#039;ODER&#039;&#039;&#039;-Spalte. &#039;&#039;&#039;a&#039;&#039;&#039; und &#039;&#039;&#039;b&#039;&#039;&#039; müssen nicht zwangsläufig Variablen sein, sondern können auch Ausdrücke sein. In speziellen Fällen kann man diese Gleichwertigkeiten anwenden, um komplexen Code vereinfacht darzustellen. Es ist wichtig diese zwei Tabellen nicht zu verwechseln wenn man sie anwendet. Die ersten beiden Zeilen stellen die De Morganschen Regeln dar wie postuliert, und die letzten beiden Zeilen bauen darauf auf.&lt;br /&gt;
{{LSLC/de|Operators}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193238</id>
		<title>LSL Operators/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193238"/>
		<updated>2014-09-08T05:22:17Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* De Morgansche Regeln */  fixed a typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
Operatoren sind Zeichen mit denen man Informationen aus Variablen auf vordefinierte Weise verarbeiten lassen kann. Eine (mathematische) Aktion kann auf eine oder zwei Operanden angewendet werden.&lt;br /&gt;
Ein einfaches Beispiel ist 1 + 2, wobei die Zahlen 1 und 2 die Operanden darstellen, und &#039;&#039;&#039;+&#039;&#039;&#039; ist der Operator.&lt;br /&gt;
&lt;br /&gt;
{| bgcolor=&amp;quot;#FFFFFF&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|- bgColor=&amp;quot;#A7C1F2&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Anwendungsbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| () || Klammern || a * (b + c)&lt;br /&gt;
|-&lt;br /&gt;
| [] || Eckige Klammern: Listen-Konstruktor || [a, 2, &amp;quot;this&amp;quot;, 0.01]&lt;br /&gt;
|-&lt;br /&gt;
| (&#039;&#039;type&#039;&#039;) || Typkonvertierung || message = &amp;quot;Das Ergebnis lautet:&amp;quot; + (string) ergebnis;&lt;br /&gt;
|- &lt;br /&gt;
| ! ~ ++ --  || Logisches-NICHT, Bitweises-NICHT, Inkrement, Dekrement || counter++;  &lt;br /&gt;
|-&lt;br /&gt;
| * / %  || Multiplikations/Skalarprodukt, Division, Modulus/Kreuzprodukt  || rest = (anzahl + 1)%5;&lt;br /&gt;
|-&lt;br /&gt;
| -  ||   Substraktion  || eins = 3 - 2;&lt;br /&gt;
|-&lt;br /&gt;
| + || Addition oder String-Verknüpfung || two = 1+1;&lt;br /&gt;
text = &amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| + || Konkatenation oder Zusammenführung von Listen || meineListe = [1, 2, 3] + [4, 5];&lt;br /&gt;
neueListe = alteListe + zusatzListe;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt; &amp;gt;&amp;gt;  || Links Shift, Rechts Shift  || acht = 4 &amp;lt;&amp;lt; 1;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; &amp;lt;= &amp;gt; &amp;gt;=  || Kleiner Als, Kleiner Als oder Gleich,&lt;br /&gt;
Größer Als, Größer Als oder Gleich  &lt;br /&gt;
|| istFalsch = (6 &amp;lt;= 4);&lt;br /&gt;
|-&lt;br /&gt;
| ==  !=  || Vergleich auf Gleichheit, Vergleich auf Ungleichheit  || istFalsch = (&amp;quot;dies&amp;quot; == &amp;quot;das&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || Bitweises UND  || zero = 4 &amp;amp; 2;&lt;br /&gt;
four = 4 &amp;amp; 4;&lt;br /&gt;
|-&lt;br /&gt;
| ^  || Bitweises XOR  || zero = 4 ^ 4;&lt;br /&gt;
six = 4 ^ 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || Bitweises ODER  || vier = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 4;&lt;br /&gt;
six = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  || Logisches ODER  || istWahr = (FALSE &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  ||Logisches UND  || istFalsch = (FALSE &amp;amp;&amp;amp; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| = += -= *= /= %=  || Zuweisung  || vier = 4;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Anders als in den meisten anderen Programmiersprachen die den C-Stil für &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; und &#039;&#039;&#039;||&#039;&#039;&#039; Operatoren anwenden, werden &#039;&#039;&#039;beide&#039;&#039;&#039; Operanden &#039;&#039;&#039;immer&#039;&#039;&#039; ausgewertet.  Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;if (TRUE || 1/0) llSay(PUBLIC_CHANNEL, &amp;quot;Aha!&amp;quot;);&amp;lt;/lsl&amp;gt; &lt;br /&gt;
&lt;br /&gt;
führt zu einer Fehlermeldung, statt &amp;quot;Aha&amp;quot; auszugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die ++ (Inkrement) und -- (Dekrement) - Operatoren wirken sich auf die Zahl entweder vor oder nach der Auswertung aus, je nachdem ob sie vor oder nach dieser Zahl stehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(++count)) // Wird erhöht, und danach ausgewertet.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird nicht ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(count++)) // Wird ausgewertet und danach erhöht.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Boole&#039;schen Operatoren &#039;&#039;&#039;||&#039;&#039;&#039; und &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; werden in der Auswertungs-Reihenfolge von LSL als gleichwertig angesehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Auswertunsreihenfolge unterscheidet sich von der Auswertungsreihenfolge der meisten Programmiersprachen. Wenn der Wert von x im nachfolgenden Beispiel initial 1 ist, dann werden die zwei Bedingungen unterhalb als FALSCH ausgewertet, und die nächsten beiden als WAHR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Seiten werden ausgewertet, unabhängig davon ob eine der Seiten WAHR ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Gleichheits-Test bei Listen vergleichen nicht deren Inhalte, sondern lediglich deren Länge.&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==+ Operator==&lt;br /&gt;
&amp;lt;code&amp;gt;result = left + right&amp;lt;/code&amp;gt;&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Linker Typ&lt;br /&gt;
!Rechter Typ&lt;br /&gt;
!Ergebnistyp&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; an das Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|list&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; nach dem Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|list&lt;br /&gt;
|Fügt &#039;&#039;&#039;links&#039;&#039;&#039; vor dem Start von &#039;&#039;&#039;rechts&#039;&#039;&#039; ein.&lt;br /&gt;
|-&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&amp;lt;br/&amp;gt;Nicht brauchbar um Rotationen zu kombinieren, stattdessen verwendet man die Operatoren [[#* Operator|*]] oder [[#/ Operator|/]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==Operator-Abkürzungen==&lt;br /&gt;
Alternativen zum einfachen &#039;=&#039; Operator...&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Einfacher Zuweisungsoperator&lt;br /&gt;
!Operator-Abkürzung (shorthand operator)&lt;br /&gt;
|-&lt;br /&gt;
|a = a + 1&lt;br /&gt;
|a += 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a – 1&lt;br /&gt;
|a -= 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a * (n+1)&lt;br /&gt;
|a *= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a / (n+1)&lt;br /&gt;
|a /= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a % b&lt;br /&gt;
|a %= b&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[http://de.wikipedia.org/wiki/De_Morgansche_Gesetze De Morgansche Regeln]==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Bitweise Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; ~b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(~a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; ~b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Boole&#039;sche Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; !b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(!a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; !b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach den De Morganschen Regeln (zeilenweise dargestellt), ist der Code in der &#039;&#039;&#039;UND&#039;&#039;&#039;-Spalte logisch equivalent zum Code in der &#039;&#039;&#039;ODER&#039;&#039;&#039;-Spalte. &#039;&#039;&#039;a&#039;&#039;&#039; und &#039;&#039;&#039;b&#039;&#039;&#039; müssen nicht zwangsläufig Variablen sein, sondern können auch Ausdrücke sein. In speziellen Fällen kann man diese Gleichwertigkeiten anwenden, um komplexen Code vereinfacht darzustellen. Es ist wichtig diese zwei Tabellen nicht zu verwechseln wenn man sie anwendet. Die ersten beiden Zeilen stellen die De Morganschen Regeln dar wie postuliert, und die letzten beiden Zeilen bauen darauf auf.&lt;br /&gt;
{{LSLC/de|Operators}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193237</id>
		<title>LSL Operators/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193237"/>
		<updated>2014-09-08T05:21:38Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* {{Wikipedia|De Morgan&amp;#039;s Gesetze|w=n}} */  wikipedia link in section&amp;#039;s title didn&amp;#039;t work bec. it linked to English wikipedia, so I changed it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
Operatoren sind Zeichen mit denen man Informationen aus Variablen auf vordefinierte Weise verarbeiten lassen kann. Eine (mathematische) Aktion kann auf eine oder zwei Operanden angewendet werden.&lt;br /&gt;
Ein einfaches Beispiel ist 1 + 2, wobei die Zahlen 1 und 2 die Operanden darstellen, und &#039;&#039;&#039;+&#039;&#039;&#039; ist der Operator.&lt;br /&gt;
&lt;br /&gt;
{| bgcolor=&amp;quot;#FFFFFF&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|- bgColor=&amp;quot;#A7C1F2&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Anwendungsbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| () || Klammern || a * (b + c)&lt;br /&gt;
|-&lt;br /&gt;
| [] || Eckige Klammern: Listen-Konstruktor || [a, 2, &amp;quot;this&amp;quot;, 0.01]&lt;br /&gt;
|-&lt;br /&gt;
| (&#039;&#039;type&#039;&#039;) || Typkonvertierung || message = &amp;quot;Das Ergebnis lautet:&amp;quot; + (string) ergebnis;&lt;br /&gt;
|- &lt;br /&gt;
| ! ~ ++ --  || Logisches-NICHT, Bitweises-NICHT, Inkrement, Dekrement || counter++;  &lt;br /&gt;
|-&lt;br /&gt;
| * / %  || Multiplikations/Skalarprodukt, Division, Modulus/Kreuzprodukt  || rest = (anzahl + 1)%5;&lt;br /&gt;
|-&lt;br /&gt;
| -  ||   Substraktion  || eins = 3 - 2;&lt;br /&gt;
|-&lt;br /&gt;
| + || Addition oder String-Verknüpfung || two = 1+1;&lt;br /&gt;
text = &amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| + || Konkatenation oder Zusammenführung von Listen || meineListe = [1, 2, 3] + [4, 5];&lt;br /&gt;
neueListe = alteListe + zusatzListe;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt; &amp;gt;&amp;gt;  || Links Shift, Rechts Shift  || acht = 4 &amp;lt;&amp;lt; 1;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; &amp;lt;= &amp;gt; &amp;gt;=  || Kleiner Als, Kleiner Als oder Gleich,&lt;br /&gt;
Größer Als, Größer Als oder Gleich  &lt;br /&gt;
|| istFalsch = (6 &amp;lt;= 4);&lt;br /&gt;
|-&lt;br /&gt;
| ==  !=  || Vergleich auf Gleichheit, Vergleich auf Ungleichheit  || istFalsch = (&amp;quot;dies&amp;quot; == &amp;quot;das&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || Bitweises UND  || zero = 4 &amp;amp; 2;&lt;br /&gt;
four = 4 &amp;amp; 4;&lt;br /&gt;
|-&lt;br /&gt;
| ^  || Bitweises XOR  || zero = 4 ^ 4;&lt;br /&gt;
six = 4 ^ 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || Bitweises ODER  || vier = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 4;&lt;br /&gt;
six = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  || Logisches ODER  || istWahr = (FALSE &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  ||Logisches UND  || istFalsch = (FALSE &amp;amp;&amp;amp; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| = += -= *= /= %=  || Zuweisung  || vier = 4;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Anders als in den meisten anderen Programmiersprachen die den C-Stil für &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; und &#039;&#039;&#039;||&#039;&#039;&#039; Operatoren anwenden, werden &#039;&#039;&#039;beide&#039;&#039;&#039; Operanden &#039;&#039;&#039;immer&#039;&#039;&#039; ausgewertet.  Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;if (TRUE || 1/0) llSay(PUBLIC_CHANNEL, &amp;quot;Aha!&amp;quot;);&amp;lt;/lsl&amp;gt; &lt;br /&gt;
&lt;br /&gt;
führt zu einer Fehlermeldung, statt &amp;quot;Aha&amp;quot; auszugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die ++ (Inkrement) und -- (Dekrement) - Operatoren wirken sich auf die Zahl entweder vor oder nach der Auswertung aus, je nachdem ob sie vor oder nach dieser Zahl stehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(++count)) // Wird erhöht, und danach ausgewertet.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird nicht ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(count++)) // Wird ausgewertet und danach erhöht.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Boole&#039;schen Operatoren &#039;&#039;&#039;||&#039;&#039;&#039; und &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; werden in der Auswertungs-Reihenfolge von LSL als gleichwertig angesehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Auswertunsreihenfolge unterscheidet sich von der Auswertungsreihenfolge der meisten Programmiersprachen. Wenn der Wert von x im nachfolgenden Beispiel initial 1 ist, dann werden die zwei Bedingungen unterhalb als FALSCH ausgewertet, und die nächsten beiden als WAHR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Seiten werden ausgewertet, unabhängig davon ob eine der Seiten WAHR ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Gleichheits-Test bei Listen vergleichen nicht deren Inhalte, sondern lediglich deren Länge.&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==+ Operator==&lt;br /&gt;
&amp;lt;code&amp;gt;result = left + right&amp;lt;/code&amp;gt;&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Linker Typ&lt;br /&gt;
!Rechter Typ&lt;br /&gt;
!Ergebnistyp&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; an das Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|list&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; nach dem Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|list&lt;br /&gt;
|Fügt &#039;&#039;&#039;links&#039;&#039;&#039; vor dem Start von &#039;&#039;&#039;rechts&#039;&#039;&#039; ein.&lt;br /&gt;
|-&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&amp;lt;br/&amp;gt;Nicht brauchbar um Rotationen zu kombinieren, stattdessen verwendet man die Operatoren [[#* Operator|*]] oder [[#/ Operator|/]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==Operator-Abkürzungen==&lt;br /&gt;
Alternativen zum einfachen &#039;=&#039; Operator...&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Einfacher Zuweisungsoperator&lt;br /&gt;
!Operator-Abkürzung (shorthand operator)&lt;br /&gt;
|-&lt;br /&gt;
|a = a + 1&lt;br /&gt;
|a += 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a – 1&lt;br /&gt;
|a -= 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a * (n+1)&lt;br /&gt;
|a *= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a / (n+1)&lt;br /&gt;
|a /= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a % b&lt;br /&gt;
|a %= b&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[http://de.wikipedia.org/wiki/De_Morgansche_Gesetze De Morgansche Regeln]==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Bitweise Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; ~b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(~a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; ~b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Boole&#039;sche Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; !b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(!a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; !b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach den De Morganschen Regeln (zeilenweise dargestellt), ist der Code in der &#039;&#039;&#039;UND&#039;&#039;&#039; Spalte logisch equivalent zum Code ind er &#039;&#039;&#039;ODER&#039;&#039;&#039;. &#039;&#039;&#039;a&#039;&#039;&#039; und &#039;&#039;&#039;b&#039;&#039;&#039; müssen nicht zwangsläufig Variablen sein, sondern können auch Ausdrücke sein. In speziellen Fällen kann man diese Gleichwertigkeiten anwenden, um komplexen Code vereinfacht darzustellen. Es ist wichtig diese zwei Tabellen nicht zu verwechseln wenn man sie anwendet. Die ersten beiden Zeilen stellen die De Morganschen Regeln dar wie postuliert, und die letzten beiden Zeilen bauen darauf auf.&lt;br /&gt;
{{LSLC/de|Operators}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193236</id>
		<title>LSL Operators/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193236"/>
		<updated>2014-09-08T05:20:24Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* {{Wikipedia|De Morgan&amp;#039;s Gesetze|w=n}} */  wikipedia link didn&amp;#039;t work bec. it linked to English wikipedia, so I removed it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
Operatoren sind Zeichen mit denen man Informationen aus Variablen auf vordefinierte Weise verarbeiten lassen kann. Eine (mathematische) Aktion kann auf eine oder zwei Operanden angewendet werden.&lt;br /&gt;
Ein einfaches Beispiel ist 1 + 2, wobei die Zahlen 1 und 2 die Operanden darstellen, und &#039;&#039;&#039;+&#039;&#039;&#039; ist der Operator.&lt;br /&gt;
&lt;br /&gt;
{| bgcolor=&amp;quot;#FFFFFF&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|- bgColor=&amp;quot;#A7C1F2&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Anwendungsbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| () || Klammern || a * (b + c)&lt;br /&gt;
|-&lt;br /&gt;
| [] || Eckige Klammern: Listen-Konstruktor || [a, 2, &amp;quot;this&amp;quot;, 0.01]&lt;br /&gt;
|-&lt;br /&gt;
| (&#039;&#039;type&#039;&#039;) || Typkonvertierung || message = &amp;quot;Das Ergebnis lautet:&amp;quot; + (string) ergebnis;&lt;br /&gt;
|- &lt;br /&gt;
| ! ~ ++ --  || Logisches-NICHT, Bitweises-NICHT, Inkrement, Dekrement || counter++;  &lt;br /&gt;
|-&lt;br /&gt;
| * / %  || Multiplikations/Skalarprodukt, Division, Modulus/Kreuzprodukt  || rest = (anzahl + 1)%5;&lt;br /&gt;
|-&lt;br /&gt;
| -  ||   Substraktion  || eins = 3 - 2;&lt;br /&gt;
|-&lt;br /&gt;
| + || Addition oder String-Verknüpfung || two = 1+1;&lt;br /&gt;
text = &amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| + || Konkatenation oder Zusammenführung von Listen || meineListe = [1, 2, 3] + [4, 5];&lt;br /&gt;
neueListe = alteListe + zusatzListe;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt; &amp;gt;&amp;gt;  || Links Shift, Rechts Shift  || acht = 4 &amp;lt;&amp;lt; 1;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; &amp;lt;= &amp;gt; &amp;gt;=  || Kleiner Als, Kleiner Als oder Gleich,&lt;br /&gt;
Größer Als, Größer Als oder Gleich  &lt;br /&gt;
|| istFalsch = (6 &amp;lt;= 4);&lt;br /&gt;
|-&lt;br /&gt;
| ==  !=  || Vergleich auf Gleichheit, Vergleich auf Ungleichheit  || istFalsch = (&amp;quot;dies&amp;quot; == &amp;quot;das&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || Bitweises UND  || zero = 4 &amp;amp; 2;&lt;br /&gt;
four = 4 &amp;amp; 4;&lt;br /&gt;
|-&lt;br /&gt;
| ^  || Bitweises XOR  || zero = 4 ^ 4;&lt;br /&gt;
six = 4 ^ 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || Bitweises ODER  || vier = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 4;&lt;br /&gt;
six = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  || Logisches ODER  || istWahr = (FALSE &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  ||Logisches UND  || istFalsch = (FALSE &amp;amp;&amp;amp; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| = += -= *= /= %=  || Zuweisung  || vier = 4;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Anders als in den meisten anderen Programmiersprachen die den C-Stil für &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; und &#039;&#039;&#039;||&#039;&#039;&#039; Operatoren anwenden, werden &#039;&#039;&#039;beide&#039;&#039;&#039; Operanden &#039;&#039;&#039;immer&#039;&#039;&#039; ausgewertet.  Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;if (TRUE || 1/0) llSay(PUBLIC_CHANNEL, &amp;quot;Aha!&amp;quot;);&amp;lt;/lsl&amp;gt; &lt;br /&gt;
&lt;br /&gt;
führt zu einer Fehlermeldung, statt &amp;quot;Aha&amp;quot; auszugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die ++ (Inkrement) und -- (Dekrement) - Operatoren wirken sich auf die Zahl entweder vor oder nach der Auswertung aus, je nachdem ob sie vor oder nach dieser Zahl stehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(++count)) // Wird erhöht, und danach ausgewertet.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird nicht ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(count++)) // Wird ausgewertet und danach erhöht.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Boole&#039;schen Operatoren &#039;&#039;&#039;||&#039;&#039;&#039; und &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; werden in der Auswertungs-Reihenfolge von LSL als gleichwertig angesehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Auswertunsreihenfolge unterscheidet sich von der Auswertungsreihenfolge der meisten Programmiersprachen. Wenn der Wert von x im nachfolgenden Beispiel initial 1 ist, dann werden die zwei Bedingungen unterhalb als FALSCH ausgewertet, und die nächsten beiden als WAHR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Seiten werden ausgewertet, unabhängig davon ob eine der Seiten WAHR ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Gleichheits-Test bei Listen vergleichen nicht deren Inhalte, sondern lediglich deren Länge.&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==+ Operator==&lt;br /&gt;
&amp;lt;code&amp;gt;result = left + right&amp;lt;/code&amp;gt;&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Linker Typ&lt;br /&gt;
!Rechter Typ&lt;br /&gt;
!Ergebnistyp&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; an das Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|list&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; nach dem Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|list&lt;br /&gt;
|Fügt &#039;&#039;&#039;links&#039;&#039;&#039; vor dem Start von &#039;&#039;&#039;rechts&#039;&#039;&#039; ein.&lt;br /&gt;
|-&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&amp;lt;br/&amp;gt;Nicht brauchbar um Rotationen zu kombinieren, stattdessen verwendet man die Operatoren [[#* Operator|*]] oder [[#/ Operator|/]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==Operator-Abkürzungen==&lt;br /&gt;
Alternativen zum einfachen &#039;=&#039; Operator...&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Einfacher Zuweisungsoperator&lt;br /&gt;
!Operator-Abkürzung (shorthand operator)&lt;br /&gt;
|-&lt;br /&gt;
|a = a + 1&lt;br /&gt;
|a += 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a – 1&lt;br /&gt;
|a -= 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a * (n+1)&lt;br /&gt;
|a *= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a / (n+1)&lt;br /&gt;
|a /= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a % b&lt;br /&gt;
|a %= b&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=={{Wikipedia|De Morgan&#039;s Gesetze|w=n}}==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Bitweise Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; ~b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(~a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; ~b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Boole&#039;sche Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; !b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(!a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; !b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach den De Morganschen Regeln (zeilenweise dargestellt), ist der Code in der &#039;&#039;&#039;UND&#039;&#039;&#039; Spalte logisch equivalent zum Code ind er &#039;&#039;&#039;ODER&#039;&#039;&#039;. &#039;&#039;&#039;a&#039;&#039;&#039; und &#039;&#039;&#039;b&#039;&#039;&#039; müssen nicht zwangsläufig Variablen sein, sondern können auch Ausdrücke sein. In speziellen Fällen kann man diese Gleichwertigkeiten anwenden, um komplexen Code vereinfacht darzustellen. Es ist wichtig diese zwei Tabellen nicht zu verwechseln wenn man sie anwendet. Die ersten beiden Zeilen stellen die De Morganschen Regeln dar wie postuliert, und die letzten beiden Zeilen bauen darauf auf.&lt;br /&gt;
{{LSLC/de|Operators}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193235</id>
		<title>LSL Operators/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Operators/de&amp;diff=1193235"/>
		<updated>2014-09-08T05:14:58Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: First translation from English&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
{{LSL Header/de}}&lt;br /&gt;
Operatoren sind Zeichen mit denen man Informationen aus Variablen auf vordefinierte Weise verarbeiten lassen kann. Eine (mathematische) Aktion kann auf eine oder zwei Operanden angewendet werden.&lt;br /&gt;
Ein einfaches Beispiel ist 1 + 2, wobei die Zahlen 1 und 2 die Operanden darstellen, und &#039;&#039;&#039;+&#039;&#039;&#039; ist der Operator.&lt;br /&gt;
&lt;br /&gt;
{| bgcolor=&amp;quot;#FFFFFF&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|- bgColor=&amp;quot;#A7C1F2&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Anwendungsbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| () || Klammern || a * (b + c)&lt;br /&gt;
|-&lt;br /&gt;
| [] || Eckige Klammern: Listen-Konstruktor || [a, 2, &amp;quot;this&amp;quot;, 0.01]&lt;br /&gt;
|-&lt;br /&gt;
| (&#039;&#039;type&#039;&#039;) || Typkonvertierung || message = &amp;quot;Das Ergebnis lautet:&amp;quot; + (string) ergebnis;&lt;br /&gt;
|- &lt;br /&gt;
| ! ~ ++ --  || Logisches-NICHT, Bitweises-NICHT, Inkrement, Dekrement || counter++;  &lt;br /&gt;
|-&lt;br /&gt;
| * / %  || Multiplikations/Skalarprodukt, Division, Modulus/Kreuzprodukt  || rest = (anzahl + 1)%5;&lt;br /&gt;
|-&lt;br /&gt;
| -  ||   Substraktion  || eins = 3 - 2;&lt;br /&gt;
|-&lt;br /&gt;
| + || Addition oder String-Verknüpfung || two = 1+1;&lt;br /&gt;
text = &amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| + || Konkatenation oder Zusammenführung von Listen || meineListe = [1, 2, 3] + [4, 5];&lt;br /&gt;
neueListe = alteListe + zusatzListe;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt; &amp;gt;&amp;gt;  || Links Shift, Rechts Shift  || acht = 4 &amp;lt;&amp;lt; 1;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; &amp;lt;= &amp;gt; &amp;gt;=  || Kleiner Als, Kleiner Als oder Gleich,&lt;br /&gt;
Größer Als, Größer Als oder Gleich  &lt;br /&gt;
|| istFalsch = (6 &amp;lt;= 4);&lt;br /&gt;
|-&lt;br /&gt;
| ==  !=  || Vergleich auf Gleichheit, Vergleich auf Ungleichheit  || istFalsch = (&amp;quot;dies&amp;quot; == &amp;quot;das&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || Bitweises UND  || zero = 4 &amp;amp; 2;&lt;br /&gt;
four = 4 &amp;amp; 4;&lt;br /&gt;
|-&lt;br /&gt;
| ^  || Bitweises XOR  || zero = 4 ^ 4;&lt;br /&gt;
six = 4 ^ 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || Bitweises ODER  || vier = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 4;&lt;br /&gt;
six = 4 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; 2;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  || Logisches ODER  || istWahr = (FALSE &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  ||Logisches UND  || istFalsch = (FALSE &amp;amp;&amp;amp; TRUE);&lt;br /&gt;
|-&lt;br /&gt;
| = += -= *= /= %=  || Zuweisung  || vier = 4;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Anders als in den meisten anderen Programmiersprachen die den C-Stil für &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; und &#039;&#039;&#039;||&#039;&#039;&#039; Operatoren anwenden, werden &#039;&#039;&#039;beide&#039;&#039;&#039; Operanden &#039;&#039;&#039;immer&#039;&#039;&#039; ausgewertet.  Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;if (TRUE || 1/0) llSay(PUBLIC_CHANNEL, &amp;quot;Aha!&amp;quot;);&amp;lt;/lsl&amp;gt; &lt;br /&gt;
&lt;br /&gt;
führt zu einer Fehlermeldung, statt &amp;quot;Aha&amp;quot; auszugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die ++ (Inkrement) und -- (Dekrement) - Operatoren wirken sich auf die Zahl entweder vor oder nach der Auswertung aus, je nachdem ob sie vor oder nach dieser Zahl stehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(++count)) // Wird erhöht, und danach ausgewertet.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird nicht ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;integer count;&lt;br /&gt;
if(!(count++)) // Wird ausgewertet und danach erhöht.&lt;br /&gt;
llSay(PUBLIC_CHANNEL, &amp;quot;Aha&amp;quot;); // Wird ausgegeben.&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Boole&#039;schen Operatoren &#039;&#039;&#039;||&#039;&#039;&#039; und &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039; werden in der Auswertungs-Reihenfolge von LSL als gleichwertig angesehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Auswertunsreihenfolge unterscheidet sich von der Auswertungsreihenfolge der meisten Programmiersprachen. Wenn der Wert von x im nachfolgenden Beispiel initial 1 ist, dann werden die zwei Bedingungen unterhalb als FALSCH ausgewertet, und die nächsten beiden als WAHR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&amp;lt;lsl&amp;gt;(x == 0 &amp;amp;&amp;amp; (x = 0) == 0 &amp;amp;&amp;amp; x)&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Seiten werden ausgewertet, unabhängig davon ob eine der Seiten WAHR ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Gleichheits-Test bei Listen vergleichen nicht deren Inhalte, sondern lediglich deren Länge.&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==+ Operator==&lt;br /&gt;
&amp;lt;code&amp;gt;result = left + right&amp;lt;/code&amp;gt;&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Linker Typ&lt;br /&gt;
!Rechter Typ&lt;br /&gt;
!Ergebnistyp&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|integer&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|integer&lt;br /&gt;
|float&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|string&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; an das Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|list&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|Hängt &#039;&#039;&#039;rechts&#039;&#039;&#039; nach dem Ende von &#039;&#039;&#039;links&#039;&#039;&#039; an.&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|list&lt;br /&gt;
|list&lt;br /&gt;
|Fügt &#039;&#039;&#039;links&#039;&#039;&#039; vor dem Start von &#039;&#039;&#039;rechts&#039;&#039;&#039; ein.&lt;br /&gt;
|-&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|vector&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|rotation&lt;br /&gt;
|Addiert &#039;&#039;&#039;links&#039;&#039;&#039; und &#039;&#039;&#039;rechts&#039;&#039;&#039;&amp;lt;br/&amp;gt;Nicht brauchbar um Rotationen zu kombinieren, stattdessen verwendet man die Operatoren [[#* Operator|*]] oder [[#/ Operator|/]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|+&lt;br /&gt;
==Operator-Abkürzungen==&lt;br /&gt;
Alternativen zum einfachen &#039;=&#039; Operator...&lt;br /&gt;
|-{{Hl2}}&lt;br /&gt;
!Einfacher Zuweisungsoperator&lt;br /&gt;
!Operator-Abkürzung (shorthand operator)&lt;br /&gt;
|-&lt;br /&gt;
|a = a + 1&lt;br /&gt;
|a += 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a – 1&lt;br /&gt;
|a -= 1&lt;br /&gt;
|-&lt;br /&gt;
|a = a * (n+1)&lt;br /&gt;
|a *= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a / (n+1)&lt;br /&gt;
|a /= (n+1)&lt;br /&gt;
|-&lt;br /&gt;
|a = a % b&lt;br /&gt;
|a %= b&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=={{Wikipedia|De Morgan&#039;s Gesetze|w=n}}==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Bitweise Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; ~b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp; ~b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~(~a &amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;~(a &amp;amp; ~b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;~a &amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| {{Prettytable|style=margin-top:0; float:left;}}&lt;br /&gt;
|+ Boole&#039;sche Gleichwertigkeiten&lt;br /&gt;
!UND&lt;br /&gt;
!ODER&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; !b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;a &amp;amp;&amp;amp; !b&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!(!a &amp;amp;#124;&amp;amp;#124; b)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;code&amp;gt;!(a &amp;amp;&amp;amp; !b)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;!a &amp;amp;#124;&amp;amp;#124; b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach {{Wikipedia|De Morgan&#039;s Gesetze|w=n}} (zeilenweise dargestellt), ist der Code in der &#039;&#039;&#039;UND&#039;&#039;&#039; Spalte logisch equivalent zum Code ind er &#039;&#039;&#039;ODER&#039;&#039;&#039;. &#039;&#039;&#039;a&#039;&#039;&#039; und &#039;&#039;&#039;b&#039;&#039;&#039; müssen nicht zwangsläufig Variablen sein, sondern können auch Ausdrücke sein. In speziellen Fällen kann man diese Gleichwertigkeiten anwenden, um komplexen Code vereinfacht darzustellen. Es ist wichtig diese zwei Tabellen nicht zu verwechseln wenn man sie anwendet. Die ersten beiden Zeilen stellen De Morgan&#039;s Gesetze dar wie postuliert, und die letzten beiden Zeilen bauen darauf auf.&lt;br /&gt;
{{LSLC/de|Operators}}{{LSLC/de|Flow Control}}{{LSLC/de}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Verwendung_von_JSON_in_LSL&amp;diff=1187788</id>
		<title>Verwendung von JSON in LSL</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Verwendung_von_JSON_in_LSL&amp;diff=1187788"/>
		<updated>2014-02-19T12:11:46Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added reference to English wiki-page for information about &amp;#039;specifiers&amp;#039;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Header/de|mlr=Json usage in LSL}}{{LSLC/de}}{{LSLC/de|JSON|*Verwendung von JSON in LSL}}&lt;br /&gt;
==Übersicht==&lt;br /&gt;
[http://www.json.org/ JSON] (JavaScript Object Notation) ist ein Textformat (unabhängig von Programmiersprache und Architektur) um [http://de.wikipedia.org/wiki/Serialisierung Datenstrukturen zu serialisieren], ähnlich wie es [http://de.wikipedia.org/wiki/XML XML] für Dokumente macht, aber in einer wesentlich kompakteren Form.&lt;br /&gt;
Es wird in der einfachsten Form als ein reiner String dargestellt, der in seinem Aufbau einem [http://tools.ietf.org/html/rfc4627 Regelset] folgt.&lt;br /&gt;
Diese Regeln erlauben die Codierung, Manipulation, Speicherung, Übermittlung und Decodierung von komplexen Datenstrukturen in einer kurzen, lesbaren Form.&lt;br /&gt;
Json-Text kann man benutzen, um zwischen JSON-kompatiblen Anwendungen zu kommunizieren, und wird in erster Linie für die Webclient-Server-Kommunikation verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JSON ermöglicht es [http://de.wikipedia.org/wiki/Objekt_%28Programmierung%29 Objekte], [http://de.wikipedia.org/wiki/Datenbank Datenbanken] und komplexe und abstrakte Datentypen zu erzeugen ([http://de.wikipedia.org/wiki/Feld_%28Datentyp%29 multidimensionale und assoziative Arrays], [http://de.wikipedia.org/wiki/Last_In_%E2%80%93_First_Out Stacks], [http://de.wikipedia.org/wiki/First_In_%E2%80%93_First_Out Queues] und [http://de.wikipedia.org/wiki/Liste_%28Datenstruktur%29 Listen]).&lt;br /&gt;
&lt;br /&gt;
Da LSL diese Datentypen nicht unterstützt, werden zur Anwendung dieser Datentypen user-generierte Funktionen benötigt (z.B. getAllKeys(), getArrayLength(), deleteItem(), und Iterator-Operatoren),&lt;br /&gt;
um von den Vorteilen (wie Datenkapselung, Speicher-Einsparung für lange Listen, Verschachtelung von vermischten Datenstrukturen) die JSON ermöglichen, profitieren zu können.&lt;br /&gt;
&lt;br /&gt;
Ein LSL-basiertes Testskript für diese Funktionen kann man hier abrufen: [[Json_usage_in_LSL/TestScript]].&lt;br /&gt;
&lt;br /&gt;
==Typenkonvertierung==&lt;br /&gt;
&lt;br /&gt;
Siehe [[llJsonValueType{{#var:lang}}|llJsonValueType]]&lt;br /&gt;
&lt;br /&gt;
==Neue LSL Funktionen==&lt;br /&gt;
&lt;br /&gt;
*[[LlJson2List{{#var:lang}}|LlJson2List]]&lt;br /&gt;
*[[LlJsonGetValue{{#var:lang}}|LlJsonGetValue]]&lt;br /&gt;
*[[LlJsonSetValue{{#var:lang}}|LlJsonSetValue]]&lt;br /&gt;
*[[LlJsonValueType{{#var:lang}}|LlJsonValueType]]&lt;br /&gt;
*[[LlList2Json{{#var:lang}}|LlList2Json]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;HINWEIS&#039;&#039;&#039;&#039;&#039; Bitte besuchen Sie auch die originale Englische Version dieser Seite für weitere Informationen, wie Beispielskripts etc.: [[Json_usage_in_LSL]] - besonders für Informationen über die Verwendung der &#039;&#039;&#039;Spezifizierer&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Kireji_Haiku&amp;diff=1186838</id>
		<title>User talk:Kireji Haiku</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Kireji_Haiku&amp;diff=1186838"/>
		<updated>2014-01-12T05:25:54Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* JSON /de pages */  -- signature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Unnecessary Edits ==&lt;br /&gt;
&lt;br /&gt;
Kindly desist from your inane paranoid obsession with a personal fad. Strife and I have discussed the purpose of edits and agree that edits should not unnecessarily change the style chosen by the example code originators. And don&#039;t split hairs with me about what constitutes &amp;quot;style&amp;quot;. I will continue to revert unneeded edits back to what the originator intended. [[User:Omei Qunhua|Omei Qunhua]] 07:13, 31 December 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
I obviously have not explained myself simply or clearly enough. Let&#039;s try again. There have been thousands of scripts contributed to this Wiki, by hundreds if not thousands of contributors. There have apparently been a million scripts written in LSL and there are tens of thousands of scripts in public libraries. You, I believe, are almost alone among this vast horde of experience in insisting on PUBLIC_CHANNEL and ERROR_GENERIC, (float) FALSE etc. That places you a minuscule minority. You have NO RIGHT to impose your most exceptional view on the rest of us. I personally consider it OBSCENE that you dare to suggest my contributions are in error sufficiently to warrant you getting your sticky little fingers on them, just because I didn&#039;t adhere to a very individual quirk of yours in my otherwise totally correct script. What on earth do you think gives you this right? I am sure you are ABSOLUTELY convinced of the advantages of your preferences. By all means feel free to exercise your preferences in your own creations, and I will honour your right to write what you wish in your own creations, so long as they are accurate (i.e. compile and produce correct results). But that does not give you the right as one individual to impose your ways on thousands of the rest of us. The way to convince others is not to trample rough-shod over years of work by the dedicated majority. That only alienates you, certainly from me. I repeat, I will continue to try and ensure that the valid preferences of script originators are preserved. What&#039;s your excuse? [[User:Omei Qunhua|Omei Qunhua]] 09:43, 31 December 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== JSON_APPEND and JSON_DELETE ==&lt;br /&gt;
&lt;br /&gt;
I can&#039;t get on right now to test this but what happens if you use [[JSON_APPEND]] with [[JSON_DELETE]]? If the world were a wonderful place it would delete the last value.&lt;br /&gt;
&amp;lt;lsl&amp;gt;llOwnerSay(llJsonSetValue(&amp;quot;[0,1]&amp;quot;, [JSON_APPEND], JSON_DELETE));&amp;lt;/lsl&amp;gt;&lt;br /&gt;
--&#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; 06:19, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:What do you think happens if it&#039;s NOT an array?&lt;br /&gt;
:&amp;lt;lsl&amp;gt;llOwnerSay(llJsonSetValue(&amp;quot;{a:1}&amp;quot;, [JSON_APPEND], JSON_DELETE));&amp;lt;/lsl&amp;gt;&lt;br /&gt;
:-- &#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; 06:23, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::They both output [[JSON_INVALID]]. I&#039;ll erm... test and see if there&#039;s a better example script :P -- [[User:Kireji Haiku|Kireji Haiku]] 06:29, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::JSON_DELETE I think is still only in RC. Thanks for looking into this. -- &#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; 06:32, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ll just make a feature suggestion for JSON_LAST so there is no ambiguity. -- &#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; 06:35, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I tested both on &amp;lt;code&amp;gt;LeTigre Sandbox 1&amp;lt;/code&amp;gt; which runs &amp;lt;code&amp;gt;3.6.7.281331&amp;lt;/code&amp;gt;. It seems that is before the one introducing [[JSON_DELETE]]. So yeah... will wait and see. I removed the example script for now. -- [[User:Kireji Haiku|Kireji Haiku]] 06:39, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::&amp;lt;.&amp;lt; sorry for wasting your time. [[JSON_LAST]] = {{JIRA|BUG-4075}} -- &#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; 06:47, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Thanks for the useless link. I&#039;d have taken a look, but no perms. So I&#039;ll just hope someone will react to that. Not that anybody would to then ones I report. Have a nice one ;) -- [[User:Kireji Haiku|Kireji Haiku]] 06:54, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::: ^^; sorry -- &#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; 07:05, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::Nah, it&#039;s all good. I just don&#039;t like the way some of the Linden Lab staff reacts to user reports by first acknowledging bugs and then ignoring any help provided to actually get them fixed. Closing down the JIRA from the public doesn&#039;t help either. Anyhow, I&#039;ll stop rambling off-topic. Cya -- [[User:Kireji Haiku|Kireji Haiku]] 08:30, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: BUG-4075 is a feature request for a parameter &amp;quot;JSON_LAST&amp;quot; ;) --[[User:MartinRJ Fayray|MartinRJ Fayray]] 15:32, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Vendor systems comparison ==&lt;br /&gt;
&lt;br /&gt;
Hi.&lt;br /&gt;
I&#039;ve tried to find the Titan vending system. It seems its no longer available. The SLURL ends in midair of a sim and you don&#039;t land at the vending center, as announced in the creators profile picks. Remove the system from the table?&lt;br /&gt;
--[[User:Mo Noel|Mo Noel]] 09:19, 25 November 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:Did you try contacting the creator? I personally wouldn&#039;t remove the system from the table as long as it still is working and people are using it. -- [[User:Kireji Haiku|Kireji Haiku]] 03:25, 8 December 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== PUBLIC_CHANNEL vs Zero ==&lt;br /&gt;
&lt;br /&gt;
Seeing as this topic hasn&#039;t settled down, it&#039;s time for the larger community to choose. I view their decision (even if it&#039;s Pie) as binding.&lt;br /&gt;
http://www.sluniverse.com/php/vb/scripting/91061-wiki-public_channel-vs-zero.html&lt;br /&gt;
-- &#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; 00:15, 1 January 2014 (PST)&lt;br /&gt;
&lt;br /&gt;
All these attempts to hide the value of PUBLIC_CHANNEL need to stop. It&#039;s just spiteful Wiki editing. Any I find I&#039;m reverting. [[User:Darien Caldwell|Darien Caldwell]] 16:11, 8 January 2014 (PST)&lt;br /&gt;
&lt;br /&gt;
== JSON /de pages ==&lt;br /&gt;
&lt;br /&gt;
Hello Kireji,&lt;br /&gt;
&lt;br /&gt;
you somehow broke the &amp;quot;See also&amp;quot; section of two of the JSON /de pages I created (llList2Json/de, llJsonSetValue/de) in your last edits. I&#039;m reverting them.&lt;br /&gt;
&lt;br /&gt;
See: http://i.imgur.com/jLK8d0L.png&lt;br /&gt;
&lt;br /&gt;
Please check the pages after changing something on them. --[[User:MartinRJ Fayray|MartinRJ Fayray]] 21:25, 11 January 2014 (PST)&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlList2Json/de&amp;diff=1186837</id>
		<title>LlList2Json/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlList2Json/de&amp;diff=1186837"/>
		<updated>2014-01-12T05:23:21Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Undo revision 1185007 by Kireji Haiku (Talk) -- borked &amp;#039;see also&amp;#039; section: http://i.imgur.com/jLK8d0L.png pls fix this before resubmit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function/de&lt;br /&gt;
|func_id=|func_sleep=0.0|func_energy&lt;br /&gt;
|func=llList2Json|return_type=string&lt;br /&gt;
|p1_type=string|p1_name=Typ|p1_desc=&lt;br /&gt;
|p2_type=list|p2_name=Werte|p2_desc=&lt;br /&gt;
|func_footnote=&lt;br /&gt;
Um einen Json-String in eine Liste zu konvertieren, verwenden Sie bitte [[llJson2List{{#var:lang}}|llJson2List]].&lt;br /&gt;
|func_desc=Diese Funktion erwartet eine Liste und gibt sie als [http://json.org JSON] - String zurück, entweder als JSON-Objekt oder als JSON-Array.&lt;br /&gt;
&lt;br /&gt;
Gibt  einen String zurück der entweder als JSON {{LSLPT|Typ}} serialisierte {{LSLPT|Werte}} enthält, oder [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] wenn ein Fehler aufgetreten ist.&lt;br /&gt;
|spec=Siehe auch [[Json_usage_in_LSL{{#var:lang}}|Verwendung von JSON in LSL]]&lt;br /&gt;
* Wenn der Typ ein [[JSON_OBJECT{{#var:lang}}|JSON_OBJECT]] ist, muss die Liste eine &#039;strided&#039; Liste aus Schlüssel-Wert-Paaren sein, und als Ergebnis zurückgegeben wird ein String der ein Json - Objekt darstellt.&lt;br /&gt;
* Wenn der Typ ein [[JSON_ARRAY{{#var:lang}}|JSON_ARRAY]] ist, wird ein String der ein Json - Array darstellt als Ergebnis zurückgegeben.&lt;br /&gt;
* Wenn der Typ kein String ist, wird [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] zurückgegeben.&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}|subset=*}}&lt;br /&gt;
|caveats=&lt;br /&gt;
&lt;br /&gt;
*LSL-Strings die mit &amp;quot;&#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;&amp;quot; beginnen &#039;&#039;und&#039;&#039; enden werden als JSON-Strings interpretiert. Strings ohne dieses Zeichen werden geparst wenn der String zu JSON konvertiert wird.&lt;br /&gt;
|examples&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llJson2List{{#var:lang}}|llJson2List]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonSetValue{{#var:lang}}|llJsonSetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|also_constants={{LSL DefineRow||[[JSON_ARRAY{{#var:lang}}|JSON_ARRAY]]}}&lt;br /&gt;
{{LSL DefineRow||[[JSON_OBJECT{{#var:lang}}|JSON_OBJECT]]}}&lt;br /&gt;
{{LSL DefineRow||[[JSON_INVALID{{#var:lang}}|JSON_INVALID]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Typecast{{#var:lang}}|Typecast]]|}}&lt;br /&gt;
|notes=&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=List2Json&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4=JSON&lt;br /&gt;
|history = Veröffentlichungsdatum  [[ Release_Notes/Second_Life_Server/13#13.05.20.276191 | 20/05/2013 ]]&lt;br /&gt;
|haiku={{Haiku|Their ships list to port|for what reason I know not|we list to JSON}}&lt;br /&gt;
{{Haiku|Listen to Jason|cryptically my sensei said|I must have misheard}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlJsonSetValue/de&amp;diff=1186836</id>
		<title>LlJsonSetValue/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlJsonSetValue/de&amp;diff=1186836"/>
		<updated>2014-01-12T05:22:12Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Undo revision 1185009 by Kireji Haiku (Talk) -- borked &amp;#039;see also&amp;#039; section: http://i.imgur.com/jLK8d0L.png pls fix this before resubmit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function/de&lt;br /&gt;
|inject-2={{Issues/BUG-3692}}&lt;br /&gt;
|inject-3={{LSL_Function/negative index{{#var:lang}}|false|specifiers|nc=*}}&lt;br /&gt;
|func_id=|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llJsonSetValue&lt;br /&gt;
|return_type=string&lt;br /&gt;
|p1_type=string|p1_name=Json|p1_desc=Ausgangsdaten (JSON)&lt;br /&gt;
|p2_type=list|p2_name=Spezifizierer|p2_desc=Position an der ein Wert hinzugefügt, geändert oder gelöscht werden soll.&lt;br /&gt;
|p3_type=string|p3_name=Wert|p3_desc=Der neue Wert oder [[JSON_DELETE{{#var:lang}}|JSON_DELETE]].|p3_hover=Der neue Wert oder JSON_DELETE.&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc=Bei Erfolg gibt diese Funktion einen neuen [http://json.org/json-de.html JSON] - &#039;&#039;String&#039;&#039; zurück, bestehend aus {{LSLPT|Json}} mit dem neuen {{LSLPT|Wert}} (an der Stelle überschrieben) der in {{LSLPT|Spezifizierer}} definiert wurde.&lt;br /&gt;
&lt;br /&gt;
Wenn der Funktionsaufruf fehlschlägt (typischerweise weil ein ungültiger Array-Index außerhalb des gültigen Bereichs spezifiziert wurde) wird [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;ungültiger Array-Index außerhalb des gültigen Bereichs&amp;quot; (out of range array index) bedeutet, dass einer der Integer-{{LSLPT|Spezifizierer}} größer ist als die Länge des vorhandenen Arrays auf der entsprechenden Ebene mit dem Json Text, oder größer als 0 auf einer Ebene auf der kein Array existiert.&lt;br /&gt;
&lt;br /&gt;
Der spezielle [[JSON_APPEND{{#var:lang}}|JSON_APPEND]] - {{LSLPT|Spezifizierer}} wird ebenfalls akzeptiert. Er fügt den {{LSLPT|Wert}} an das Ende des Arrays in der entsprechenden Ebene (definiert durch {{LSLPT|Spezifizierer}}) an. Vorsicht ist geboten, wenn diese Ebene kein Array ist, da der existierende Wert dann überschrieben wird und mit einem Array ersetzt wird, welches dann den {{LSLPT|Wert}} an der ersten Index - Stelle (0) enthält.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu [[Liste{{#var:lang}}|Listen]] und [[String{{#var:lang}}|Strings]] werden negative Indexe in Json-Arrays &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
&lt;br /&gt;
Wenn ein existierender &amp;quot;Key&amp;quot; dem {{LSLPT|Spezifizierer}} auf der entsprechenden Ebene entspricht, wird dessen Wert mit dem neuen {{LSLPT|Wert}} überschrieben (außer wenn {{LSLPT|Wert}} der besondere [[JSON_DELETE{{#var:lang}}|JSON_DELETE]] Parameter ist). &lt;br /&gt;
&lt;br /&gt;
Existiert an dieser - durch {{LSLPT|Spezifizierer}} definierten - Stelle kein Wert, wird ein neues Schlüssel-Wert-Paar innerhalb des Json-Objekts erzeugt.&lt;br /&gt;
&lt;br /&gt;
Um einen existiertenden Wert an der durch {{LSLPT|Spezifizierer}} definierten Stelle zu löschen, verwenden Sie als {{LSLPT|Wert}} das Schlüsselwort [[JSON_DELETE{{#var:lang}}|JSON_DELETE]]. Dieser Vorgang entfernt dabei keine leeren Objekte oder Arrays aus höheren Ebenen.&lt;br /&gt;
&lt;br /&gt;
Wenn {{LSLPT|Wert}} gleich [[JSON_TRUE{{#var:lang}}|JSON_TRUE]], [[JSON_FALSE{{#var:lang}}|JSON_FALSE]] oder [[JSON_NULL{{#var:lang}}|JSON_NULL]] ist, wird der Wert entsprechend an der durch {{LSLPT|Spezifizierer}} definierten Stelle als Text &#039;true&#039;, &#039;false&#039; oder &#039;null&#039; innerhalb von {{LSLPT|Json}} gesetzt.&lt;br /&gt;
|return_text=&lt;br /&gt;
|spec=Siehe auch [[Json_usage_in_LSL{{#var:lang}}|Verwendung von JSON in LSL]]&lt;br /&gt;
|constants&lt;br /&gt;
|caveats=&lt;br /&gt;
&lt;br /&gt;
*LSL-Strings die mit &amp;quot;&#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;&amp;quot; beginnen &#039;&#039;und&#039;&#039; enden werden als JSON-Strings interpretiert. Strings ohne dieses Zeichen werden geparst wenn der String zu JSON konvertiert wird.&lt;br /&gt;
|examples=&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string TEST_STRING_JSON;&lt;br /&gt;
&lt;br /&gt;
init()&lt;br /&gt;
{&lt;br /&gt;
    TEST_STRING_JSON = &amp;quot;[9,\&amp;quot;&amp;lt;1,1,1&amp;gt;\&amp;quot;,false,{\&amp;quot;A\&amp;quot;:8,\&amp;quot;Z\&amp;quot;:9}]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;Original TEST_STRING_JSON: &amp;quot; + TEST_STRING_JSON);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
run_json_test(string input)&lt;br /&gt;
{&lt;br /&gt;
    string output;&lt;br /&gt;
&lt;br /&gt;
//  changing values within the json string&lt;br /&gt;
&lt;br /&gt;
//  change the first value in the array to 10&lt;br /&gt;
    output = llJsonSetValue(input, [0], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [10,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 1): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  change the third value in the array to &#039;true&#039;&lt;br /&gt;
    output = llJsonSetValue(input, [2], JSON_TRUE);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,true,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 2): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  change the value of &amp;quot;A&amp;quot; within the Json object to 3&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;A&amp;quot;], &amp;quot;3&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:3,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 3): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  adding a value or new key-value-pair within the input&lt;br /&gt;
&lt;br /&gt;
//  add the value &amp;quot;Hello&amp;quot; to the end of the array&lt;br /&gt;
//      NOTE: One cannot insert, only add to the end&lt;br /&gt;
    output = llJsonSetValue(input, [JSON_APPEND], &amp;quot;Hello&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},&amp;quot;Hello&amp;quot;]&lt;br /&gt;
    say(&amp;quot;( 4): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  add the key-value-pair &amp;quot;B&amp;quot;:10 to the object&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;B&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;B&amp;quot;:10,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 5): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//  Things to look out for when modifying Json text&lt;br /&gt;
//      ~!~ Be careful when using this function ~!~&lt;br /&gt;
&lt;br /&gt;
//  out of bounds array assignment:&lt;br /&gt;
//      defined as attempting to add a value to a position ...&lt;br /&gt;
//      ...greater than the length of the array (which may be 0)&lt;br /&gt;
//      JSON_APPEND is ALWAYS the preferred way to add to an array&lt;br /&gt;
    output = llJsonSetValue(input, [5], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  %EF%B7%90 (URL escaped JSON_INVALID)&lt;br /&gt;
    say(&amp;quot;( 6): &amp;quot; + llEscapeURL(output));&lt;br /&gt;
&lt;br /&gt;
//  BUT, this works, since it is in bounds&lt;br /&gt;
//      (eqivalent to JSON_APPEND in this case)&lt;br /&gt;
    output = llJsonSetValue(input, [4], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},10]&lt;br /&gt;
    say(&amp;quot;( 7): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  careless formation of new arrays&lt;br /&gt;
//      ( the 4 and all subsequent 0&#039;s are all in bounds.)&lt;br /&gt;
    output = llJsonSetValue(input, [4, 0, 0, 0], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},[[[10]]]]&lt;br /&gt;
    say(&amp;quot;( 8): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  overwriting an object with an array:&lt;br /&gt;
//      ~!~ mistaken use of JSON_APPEND on an object ~!~&lt;br /&gt;
    output = llJsonSetValue(input, [3, JSON_APPEND], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,[10]]&lt;br /&gt;
    say(&amp;quot;( 9): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  careless formation of new objects&lt;br /&gt;
//      NOTE: &amp;quot;Key&amp;quot; assignemts will NEVER result in a return of JSON_INVALID!&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;W&amp;quot;, &amp;quot;X&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;W&amp;quot;:{&amp;quot;X&amp;quot;:10},&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(10): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;W&amp;quot;, &amp;quot;X&amp;quot;, &amp;quot;Y&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;W&amp;quot;:{&amp;quot;X&amp;quot;:{&amp;quot;Y&amp;quot;:10}},&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(11): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  overwriting an array with an object&lt;br /&gt;
    output = llJsonSetValue(input, [&amp;quot;X&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  {&amp;quot;X&amp;quot;:10}&lt;br /&gt;
    say(&amp;quot;(12): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  special case considerations:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//  BUG-3692: (NOTE: Corrected in release 13.09.21.281328!)&lt;br /&gt;
//      a bug where, instead of JSON_INVALID being returned, if the out of&lt;br /&gt;
//      bounds index is at a lower level than the topmost (root) level, a&lt;br /&gt;
//      non-compliant JSON text would be formed&lt;br /&gt;
    output = llJsonSetValue(input, [1, 7], &amp;quot;Disappearing Text&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  Note the &amp;quot;empty&amp;quot; second position that resulted in the returned array&lt;br /&gt;
//  [9,,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
// (But now correctly shows JSON_INVALID)&lt;br /&gt;
    say(&amp;quot;(13): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  though there is no way to directly delete a key-value-pair &lt;br /&gt;
//  nor remove a value from an array,&lt;br /&gt;
//  the use of JSON_NULL may prove adequate&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;A&amp;quot;], JSON_NULL);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:null,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(14): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  if a JSON text object has been formed with llList2Json()&lt;br /&gt;
//  that contains one or more duplicated &amp;quot;Keys&amp;quot;, (allowable&lt;br /&gt;
//  but NOT recommended!) ANY change&lt;br /&gt;
//  made to that object will correct the condition,&lt;br /&gt;
//  with all but the last such &amp;quot;Key&amp;quot; being removed&lt;br /&gt;
    output = llList2Json(JSON_OBJECT, [&amp;quot;A&amp;quot;, 1, &amp;quot;A&amp;quot;, 2, &amp;quot;A&amp;quot;, 3, &amp;quot;B&amp;quot;, 4, &amp;quot;B&amp;quot;, 4]);&lt;br /&gt;
&lt;br /&gt;
//  both Keys &amp;quot;A&amp;quot; and &amp;quot;B&amp;quot; are duplicated&lt;br /&gt;
//  {&amp;quot;A&amp;quot;:1,&amp;quot;A&amp;quot;:2,&amp;quot;A&amp;quot;:3,&amp;quot;B&amp;quot;:4,&amp;quot;B&amp;quot;:4}&lt;br /&gt;
    say(&amp;quot;(15): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  only the last value of the duplications is accessable though&lt;br /&gt;
&lt;br /&gt;
//  3&lt;br /&gt;
    say(&amp;quot;(16): &amp;quot; + llJsonGetValue(output, [&amp;quot;A&amp;quot;]));&lt;br /&gt;
&lt;br /&gt;
//  condition corrected by adding a key-value-pair...&lt;br /&gt;
&lt;br /&gt;
//  {&amp;quot;A&amp;quot;:3,&amp;quot;B&amp;quot;:4,&amp;quot;Z&amp;quot;:5}&lt;br /&gt;
    say(&amp;quot;(17): &amp;quot; + llJsonSetValue(output, [&amp;quot;Z&amp;quot;], &amp;quot;5&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
//  ... or by changing a value&lt;br /&gt;
&lt;br /&gt;
// {&amp;quot;A&amp;quot;:5,&amp;quot;B&amp;quot;:4}&lt;br /&gt;
    say(&amp;quot;(18): &amp;quot; + llJsonSetValue(output, [&amp;quot;A&amp;quot;], &amp;quot;5&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
say(string message)&lt;br /&gt;
{&lt;br /&gt;
    llOwnerSay(message);&lt;br /&gt;
//  llRegionSayTo(llGetOwner(), PUBLIC_CHANNEL, message);&lt;br /&gt;
//  llWhisper(PUBLIC_CHANNEL, message);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer start_param)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        init();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_end(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
//      copy &#039;TEST_STRING_JSON&#039; from the following function call&lt;br /&gt;
//      to the string &#039;input&#039; in the function declaration&lt;br /&gt;
//      and run a test on &#039;input&#039; to not (!) modify &#039;TEST_STRING_JSON&#039;&lt;br /&gt;
//      but its copy instead&lt;br /&gt;
        run_json_test(TEST_STRING_JSON);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llList2Json{{#var:lang}}|llList2Json]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJson2List{{#var:lang}}|llJson2List]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Typecast{{#var:lang}}|Typecast]]|}}&lt;br /&gt;
|notes=&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=JsonSetValue&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4=JSON&lt;br /&gt;
|history = Veröffentlichungsdatum  [[ Release_Notes/Second_Life_Server/13#13.05.20.276191 | 20/05/2013 ]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Kireji_Haiku&amp;diff=1186835</id>
		<title>User talk:Kireji Haiku</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Kireji_Haiku&amp;diff=1186835"/>
		<updated>2014-01-12T05:19:28Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* JSON /de pages */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Unnecessary Edits ==&lt;br /&gt;
&lt;br /&gt;
Kindly desist from your inane paranoid obsession with a personal fad. Strife and I have discussed the purpose of edits and agree that edits should not unnecessarily change the style chosen by the example code originators. And don&#039;t split hairs with me about what constitutes &amp;quot;style&amp;quot;. I will continue to revert unneeded edits back to what the originator intended. [[User:Omei Qunhua|Omei Qunhua]] 07:13, 31 December 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
I obviously have not explained myself simply or clearly enough. Let&#039;s try again. There have been thousands of scripts contributed to this Wiki, by hundreds if not thousands of contributors. There have apparently been a million scripts written in LSL and there are tens of thousands of scripts in public libraries. You, I believe, are almost alone among this vast horde of experience in insisting on PUBLIC_CHANNEL and ERROR_GENERIC, (float) FALSE etc. That places you a minuscule minority. You have NO RIGHT to impose your most exceptional view on the rest of us. I personally consider it OBSCENE that you dare to suggest my contributions are in error sufficiently to warrant you getting your sticky little fingers on them, just because I didn&#039;t adhere to a very individual quirk of yours in my otherwise totally correct script. What on earth do you think gives you this right? I am sure you are ABSOLUTELY convinced of the advantages of your preferences. By all means feel free to exercise your preferences in your own creations, and I will honour your right to write what you wish in your own creations, so long as they are accurate (i.e. compile and produce correct results). But that does not give you the right as one individual to impose your ways on thousands of the rest of us. The way to convince others is not to trample rough-shod over years of work by the dedicated majority. That only alienates you, certainly from me. I repeat, I will continue to try and ensure that the valid preferences of script originators are preserved. What&#039;s your excuse? [[User:Omei Qunhua|Omei Qunhua]] 09:43, 31 December 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== JSON_APPEND and JSON_DELETE ==&lt;br /&gt;
&lt;br /&gt;
I can&#039;t get on right now to test this but what happens if you use [[JSON_APPEND]] with [[JSON_DELETE]]? If the world were a wonderful place it would delete the last value.&lt;br /&gt;
&amp;lt;lsl&amp;gt;llOwnerSay(llJsonSetValue(&amp;quot;[0,1]&amp;quot;, [JSON_APPEND], JSON_DELETE));&amp;lt;/lsl&amp;gt;&lt;br /&gt;
--&#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; 06:19, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:What do you think happens if it&#039;s NOT an array?&lt;br /&gt;
:&amp;lt;lsl&amp;gt;llOwnerSay(llJsonSetValue(&amp;quot;{a:1}&amp;quot;, [JSON_APPEND], JSON_DELETE));&amp;lt;/lsl&amp;gt;&lt;br /&gt;
:-- &#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; 06:23, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::They both output [[JSON_INVALID]]. I&#039;ll erm... test and see if there&#039;s a better example script :P -- [[User:Kireji Haiku|Kireji Haiku]] 06:29, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::JSON_DELETE I think is still only in RC. Thanks for looking into this. -- &#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; 06:32, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ll just make a feature suggestion for JSON_LAST so there is no ambiguity. -- &#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; 06:35, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I tested both on &amp;lt;code&amp;gt;LeTigre Sandbox 1&amp;lt;/code&amp;gt; which runs &amp;lt;code&amp;gt;3.6.7.281331&amp;lt;/code&amp;gt;. It seems that is before the one introducing [[JSON_DELETE]]. So yeah... will wait and see. I removed the example script for now. -- [[User:Kireji Haiku|Kireji Haiku]] 06:39, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::&amp;lt;.&amp;lt; sorry for wasting your time. [[JSON_LAST]] = {{JIRA|BUG-4075}} -- &#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; 06:47, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Thanks for the useless link. I&#039;d have taken a look, but no perms. So I&#039;ll just hope someone will react to that. Not that anybody would to then ones I report. Have a nice one ;) -- [[User:Kireji Haiku|Kireji Haiku]] 06:54, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::: ^^; sorry -- &#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; 07:05, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::Nah, it&#039;s all good. I just don&#039;t like the way some of the Linden Lab staff reacts to user reports by first acknowledging bugs and then ignoring any help provided to actually get them fixed. Closing down the JIRA from the public doesn&#039;t help either. Anyhow, I&#039;ll stop rambling off-topic. Cya -- [[User:Kireji Haiku|Kireji Haiku]] 08:30, 4 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: BUG-4075 is a feature request for a parameter &amp;quot;JSON_LAST&amp;quot; ;) --[[User:MartinRJ Fayray|MartinRJ Fayray]] 15:32, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Vendor systems comparison ==&lt;br /&gt;
&lt;br /&gt;
Hi.&lt;br /&gt;
I&#039;ve tried to find the Titan vending system. It seems its no longer available. The SLURL ends in midair of a sim and you don&#039;t land at the vending center, as announced in the creators profile picks. Remove the system from the table?&lt;br /&gt;
--[[User:Mo Noel|Mo Noel]] 09:19, 25 November 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:Did you try contacting the creator? I personally wouldn&#039;t remove the system from the table as long as it still is working and people are using it. -- [[User:Kireji Haiku|Kireji Haiku]] 03:25, 8 December 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== PUBLIC_CHANNEL vs Zero ==&lt;br /&gt;
&lt;br /&gt;
Seeing as this topic hasn&#039;t settled down, it&#039;s time for the larger community to choose. I view their decision (even if it&#039;s Pie) as binding.&lt;br /&gt;
http://www.sluniverse.com/php/vb/scripting/91061-wiki-public_channel-vs-zero.html&lt;br /&gt;
-- &#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; 00:15, 1 January 2014 (PST)&lt;br /&gt;
&lt;br /&gt;
All these attempts to hide the value of PUBLIC_CHANNEL need to stop. It&#039;s just spiteful Wiki editing. Any I find I&#039;m reverting. [[User:Darien Caldwell|Darien Caldwell]] 16:11, 8 January 2014 (PST)&lt;br /&gt;
&lt;br /&gt;
== JSON /de pages ==&lt;br /&gt;
&lt;br /&gt;
Hello Kireji,&lt;br /&gt;
&lt;br /&gt;
you somehow broke the &amp;quot;See also&amp;quot; section of two of the JSON /de pages I created (llList2Json/de, llJsonSetValue/de) in your last edits. I&#039;m reverting them.&lt;br /&gt;
&lt;br /&gt;
See: http://i.imgur.com/jLK8d0L.png&lt;br /&gt;
&lt;br /&gt;
Please check the pages after changing something on them.&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186743</id>
		<title>Template:JiraSearch/LSL Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186743"/>
		<updated>2014-01-10T09:56:10Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: The template shall be fixed now!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{JiraSearch&lt;br /&gt;
|1={{Bo}}{{Bo}}urlencode:{{Bo}}{{Bo}}{{Bo}}1{{!}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|2={{Bo}}{{Bo}}{{Bo}}2{{!}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|description=*&lt;br /&gt;
|VWR=*&lt;br /&gt;
|SVC=*&lt;br /&gt;
|summary=*&lt;br /&gt;
|Bug=*&lt;br /&gt;
|Unresolved=*&lt;br /&gt;
|Won&#039;t Finish=*&lt;br /&gt;
|Scripting=*&lt;br /&gt;
|LSL HTTP=*&lt;br /&gt;
|Scripts=*&lt;br /&gt;
|sort/field=updated&lt;br /&gt;
|sort/order=desc&lt;br /&gt;
|sort2/field=votes&lt;br /&gt;
|sort2/order=desc&lt;br /&gt;
|ne=*&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;[http://jira.secondlife.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery={{#if:{{{1|}}}|summary+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}+OR+description+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}}}+ORDER+BY+Created+DESC&amp;amp;runQuery=true {{{2|}}}]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186742</id>
		<title>Template:JiraSearch/LSL Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186742"/>
		<updated>2014-01-10T09:49:48Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{JiraSearch&lt;br /&gt;
|1={{Bo}}{{Bo}}urlencode:{{Bo}}{{Bo}}{{Bo}}1{{!}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|2={{Bo}}{{Bo}}{{Bo}}2{{!}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|description=*&lt;br /&gt;
|VWR=*&lt;br /&gt;
|SVC=*&lt;br /&gt;
|summary=*&lt;br /&gt;
|Bug=*&lt;br /&gt;
|Unresolved=*&lt;br /&gt;
|Won&#039;t Finish=*&lt;br /&gt;
|Scripting=*&lt;br /&gt;
|LSL HTTP=*&lt;br /&gt;
|Scripts=*&lt;br /&gt;
|sort/field=updated&lt;br /&gt;
|sort/order=desc&lt;br /&gt;
|sort2/field=votes&lt;br /&gt;
|sort2/order=desc&lt;br /&gt;
|ne=*&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;[http://jira.secondlife.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery={{#if:{{{1|}}}|%28summary+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}+OR+description+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}}}+ORDER+BY+Created+DESC&amp;amp;runQuery=true {{{2|}}}]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186740</id>
		<title>Template:JiraSearch/LSL Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186740"/>
		<updated>2014-01-10T09:45:01Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Fixed the right brackets this time - hopefully. Sorry for the edits, sadly I can&amp;#039;t test this from the preview.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{JiraSearch&lt;br /&gt;
|1={{Bo}}{{Bo}}urlencode:{{Bo}}{{Bo}}{{Bo}}1{{!}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|2={{Bo}}{{Bo}}{{Bo}}2{{!}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|description=*&lt;br /&gt;
|VWR=*&lt;br /&gt;
|SVC=*&lt;br /&gt;
|summary=*&lt;br /&gt;
|Bug=*&lt;br /&gt;
|Unresolved=*&lt;br /&gt;
|Won&#039;t Finish=*&lt;br /&gt;
|Scripting=*&lt;br /&gt;
|LSL HTTP=*&lt;br /&gt;
|Scripts=*&lt;br /&gt;
|sort/field=updated&lt;br /&gt;
|sort/order=desc&lt;br /&gt;
|sort2/field=votes&lt;br /&gt;
|sort2/order=desc&lt;br /&gt;
|ne=*&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;[http://jira.secondlife.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery={{#if:{{{1|}}}|summary+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}+OR+description+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}}}+ORDER+BY+created&amp;amp;runQuery=true {{{2|}}}]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186739</id>
		<title>Template:JiraSearch/LSL Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186739"/>
		<updated>2014-01-10T09:43:49Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Missed two closing curled brackets.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{JiraSearch&lt;br /&gt;
|1={{Bo}}{{Bo}}urlencode:{{Bo}}{{Bo}}{{Bo}}1{{!}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|2={{Bo}}{{Bo}}{{Bo}}2{{!}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|description=*&lt;br /&gt;
|VWR=*&lt;br /&gt;
|SVC=*&lt;br /&gt;
|summary=*&lt;br /&gt;
|Bug=*&lt;br /&gt;
|Unresolved=*&lt;br /&gt;
|Won&#039;t Finish=*&lt;br /&gt;
|Scripting=*&lt;br /&gt;
|LSL HTTP=*&lt;br /&gt;
|Scripts=*&lt;br /&gt;
|sort/field=updated&lt;br /&gt;
|sort/order=desc&lt;br /&gt;
|sort2/field=votes&lt;br /&gt;
|sort2/order=desc&lt;br /&gt;
|ne=*&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;[http://jira.secondlife.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery={{#if:{{{1|}}}|summary+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}}}+OR+description+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}+ORDER+BY+created&amp;amp;runQuery=true {{{2|}}}]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186738</id>
		<title>Template:JiraSearch/LSL Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:JiraSearch/LSL_Bugs&amp;diff=1186738"/>
		<updated>2014-01-10T09:40:04Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Fixing broken template. See BUG-4891&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{JiraSearch&lt;br /&gt;
|1={{Bo}}{{Bo}}urlencode:{{Bo}}{{Bo}}{{Bo}}1{{!}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|2={{Bo}}{{Bo}}{{Bo}}2{{!}}{{Bc}}{{Bc}}{{Bc}}&lt;br /&gt;
|description=*&lt;br /&gt;
|VWR=*&lt;br /&gt;
|SVC=*&lt;br /&gt;
|summary=*&lt;br /&gt;
|Bug=*&lt;br /&gt;
|Unresolved=*&lt;br /&gt;
|Won&#039;t Finish=*&lt;br /&gt;
|Scripting=*&lt;br /&gt;
|LSL HTTP=*&lt;br /&gt;
|Scripts=*&lt;br /&gt;
|sort/field=updated&lt;br /&gt;
|sort/order=desc&lt;br /&gt;
|sort2/field=votes&lt;br /&gt;
|sort2/order=desc&lt;br /&gt;
|ne=*&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;[http://jira.secondlife.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery={{#if:{{{1|}}}|summary+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}+OR+description+%7E+{{urlencode:&amp;quot;{{{1}}}&amp;quot;}}+ORDER+BY+created&amp;amp;runQuery=true {{{2|}}}]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LlRotLookAt&amp;diff=1183942</id>
		<title>Talk:LlRotLookAt</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LlRotLookAt&amp;diff=1183942"/>
		<updated>2013-11-26T08:13:20Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added signature./* RotLookAt, keeping one axis parallel to horizont */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An LSL example that shows how to look at some (vector) position would be nice. Every time I&#039;ve looked at this call, it&#039;s been because I had an object that I wanted to look at (face) some other object or avatar. Usually, I hack at it until it works or run away and start drinking instead.&lt;br /&gt;
&lt;br /&gt;
[[User:Meade Paravane|Meade Paravane]] 21:06, 18 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Description is wrong and/or unhelpful ==&lt;br /&gt;
&lt;br /&gt;
The description of the actual function is &amp;quot;Cause object to point its forward axis towards target&amp;quot;.  This makes no sense, since &amp;quot;target&amp;quot; is a rotation.  What would it mean for an object to point its forward axis &amp;quot;towards&amp;quot; a rotation?&lt;br /&gt;
&lt;br /&gt;
I would love to see a nice clear English description of what this function actually does.  :)  Every time I&#039;ve started out trying to use it, I&#039;ve ended up using something else (llLookAt(), or llSetRot(), or something else).  Is this just the equivalent of llSetRot() for physical objects?  (In which case it&#039;s odd that it works for nonphysical ones as well.)  Or does it do something different / more complicated?  Does the &amp;quot;forward&amp;quot; (i.e. increasing-x) axis actually play any sort of part in its function?  Inquiring scripters want to know!&lt;br /&gt;
&lt;br /&gt;
[[User:Dale Innis|Dale Innis]] 19:00, 21 March 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Does anyone know... ==&lt;br /&gt;
&lt;br /&gt;
...what the strength parameter actually pertains to? theoretically it could have to do with energy/mass (as some users have assumed), or it could have to do with the with the strength of the logarithmic/exponential scale of speed. I&#039;d like to update the description, but without knowing what strength applies to (or how it&#039;s derived) it doesn&#039;t make much sense. currently my definition stands at &amp;quot;&#039;&#039;smoothly changes object rotation to target over (damping)seconds&#039;&#039;&amp;quot;. if Strength is energy/mass related we need a formula to derive the required minimal values. If it&#039;s the logarithmic speed of change, then we need at least an estimate of the curve formula so we can derive strength values to use.&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; 02:06, 4 October 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Strength may have something to do with how hard it tries to achieve it&#039;s goal when there are competing forces. -- &#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; 09:21, 5 October 2011 (PDT)&lt;br /&gt;
:P.S. if you figure it out, please put it in [[Template:LSL_Function/strength]] because (to my knowledge) works the same everywhere.&lt;br /&gt;
:P.S.S. It may be equivalent to the *_EFFICIENCY flags used in [[llSetVehicleFloatParam|vehicles]].&lt;br /&gt;
&lt;br /&gt;
:Someone may want to ask Andrew about this at his office hour. {{wikipedia|Damping}} strength sounds like it might be ζ and damping is used to calculate the required velocity. ---- &#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; 09:44, 5 October 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Bug closed ==&lt;br /&gt;
&lt;br /&gt;
The bug associated with this issue ({{Jira|SVC-1903}}) is fixed. Is there anyone maintaining that? --[[User:Pedro Oval|Pedro Oval]] 06:07, 24 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:Thanks for the heads up. -- &#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:27, 25 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== RotLookAt, keeping one axis parallel to horizont ==&lt;br /&gt;
&lt;br /&gt;
I didn&#039;t find a code for that in the wiki, so here&#039;s a snippet of code that will make a prim look towards a position in the region, keeping one axis (x) parallel to the horizont.&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
llRotLookAtOneAxisParallelToHorizont(vector vDestPos)&lt;br /&gt;
{ //x-axis will stay parallel to horizont&lt;br /&gt;
        vector pos = llGetPos();&lt;br /&gt;
        rotation target = &amp;lt;0.0, -SQRT2/2.0, 0.0, SQRT2/2.0&amp;gt; * llRotBetween( &amp;lt;1.0,0.0,0.0&amp;gt;, &amp;lt;vDestPos.x, vDestPos.y, pos.z&amp;gt; - pos) * llRotBetween( &amp;lt;0.0,0.0,1.0&amp;gt;, vDestPos - pos);&lt;br /&gt;
        llSetLocalRot(target);&lt;br /&gt;
}&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
    touch_start(integer n)&lt;br /&gt;
    {&lt;br /&gt;
        vector detected = llDetectedPos( 0 );&lt;br /&gt;
        llRotLookAtOneAxisParallelToHorizont(detected);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
[[User:MartinRJ Fayray|MartinRJ Fayray]]&lt;br /&gt;
&lt;br /&gt;
== Error prim exist ==&lt;br /&gt;
&lt;br /&gt;
I encountered a problem caused by error prim.&lt;br /&gt;
&lt;br /&gt;
llRotLookAt() or llLookAt() didn&#039;t work and llMoveToTarget() was working.&lt;br /&gt;
&lt;br /&gt;
It&#039;s just a one prim sphere object.&lt;br /&gt;
&lt;br /&gt;
if it turns into non physical object, llRotLookAt() or llLookAt() works and llMoveToTarget() doesn&#039;t work.&lt;br /&gt;
&lt;br /&gt;
This means the object&#039;s &amp;quot;Physical&amp;quot; property works opposite feature for rotation functions.&lt;br /&gt;
&lt;br /&gt;
If kind of primes are able to exist permanently, I can&#039;t trust any properties in primes.&lt;br /&gt;
&lt;br /&gt;
If you want to see this error prim, please contact me, I&#039;ll give you it with a test script. &lt;br /&gt;
&lt;br /&gt;
I hope it&#039;s simple mistake of mine.&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Server_Beta_User_Group&amp;diff=1183683</id>
		<title>Server Beta User Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Server_Beta_User_Group&amp;diff=1183683"/>
		<updated>2013-11-19T20:29:13Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added a question about latest grey-goo-protection changes on Magnum RCs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the meeting tracking and progress page for the weekly Server BETA QA Meeting, moderated by Maestro Linden. Please contact him on AGNI for more information. You can join the &#039;&#039;&#039;Second Life Beta&#039;&#039;&#039; group for updates.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The next meeting is Thursday, November 21 2013, 3PM PST at {{SLurl|region=Morris|x=210|y=250|z=35|title=Morris}} on the preview grid, [[Preview_Grid | ADITI]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Join the email list - sign up here: https://lists.secondlife.com/cgi-bin/mailman/listinfo/server-beta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
* Second Life Server&lt;br /&gt;
** The main channel was not rolled this week&lt;br /&gt;
* BlueSteel and LeTigre&lt;br /&gt;
** These channels got a new experience tools project&lt;br /&gt;
** This project just updates some of the infrastructure that experience tools use&lt;br /&gt;
** This project almost went to the RCs last week, but got held up at the last minute&lt;br /&gt;
** [[Release_Notes/Second_Life_RC_BlueSteel/13#13.11.01.283291]]&lt;br /&gt;
* Magnum&lt;br /&gt;
** Magnum got a new server maintenance project&lt;br /&gt;
** This project has some bug fixes and also some minor changes around script behavior&lt;br /&gt;
** [[Release_Notes/Second_Life_RC_Magnum/13#13.11.08.283649]]&lt;br /&gt;
&lt;br /&gt;
=== Upcoming Stuff ===&lt;br /&gt;
* A new server maintenance project is coming soon to RC&lt;br /&gt;
* Group ban testing will happen in an upcoming user group.  Details, about which viewer to use for the test, will follow.&lt;br /&gt;
&lt;br /&gt;
=== Interesting Stuff ===&lt;br /&gt;
* Project Interesting viewer announced on public blog: http://community.secondlife.com/t5/Featured-News/Speedy-Delivery-Introducing-the-Project-Interesting-Viewer/ba-p/2328615&lt;br /&gt;
&lt;br /&gt;
=== Any Other Items ===&lt;br /&gt;
&lt;br /&gt;
== Open Items ==&lt;br /&gt;
* Did the changes from https://wiki.secondlife.com/wiki/Release_Notes/Second_Life_RC_Magnum/13#13.11.08.283649 (REF: https://jira.secondlife.com/browse/BUG-4448) also affect llGiveInventory object-to-object transfers? There was some discussion about that in the Advanced Scripters of Second Life on Nov 19th, someone reported a &amp;quot;give inventory failure: grey goo fence: rapid or recursive inv transfer&amp;quot; warning on Magnum sims.&lt;br /&gt;
&lt;br /&gt;
= Minutes from Previous Meetings =&lt;br /&gt;
*2013&lt;br /&gt;
** November&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-11-14 | 2013-11-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-11-07 | 2013-11-07]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-10-31 | 2013-10-31]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-10-24 | 2013-10-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-10-17 | 2013-10-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-10-10 | 2013-10-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-10-03 | 2013-10-03]]&lt;br /&gt;
** September&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-09-26 | 2013-09-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-09-19 | 2013-09-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-09-12 | 2013-09-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-09-05 | 2013-09-05]]&lt;br /&gt;
** August&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-08-29 | 2013-08-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-08-22 | 2013-08-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-08-15 | 2013-08-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-08-08 | 2013-08-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-08-01 | 2013-08-01]]&lt;br /&gt;
** July&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-07-25 | 2013-07-25]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-07-18 | 2013-07-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-07-11 | 2013-07-11]]&lt;br /&gt;
** June&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-06-27 | 2013-06-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-06-20 | 2013-06-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-06-13 | 2013-06-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-06-06 | 2013-06-06]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-05-30 | 2013-05-30]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-05-23 | 2013-05-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-05-16 | 2013-05-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-05-09 | 2013-05-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-05-02 | 2013-05-02]]&lt;br /&gt;
** April &lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-04-25 | 2013-04-25]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-04-18 | 2013-04-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-04-11 | 2013-04-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-04-04 | 2013-04-04]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-03-28 | 2013-03-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-03-21 | 2013-03-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-03-14 | 2013-03-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-03-07 | 2013-03-07]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-02-21 | 2013-02-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-02-21 | 2013-02-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-02-07 | 2013-02-07]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-01-31 | 2013-01-31]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-01-24 | 2013-01-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-01-17 | 2013-01-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-01-10 | 2013-01-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2013-01-03 | 2013-01-03]]&lt;br /&gt;
*2012&lt;br /&gt;
** December&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-12-13 | 2012-12-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-12-06 | 2012-12-06]]&lt;br /&gt;
** November&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-11-29 | 2012-11-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-11-15 | 2012-11-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-11-08 | 2012-11-08]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-10-04 | 2012-10-04]]&lt;br /&gt;
** September&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-09-20 | 2012-09-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-09-13 | 2012-09-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-09-06 | 2012-09-06]]&lt;br /&gt;
** August&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-08-30 | 2012-08-30]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-08-23 | 2012-08-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-08-16 | 2012-08-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-08-09 | 2012-08-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-08-02 | 2012-08-02]]&lt;br /&gt;
** July&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-07-26 | 2012-07-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-07-19 | 2012-07-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-07-12 | 2012-07-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-07-05 | 2012-07-05]]&lt;br /&gt;
** June&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-28 | 2012-06-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-21 | 2012-06-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-14 | 2012-06-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-07 | 2012-06-07]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-31 | 2012-05-31]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-24 | 2012-05-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-17 | 2012-05-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-10 | 2012-05-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-03 | 2012-05-03]]&lt;br /&gt;
** April&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-26 | 2012-04-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-19 | 2012-04-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-12 | 2012-04-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-05 | 2012-04-05]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-29 | 2012-03-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-22 | 2012-03-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-15 | 2012-03-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-08 | 2012-03-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-01 | 2012-03-01]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-23 | 2012-02-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-16 | 2012-02-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-09 | 2012-02-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-02 | 2012-02-02]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-26 | 2012-01-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-19 | 2012-01-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-12 | 2012-01-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-05 | 2012-01-05]]&lt;br /&gt;
*2011&lt;br /&gt;
** December&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-12-15 | 2011-12-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-12-08 | 2011-12-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-12-01 | 2011-12-01]]&lt;br /&gt;
** November&lt;br /&gt;
*** 2010-11-24 *NO MEETING* Happy Thanksgiving!&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-11-17 | 2011-11-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-11-10 | 2011-11-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-11-03 | 2011-11-03]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-27 | 2011-10-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-20 | 2011-10-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-13 | 2011-10-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-06 | 2011-10-06]]&lt;br /&gt;
** September&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-29 | 2011-09-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-22 | 2011-09-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-15 | 2011-09-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-08 | 2011-09-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-01 | 2011-09-01]]&lt;br /&gt;
** August&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-08-25 | 2011-08-25]]&lt;br /&gt;
*** 2011-08-18 *No meeting. Oskar was on vacation*&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-08-11 | 2011-08-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-08-04 | 2011-08-04]]&lt;br /&gt;
** July&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-28 | 2011-07-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-21 | 2011-07-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-14 | 2011-07-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-07 | 2011-07-07]]&lt;br /&gt;
** June&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-30 | 2011-06-30]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-23 | 2011-06-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-16 | 2011-06-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-09 | 2011-06-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-02 | 2011-06-02]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-26 | 2011-05-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-19 | 2011-05-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-12 | 2011-05-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-05 | 2011-05-05]]&lt;br /&gt;
** April&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-28 | 2011-04-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-21 | 2011-04-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-14 | 2011-04-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-07 | 2011-04-07]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-31 | 2011-03-31]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-24 | 2011-03-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-17 | 2011-03-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-10 | 2011-03-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-03 | 2011-03-03]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-24 | 2011-02-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-17 | 2011-02-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-10 | 2011-02-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-03 | 2011-02-03]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-27 | 2011-01-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-20 | 2011-01-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-13 | 2011-01-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-06 | 2011-01-06]]&lt;br /&gt;
* 2010&lt;br /&gt;
** December&lt;br /&gt;
*** 2010-12-30 *NO MEETING*&lt;br /&gt;
*** 2010-12-23 *NO MEETING*&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-12-16 | 2010-12-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-12-09 | 2010-12-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-12-02 | 2010-12-02]]&lt;br /&gt;
** November&lt;br /&gt;
*** 2010-11-25 *NO MEETING* Happy Thanksgiving!&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-11-18 | 2010-11-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-11-11 | 2010-11-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-11-04 | 2010-11-04]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-28 | 2010-10-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-21 | 2010-10-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-14 | 2010-10-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-07 | 2010-10-07]]&lt;br /&gt;
** September&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-30 | 2010-09-30]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-23 | 2010-09-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-16 | 2010-09-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-09 | 2010-09-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-02 | 2010-09-02]]&lt;br /&gt;
** August&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-26 | 2010-08-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-19 | 2010-08-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-12 | 2010-08-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-05 | 2010-08-05]]&lt;br /&gt;
** July&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-29 | 2010-07-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-22 | 2010-07-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-15 | 2010-07-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-08 | 2010-07-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-01 | 2010-07-01]]&lt;br /&gt;
** June&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-06-24 | 2010-06-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-06-10 | 2010-06-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-06-03 | 2010-06-03]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-27 | 2010-05-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-20 | 2010-05-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-13 | 2010-05-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-06 | 2010-05-06]]&lt;br /&gt;
** April&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-29 | 2010-04-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-22 | 2010-04-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-15 | 2010-04-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-08 | 2010-04-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-01 | 2010-04-01]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-25 | 2010-03-25]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-18 | 2010-03-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-11 | 2010-03-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-04 | 2010-03-04]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-25 | 2010-02-25]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-18 | 2010-02-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-11 | 2010-02-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-04 | 2010-02-04]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-01-21 | 2010-01-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-01-14 | 2010-01-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-01-07 | 2010-01-07]]&lt;br /&gt;
* 2009&lt;br /&gt;
** December&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-12-17 | 2009-12-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-12-10 | 2009-12-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-12-04 | 2009-12-04]]&lt;br /&gt;
** November&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-26 | 2009-11-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-19 | 2009-11-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-12 | 2009-11-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-05 | 2009-11-05]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-29 | 2009-10-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-22 | 2009-10-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-15 | 2009-10-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-08 | 2009-10-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-01 | 2009-10-01]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bug Tracker]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;br /&gt;
[[Category:QA_Portal]]&lt;br /&gt;
[[Category:User Groups]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_2_Microsoft_Windows_Builds&amp;diff=1183476</id>
		<title>Talk:Viewer 2 Microsoft Windows Builds</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_2_Microsoft_Windows_Builds&amp;diff=1183476"/>
		<updated>2013-11-11T08:52:10Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added workaround to avoid error message when configuring with VS C++ 2010 EXPRESS version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A few style guidelines ==&lt;br /&gt;
*The person who is following these instructions for the first time may know little or nothing about VS2010.  Steps should be kept simple and explained in well written English, not in a succinct description that an experienced person would be able to follow.&lt;br /&gt;
&lt;br /&gt;
*If there is more than one way to do something only describe one of those ways.  The philosophy at the start of this wiki page says, in part: to keep it brief, this page should only include steps we KNOW ARE NEEDED, not random hints.&lt;br /&gt;
&lt;br /&gt;
*A path to, or a menu entry, should be in &#039;&#039;&#039;bold&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*A field you can change should be &amp;lt;code&amp;gt;highlighted&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Instructions should apply to Visual Studio Express.  If there is a small difference between Express and Pro assume the Pro user is experienced and can figure it out.  Try to avoid instructions such as &amp;quot;If Express do this&amp;quot; or  &amp;quot;If Pro do this&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*These instructions were written collaboratively and tested by the authors for correctness in all four combinations of XP/Windows 7 and Express/Pro.  If you are going to make a change to these instructions it is strongly suggested you make sure your change works for all these combinations.  As your development environment may not be this extensive you may want to recruit help from people in the #opensl IRC channel who are using other OS and compiler configurations.&lt;br /&gt;
&lt;br /&gt;
*Also before making a change make sure it is not an issue with your local environment.  Check with others to see if they are also having this issue.&lt;br /&gt;
&lt;br /&gt;
*People following these instructions still &amp;quot;go wrong&amp;quot; and come to #opensl for help.  If you have the skill to contribute to improving these instructions please consider having an IRC client open to #opensl to assist people.&lt;br /&gt;
&lt;br /&gt;
*The full style guideline can be found here [[Style_Guide]].&lt;br /&gt;
&lt;br /&gt;
[[User:Jonathan Yap|Jonathan Yap]] 07:09, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
: I rather want to have summary, such as, the table of configuration, needed commands without step-by-step instruction. Where to go such a article? If you don&#039;t plan to have that, we&#039;d better have two page, one is your instruction, and other is &amp;quot;cheat sheet&amp;quot;. -- [[User:Mako Nozaki|Mako]] 08:54, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
::And by the wiki nature, I want every people post what they find without &amp;quot;filtering&amp;quot;, accepting comments or suggestions on this wiki. If you have any comment about that, please write HERE, &#039;&#039;&#039;not IM to me&#039;&#039;&#039;, to share your thought to all the people who watch this wiki. Thanks. -- [[User:Mako Nozaki|Mako]] 17:58, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
==Mailing list discussions on compile errors, and more==&lt;br /&gt;
&lt;br /&gt;
=== Eliminate annoying IDE popup ===&lt;br /&gt;
If you are compiling with the IDE and keep getting a popup along the lines of &amp;quot;improve microsoft visual studio performance&amp;quot;&lt;br /&gt;
Either&lt;br /&gt;
*To hide on XP or 2003 Server, right-click on the Task Bar | Select Properties | Select Taskbar tab | select Hide inactive icons | Click Customize | Set the Behavior for item &amp;quot;Improve Microsoft Visual Studio&amp;quot; to &amp;quot;Always hide&amp;quot;.&lt;br /&gt;
Or&lt;br /&gt;
*Follow the registry edit instructions just before &amp;quot;Was this information helpful?&amp;quot; at this link http://support.microsoft.com/kb/981741&lt;br /&gt;
&lt;br /&gt;
Note: This second method did not work for me.&lt;br /&gt;
&lt;br /&gt;
[[User:Jonathan Yap|Jonathan Yap]] 8:43, 31 May 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Order of installing ==&lt;br /&gt;
&lt;br /&gt;
I got errors during the installation of the directX SDK. the problems occured while it was installing the c++ Runtimes (which have already been installed before). So here is what i did to fix this:&lt;br /&gt;
&lt;br /&gt;
* remove all 2010 installations&lt;br /&gt;
* install the DirectX SDK (June 2010) (that also installs the redistributable packages)&lt;br /&gt;
* Install the Visual C++ 2010 Express&lt;br /&gt;
* Install Windows SDK for Windows 7 and .NET Framework 4&lt;br /&gt;
* Run Microsoft Update&lt;br /&gt;
&lt;br /&gt;
[[User:Gaia Clary|Gaia Clary]] 21:28, 8 Feb 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
: FYI, This is what I find workable. If anyone stuck with the method on the article, try:&lt;br /&gt;
&lt;br /&gt;
:*Install [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Visual C++ 2010 Express] (Web install) or [http://go.microsoft.com/?linkid=9709969 Visual C++ 2010 Express] (ISO)&lt;br /&gt;
:*Install [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6B6C21D2-2006-4AFA-9702-529FA782D63B Windows SDK for Windows 7 and .NET Framework 4] (Web install) [Note: uncheck the Redistributable Package option to prevent installation failure] or [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35aeda01-421d-4ba5-b44b-543dc8c33a20 Windows SDK for Windows 7 and .NET Framework 4] (ISO)&lt;br /&gt;
:*Check if any Microsoft Visual C++ 2010 Redistributable Package is installed. If so, uninstall it (both x82/x64).&lt;br /&gt;
:*Install  [http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba DirectX SDK (June 2010)]&lt;br /&gt;
:*If you have default installed Direct X SDK, [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&amp;amp;displaylang=en Microsoft Visual C++ 2010 Redistributable Package] should have been installed as well.&lt;br /&gt;
:*Run [http://www.update.microsoft.com/microsoftupdate/v6 Microsoft Update], and keep running it until no updates are needed. This may take 6~8 iterations on older versions of windows.&lt;br /&gt;
:** For Windows XP, use the provided link above. After then, use Microsoft Update on your start menu instead of default Windows Update.&lt;br /&gt;
:** For Windows Vista and Windows 7, you can use the link above to add Microsoft Update feature to your Windows Update. &amp;quot;Microsoft Update&amp;quot; won&#039;t on menu, so you will have to use default Windows Update to update your Visual Studios.&lt;br /&gt;
:** During the update cycles make sure you have picked up ”Microsoft Visual Studio 2010 Service Pack 1&amp;quot;. If you haven&#039;t, get it from [http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5  here] (Web install) or [http://go.microsoft.com/fwlink/?LinkId=210710 here] (ISO).&lt;br /&gt;
:-- [[User:Mako Nozaki|Mako]] 21:34, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Proposal: Move hints on this talk page to another page ==&lt;br /&gt;
&lt;br /&gt;
Another hint. In general, we use the talk page to discuss the article itself, not for catch-all issue. See another talk pages and [[Project:Talk_Page_Guidelines]] for the references. Thus, you might want to create another page for hints, i.e. [[Viewer 2 Microsoft Windows Builds/Hint]] and move tips toward that page, and keep talk page open for people who want to say something about this article and maintenance style itself. -- [[User:Mako Nozaki|Mako]] 06:44, 22 June 2012 (PDT)&lt;br /&gt;
: For a starter, I withdrew my two posts about tips under my namespace, [[User:Mako Nozaki/The Solutions Against The Viewer Troubles]] since currently I can&#039;t find no suitable place to post this article in main namespace. -- [[User:Mako Nozaki|Mako]] 21:21, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should always re-install Windows operation systems before you start developing viewer? ==&lt;br /&gt;
&lt;br /&gt;
Related to my previous post to the first topic, this instruction seems to anticipate your Windows &amp;quot;cleaned&amp;quot;. However, we may have another projects, another environment, stuffs we can&#039;t delete. If we stuck in the middle, should we every time catch someone in the IRC or delete all the environment and start from installing operation systems again? I think wiki is for sharing informations so that people don&#039;t have to repeat the similar question on the mailing list or IRC.  Just thought. -- [[User:Mako Nozaki|Mako]] 17:40, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual C++ 2010 Express ==&lt;br /&gt;
When using the Express version of Visual C++ 2010, the &amp;quot;autobuild configure&amp;quot; step will fail due to the changes from https://jira.secondlife.com/browse/OPEN-140.&lt;br /&gt;
This is because the VSTool.exe application fails to return the expected value. You will receive an error message at the end of the configure step, but it is safe to ignore it.&lt;br /&gt;
If you are not comfortable with that error message during the configure-process, simply replace the VSTool.exe file in indra/tools/vstool/VSTool.exe with ANY .exe file that returns 0.&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_2_Microsoft_Windows_Builds&amp;diff=1183475</id>
		<title>Talk:Viewer 2 Microsoft Windows Builds</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_2_Microsoft_Windows_Builds&amp;diff=1183475"/>
		<updated>2013-11-11T08:50:07Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: I merged Jonathan Yap&amp;#039;s and my statements about building with Visual C++ 2010 Express - I hope this is okay.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A few style guidelines ==&lt;br /&gt;
*The person who is following these instructions for the first time may know little or nothing about VS2010.  Steps should be kept simple and explained in well written English, not in a succinct description that an experienced person would be able to follow.&lt;br /&gt;
&lt;br /&gt;
*If there is more than one way to do something only describe one of those ways.  The philosophy at the start of this wiki page says, in part: to keep it brief, this page should only include steps we KNOW ARE NEEDED, not random hints.&lt;br /&gt;
&lt;br /&gt;
*A path to, or a menu entry, should be in &#039;&#039;&#039;bold&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*A field you can change should be &amp;lt;code&amp;gt;highlighted&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Instructions should apply to Visual Studio Express.  If there is a small difference between Express and Pro assume the Pro user is experienced and can figure it out.  Try to avoid instructions such as &amp;quot;If Express do this&amp;quot; or  &amp;quot;If Pro do this&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*These instructions were written collaboratively and tested by the authors for correctness in all four combinations of XP/Windows 7 and Express/Pro.  If you are going to make a change to these instructions it is strongly suggested you make sure your change works for all these combinations.  As your development environment may not be this extensive you may want to recruit help from people in the #opensl IRC channel who are using other OS and compiler configurations.&lt;br /&gt;
&lt;br /&gt;
*Also before making a change make sure it is not an issue with your local environment.  Check with others to see if they are also having this issue.&lt;br /&gt;
&lt;br /&gt;
*People following these instructions still &amp;quot;go wrong&amp;quot; and come to #opensl for help.  If you have the skill to contribute to improving these instructions please consider having an IRC client open to #opensl to assist people.&lt;br /&gt;
&lt;br /&gt;
*The full style guideline can be found here [[Style_Guide]].&lt;br /&gt;
&lt;br /&gt;
[[User:Jonathan Yap|Jonathan Yap]] 07:09, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
: I rather want to have summary, such as, the table of configuration, needed commands without step-by-step instruction. Where to go such a article? If you don&#039;t plan to have that, we&#039;d better have two page, one is your instruction, and other is &amp;quot;cheat sheet&amp;quot;. -- [[User:Mako Nozaki|Mako]] 08:54, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
::And by the wiki nature, I want every people post what they find without &amp;quot;filtering&amp;quot;, accepting comments or suggestions on this wiki. If you have any comment about that, please write HERE, &#039;&#039;&#039;not IM to me&#039;&#039;&#039;, to share your thought to all the people who watch this wiki. Thanks. -- [[User:Mako Nozaki|Mako]] 17:58, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
==Mailing list discussions on compile errors, and more==&lt;br /&gt;
&lt;br /&gt;
=== Eliminate annoying IDE popup ===&lt;br /&gt;
If you are compiling with the IDE and keep getting a popup along the lines of &amp;quot;improve microsoft visual studio performance&amp;quot;&lt;br /&gt;
Either&lt;br /&gt;
*To hide on XP or 2003 Server, right-click on the Task Bar | Select Properties | Select Taskbar tab | select Hide inactive icons | Click Customize | Set the Behavior for item &amp;quot;Improve Microsoft Visual Studio&amp;quot; to &amp;quot;Always hide&amp;quot;.&lt;br /&gt;
Or&lt;br /&gt;
*Follow the registry edit instructions just before &amp;quot;Was this information helpful?&amp;quot; at this link http://support.microsoft.com/kb/981741&lt;br /&gt;
&lt;br /&gt;
Note: This second method did not work for me.&lt;br /&gt;
&lt;br /&gt;
[[User:Jonathan Yap|Jonathan Yap]] 8:43, 31 May 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Order of installing ==&lt;br /&gt;
&lt;br /&gt;
I got errors during the installation of the directX SDK. the problems occured while it was installing the c++ Runtimes (which have already been installed before). So here is what i did to fix this:&lt;br /&gt;
&lt;br /&gt;
* remove all 2010 installations&lt;br /&gt;
* install the DirectX SDK (June 2010) (that also installs the redistributable packages)&lt;br /&gt;
* Install the Visual C++ 2010 Express&lt;br /&gt;
* Install Windows SDK for Windows 7 and .NET Framework 4&lt;br /&gt;
* Run Microsoft Update&lt;br /&gt;
&lt;br /&gt;
[[User:Gaia Clary|Gaia Clary]] 21:28, 8 Feb 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
: FYI, This is what I find workable. If anyone stuck with the method on the article, try:&lt;br /&gt;
&lt;br /&gt;
:*Install [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Visual C++ 2010 Express] (Web install) or [http://go.microsoft.com/?linkid=9709969 Visual C++ 2010 Express] (ISO)&lt;br /&gt;
:*Install [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6B6C21D2-2006-4AFA-9702-529FA782D63B Windows SDK for Windows 7 and .NET Framework 4] (Web install) [Note: uncheck the Redistributable Package option to prevent installation failure] or [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35aeda01-421d-4ba5-b44b-543dc8c33a20 Windows SDK for Windows 7 and .NET Framework 4] (ISO)&lt;br /&gt;
:*Check if any Microsoft Visual C++ 2010 Redistributable Package is installed. If so, uninstall it (both x82/x64).&lt;br /&gt;
:*Install  [http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba DirectX SDK (June 2010)]&lt;br /&gt;
:*If you have default installed Direct X SDK, [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&amp;amp;displaylang=en Microsoft Visual C++ 2010 Redistributable Package] should have been installed as well.&lt;br /&gt;
:*Run [http://www.update.microsoft.com/microsoftupdate/v6 Microsoft Update], and keep running it until no updates are needed. This may take 6~8 iterations on older versions of windows.&lt;br /&gt;
:** For Windows XP, use the provided link above. After then, use Microsoft Update on your start menu instead of default Windows Update.&lt;br /&gt;
:** For Windows Vista and Windows 7, you can use the link above to add Microsoft Update feature to your Windows Update. &amp;quot;Microsoft Update&amp;quot; won&#039;t on menu, so you will have to use default Windows Update to update your Visual Studios.&lt;br /&gt;
:** During the update cycles make sure you have picked up ”Microsoft Visual Studio 2010 Service Pack 1&amp;quot;. If you haven&#039;t, get it from [http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5  here] (Web install) or [http://go.microsoft.com/fwlink/?LinkId=210710 here] (ISO).&lt;br /&gt;
:-- [[User:Mako Nozaki|Mako]] 21:34, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Proposal: Move hints on this talk page to another page ==&lt;br /&gt;
&lt;br /&gt;
Another hint. In general, we use the talk page to discuss the article itself, not for catch-all issue. See another talk pages and [[Project:Talk_Page_Guidelines]] for the references. Thus, you might want to create another page for hints, i.e. [[Viewer 2 Microsoft Windows Builds/Hint]] and move tips toward that page, and keep talk page open for people who want to say something about this article and maintenance style itself. -- [[User:Mako Nozaki|Mako]] 06:44, 22 June 2012 (PDT)&lt;br /&gt;
: For a starter, I withdrew my two posts about tips under my namespace, [[User:Mako Nozaki/The Solutions Against The Viewer Troubles]] since currently I can&#039;t find no suitable place to post this article in main namespace. -- [[User:Mako Nozaki|Mako]] 21:21, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Should always re-install Windows operation systems before you start developing viewer? ==&lt;br /&gt;
&lt;br /&gt;
Related to my previous post to the first topic, this instruction seems to anticipate your Windows &amp;quot;cleaned&amp;quot;. However, we may have another projects, another environment, stuffs we can&#039;t delete. If we stuck in the middle, should we every time catch someone in the IRC or delete all the environment and start from installing operation systems again? I think wiki is for sharing informations so that people don&#039;t have to repeat the similar question on the mailing list or IRC.  Just thought. -- [[User:Mako Nozaki|Mako]] 17:40, 22 June 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual C++ 2010 Express ==&lt;br /&gt;
When using the Express version of Visual C++ 2010, the &amp;quot;autobuild configure&amp;quot; step will fail due to the changes from https://jira.secondlife.com/browse/OPEN-140.&lt;br /&gt;
This is because the VSTool.exe application fails to return the expected value. You will receive an error message at the end of the configure step, but it is safe to ignore it.&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_URI_Name_Space&amp;diff=1183372</id>
		<title>Viewer URI Name Space</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_URI_Name_Space&amp;diff=1183372"/>
		<updated>2013-11-05T07:07:47Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added caveat with ObjectIM links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The SL client supports links of the format secondlife://Region/123/45/67/, which have traditionally specified a region name and x/y/z location.  This means &amp;quot;run Second Life viewer and show Region on the world map&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The new URL scheme has 3 slashes, and allows direct control of the user interface and login.  For example, secondlife:///app/login&lt;br /&gt;
&lt;br /&gt;
Most secondlife:///app URLs only work from browser instances running inside Second Life because of a denial-of-service attack using secondlife:///app/teleport links to force repeated teleports.  SLURLs that work with external browsers include:&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;secondlife://&amp;lt;region name&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* secondlife:///app/login&lt;br /&gt;
&lt;br /&gt;
In chat, dialogs and other user interface elements, these URLs will be highlighted as clickable links, often with custom formatting including icons. The full functionality is available in Viewer 2.0 and up. Clickable links without formatting were available only in older versions&#039; chat and IM history.&lt;br /&gt;
&lt;br /&gt;
These links also may be known as &#039;&#039;Viewer URL Namespace&#039;&#039;, &#039;&#039;SLAPP URLs&#039;&#039; or &#039;&#039;Application SLURL&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Enclose your links in squared brackets, or they will in some cases (e.g. for ObjectIm - links) treat all text after the link as part of the link itself (which in most cases means, the text after the link will never display). Example:  &amp;amp;#91;secondlife&amp;amp;#58;&amp;amp;#47;&amp;amp;#47;&amp;amp;#47;app&amp;amp;#47;objectim&amp;amp;#47;190f571d-fdf1-8f6c-4e9d-973e9b5e0566?name=ObjectName&amp;amp;owner=190f571d-fdf1-8f6c-4e9d-973e9b5e0566&amp;amp;groupowned=true&amp;amp;slurl=Location&amp;amp;#47;128&amp;amp;#47;128&amp;amp;#47;27 ObjectName&amp;amp;#93;&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;secondlife://&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;&amp;lt;region_name&amp;gt;&#039;&#039;&#039; log in to this region or, if logged in, show information and offer teleport&lt;br /&gt;
:: &#039;&#039;&#039;/&amp;lt;local_x&amp;gt;&#039;&#039;&#039; optional X position, defaults to 128&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;local_y&amp;gt;&#039;&#039;&#039; optional Y position, defaults to 128&lt;br /&gt;
:::: &#039;&#039;&#039;/&amp;lt;local_z&amp;gt;&#039;&#039;&#039; optional Z position, defaults to 0&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;/app&#039;&#039;&#039;&lt;br /&gt;
:: &#039;&#039;&#039;/agent&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;agent_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/about&#039;&#039;&#039; open agent&#039;s profile, with 2nd Life tab selected&lt;br /&gt;
:::: &#039;&#039;&#039;/inspect&#039;&#039;&#039; display info dialog for agent (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/im&#039;&#039;&#039; start an IM session with the agent (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/offerteleport&#039;&#039;&#039; display teleport offer dialog (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/pay&#039;&#039;&#039; display pay resident dialog (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/requestfriend&#039;&#039;&#039; display friendship offer dialog (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/mute&#039;&#039;&#039; add to block list (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/unmute&#039;&#039;&#039; remove from block list (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;/completename&#039;&#039;&#039; replace the URL with the avatar&#039;s display and user names,&lt;br /&gt;
:::::e.g., &amp;quot;hmm &amp;lt;nowiki&amp;gt;secondlife:///app/agent/eea40b5a-553d-4a07-b1ca-9f6e2f867814/complete&amp;lt;/nowiki&amp;gt; wow&amp;quot; in chat becomes &amp;quot;hmm Cerise (cerise.sorbet) wow&amp;quot; (2.4); see {{LSLGC|Avatar/Name}} for more details.&lt;br /&gt;
:::: &#039;&#039;&#039;/displayname&#039;&#039;&#039; replace the URL with the avatar&#039;s display name (2.4)&lt;br /&gt;
:::: &#039;&#039;&#039;/username&#039;&#039;&#039; replace the URL with the avatar&#039;s username e.g. &amp;quot;user.name&amp;quot; (2.4)&lt;br /&gt;
:: &#039;&#039;&#039;/appearance&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/show&#039;&#039;&#039; display the sidebar appearance tab (2.0)&lt;br /&gt;
:: &#039;&#039;&#039;/balance&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/request&#039;&#039;&#039; request a L$ balance update from the server (2.0)&lt;br /&gt;
:: &#039;&#039;&#039;/chat&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;channel&amp;gt;&#039;&#039;&#039; any channel number greater than 0 except [[DEBUG_CHANNEL]]&lt;br /&gt;
:::: &#039;&#039;&#039;/&amp;amp;lt;text&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:: &#039;&#039;&#039;/classified&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;classified_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/about&#039;&#039;&#039; open floater describing classified&lt;br /&gt;
:: &#039;&#039;&#039;/event&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;event_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/about&#039;&#039;&#039; open floater describing event&lt;br /&gt;
:: &#039;&#039;&#039;/group&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;group_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/about&#039;&#039;&#039; open floater describing group&lt;br /&gt;
:::: &#039;&#039;&#039;/inspect&#039;&#039;&#039; display info dialog for group (2.0)&lt;br /&gt;
::: &#039;&#039;&#039;/create&#039;&#039;&#039; open the create group dialog (1.20)&lt;br /&gt;
::: &#039;&#039;&#039;/list&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/show&#039;&#039;&#039; open the list of groups to which user belongs (1.20)&lt;br /&gt;
:: &#039;&#039;&#039;/help&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;help_query&amp;gt;&#039;&#039;&#039; optional help topic (2.0)&lt;br /&gt;
:: &#039;&#039;&#039;/inventory&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;inventory_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/select&#039;&#039;&#039; inventory offer (2.0)&lt;br /&gt;
::: &#039;&#039;&#039;/show&#039;&#039;&#039; open the inventory sidebar tab (2.0)&lt;br /&gt;
:: &#039;&#039;&#039;/login&#039;&#039;&#039; log in on launch. External and internal browsers.&lt;br /&gt;
::: see below for query parameters, of course, values are URL escaped&lt;br /&gt;
:: &#039;&#039;&#039;/maptrackavatar&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;friend_id&amp;gt;&#039;&#039;&#039; find a friend on the world map, requires permission (2.4)&lt;br /&gt;
:: &#039;&#039;&#039;/objectim&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;object_id&amp;gt;&#039;&#039;&#039; display an info dialog for the object sending this message (2.0)&lt;br /&gt;
:::: &#039;&#039;&#039;?name=&amp;lt;object_name&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;&amp;amp;owner=&amp;lt;owner_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;&amp;amp;groupowned=true&#039;&#039;&#039; (add if the object is deeded to a group)&lt;br /&gt;
:::: &#039;&#039;&#039;&amp;amp;slurl=&amp;lt;region&amp;gt;/&amp;lt;x&amp;gt;/&amp;lt;y&amp;gt;/&amp;lt;z&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:: &#039;&#039;&#039;/parcel&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;parcel_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/about&#039;&#039;&#039; open floater describing place&lt;br /&gt;
:: &#039;&#039;&#039;&amp;lt;strike&amp;gt;/region&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;region_id&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/about&#039;&#039;&#039; information from database about that region?  list of parcels?  covenant?&amp;lt;/strike&amp;gt;&lt;br /&gt;
:: &#039;&#039;&#039;/search&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;category&amp;gt;&#039;&#039;&#039; &amp;quot;all&amp;quot;, &amp;quot;people&amp;quot;, &amp;quot;places&amp;quot;, &amp;quot;events&amp;quot;, &amp;quot;groups&amp;quot;, &amp;quot;wiki&amp;quot;, &amp;quot;destinations&amp;quot;, &amp;quot;classifieds&amp;quot;&lt;br /&gt;
:::: &#039;&#039;&#039;/&amp;lt;search_term&amp;gt;&#039;&#039;&#039; open a search floater with matching results (2.0)&lt;br /&gt;
:: &#039;&#039;&#039;/sharewithavatar&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;agent_id&amp;gt;&#039;&#039;&#039; open an inventory share/IM window for agent (2.4)&lt;br /&gt;
:: &#039;&#039;&#039;/teleport&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;region_name&amp;gt;&#039;&#039;&#039; teleport instantly to this region, no dialog&lt;br /&gt;
:::: &#039;&#039;&#039;/&amp;lt;local_x&amp;gt;&#039;&#039;&#039; optional X position, defaults to 128&lt;br /&gt;
::::: &#039;&#039;&#039;/&amp;lt;local_y&amp;gt;&#039;&#039;&#039; optional Y position, defaults to 128&lt;br /&gt;
:::::: &#039;&#039;&#039;/&amp;lt;local_z&amp;gt;&#039;&#039;&#039; optional Z position, defaults to 0&lt;br /&gt;
:: &#039;&#039;&#039;/voicecallavatar&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;agent_id&amp;gt;&#039;&#039;&#039; start a private voice session (2.4)&lt;br /&gt;
:: &#039;&#039;&#039;/wear_folder&#039;&#039;&#039;&lt;br /&gt;
::: &#039;&#039;&#039;/?folder_id=&amp;lt;inventory_folder_uuid&amp;gt;&#039;&#039;&#039; replace outfit with contents of specified folder (2.6)&lt;br /&gt;
:: &#039;&#039;&#039;/worldmap&#039;&#039;&#039; open the map with this destination selected (2.0)&lt;br /&gt;
::: &#039;&#039;&#039;/&amp;lt;region_name&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: &#039;&#039;&#039;/&amp;lt;local_x&amp;gt;&#039;&#039;&#039; optional X position, defaults to 128&lt;br /&gt;
::::: &#039;&#039;&#039;/&amp;lt;local_y&amp;gt;&#039;&#039;&#039; optional Y position, defaults to 128&lt;br /&gt;
:::::: &#039;&#039;&#039;/&amp;lt;local_z&amp;gt;&#039;&#039;&#039; optional Z position, defaults to 0&lt;br /&gt;
&lt;br /&gt;
This could be extended to things like:&lt;br /&gt;
: &#039;&#039;&#039;/app/event/&amp;lt;event_id&amp;gt;/subscribe&#039;&#039;&#039; to register for notifications&lt;br /&gt;
: &#039;&#039;&#039;/app/parcel/&amp;lt;parcel_id&amp;gt;/teleport&#039;&#039;&#039; to teleport to a specific location&lt;br /&gt;
&lt;br /&gt;
== Login Query Parameters ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| first || the account first name&lt;br /&gt;
|-&lt;br /&gt;
| last || the account last name&lt;br /&gt;
|-&lt;br /&gt;
| session || the secure session id&lt;br /&gt;
|-&lt;br /&gt;
| location || login location, format TBD, optional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string Who(key id)&lt;br /&gt;
{&lt;br /&gt;
    return &amp;quot;secondlife:///app/agent/&amp;quot; + (string)id + &amp;quot;/inspect&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num)&lt;br /&gt;
    {&lt;br /&gt;
        llSay(0, &amp;quot;Touched by &amp;quot; + Who(llDetectedKey(0)) + &amp;quot;.&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Name Spaces]]&lt;br /&gt;
[[Category:Search]]&lt;br /&gt;
[[Category:LSL Chat]]&lt;br /&gt;
[[Category:LSL_Dialog]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Development_User_Group&amp;diff=1183167</id>
		<title>Open Development User Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Development_User_Group&amp;diff=1183167"/>
		<updated>2013-10-30T19:38:04Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: add description to radar options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Oz/User Group Page&lt;br /&gt;
|purpose=&lt;br /&gt;
Open Source Policies, Resources for Open Contributions, and progressing contributions through the Snowstorm process.&lt;br /&gt;
|date-time=&lt;br /&gt;
Every Monday&amp;amp;nbsp;07:00-08:00&amp;amp;nbsp;SLT and Wednesday&amp;amp;nbsp;15:00-16:00&amp;amp;nbsp;SLT &amp;lt;br/&amp;gt;(see [[User:Oz_Linden/Calendar|Oz&#039;s calendar]] for exceptions)&amp;lt;br/&amp;gt;&lt;br /&gt;
|location={{SLurl|region=Hippotropolis|x=209|y=90|z=24|title=Oz&#039;s Raft}}&lt;br /&gt;
|team=Chaired by [[User:Oz Linden|Oz Linden]] of the [[Snowstorm Team]].&lt;br /&gt;
|agenda=&lt;br /&gt;
&amp;lt;!--======================== Please do not edit above this line ======================&lt;br /&gt;
&lt;br /&gt;
Feel free to add any open development related topic to the end of this agenda&lt;br /&gt;
by adding a numbered list entry; &lt;br /&gt;
&lt;br /&gt;
Copy the following line to the end of the list below and change &#039;topic&#039; to your topic; the ~~~ will be replaced with your name:&lt;br /&gt;
# topic (~~~)&lt;br /&gt;
&lt;br /&gt;
If you refer to a Jira issue, please use the template like this:&lt;br /&gt;
  {{JiraIssue|id|description}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/sunshine-external/rev/276562/index.html Sunshine-external&amp;quot; (276562)] build has been stuck in progress for several days. Please can someone kick it?&lt;br /&gt;
&#039;&#039;&#039;Update 08/06/2013&#039;&#039;&#039;: Sunshine external builds are still stuck. [http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/sunshine-external/rev/276562/index.html 276562] is still in progress and so is [http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/sunshine-external/rev/276820/index.html 276820]  ([[User:Whirly Fizzle|Whirly Fizzle]])&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Useful radar-options&#039;&#039;&#039; (MartinRJ Fayray --[[User:MartinRJ Fayray|MartinRJ Fayray]] 09:14, 30 October 2013 (PDT))&lt;br /&gt;
::Keep the current minimap (ideal for small screens), make the Radar an extra function (or have an option to minimize it so that it looks like the current minimap when it&#039;s minimized)!&lt;br /&gt;
::List with:&lt;br /&gt;
:::Name, Display Name, Distance and/or Position, Altitude, Age, Script memory and ARC/Vertices, Primcount and Scripts in viewer&#039;s region/parcel. A radar needs this basic information that helps keeping an overview of visitors and potential griefers and their position in the region.&lt;br /&gt;
:::with an option to mark each one on minimap, and highlighted friends and Lindens. To help distinguish individual residents on the radar.&lt;br /&gt;
:::indicator for &amp;quot;Payment-info-on-file&amp;quot;. This helps identifying potential griefers.&lt;br /&gt;
:::Indicator for voice(enabled) and &#039;currently speaking&#039;. To quickly identify sound sources (e.g. a resident who forgot to turn off his mic).&lt;br /&gt;
:::List-sort options. For better usability.&lt;br /&gt;
::Options:&lt;br /&gt;
:::context (rightclick) menu for avatar. To integrate into the current V3 interface, use the (in other places already existing) options  in the contextmenu (right click on a resident or resident-name).&lt;br /&gt;
:::Moderation-option (block, freeze, eject, kick-ban - for parcel and estate, AR). This will help estate managers to respond quickly.&lt;br /&gt;
:::Request-Teleport, Offer Teleport. These options will be looked after in the radar&#039;s option intuitively by residents.&lt;br /&gt;
:::Show on Map. To find specific avatars in the parcel. This option already exists in the &#039;nearby&#039; tab in V3, but is probably seldomly used as it is now..&lt;br /&gt;
:::&amp;quot;Look At&amp;quot; should be accessible if the avatar is within NearMeRange- radius (that&#039;s a debug setting used in V3 for the &#039;near me&#039; floater)&lt;br /&gt;
::Advanced options: Get resident&#039;s UUID. Helpful for scripters who regularly need to find uuids of themselves, their customers or ALTs.&lt;br /&gt;
::Optional:&lt;br /&gt;
:::An Alert-option for new avatars and/or specific avatars could be useful, but is probably beyond scope of the project.&lt;br /&gt;
:::Optional Alert when avatars are entering chat range and draw distance.&lt;br /&gt;
::Keep the current minimap (ideal for small screens), make the Radar an extra function (or have an option to minimize it so that it looks like the current minimap when it&#039;s minimized)!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Add your topic before this line - Use 3 or 4 ~ to add your name or name and date&lt;br /&gt;
======================== Please do not edit below this line ======================&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Development_User_Group&amp;diff=1183161</id>
		<title>Open Development User Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Development_User_Group&amp;diff=1183161"/>
		<updated>2013-10-30T16:14:34Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: radar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Oz/User Group Page&lt;br /&gt;
|purpose=&lt;br /&gt;
Open Source Policies, Resources for Open Contributions, and progressing contributions through the Snowstorm process.&lt;br /&gt;
|date-time=&lt;br /&gt;
Every Monday&amp;amp;nbsp;07:00-08:00&amp;amp;nbsp;SLT and Wednesday&amp;amp;nbsp;15:00-16:00&amp;amp;nbsp;SLT &amp;lt;br/&amp;gt;(see [[User:Oz_Linden/Calendar|Oz&#039;s calendar]] for exceptions)&amp;lt;br/&amp;gt;&lt;br /&gt;
|location={{SLurl|region=Hippotropolis|x=209|y=90|z=24|title=Oz&#039;s Raft}}&lt;br /&gt;
|team=Chaired by [[User:Oz Linden|Oz Linden]] of the [[Snowstorm Team]].&lt;br /&gt;
|agenda=&lt;br /&gt;
&amp;lt;!--======================== Please do not edit above this line ======================&lt;br /&gt;
&lt;br /&gt;
Feel free to add any open development related topic to the end of this agenda&lt;br /&gt;
by adding a numbered list entry; &lt;br /&gt;
&lt;br /&gt;
Copy the following line to the end of the list below and change &#039;topic&#039; to your topic; the ~~~ will be replaced with your name:&lt;br /&gt;
# topic (~~~)&lt;br /&gt;
&lt;br /&gt;
If you refer to a Jira issue, please use the template like this:&lt;br /&gt;
  {{JiraIssue|id|description}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/sunshine-external/rev/276562/index.html Sunshine-external&amp;quot; (276562)] build has been stuck in progress for several days. Please can someone kick it?&lt;br /&gt;
&#039;&#039;&#039;Update 08/06/2013&#039;&#039;&#039;: Sunshine external builds are still stuck. [http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/sunshine-external/rev/276562/index.html 276562] is still in progress and so is [http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/sunshine-external/rev/276820/index.html 276820]  ([[User:Whirly Fizzle|Whirly Fizzle]])&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Useful radar-options&#039;&#039;&#039; (MartinRJ Fayray --[[User:MartinRJ Fayray|MartinRJ Fayray]] 09:14, 30 October 2013 (PDT))&lt;br /&gt;
::Keep the current minimap (ideal for small screens), make the Radar an extra function (or have an option to minimize it so that it looks like the current minimap when it&#039;s minimized)!&lt;br /&gt;
::List with:&lt;br /&gt;
:::Name, Display Name, Distance and/or Position, Altitude, Age, Script memory and ARC/Vertices, Primcount and Scripts in viewer&#039;s region/parcel&lt;br /&gt;
:::with an option to mark each one on minimap, and highlighted friends and Lindens,&lt;br /&gt;
:::indicator for &amp;quot;Payment-info-on-file&amp;quot;&lt;br /&gt;
:::Indicator for voice(enabled) and &#039;currently speaking&#039;&lt;br /&gt;
:::List-sort options&lt;br /&gt;
::Options:&lt;br /&gt;
:::context (rightclick) menu for avatar&lt;br /&gt;
:::Moderation-option (block, freeze, eject, kick-ban - for parcel and estate, AR)&lt;br /&gt;
:::Request-Teleport, Offer Teleport&lt;br /&gt;
:::Show on Map&lt;br /&gt;
:::&amp;quot;Look At&amp;quot; should be accessible if the avatar is within NearMeRange- radius (that&#039;s a debug setting used in V3 for the &#039;near me&#039; floater)&lt;br /&gt;
::Advanced options: Get resident&#039;s UUID&lt;br /&gt;
::Optional:&lt;br /&gt;
:::An Alert-option for new avatars and/or specific avatars could be useful, but is probably beyond scope of the project.&lt;br /&gt;
:::Optional Alert when avatars are entering chat range and draw distance.&lt;br /&gt;
::Keep the current minimap (ideal for small screens), make the Radar an extra function (or have an option to minimize it so that it looks like the current minimap when it&#039;s minimized)!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Add your topic before this line - Use 3 or 4 ~ to add your name or name and date&lt;br /&gt;
======================== Please do not edit below this line ======================&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlJsonSetValue/de&amp;diff=1182948</id>
		<title>LlJsonSetValue/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlJsonSetValue/de&amp;diff=1182948"/>
		<updated>2013-10-23T06:40:39Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added &amp;quot;&amp;#039;&amp;#039;&amp;#039;\&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; caveat.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function/de&lt;br /&gt;
|inject-2={{Issues/BUG-3692}}&lt;br /&gt;
|inject-3={{LSL_Function/negative index{{#var:lang}}|false|specifiers|nc=*}}&lt;br /&gt;
|func_id=|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llJsonSetValue&lt;br /&gt;
|return_type=string&lt;br /&gt;
|p1_type=string|p1_name=Json|p1_desc=Ausgangsdaten (JSON)&lt;br /&gt;
|p2_type=list|p2_name=Spezifizierer|p2_desc=Position an der ein Wert hinzugefügt, geändert oder gelöscht werden soll.&lt;br /&gt;
|p3_type=string|p3_name=Wert|p3_desc=Der neue Wert oder [[JSON_DELETE{{#var:lang}}|JSON_DELETE]].|p3_hover=Der neue Wert oder JSON_DELETE.&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc=Bei Erfolg gibt diese Funktion einen neuen [http://json.org/json-de.html JSON] - &#039;&#039;String&#039;&#039; zurück, bestehend aus {{LSLPT|Json}} mit dem neuen {{LSLPT|Wert}} (an der Stelle überschrieben) der in {{LSLPT|Spezifizierer}} definiert wurde.&lt;br /&gt;
&lt;br /&gt;
Wenn der Funktionsaufruf fehlschlägt (typischerweise weil ein ungültiger Array-Index außerhalb des gültigen Bereichs spezifiziert wurde) wird [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;ungültiger Array-Index außerhalb des gültigen Bereichs&amp;quot; (out of range array index) bedeutet, dass einer der Integer-{{LSLPT|Spezifizierer}} größer ist als die Länge des vorhandenen Arrays auf der entsprechenden Ebene mit dem Json Text, oder größer als 0 auf einer Ebene auf der kein Array existiert.&lt;br /&gt;
&lt;br /&gt;
Der spezielle [[JSON_APPEND{{#var:lang}}|JSON_APPEND]] - {{LSLPT|Spezifizierer}} wird ebenfalls akzeptiert. Er fügt den {{LSLPT|Wert}} an das Ende des Arrays in der entsprechenden Ebene (definiert durch {{LSLPT|Spezifizierer}}) an. Vorsicht ist geboten, wenn diese Ebene kein Array ist, da der existierende Wert dann überschrieben wird und mit einem Array ersetzt wird, welches dann den {{LSLPT|Wert}} an der ersten Index - Stelle (0) enthält.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu [[Liste{{#var:lang}}|Listen]] und [[String{{#var:lang}}|Strings]] werden negative Indexe in Json-Arrays &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
&lt;br /&gt;
Wenn ein existierender &amp;quot;Key&amp;quot; dem {{LSLPT|Spezifizierer}} auf der entsprechenden Ebene entspricht, wird dessen Wert mit dem neuen {{LSLPT|Wert}} überschrieben (außer wenn {{LSLPT|Wert}} der besondere [[JSON_DELETE{{#var:lang}}|JSON_DELETE]] Parameter ist). &lt;br /&gt;
&lt;br /&gt;
Existiert an dieser - durch {{LSLPT|Spezifizierer}} definierten - Stelle kein Wert, wird ein neues Schlüssel-Wert-Paar innerhalb des Json-Objekts erzeugt.&lt;br /&gt;
&lt;br /&gt;
Um einen existiertenden Wert an der durch {{LSLPT|Spezifizierer}} definierten Stelle zu löschen, verwenden Sie als {{LSLPT|Wert}} das Schlüsselwort [[JSON_DELETE{{#var:lang}}|JSON_DELETE]]. Dieser Vorgang entfernt dabei keine leeren Objekte oder Arrays aus höheren Ebenen.&lt;br /&gt;
&lt;br /&gt;
Wenn {{LSLPT|Wert}} gleich [[JSON_TRUE{{#var:lang}}|JSON_TRUE]], [[JSON_FALSE{{#var:lang}}|JSON_FALSE]] oder [[JSON_NULL{{#var:lang}}|JSON_NULL]] ist, wird der Wert entsprechend an der durch {{LSLPT|Spezifizierer}} definierten Stelle als Text &#039;true&#039;, &#039;false&#039; oder &#039;null&#039; innerhalb von {{LSLPT|Json}} gesetzt.&lt;br /&gt;
|return_text=&lt;br /&gt;
|spec=Siehe auch [[Json_usage_in_LSL{{#var:lang}}|Verwendung von JSON in LSL]]&lt;br /&gt;
|constants&lt;br /&gt;
|caveats=&lt;br /&gt;
&lt;br /&gt;
*LSL-Strings die mit &amp;quot;&#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;&amp;quot; beginnen &#039;&#039;und&#039;&#039; enden werden als JSON-Strings interpretiert. Strings ohne dieses Zeichen werden geparst wenn der String zu JSON konvertiert wird.&lt;br /&gt;
|examples=&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string TEST_STRING_JSON;&lt;br /&gt;
&lt;br /&gt;
init()&lt;br /&gt;
{&lt;br /&gt;
    TEST_STRING_JSON = &amp;quot;[9,\&amp;quot;&amp;lt;1,1,1&amp;gt;\&amp;quot;,false,{\&amp;quot;A\&amp;quot;:8,\&amp;quot;Z\&amp;quot;:9}]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;Original TEST_STRING_JSON: &amp;quot; + TEST_STRING_JSON);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
run_json_test(string input)&lt;br /&gt;
{&lt;br /&gt;
    string output;&lt;br /&gt;
&lt;br /&gt;
//  changing values within the json string&lt;br /&gt;
&lt;br /&gt;
//  change the first value in the array to 10&lt;br /&gt;
    output = llJsonSetValue(input, [0], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [10,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 1): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  change the third value in the array to &#039;true&#039;&lt;br /&gt;
    output = llJsonSetValue(input, [2], JSON_TRUE);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,true,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 2): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  change the value of &amp;quot;A&amp;quot; within the Json object to 3&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;A&amp;quot;], &amp;quot;3&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:3,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 3): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  adding a value or new key-value-pair within the input&lt;br /&gt;
&lt;br /&gt;
//  add the value &amp;quot;Hello&amp;quot; to the end of the array&lt;br /&gt;
//      NOTE: One cannot insert, only add to the end&lt;br /&gt;
    output = llJsonSetValue(input, [JSON_APPEND], &amp;quot;Hello&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},&amp;quot;Hello&amp;quot;]&lt;br /&gt;
    say(&amp;quot;( 4): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  add the key-value-pair &amp;quot;B&amp;quot;:10 to the object&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;B&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;B&amp;quot;:10,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 5): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//  Things to look out for when modifying Json text&lt;br /&gt;
//      ~!~ Be careful when using this function ~!~&lt;br /&gt;
&lt;br /&gt;
//  out of bounds array assignment:&lt;br /&gt;
//      defined as attempting to add a value to a position ...&lt;br /&gt;
//      ...greater than the length of the array (which may be 0)&lt;br /&gt;
//      JSON_APPEND is ALWAYS the preferred way to add to an array&lt;br /&gt;
    output = llJsonSetValue(input, [5], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  %EF%B7%90 (URL escaped JSON_INVALID)&lt;br /&gt;
    say(&amp;quot;( 6): &amp;quot; + llEscapeURL(output));&lt;br /&gt;
&lt;br /&gt;
//  BUT, this works, since it is in bounds&lt;br /&gt;
//      (eqivalent to JSON_APPEND in this case)&lt;br /&gt;
    output = llJsonSetValue(input, [4], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},10]&lt;br /&gt;
    say(&amp;quot;( 7): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  careless formation of new arrays&lt;br /&gt;
//      ( the 4 and all subsequent 0&#039;s are all in bounds.)&lt;br /&gt;
    output = llJsonSetValue(input, [4, 0, 0, 0], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},[[[10]]]]&lt;br /&gt;
    say(&amp;quot;( 8): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  overwriting an object with an array:&lt;br /&gt;
//      ~!~ mistaken use of JSON_APPEND on an object ~!~&lt;br /&gt;
    output = llJsonSetValue(input, [3, JSON_APPEND], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,[10]]&lt;br /&gt;
    say(&amp;quot;( 9): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  careless formation of new objects&lt;br /&gt;
//      NOTE: &amp;quot;Key&amp;quot; assignemts will NEVER result in a return of JSON_INVALID!&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;W&amp;quot;, &amp;quot;X&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;W&amp;quot;:{&amp;quot;X&amp;quot;:10},&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(10): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;W&amp;quot;, &amp;quot;X&amp;quot;, &amp;quot;Y&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;W&amp;quot;:{&amp;quot;X&amp;quot;:{&amp;quot;Y&amp;quot;:10}},&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(11): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  overwriting an array with an object&lt;br /&gt;
    output = llJsonSetValue(input, [&amp;quot;X&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  {&amp;quot;X&amp;quot;:10}&lt;br /&gt;
    say(&amp;quot;(12): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  special case considerations:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//  BUG-3692: (NOTE: Corrected in release 13.09.21.281328!)&lt;br /&gt;
//      a bug where, instead of JSON_INVALID being returned, if the out of&lt;br /&gt;
//      bounds index is at a lower level than the topmost (root) level, a&lt;br /&gt;
//      non-compliant JSON text would be formed&lt;br /&gt;
    output = llJsonSetValue(input, [1, 7], &amp;quot;Disappearing Text&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  Note the &amp;quot;empty&amp;quot; second position that resulted in the returned array&lt;br /&gt;
//  [9,,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
// (But now correctly shows JSON_INVALID)&lt;br /&gt;
    say(&amp;quot;(13): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  though there is no way to directly delete a key-value-pair &lt;br /&gt;
//  nor remove a value from an array,&lt;br /&gt;
//  the use of JSON_NULL may prove adequate&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;A&amp;quot;], JSON_NULL);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:null,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(14): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  if a JSON text object has been formed with llList2Json()&lt;br /&gt;
//  that contains one or more duplicated &amp;quot;Keys&amp;quot;, (allowable&lt;br /&gt;
//  but NOT recommended!) ANY change&lt;br /&gt;
//  made to that object will correct the condition,&lt;br /&gt;
//  with all but the last such &amp;quot;Key&amp;quot; being removed&lt;br /&gt;
    output = llList2Json(JSON_OBJECT, [&amp;quot;A&amp;quot;, 1, &amp;quot;A&amp;quot;, 2, &amp;quot;A&amp;quot;, 3, &amp;quot;B&amp;quot;, 4, &amp;quot;B&amp;quot;, 4]);&lt;br /&gt;
&lt;br /&gt;
//  both Keys &amp;quot;A&amp;quot; and &amp;quot;B&amp;quot; are duplicated&lt;br /&gt;
//  {&amp;quot;A&amp;quot;:1,&amp;quot;A&amp;quot;:2,&amp;quot;A&amp;quot;:3,&amp;quot;B&amp;quot;:4,&amp;quot;B&amp;quot;:4}&lt;br /&gt;
    say(&amp;quot;(15): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  only the last value of the duplications is accessable though&lt;br /&gt;
&lt;br /&gt;
//  3&lt;br /&gt;
    say(&amp;quot;(16): &amp;quot; + llJsonGetValue(output, [&amp;quot;A&amp;quot;]));&lt;br /&gt;
&lt;br /&gt;
//  condition corrected by adding a key-value-pair...&lt;br /&gt;
&lt;br /&gt;
//  {&amp;quot;A&amp;quot;:3,&amp;quot;B&amp;quot;:4,&amp;quot;Z&amp;quot;:5}&lt;br /&gt;
    say(&amp;quot;(17): &amp;quot; + llJsonSetValue(output, [&amp;quot;Z&amp;quot;], &amp;quot;5&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
//  ... or by changing a value&lt;br /&gt;
&lt;br /&gt;
// {&amp;quot;A&amp;quot;:5,&amp;quot;B&amp;quot;:4}&lt;br /&gt;
    say(&amp;quot;(18): &amp;quot; + llJsonSetValue(output, [&amp;quot;A&amp;quot;], &amp;quot;5&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
say(string message)&lt;br /&gt;
{&lt;br /&gt;
    llOwnerSay(message);&lt;br /&gt;
//  llRegionSayTo(llGetOwner(), PUBLIC_CHANNEL, message);&lt;br /&gt;
//  llWhisper(PUBLIC_CHANNEL, message);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer start_param)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        init();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_end(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
//      copy &#039;TEST_STRING_JSON&#039; from the following function call&lt;br /&gt;
//      to the string &#039;input&#039; in the function declaration&lt;br /&gt;
//      and run a test on &#039;input&#039; to not (!) modify &#039;TEST_STRING_JSON&#039;&lt;br /&gt;
//      but its copy instead&lt;br /&gt;
        run_json_test(TEST_STRING_JSON);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llList2Json{{#var:lang}}|llList2Json]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJson2List{{#var:lang}}|llJson2List]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Typecast{{#var:lang}}|Typecast]]|}}&lt;br /&gt;
|notes=&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=JsonSetValue&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4=JSON&lt;br /&gt;
|history = Veröffentlichungsdatum  [[ Release_Notes/Second_Life_Server/13#13.05.20.276191 | 20/05/2013 ]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlList2Json/de&amp;diff=1182947</id>
		<title>LlList2Json/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlList2Json/de&amp;diff=1182947"/>
		<updated>2013-10-23T06:38:47Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Added &amp;quot;&amp;#039;&amp;#039;&amp;#039;\&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; caveat.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function/de&lt;br /&gt;
|func_id=|func_sleep=0.0|func_energy&lt;br /&gt;
|func=llList2Json|return_type=string&lt;br /&gt;
|p1_type=string|p1_name=Typ|p1_desc=&lt;br /&gt;
|p2_type=list|p2_name=Werte|p2_desc=&lt;br /&gt;
|func_footnote=&lt;br /&gt;
Um einen Json-String in eine Liste zu konvertieren, verwenden Sie bitte [[llJson2List{{#var:lang}}|llJson2List]].&lt;br /&gt;
|func_desc=Diese Funktion erwartet eine Liste und gibt sie als [http://json.org JSON] - String zurück, entweder als JSON-Objekt oder als JSON-Array.&lt;br /&gt;
&lt;br /&gt;
Gibt  einen String zurück der entweder als JSON {{LSLPT|Typ}} serialisierte {{LSLPT|Werte}} enthält, oder [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] wenn ein Fehler aufgetreten ist.&lt;br /&gt;
|spec=Siehe auch [[Json_usage_in_LSL{{#var:lang}}|Verwendung von JSON in LSL]]&lt;br /&gt;
* Wenn der Typ ein [[JSON_OBJECT{{#var:lang}}|JSON_OBJECT]] ist, muss die Liste eine &#039;strided&#039; Liste aus Schlüssel-Wert-Paaren sein, und als Ergebnis zurückgegeben wird ein String der ein Json - Objekt darstellt.&lt;br /&gt;
* Wenn der Typ ein [[JSON_ARRAY{{#var:lang}}|JSON_ARRAY]] ist, wird ein String der ein Json - Array darstellt als Ergebnis zurückgegeben.&lt;br /&gt;
* Wenn der Typ kein String ist, wird [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] zurückgegeben.&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}|subset=*}}&lt;br /&gt;
|caveats=&lt;br /&gt;
&lt;br /&gt;
*LSL-Strings die mit &amp;quot;&#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;&amp;quot; beginnen &#039;&#039;und&#039;&#039; enden werden als JSON-Strings interpretiert. Strings ohne dieses Zeichen werden geparst wenn der String zu JSON konvertiert wird.&lt;br /&gt;
|examples&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llJson2List{{#var:lang}}|llJson2List]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonSetValue{{#var:lang}}|llJsonSetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|also_constants={{LSL DefineRow||[[JSON_ARRAY{{#var:lang}}|JSON_ARRAY]]}}&lt;br /&gt;
{{LSL DefineRow||[[JSON_OBJECT{{#var:lang}}|JSON_OBJECT]]}}&lt;br /&gt;
{{LSL DefineRow||[[JSON_INVALID{{#var:lang}}|JSON_INVALID]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Typecast{{#var:lang}}|Typecast]]|}}&lt;br /&gt;
|notes=&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=List2Json&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4=JSON&lt;br /&gt;
|history = Veröffentlichungsdatum  [[ Release_Notes/Second_Life_Server/13#13.05.20.276191 | 20/05/2013 ]]&lt;br /&gt;
|haiku={{Haiku|Their ships list to port|for what reason I know not|we list to JSON}}&lt;br /&gt;
{{Haiku|Listen to Jason|cryptically my sensei said|I must have misheard}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=JSON_APPEND/de&amp;diff=1182944</id>
		<title>JSON APPEND/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=JSON_APPEND/de&amp;diff=1182944"/>
		<updated>2013-10-23T06:23:30Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Removed Multi-Lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Constant/de&lt;br /&gt;
|name=JSON_APPEND&lt;br /&gt;
|type=integer&lt;br /&gt;
|value=-1&lt;br /&gt;
|desc=Es handelt sich um ein spezielles Spezifikationssymbol (&#039;specifier&#039;) für die Funktion [[llJsonSetValue{{#var:lang}}|llJsonSetValue]]. Es beschreibt, dass der gegebene Wert an ein Array in einer festgelegten Ebene angehängt werden soll.&amp;lt;br/&amp;gt;Vorsicht ist geboten, wenn der Wert in dieser Ebene kein Array ist, da in diesem Fall die existierenden Daten mit den neuen Daten überschrieben werden.&lt;br /&gt;
|constants&lt;br /&gt;
|examples&lt;br /&gt;
|functions=&lt;br /&gt;
{{LSL DefineRow||[[llJsonSetValue{{#var:lang}}|llJsonSetValue]]|}}&lt;br /&gt;
|events&lt;br /&gt;
|cat1=JSON&lt;br /&gt;
|cat2&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|self&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=JSON_ARRAY/de&amp;diff=1182943</id>
		<title>JSON ARRAY/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=JSON_ARRAY/de&amp;diff=1182943"/>
		<updated>2013-10-23T06:23:21Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Removed Multi-Lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Constant/de&lt;br /&gt;
|name=JSON_ARRAY&lt;br /&gt;
|type=string&lt;br /&gt;
|value=&amp;quot;﷒&amp;quot;&lt;br /&gt;
|dvalue={{HoverText|&amp;quot;﷒&amp;quot;|Special Unicode Character&amp;amp;#x000d;Unicode:&amp;amp;#x0009;U+FDD2&amp;amp;#x000d;HTML:&amp;amp;#x0009;&amp;amp;amp;#xFDD2;&amp;amp;#x000d;llUnescapeUrl({{String|%EF%B7%92}});}}&lt;br /&gt;
|desc=Wird mit der [[llList2Json{{#var:lang}}|llList2Json]] - Funktion verwendet, und beschreibt dass die gegebene Liste (die auch leer sein kann) dazu verwendet werden soll, ein als String serialisiertes Json-Array zu codieren und zurückzugeben.&lt;br /&gt;
&lt;br /&gt;
JSON_ARRAY ist ebenfalls ein möglicher Rückgabewert für die Funktion [[llJsonValueType{{#var:lang}}|llJsonValueType]], und beschreibt in diesem Fall dass der Json Datentyp an der durch &#039;Spezifizierer&#039; definierten Stelle ein Json-Array darstellt.&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}}}&lt;br /&gt;
|examples=Erzeugen eines Json-Arrays:&lt;br /&gt;
&amp;lt;lsl&amp;gt;string jsonText;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
	state_entry()&lt;br /&gt;
	{&lt;br /&gt;
		jsonText = llList2Json(JSON_ARRAY, [&amp;quot;A&amp;quot;, 3, &amp;quot;B&amp;quot;, &amp;lt;1.0,1.0,1.0&amp;gt;, &amp;quot;C&amp;quot;, &amp;quot;A phrase&amp;quot;, &amp;quot;D&amp;quot;, PI]);&lt;br /&gt;
	}&lt;br /&gt;
	touch_start(integer total_number)&lt;br /&gt;
	{&lt;br /&gt;
		// In the resulting Json array, all Values are separated by a comma (,).&lt;br /&gt;
		llOwnerSay(jsonText); //  [&amp;quot;A&amp;quot;,3,&amp;quot;B&amp;quot;,&amp;quot;&amp;lt;1.000000, 1.000000, 1.000000&amp;gt;&amp;quot;,&amp;quot;C&amp;quot;,&amp;quot;A phrase&amp;quot;,&amp;quot;D&amp;quot;,3.141593]&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Festellen ob ein Wert in einem Json Text ein Array darstellt:&lt;br /&gt;
&amp;lt;lsl&amp;gt;string jsonText;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
	state_entry()&lt;br /&gt;
	{&lt;br /&gt;
		// Set jsonText to [3,{&amp;quot;A&amp;quot;:77,&amp;quot;B&amp;quot;:66},&amp;quot;A phrase&amp;quot;]&lt;br /&gt;
		// A Json array whose second element is a Json object&lt;br /&gt;
		jsonText = &amp;quot;[3,{\&amp;quot;A\&amp;quot;:77,\&amp;quot;B\&amp;quot;:66},\&amp;quot;A phrase\&amp;quot;]&amp;quot;;&lt;br /&gt;
		llOwnerSay(jsonText);&lt;br /&gt;
	}&lt;br /&gt;
	touch_start(integer total_number)&lt;br /&gt;
	{&lt;br /&gt;
		// Test the entirety of the Json text to see if it&#039;s an array&lt;br /&gt;
		// Note use of the empty list for this&lt;br /&gt;
		if (llJsonValueType(jsonText, []) == JSON_ARRAY)&lt;br /&gt;
		{&lt;br /&gt;
			llOwnerSay(&amp;quot;The supplied string is a Json array.&amp;quot;); // TRUE&lt;br /&gt;
		} else {&lt;br /&gt;
			llOwnerSay(&amp;quot;The supplied string is not a Json array.&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Test second element of the array&lt;br /&gt;
		if (llJsonValueType(jsonText, [1]) == JSON_ARRAY)&lt;br /&gt;
		{&lt;br /&gt;
			llOwnerSay(&amp;quot;The second element of the array is a Json array.&amp;quot;);&lt;br /&gt;
		} else {&lt;br /&gt;
			llOwnerSay(&amp;quot;The second element of the array is not a Json array.&amp;quot;); // TRUE&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|functions=&lt;br /&gt;
{{LSL DefineRow||[[llList2Json{{#var:lang}}|llList2Json]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|events&lt;br /&gt;
|cat1=JSON&lt;br /&gt;
|cat2&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|self&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=JSON_DELETE/de&amp;diff=1182941</id>
		<title>JSON DELETE/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=JSON_DELETE/de&amp;diff=1182941"/>
		<updated>2013-10-23T06:23:11Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Removed Multi-Lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Constant/de&lt;br /&gt;
|name=JSON_DELETE&lt;br /&gt;
|type=string&lt;br /&gt;
|value=&amp;quot;�&amp;quot;&lt;br /&gt;
|dvalue={{HoverText|&amp;quot;�&amp;quot;|Special Unicode Character&amp;amp;#x000d;Unicode:&amp;amp;#x0009;U+FDD8&amp;amp;#x000d;HTML:&amp;amp;#x0009;&amp;amp;amp;#xFDD8;&amp;amp;#x000d;llUnescapeUrl({{String|%EF%B7%98}});}}&lt;br /&gt;
|desc=Eine [[:Category:LSL_Constants{{#var:lang}}|Konstante]] die dazu verwendet wird, einen Wert innerhalb eines [http://json.org/json-de.html JSON] Text-Strings zu löschen.&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}}}&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
        string jsonString = &amp;quot;[1,2,3,4,5]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        llSay(PUBLIC_CHANNEL, &amp;quot;Original: &amp;quot; + jsonString);&lt;br /&gt;
&lt;br /&gt;
    //  we remove the first item (list has zero-based index!)&lt;br /&gt;
        jsonString = llJsonSetValue(jsonString, [0], JSON_DELETE);&lt;br /&gt;
&lt;br /&gt;
    //  &amp;quot;[2,3,4,5]&amp;quot;&lt;br /&gt;
        llSay(PUBLIC_CHANNEL, &amp;quot;Modified: &amp;quot; + jsonString);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|caveats=*JSON_DELETE entfernt &#039;&#039;&#039;keine&#039;&#039;&#039; leeren Objekte oder Arrays aus höheren Ebenen.&lt;br /&gt;
|functions=&lt;br /&gt;
{{LSL DefineRow||[[llJsonSetValue{{#var:lang}}|llJsonSetValue]]|}}&lt;br /&gt;
|events&lt;br /&gt;
|cat1=JSON&lt;br /&gt;
|cat2&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|self&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=JSON_INVALID/de&amp;diff=1182940</id>
		<title>JSON INVALID/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=JSON_INVALID/de&amp;diff=1182940"/>
		<updated>2013-10-23T06:23:00Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Removed Multi-Lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Constant/de&lt;br /&gt;
|name=JSON_INVALID&lt;br /&gt;
|type=string&lt;br /&gt;
|value=&amp;quot;﷐&amp;quot;&lt;br /&gt;
|dvalue={{HoverText|&amp;quot;﷐&amp;quot;|Special Unicode Character&amp;amp;#x000d;Unicode:&amp;amp;#x0009;U+FDDO&amp;amp;#x000d;HTML:&amp;amp;#x0009;&amp;amp;amp;#xFDD0;&amp;amp;#x000d;llUnescapeUrl({{String|%EF%B7%90}});}}&lt;br /&gt;
|desc=Ein Rückgabewert der beschreibt, dass ein ungültiger &#039;Typ&#039; in der [[llList2Json{{#var:lang}}|llList2Json]] Funktion angegeben worden ist.&amp;lt;br/&amp;gt;Ebenfalls ein Rückgabewert der [[llJsonValueType{{#var:lang}}|llJsonValueType]] Funktion, der beschreibt von welchem Datentyp die Daten in einem gegebenen, als String serialisiertem [http://json.org/json-de.html JSON]-Objekt sind.&lt;br /&gt;
&amp;lt;br/&amp;gt;Außerdem ein Rückgabewert der Funktion [[llJsonGetValue{{#var:lang}}|llJsonGetValue]], um zu kennzeichnen, dass eine Spezifizierer-Angabe vergeblich versucht hat, auf Daten an einer nicht existierenden Stelle innerhalb eines Json-Texts zuzugreifen.&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}}}&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;// Verwendung von JSON_INVALID um ein Json-Array unbekannter Länge zu durchlaufen.&lt;br /&gt;
string jsonText = &amp;quot;[1,2,3,5,6]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        string item;&lt;br /&gt;
        integer iter;&lt;br /&gt;
        while ((item = llJsonGetValue(jsonText,[iter++])) != JSON_INVALID)&lt;br /&gt;
        {&lt;br /&gt;
            llOwnerSay(item); // &amp;quot;1&amp;quot;,&amp;quot;2&amp;quot;,&amp;quot;3&amp;quot;,&amp;quot;5&amp;quot;,&amp;quot;6&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|caveats=*Verwenden Sie JSON_INVALID &#039;&#039;&#039;nicht&#039;&#039;&#039; zusammen mit den Funktionen [[llList2Json{{#var:lang}}|llList2Json]] oder [[llJsonSetValue{{#var:lang}}|llJsonSetValue]]. Das Ergebnis wäre ansonsten ungültiger, nicht Json-konformer Text.&lt;br /&gt;
&lt;br /&gt;
|functions=&lt;br /&gt;
{{LSL DefineRow||[[llList2Json{{#var:lang}}|llList2Json]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|events&lt;br /&gt;
|cat1=JSON&lt;br /&gt;
|cat2&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|self&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=JSON_NULL/de&amp;diff=1182939</id>
		<title>JSON NULL/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=JSON_NULL/de&amp;diff=1182939"/>
		<updated>2013-10-23T06:22:28Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Removed Multi-Lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Constant/de&lt;br /&gt;
|inject-2={{Issues/BUG-3692}}&lt;br /&gt;
|name=JSON_NULL&lt;br /&gt;
|type=string&lt;br /&gt;
|value=&amp;quot;�&amp;quot;&lt;br /&gt;
|dvalue={{HoverText|&amp;quot;�&amp;quot;|Special Unicode Character&amp;amp;#x000d;Unicode:&amp;amp;#x0009;U+FDD5&amp;amp;#x000d;HTML:&amp;amp;#x0009;&amp;amp;amp;#xFDD5;&amp;amp;#x000d;llUnescapeUrl({{String|%EF%B7%95}});}}&lt;br /&gt;
|desc=Rückgabewert der Funktion [[llJsonValueType{{#var:lang}}|llJsonValueType]], die den [http://json.org/json-de.html JSON] Typ für einen Wert in Json an einer bestimmten, durch Spezifizierer definierten Stelle ermittelt.&lt;br /&gt;
&lt;br /&gt;
Ebenfalls ein Rückgabewert der Funktion [[llJsonGetValue{{#var:lang}}|llJsonGetValue]], um zu kennzeichnen, dass der Text &#039;null&#039; an der durch Spezifizierer definierten Stelle vorhanden war.&lt;br /&gt;
&lt;br /&gt;
JSON_NULL kann auch dazu benutzt werden, um den Text &#039;null&#039; innerhalb eines Json-Texts zu codieren, und so einen leeren Platzhalter ohne spezifischen Wert an der entsprechenden Stelle zu kennzeichnen (der leere LSL String &amp;quot;&amp;quot; kann stattdessen ebenfalls verwendet werden).&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}}}&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;// Die Verwendung von JSON_NULL&lt;br /&gt;
// innerhalb eines Json-Text-Strings.&lt;br /&gt;
string jText;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry(){&lt;br /&gt;
        jText = llList2Json(JSON_OBJECT, [&amp;quot;A&amp;quot;, 4, &amp;quot;B&amp;quot;, 5]);&lt;br /&gt;
        llOwnerSay(jText); // jText is &#039;{&amp;quot;A&amp;quot;:4,&amp;quot;B&amp;quot;:5}&#039;&lt;br /&gt;
        llOwnerSay(llJsonGetValue(jText, [&amp;quot;B&amp;quot;])); // The string &amp;quot;5&amp;quot;&lt;br /&gt;
        jText = llJsonSetValue(jText, [&amp;quot;B&amp;quot;], JSON_NULL);&lt;br /&gt;
        llOwnerSay(jText); // jText is now &#039;{&amp;quot;A&amp;quot;:4,&amp;quot;B&amp;quot;:null}&#039;&lt;br /&gt;
        llOwnerSay(llJsonGetValue(jText, [&amp;quot;B&amp;quot;])); // The Unicode value of JSON_NULL&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|caveats&lt;br /&gt;
|functions=&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
|events&lt;br /&gt;
|cat1=JSON&lt;br /&gt;
|cat2&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|self&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlList2Json/de&amp;diff=1182937</id>
		<title>LlList2Json/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlList2Json/de&amp;diff=1182937"/>
		<updated>2013-10-23T06:20:22Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Removed Multi-Lang tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL Function/de&lt;br /&gt;
|func_id=|func_sleep=0.0|func_energy&lt;br /&gt;
|func=llList2Json|return_type=string&lt;br /&gt;
|p1_type=string|p1_name=Typ|p1_desc=&lt;br /&gt;
|p2_type=list|p2_name=Werte|p2_desc=&lt;br /&gt;
|func_footnote=&lt;br /&gt;
Um einen Json-String in eine Liste zu konvertieren, verwenden Sie bitte [[llJson2List{{#var:lang}}|llJson2List]].&lt;br /&gt;
|func_desc=Diese Funktion erwartet eine Liste und gibt sie als [http://json.org JSON] - String zurück, entweder als JSON-Objekt oder als JSON-Array.&lt;br /&gt;
&lt;br /&gt;
Gibt  einen String zurück der entweder als JSON {{LSLPT|Typ}} serialisierte {{LSLPT|Werte}} enthält, oder [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] wenn ein Fehler aufgetreten ist.&lt;br /&gt;
|spec=Siehe auch [[Json_usage_in_LSL{{#var:lang}}|Verwendung von JSON in LSL]]&lt;br /&gt;
* Wenn der Typ ein [[JSON_OBJECT{{#var:lang}}|JSON_OBJECT]] ist, muss die Liste eine &#039;strided&#039; Liste aus Schlüssel-Wert-Paaren sein, und als Ergebnis zurückgegeben wird ein String der ein Json - Objekt darstellt.&lt;br /&gt;
* Wenn der Typ ein [[JSON_ARRAY{{#var:lang}}|JSON_ARRAY]] ist, wird ein String der ein Json - Array darstellt als Ergebnis zurückgegeben.&lt;br /&gt;
* Wenn der Typ kein String ist, wird [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] zurückgegeben.&lt;br /&gt;
|constants={{LSL Constants/JSON{{#var:lang}}|subset=*}}&lt;br /&gt;
|examples&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llJson2List{{#var:lang}}|llJson2List]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonSetValue{{#var:lang}}|llJsonSetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|also_constants={{LSL DefineRow||[[JSON_ARRAY{{#var:lang}}|JSON_ARRAY]]}}&lt;br /&gt;
{{LSL DefineRow||[[JSON_OBJECT{{#var:lang}}|JSON_OBJECT]]}}&lt;br /&gt;
{{LSL DefineRow||[[JSON_INVALID{{#var:lang}}|JSON_INVALID]]}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Typecast{{#var:lang}}|Typecast]]|}}&lt;br /&gt;
|notes=&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=List2Json&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4=JSON&lt;br /&gt;
|history = Veröffentlichungsdatum  [[ Release_Notes/Second_Life_Server/13#13.05.20.276191 | 20/05/2013 ]]&lt;br /&gt;
|haiku={{Haiku|Their ships list to port|for what reason I know not|we list to JSON}}&lt;br /&gt;
{{Haiku|Listen to Jason|cryptically my sensei said|I must have misheard}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=1182935</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=1182935"/>
		<updated>2013-10-23T06:18:55Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* German translation of llList2Json */  added missing signature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:User:Zai_Lynch/Award}}You found my talk page... Find old discussions take a look at the archives: [[User:Strife_Onizuka/Talkpage_Archive_01|1]] [[User:Strife_Onizuka/Talkpage_Archive_02|2]]&lt;br /&gt;
&lt;br /&gt;
== JIRA issues on LSL function pages ==&lt;br /&gt;
&lt;br /&gt;
Okay, as I&#039;ve made no headway deciphering your templates (not that I&#039;m familiar in the least with the more complex wiki functions in the first place...) I decided just to cut my losses and ask! Basically I was wondering if there&#039;s a reason why [[Template:LSL_Generic/Issues]] doesn&#039;t appear to list all issues, but instead seems to just list bugs only in the same way as [[Template:LSL_Generic/Caveats]]?&lt;br /&gt;
&lt;br /&gt;
I just think it&#039;d be nice if function pages would also summarise popular proposals relating to them in the deep notes section, which is what I believed was intended but it doesn&#039;t appear to do this right now.&lt;br /&gt;
&lt;br /&gt;
For example, if you go to the [[LlStartAnimation]] page, in the deep notes you&#039;ll notice that there are zero issues listed, however, clicking the &amp;quot;Search JIRA for related Issues&amp;quot; link returns quite a few. It might be nice to see the deep notes tweaked to display these, but perhaps with a limit on how many are shown (though llStartAnimation is a fairly popular one to see JIRA issues for and only has 17 issues listed). Anyway, just though I&#039;d ask/request, please poke my talk page if you respond to be sure I remember and look! --[[User:Haravikk Mistral|Haravikk Mistral]] 15:26, 12 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:The template is not automatic. Take for example [[llBreakLink]], it lists a single issue in the article, it does this by including the template [[Template:Issues/SVC-3510]]. There are many stub templates like [[Template:Issues/SVC-3510]] that work this way, they contain the information about the issue and pass it along to a template that does the heavy lifting. The value of this method is that a single template exists for the Issue and if the issue is sited on multiple pages, they can all be quickly updated by modifying the template. From an organizational standpoint, it also makes it possible to see what all pertains to a particular issue.&lt;br /&gt;
&lt;br /&gt;
:The thing is, if you want all the issues on the wiki, they need to be imported to the wiki, and regularly updated as changes are made... but that could all be done with a bot. Wonder if [[User:Gigs Taggart|Gigs]] could be enticed to incorporate it into [http://www.sljirastats.com SLJiraStats]?&lt;br /&gt;
&lt;br /&gt;
:The goal of the Deep Notes: Issues section was to contain dead bugs and interesting feature suggestions. I never intended it to contain all issues pertaining to a feature. We don&#039;t add any value by duplicated the JIRA search engine results; the value we can add is by filtering them. Some of the bugs aren&#039;t bugs, and some of the feature suggestions are unworkable; I don&#039;t think these should be given screen space. Considering the resources required to manually include and update the issues, triage has to happen.&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I do not have the free time to work on this, work and other responsibilities eat all my time. *wonders just how true that is* -- &#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; 03:10, 16 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Ah yeah, seems I&#039;ve completely misunderstood what it was doing! I wasn&#039;t thinking to list everything, just an automatic, and hopefully useful summary of say...the top ten bugs and issues? It sounds like way more work than it&#039;s likely to be worth though so probably better just to forget about it, unless there&#039;s some way to just embed an iframe with a portion of a JIRA search or something similar? But that would probably cause an unacceptable increase in JIRA page requests from people just popping over to look something up. But now I know how it does work I can at least pop useful relevant issues on manually, thanks! -- [[User:Haravikk Mistral|Haravikk Mistral]] 12:36, 18 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:A related problem, I&#039;ve tried to add a few top issues of interest to me onto my user page under Key Issues, however, I&#039;ve tried to create two [[Template:IssueTable]] instances, but they both have the same content, despite the value of #issues being different for both. Is this some peculiarity in using this template more than once? If you could take a look at let me know it&#039;d be handy, as IssueTable doesn&#039;t have any documentation =( -- [[User:Haravikk Mistral|Haravikk Mistral]] 11:36, 22 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::You are hitting one of the caveats/bugs of the new parser engine. I forget how to get around it. I beleive the issue is intermediate caching, and the way around it is to make the template call dynamic or something like that. Without spending a bunch of time debugging the problem, I just don&#039;t remember how to work around it. -- &#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:37, 22 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::It just struck me what the problem is, it&#039;s caching IssueTable. -- &#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; 18:27, 22 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Aha! The &amp;quot;subst:&amp;quot; keyword seems to be for this (e.g - &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{subst:User:Haravikk_Mistral/JIRA/Issues/SVC}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), as I believe it fetches the pre-processed contents of a page rather than the source. In any event, this works in my case as I created sub-pages for each category, I don&#039;t believe it would help for a page with multiple IssueTable instances though, as using subst: for any of them would just create a blank gap, but it solves my problem at least! -- [[User:Haravikk Mistral|Haravikk Mistral]] 11:29, 23 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== [[Ghost Detector]] ==&lt;br /&gt;
Thanks.  I discovered that property of [[llKey2Name]] by accident.  It&#039;s odd because, for instance, [[llDetectedName]] gives a non-empty string for ghosted avatars. -- [[User:Something Something|Something Something]] 05:21, 10 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Friendly greetings ==&lt;br /&gt;
You seem to have found a &amp;quot;fix&amp;quot; for my horrible script and....messed it up. Please compare my original to yours and do some testing. They are different in the result. I would appreciate you fixing your &amp;quot;fix&amp;quot;. Best regards --[[User:Kireji Haiku|Kireji Haiku]] 02:42, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m sorry you took the edit personally it was not intended that way. The example you contributed is valuable and nontrivial, however examples are held to high standards and it didn&#039;t meet them. I was faced with two options: rewriting it or deleting it, I felt it had merit so I rewrote it. My goal as always is to provide the most useful content to our users, and in this case down compatibility needed to be sacrificed. The script as it was designed required every prim to have at least one face have full glow, that didn&#039;t sound entirely useful, so I changed it to accept some glow (I notice that I also changed it to require every face have glow... which doesn&#039;t sound useful, so I&#039;m going to revert that).&lt;br /&gt;
:Examples have one major goal: Be educational, teach good coding practices and problem solving. Here is where the script went awry:&lt;br /&gt;
:# Names should be descriptive. The function names were a bit generic but single letter variables are definitely not descriptive, especially when they are globals, they really should describe the purpose they fulfill. &lt;br /&gt;
:# Using globals instead of locals &amp;amp; parameters may be efficient, but it degrades readability and adds a new vector for script bugs. This sort of optimization has no place in examples (except in an article on optimization techniques). The situation is made even worse by using non-descriptive variable names.&lt;br /&gt;
:# The script contained code that complicated it without aiding readability or improving functionality. Examples need to be streamline, having it meander requires the reader to needlessly keep track of more things.&lt;br /&gt;
:# I felt that the functionality provided had too narrow an audience, that by changing how it functioned that it would be more useful to more people. Down compatibility is a secondary consideration for examples, not a primary consideration.&lt;br /&gt;
&lt;br /&gt;
:P.S. I take it you didn&#039;t noticed there is a bug in your script: A single prim object with at least one avatar sitting on it could return the wrong result. IMO examples should not be attributed in the script text, it&#039;s what the history page is for after all, but I know the community and I don&#039;t always agree so I don&#039;t fight it. Personally I don&#039;t want my name associated with buggy code, so if you really want the script to be 100% compatible I&#039;ll have to remove my name and give you all the credit.&lt;br /&gt;
&lt;br /&gt;
:P.S.S. I think we may have different notions of wiki content ownership. When I post content on the wiki, I do so with the full expectation that it will be edited, that it will mutate into something I did not envision, into something I may not entirely agree with. We do not control the content after we have posted it. It&#039;s why there is the text below the edit box: &amp;quot;If you don&#039;t want your writing to be edited mercilessly and redistributed at will, then don&#039;t submit it here.&amp;quot; Wiki culture is different. I may own my contributions but I don&#039;t control their fate. They are my children, being changed and influenced by the people around them, being made stronger in the process. But I digress&lt;br /&gt;
&lt;br /&gt;
:P.S.S.S. In the future if you want to convince someone they should do something, don&#039;t insult them first, it&#039;s counter productive. A better way to approach this situation would have been to say: &amp;quot;I disagree with some of the changes you made, specifically blah blah blah, could you please look into it? I did not appreciate your tone and I am quite insulted.&amp;quot; It&#039;s a mistake to mix the two messages, people are prone to take offense and not do what you want out of spite. In a situation like this being snarky just isn&#039;t productive (though it does blow off a bit of steam which can feel good in the moment). Just FYI, nothing more. -- &#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; 07:43, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::I didn&#039;t take it personally and was just trying to make you aware of your rewrite not doing the same like my script. Maybe you don&#039;t read in-world messages, as I had sent you a message thanking you for your rewrite and trying to point out the differences between the two. The script I had provided would check a link-set on whether or not it has glow. And yes, that would return a false result if avatars sit on it, but I thought nobody would use the script to check if a link-set is glowing while sitting on it, but I might be wrong and should have pointed that out in the description. So I see your point there and support your critique on that. However my script would return &amp;quot;glowing&amp;quot; for a prim if ANY number of faces have SOME glow (not 1.0, as you said it would do). Maybe you now understand my view when I see your rewrite as being more streamlined and easier to read, however you limit the script down in its original ability of detecting glow by forcing it to return positive only with all faces of a prim glowing. Anyway, I&#039;m not up for a fight and to be quite frank just too lazy for it, a builder inside of SL asked me if it&#039;s possible to detect whether or not there&#039;s a bit of glow on all prims inside a link-set of his build and I just felt like sharing my approach of writing a script for that. If that script doesn&#039;t meet wiki standards in terms of streamlining it towards being absolutely foolproof and readable for just about anybody, I&#039;ll have to refrain from doing so in future.--[[User:Kireji Haiku|Kireji Haiku]] 18:13, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::First I need to apologize, when I wrote my last comment I hadn&#039;t carefully reread your script, if I had I would have noticed your use of llCeil, which does as you point out return true for some glow. So my argument on that point is baseless. Between work and other obligations, I had forgotten about that aspect of the script and just went on my memory of what I thought the script was doing. As to fighting, I agree it&#039;s a waste of time and effort. However I hope you do continue to contribute to the wiki, every contribution is valuable as they grow the understanding and knowledge base of the community. Standards evolve and the content does as well, content has to be nurtured, given room to grow. Immature content just needs to mature is all; the only time stuff gets deleted is if it&#039;s factually inaccurate or needlessly repetitive. If I thought the contribution was trivial and obvious I would have stripped your name from it (attribution on one liners is blatant self ego boosting and makes the wiki look unprofessional).  The only reason I attached my name was so that you wouldn&#039;t be forced to shoulder the costs of supporting code that you did not write. Please don&#039;t take away from this that your contribution was without value, or that I had no respect for it or you.&lt;br /&gt;
&lt;br /&gt;
:::I should mention the reason for my terse comment in the edit was for a simple reason: I couldn&#039;t be verbose with the text limits of the field. &lt;br /&gt;
&lt;br /&gt;
:::As to messaging me, all my IMs get sent to an email account I rarely check, I only ever go inworld to keep my accounts active and go to meetings (pretty rare) because my internet connect is total suckage. I had no idea you IMed me; for all correspondence I use the wiki and email. &lt;br /&gt;
&lt;br /&gt;
:::You would be quite ticked at me if I were to describe my scripting habits with regards to code I post. I know I was when I saw people do what I do, but I don&#039;t really have the option. It&#039;s an ROI equation, should I make possibly buggy contributions or make no contributions at all? I wish I weren&#039;t forced to make the choice. If I weren&#039;t here doing this who would take up the mantel? Who would look after the templates? It would avoid problems like this maybe but would the community be better off? I honestly don&#039;t know but I suspect not.&lt;br /&gt;
&lt;br /&gt;
:::If you&#039;re still reading, what changes or improvements would you like to see made to the documentation? An upcoming project is to incorporate collapsible sections into the documentation, I&#039;m just not sure yet how to do so, I could do with some input. I haven&#039;t called for input from the community yet because I haven&#039;t rolled out the new Constants template yet (which will revolutionize the {{LSLGC|PrimitiveParams}} documentation). Given the potential of collapsible sections we are at a point in time where we should consider redesigning the documentation from the ground up. Maybe a contest? -- &#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; 22:33, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::P.S. Does it work as it did before now? -- &#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:48, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Hi, no it doesn&#039;t. The first problem is your thing with the double exclamation mark, that always returns 1 for me. And the second being you&#039;re still stuck with [PRIM_GLOW,ALL_SIDES], you don&#039;t do a loop through the sides. I will post a re-do of mine again, if you find a way to do what you wanted to do with the double exclamation mark thing, let me know.[[User:Kireji Haiku|Kireji Haiku]] 21:16, 17 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::&amp;lt;code&amp;gt;!![[llGetLinkNumber]]()&amp;lt;/code&amp;gt; returns 1 for multiprim objects or 0 for single prim objects; It&#039;s logically equivalent to &amp;lt;code&amp;gt;llGetLinkNumber() != 0&amp;lt;/code&amp;gt; however it requires less bytecode to express (you would not be without base to berate me for perpetrating this optimization/shorthand in an example script). You shouldn&#039;t need to loop through the sides, by using [[ALL_SIDES]] it should return a list containing the glow values for every side of the prim (not a very useful feature, in most cases uses it&#039;s better to loop through the sides). We then feed that list to the list stat function to get the max. I&#039;ll see if I can log in later to test it but right now I really need to fix the LSL documentation templates (the wiki upgrade broke at least one template, which in turn broke a lot of the LSL documentation; I&#039;m trying to both find and fix the broken templates; and I don&#039;t know the precise cause). -- &#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:37, 17 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::Fixed it finally, thanks again for the ideas and the input. &amp;lt;code&amp;gt;!![[llGetLinkNumber]]()&amp;lt;/code&amp;gt; doesn&#039;t seem to work, I know exactly what you&#039;re trying to do by writing it that way, but that always returns 1. Have tested it. And your return was a bit too fast to return a result, wouldn&#039;t wait until the end. If you can simplify it even further, go ahead. That&#039;s as far as I could get.[[User:Kireji Haiku|Kireji Haiku]] 21:12, 23 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::::Is &amp;lt;code&amp;gt;!![[llGetLinkNumber]]&amp;lt;/code&amp;gt; returning one for a single prim object with no avatars sitting on it? That is the only time it should return zero. A single prim object with a seated avatar should return one. As to the early exit, once we find a prim with no glow, we can exit without checking the other prims. Logically speaking, we do not need to know precisely what the minimum is, just if it is less than or equal to zero. So instead of calculating the minimum we can exit as soon as we know the minimum is going to be less than or equal to zero. We know it will be less than or equal to zero if we have a value that is zero or less. The code should exit as soon as it knows the answer so as to not waste simulator resources (after all we need to encourage responsible coding). -- &#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; 05:08, 25 December 2010 (UTC)&lt;br /&gt;
::::::::Personally, I would prefer that examples intended to educate and demonstrate functionality NOT have obfuscating optimizations in them, unless the purpose of the example is to demonstrate such. It makes it harder for non-gurus to understand what is going on in the script, thus limiting the &amp;quot;educational value&amp;quot; of the example and obviating the purpose which it was intended. That said, I do believe it is important for people to know about them as well as how/when to use them, but I also believe teaching good programming habits is also valuable. (I don&#039;t know if the script in question qualifies as such; just wanted to point this out since it came up as an ancillary issue) [[User:Talarus Luan|Talarus Luan]] 07:35, 15 January 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Help with template issue ==&lt;br /&gt;
&lt;br /&gt;
Hi Strife,&lt;br /&gt;
I&#039;m hoping you can help to shed some light on a problem we have just discovered that has started to occur since we redployed the wiki yesterday.  The symptom is that SOME pages, e.g. [[LlKey2Name]] display differently when you are not logged in versus logged in.  Compare&lt;br /&gt;
* Logged in: http://screencast.com/t/e3K85IGni&lt;br /&gt;
* Not logged in: http://screencast.com/t/4OwWfihvhi&lt;br /&gt;
I &#039;&#039;think&#039;&#039; that this may be happening due to issues around templates, which is why I am contacting you.  However, I don&#039;t really know the cause.   The strange thing is that most other LSL function pages appear to display just fine when you are logged out; so there must be something in that page causing an issue.  We would greatly appreciate any help!  P.S. Here is the whole list of known issues: [[Second Life Wiki Known Issues]].&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
--[[User:Rand Linden|Rand Linden]] 17:15, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I think it was generated before the extensions were installed. I purged the page (?action=purge) and it now renders properly for me (though I did see it the way you described but only when i was not logged in). It&#039;s weird. -- &#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:22, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Maybe the cache just needs to be invalidated? -- &#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:24, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Some triangulation: &amp;lt;nowiki&amp;gt;|constants={{LSL Constants/PrimitiveParams|get}}&amp;lt;/nowiki&amp;gt; does &#039;&#039;not&#039;&#039; cause trouble on a test copy of llSetLinkPrimitiveParams, &amp;lt;nowiki&amp;gt;|constants={{LSL Constants/PrimitiveParams|set}}&amp;lt;/nowiki&amp;gt; triggers the bug. Off to try on simpler stuff to see if there is a consistent pattern of some kind ... --[[User:Cerise Sorbet|Cerise Sorbet]] 21:47, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::The cache is not invalidating or refreshing. Check the mod date at the bottom of [[http://wiki.secondlife.com/wiki/LlSetLinkPrimitiveParamsFast]] and [[https://wiki.secondlife.com/wiki/LlSetLinkPrimitiveParamsFast]]. They are different. If you go into the history page and look at a previous version it will displays properly because it doesn&#039;t have a cached version but if you look at the current version (even with the version number, it does not display properly). Not even action=purge can budge it. A possible explanation is that the PrimitiveParams article is causing it to time out during rebuild. The new version of the template I&#039;m hoping to get done by new year should be more sane and less time consuming (we hope). -- &#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; 22:00, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I thought it was only cache too but more appears to be going on. [[llKey2Name]] is displaying OK with a pair of Issue templates commented out. --[[User:Cerise Sorbet|Cerise Sorbet]] 22:22, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::The time issue I was seeing was caused by me having my account report the times in GMT+5 (which is weird seeing as i&#039;m GMT-5) -- &#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; 22:31, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve had a thought, I think it might have something to do with how bugs are duplicated (in both Issues and Important Issues). It looks to be the difference between the Get and Set primitive Params functions (Get are too new to have any flag bugs). -- &#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; 22:42, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::It&#039;s not [[Template:Issues]] that is doing it, it&#039;s something about [[Template:Issue]]. I have this terrible feeling it&#039;s a problem with how #switch is parsed. When are we getting the new parser function extension? -- &#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; 22:55, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Oh it&#039;s definitely [[Template:Issue]]. I can&#039;t access it when logged out. -- &#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; 22:55, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::I&#039;ve disabled the code that detects if an issue is a bug, which appears to have fixed [[llKey2Name]]. -- &#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:14, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: #switch is not the cause, just the trigger. Maybe it&#039;s content duplication that is the problem? -- &#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; 22:28, 17 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Mediawiki 1.14 added a |link= option for Image: tags. This would let you skip the imagemap for most uses that don&#039;t really need coordinates. --[[User:Cerise Resident|Cerise]] 03:38, 18 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: There is a god ^_^ thanks for the tip. I&#039;ll deploy it post hast. -- &#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; 03:40, 18 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: Thanks so much for tracking this down, Strife and Cerise!  This move/upgrade has certainly been more problematic than we expected.... :-(&lt;br /&gt;
:::--[[User:Rand Linden|Rand Linden]] 19:05, 19 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::: They always are more problematic than anticipated. I&#039;m sorry I didn&#039;t pay more attention to it earlier, I did notice the blanking on the test wiki briefly but not the common factor (since I spend all my time logged in, the first thing I always do when I connect is log in). I spent my time looking at differences between the highlighting. Never thought to look for differences between HTTP &amp;amp; HTTPS. -- &#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; 19:30, 19 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Different versions of UTF-8 libraries ==&lt;br /&gt;
&lt;br /&gt;
Hi Strife, it seems that there are two different versions of both UTF8ToUnicodeInteger() and UnicodeIntegerToUTF8() at [[Combined_Library#Unicode_functions]] and [[UTF-8]]. Maybe those could be moved to a template - or just manually synced as you feel appropriate. --[[User:Opensource Obscure|oobscure]] 03:17, 2 May 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
There is a good point. Will do. -- &#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; 09:12, 12 May 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Issues/SCR-137 ==&lt;br /&gt;
&lt;br /&gt;
Sorry for [[Template:Issues/SCR-137]], force of habit since most of the time I&#039;m suggesting new functions that aren&#039;t on the wiki, rather than changes to existing ones ;) -- &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Haravikk_Mistral|Haravikk]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Haravikk_Mistral|talk]]|[[Special:Contributions/Haravikk_Mistral|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:43, 9 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:No need to apologize. In my diminished capacity these days (being cut off from SL due to network restrictions for such a long time) there is little I can do besides act as editor, and theoretical scripting. So you gave me something to do. -- &#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; 09:10, 9 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== llCastRay Docs ==&lt;br /&gt;
&lt;br /&gt;
Thanks, Strife. Your improvement to the llCastRay docs look great.&lt;br /&gt;
&lt;br /&gt;
[[User:Falcon Linden|Falcon Linden]] 11:57, 1 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== User Functions ==&lt;br /&gt;
&lt;br /&gt;
Heya Strife,&lt;br /&gt;
Could you give me a headsup how the wiki format for Mode=User LSL Functions are meant to be used like?&lt;br /&gt;
&lt;br /&gt;
https://wiki.secondlife.com/wiki/Interpolation/Linear/Float&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure why I can&#039;t get rid off the &amp;quot;Deep Notes&amp;quot; section, which seems sorta empty and useless?&lt;br /&gt;
&lt;br /&gt;
[[User:Nexii Malthus|&amp;lt;span style=&amp;quot;color: #111; text-shadow:-1px -1px #ddd, 1px 1px #888;&amp;quot;&amp;gt;Nexii Malthus&amp;lt;/span&amp;gt;]] 11:48, 17 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Sure -- &#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; 13:36, 18 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Video Documentations / Tutorials ==&lt;br /&gt;
forgot who the king of confirming stuff on this wiki is, I haven&#039;t been an editor for like a year or two if you remember me or not, but I thought I might add video documentations and tutorials on functions that could be confusing on the wikis page, so I guess the question is how should I add the videos, should I add a new category or just put it in the examples category, and if video documentation is a good idea toward you, since you are the #1 editor on this wiki haha, and I know nothing about style D:&lt;br /&gt;
--&amp;lt;b&amp;gt;--&amp;lt;/b&amp;gt;[[File:Uglehsig.png|53px|link=User:Ugleh_Ulrik]]([[User_talk:Ugleh_Ulrik|talk]]) 19:45, 11 October 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m tickled that you would consult me but I really have no idea on this one. I think it&#039;s a great idea and until we get more of them to get a feel as to how they can be best incorporated into the documentation, they can be included any way you see fit. I might suggested posting the question to the script forums and mailing list (if you do, maybe post a link so I can follow along?). I can imagine putting them in See Also, Examples, Deep Notes, Helpers, Specification (maybe?), Newbie Notes, Notes. I have trouble seeing them in the Summary/Description, Caveats or Constants. Maybe float them on the right (like in [[PRIM_MATERIAL]])? Keep up the good work. ^_^ -- &#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; 12:21, 12 October 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Hi ==&lt;br /&gt;
&lt;br /&gt;
Just caught the comment over on the blog and wanted to say hi. I haven&#039;t left, just withdrawn from the official forums. Actually I hopped over to SLU, although their scripting forums are dead as doornails, so I&#039;ve been amusing myself in their PRS section. Sent in an NDA for the latest inworld beta review project, no reply yet ::shrug:: hope all is good on your end, and was pleasantly surprised you stopped by. Cheers&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; 07:52, 22 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
: Things are going well here. beta? do they have a page describing it anywhere? I always loved betas. I stay mostly here on the wiki, wish I could get in world more, I hate writing documentation without being able to test the functionality. -- &#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:22, 22 December 2011 (PST)&lt;br /&gt;
:P.S. You are a braver soul than I to go into PRS.&lt;br /&gt;
&lt;br /&gt;
No wiki page that I&#039;m aware of, e-mail invitation letters (which seem to have been dispersed to many forumites, and turned down by a few) describe it as pre-release feedback review, of what specifically, I couldn&#039;t say (even if I knew yet). I&#039;ll ask if they&#039;ll bounce you a late entry since you seem interested. and yeah PRS is madness, but I&#039;m largely word-proof so the invective is more like warm glow instead of singing flame for me, something to kill break time. happy new years and all that jazz&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; 10:00, 26 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
:Thank you for offering but It&#039;s better if you don&#039;t. I wish I could thou I have no time (nor the internet connection) for it. If they sent me an invitation I&#039;d feel obliged to accept and then not be able to do it justice. -- &#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:55, 26 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
Understood, I&#039;ll try to remember to ping ya when it goes live then, could be a bit, dunno quite how far they are out on it. &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; 16:22, 27 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== http_response event only be triggered for the originating script or triggered for all scripts ==&lt;br /&gt;
&lt;br /&gt;
Hello Strife,&lt;br /&gt;
&lt;br /&gt;
I just read the [http://wiki.secondlife.com/w/index.php?title=LlHTTPRequest&amp;amp;diff=1157547&amp;amp;oldid=1157508 note] you added concerning [[llHTTPRequest]].&lt;br /&gt;
Although this is of course a sane behavior, I was a bit surprised when I read it because I knew it wasn&#039;t the case before, I also have some script that depends on the old behavior and I didn&#039;t received any complaints concerning them.&lt;br /&gt;
So, I&#039;ve just checked and I can confirm that, at least on my home sim which use the main server version, the event is still triggered on all scripts of the object which made the request.&lt;br /&gt;
&lt;br /&gt;
By pure curiosity, I wonder if you have any additional information about this change.&lt;br /&gt;
&lt;br /&gt;
Many thanks,&lt;br /&gt;
[[User:Elena Bouscario|Elena]] 11:45, 11 February 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I have no information on this unfortunately. My edit was a rewrite of the [https://wiki.secondlife.com/w/index.php?title=LlHTTPRequest&amp;amp;diff=1157508&amp;amp;oldid=1153608 previous edit] so that everything would read more clearly. Sounds like both edits should be reverted. -- &#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; 10:45, 12 February 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== capturing caveats in constants pages? ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m trying to figure out the proper way to include a caveat in the [[DEBUG_CHANNEL]] and [[PUBLIC_CHANNEL]] pages, so that it properly inserts into articles referencing those two pages. The caveat is as follows&lt;br /&gt;
* Messages on channel_name are throttled to a rate of &amp;lt;200/2sec, per region, per owner/user.&lt;br /&gt;
** Once the rate is exceeded, all messages on channel_name will be dropped until the send rate is again below 200/2sec for the previous 2 sec.&lt;br /&gt;
not quite sure how to go about it though?&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; 23:27, 21 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;d be inclined to work it into [[Template:LSL_Function/chat]] as well. No time now (and likely won&#039;t be able to see later, going to the eye doctor). -- &#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; 08:30, 22 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Arrg it&#039;s a rats nest. I&#039;ll work on it later. -- &#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; 08:31, 22 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve put it in the template so now it&#039;s now everywhere... but still needs some tweaking. back later -- &#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;&lt;br /&gt;
&lt;br /&gt;
Thanks, didn&#039;t mean to give you headaches over it =( I&#039;ll take a look at how you did it so maybe next time I can sort it myself&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; 21:47, 22 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:It wasn&#039;t as bad as I thought it would be, no worries. -- &#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; 08:48, 23 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== llGetTime/llResetTime ==&lt;br /&gt;
I saw you made a distinction between Mono and LSO for whether or not it&#039;s affected by dilation. However, empirical evidence doesn&#039;t seem to support this.  While this may have been true in the past, it doesn&#039;t seem to be anymore. [[User:Darien Caldwell|Darien Caldwell]] 11:08, 13 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:That is great. :) I&#039;ll revert it. -- &#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:20, 13 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Another world, another wiki ==&lt;br /&gt;
&lt;br /&gt;
I don&#039;t suppose you have any tips for a budding documentor? I&#039;m just learning mediawiki, and started function documentation over at Cloud Party (I didn&#039;t create the templates) http://wiki.cloudpartytime.com&lt;br /&gt;
BTW, do you use avisynth, or work on wiki docs for it? Still enjoy tinkering with avisyth scripts! [[User:Phate Shepherd|Phate Shepherd]] 16:43, 16 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m sorry it&#039;s been taking me so long to respond, I&#039;m working on articulating the my thoughts. I haven&#039;t forgotten you. I want to do the questions justice. Watch this space for an update soon.  -- &#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:29, 19 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
::No worries... So much to do and learn here! Thanks![[User:Phate Shepherd|Phate Shepherd]] 22:06, 21 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I had a partial response all ready written and then my computer crashed. Here is a reconstruction:&lt;br /&gt;
:# Find some documentation you really like, and copy it&#039;s good features. Find some bad documentation and figure out what you don&#039;t like.&lt;br /&gt;
:# Write a mission statement for you wiki based documentation project. It should be short and concise. Then write a longer description after it as to what it means. As a matter of course your project will attract people sooner or later who won&#039;t share your vision. Having something in writing you can beat them over the head with will help reduce the toll the drama will have upon you. I&#039;d give you more advise along these lines but it might be too specific and never crop up (it&#039;s the subtle difference between keeping a loaded gun and keeping a loaded cross bow that shoots wooden stakes). Be sure to have a well spelled out contribution policy, specifically content must be licensed under a wiki specified license but that doesn&#039;t mean the author cannot dual license it under another license if they so choose (they just can&#039;t choose to not license it under the wiki license).&lt;br /&gt;
:# Don&#039;t feel you need to do everything. You are a volunteer. You volunteer. You do it for free. You aren&#039;t obligated to do anything. It&#039;s not like they are paying you. So when you feel stressed, that it is going to hell, remember this, take a deep breath and relax, if they want to avert catastrophe they can spend money. If the catastrophe can&#039;t be averted with money then there is nothing you could do about it, so there is no reason for you to be stressed about it. It&#039;s not your problem.&lt;br /&gt;
:#* I have many wiki projects, in various states of completion. Some have been in the works for years, that is to say, I haven&#039;t really done anything with them for a considerable amount of time.&lt;br /&gt;
:# If you want something done, you will probably have to do it yourself. You won&#039;t be able to convince anyone else to do it. {{LSLGC|Needs_Example}} grows, it doesn&#039;t shrink.&lt;br /&gt;
:# Engage your community. Ask them what they want out of the documentation. Ask them how to make it better. This will encourage them to help you. Be prepared to hold their hands and show them how to edit the documentation. This is how you cultivate contributors. This is how you cultivate a contributor community.&lt;br /&gt;
:# The quality of documentation is determined by the audience. You should choose an audience to server and put that in your mission or goal statement. Serving a diverse audience is going to require negotiating some very complex tradeoffs.&lt;br /&gt;
:#* The LSL documentation have [[LSL_Portal_Guidelines|mission and goal statements]] that are at odds with each other. The type of help a beginner needs is not the same as that of an expert. A beginner needs it simple, an expert needs it precise. The solution is a layout that tries to divide the problem into manageable chunks. However getting that solution realized has been difficult.&lt;br /&gt;
:# If you have an issue tracker, add links in your documentation to pertinent issue in the tracker. Update them on a regular basis. If you can make it auto-update.&lt;br /&gt;
:P.S. Those templates are cool. I&#039;ve been trying to mimic some of those features for years (not impossible but I run the risk of killing the wiki).&lt;br /&gt;
:-- &#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:10, 27 September 2012 (PDT)&lt;br /&gt;
::Thanks for taking to the time to write that out... I&#039;ll try and take it to heart. As for the &amp;quot;Find a wiki you like....&amp;quot; Well, that&#039;s why I came to you ;-) [[User:Phate Shepherd|Phate Shepherd]] 12:58, 28 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== [[Hierarchics]] Reboot ==&lt;br /&gt;
Yeah, well, I had tested a modern slaveless version several times over. But each time I still hit significant performance issues.&lt;br /&gt;
I had instead started using newer techniques for achieving realtime high performance animated skeletons, see:&lt;br /&gt;
http://youtu.be/mZvV-1Ghxt0&lt;br /&gt;
http://youtu.be/KwFdahxZp7M&lt;br /&gt;
Unfortunately it is hard to document the scripting process, as it means using global variables for each part in the skeleton and using batched input-process-render stages. --[[User:Nexii Malthus|&amp;lt;span style=&amp;quot;color: #111; text-shadow:-1px -1px #ddd, 1px 1px #888;&amp;quot;&amp;gt;Nexii Malthus&amp;lt;/span&amp;gt;]] 08:05, 7 October 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== LSL Tip ==&lt;br /&gt;
Hiya, so what about the [[Template:LSL Tip]] template? Are you gonna keep the warning text? We could use the [[Template:KBcaution]] or [[Template:KBtip]] templates instead. -- [[User:Kireji Haiku|Kireji Haiku]] 03:27, 18 October 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I like both of those. Lets go with [[Template:KBcaution]] for now. -- &#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; 22:14, 18 October 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:P.S. Added bonus: those templates were internationalized already.&lt;br /&gt;
&lt;br /&gt;
== Any idea why embedded video (youtube or vimeo) is not showing? ==&lt;br /&gt;
&lt;br /&gt;
Hiya Strife. Hope this finds you well :-)&lt;br /&gt;
&lt;br /&gt;
On [[User:Fred_Gandt/Tuition|Fred_Gandt/Tuition]] and even [[Torley]]&#039;s pages, embedded videos are not showing up for me. Is it just me (using Chrome on Win7)? &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 00:54, 2 November 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Seems to  be working for me. Even the one on my user page. It&#039;s probably something to do with chrome. -- &#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:58, 2 November 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Meh. I&#039;ll try clearing some cookies and stuff. Thanks for checking and confirming it&#039;s at my end. &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 02:31, 2 November 2012 (PDT)&lt;br /&gt;
::Chrome is flagging all youtube vids embedded using &amp;lt;nowiki&amp;gt;&amp;lt;videoflash&amp;gt;&amp;lt;/nowiki&amp;gt; tags as &amp;quot;insecure&amp;quot;. Can someone get at the parser and set it to use https instead of http? &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::I was about to ask Torley to take a look at the issue, but found he is off doing something else. I&#039;m assuming you can act as an admin around here. Shit! You pretty much run the place :-)&lt;br /&gt;
::So when viewing the wiki under https, all videoflash is regarded as insecure. The issue is in [http://www.mediawiki.org/wiki/Extension:VideoFlash the mediawiki extension]. All the protocols are hard wired to http, so on a secure page, they are poop. I&#039;d suggest (if possible) relative protocols or at least selective rewriting to allow https where available. YouTube is definitely available secure, and I think vimeo is too. Obviously hard wiring them (so to speak) as https would mean that https wiki pages would be happy and http wikipages wouldn&#039;t care one way or the other.&lt;br /&gt;
::Why does it matter? Videos are missing if a viewer&#039;s browser blocks the content. I took the time to find it, whilst others might not. Also: insecure content on a secure site is just poor practice.&amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 10:32, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Request from inworld teacher ==&lt;br /&gt;
&lt;br /&gt;
Would it be possible to encourage new users to append &amp;quot;better&amp;quot; versions at the bottom on users pages?   Recently many of the pages I use for teaching classes have been &amp;quot;improved&amp;quot; which results in material which doesn&#039;t match our class notes, and in one case totally wiped out homework we give to see if students understand the concepts just taught! I am not talking about the LSL-101 pages which are in the shared userspace of the wiki.  I am talking about my own user pages.  I can see that we have a new enthusiast who wishes to fix everything all at once, but can I beg for discussion instead of reversions to user pages?  Different people use their pages for different reasons.  I am sure that many if not all of these script changes are excellent, but without an explanation to student users it&#039;s like changing a telegraph to a cellphone.  It&#039;s &amp;quot;better,&amp;quot; but incomprehensible.&lt;br /&gt;
&lt;br /&gt;
In reviewing all my pages, I found a part where you changed things like &#039;&#039;for (i = 0; i &amp;lt; c; i = i + 1)&#039;&#039; to &#039;&#039;for (; i &amp;lt; c; ++i)&#039;&#039; which is fabulous, but without an explanation that the two are the same, most of the free scripts in SL just became incomprehensible to someone trying to teach themselves without a formal scripting background.  My classes are aimed at the non-scriptor.  Please when you make higher level changes on my user pages, please leave both versions and maybe explain why they are same/different?  We have avid learners, but most of this wiki is like trying to read ancient Greek with a Russian translator.&lt;br /&gt;
&lt;br /&gt;
I always thought in a wiki that &amp;quot;user&amp;quot; pages were allowed to the users to edit, with the &amp;quot;talk&amp;quot; or &amp;quot;discussion&amp;quot; pages being where to argue out the fine points.  Maybe I&#039;m wrong, but I would appreciate it if people would do what you do, make small changes at each edit, else append changes instead of wiping out whole scripts which match inworld classnotes, some of which date back to Eric Linden.  [[User:Toady Nakamura|Toady Nakamura]] 09:39, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I and [[User:Daemonika Nightfire|Daemonika Nightfire]] had our user pages defiled too. I recommend reverting and asking Kireji to back the F**k off. But then I&#039;m not very political. &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 09:51, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::I&#039;m thinking a conversation about the semi-sanctity of userpages is in order. It&#039;s gone further then I would have gone with it. -- &#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; 10:10, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I try to not mess with code unless I&#039;m fixing a (logical) bug in the code or a gross inefficiency. Programming style is something I view as a personal preference and I would only mess with if I were fixing something major. People are attached to their user pages and take particular interest in controlling them so I try to turn a blind eye to them.&lt;br /&gt;
&lt;br /&gt;
:As to the public tutorials, they are public and subject to change. Positive change is a good thing, negative change is not. The only thing I can offer is to use the permanent link button so you always get the same revision. As you say without an explanation somewhere that &#039;&#039;for (i = 0; i &amp;lt; c; i = i + 1)&#039;&#039; to &#039;&#039;for (; i &amp;lt; c; ++i)&#039;&#039; are often the same, how are people to know. This is precisely the sort of thing that needs to go in the tutorials. Or at least in the article on [[for]].&lt;br /&gt;
&lt;br /&gt;
:I do recognize that most of the language of the wiki is technical. There are places (entire sections) for less technical language but they aren&#039;t documented and the project lacks a champion. History has demonstrated that while I am open to the concept of having it in the documentation, I cannot write that aspect of the documentation. Find me someone who is driven to write readable documentation and I&#039;ll bend over backwards to find space for it in the documentation (You might want to look at [[llSetColor]]) -- &#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; 10:10, 4 November 2012 (PST).&lt;br /&gt;
&lt;br /&gt;
:P.S. Maybe we need a list of pages that are too opaque and in need of improvement.&lt;br /&gt;
:P.S.S. Remember this is a wiki, if we agree, we can change everything. Nothing is sacred. The only limits are our imagination (and what the wiki can handle before it implodes). -- &#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; 10:13, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::I am inclined to defer to Wikipedia etiquette for no lesser reason than Wikipedia is the daddy of wiki&#039;s and gets it done (however anal it may be). See [http://en.wikipedia.org/wiki/Wikipedia:User_pages#Ownership_and_editing_of_user_pages guidelines on ownership] and (same page)[http://en.wikipedia.org/wiki/Wikipedia:User_pages#Editing_of_other_editors.27_user_and_user_talk_pages common practices specific to editing userspace pages]. Clearly if &amp;quot;the project&amp;quot; is the SL wiki, userspace pages would therefore feature in much the same way as they do on Wikipedia. Where tuition (especially) is concerned, scripts and examples are difficult to regard in the normal sense. Scripts written to show poor or extremely simplified methods may be valid. Large amounts of comments would also be perfectly acceptable.&lt;br /&gt;
::More importantly; scripts on user pages here are copied and used by people inworld, and how well (or badly) they perform reflects on the writer. I (for example) state that I do my best to make sure the scripts function correctly (although I don&#039;t get inworld much anymore and there may have been significant changes that cause some of my scripts to go wronger than they used to). I can&#039;t claim to have made every effort to ensure the workingnessability of a script if someone has come along and changed it!!&lt;br /&gt;
::Moreover; It&#039;s a matter of common courtesy. Sure we don&#039;t own the pages, but seriously?!?&lt;br /&gt;
::If you visit a public building and another visitor comes along and pulls the rug out from under you, is that acceptable? It doesn&#039;t really matter who owns the pages. It&#039;s what they are that matters. They are predominantly used as a repository for user created content that is being given away or as examples.  As [[User:Daemonika Nightfire|Daemonika Nightfire]] said when discussing [[User:Kireji Haiku|Kireji Haiku]]&#039;s edits, she doesn&#039;t want to have to learn how her scripts work if someone asks her about them.&lt;br /&gt;
::I get emails now and then from people who want me to change features of some of my scripts for custom projects. If I came to grab a copy and found it wasn&#039;t what I wrote, but the other user though it was, I would have to either learn the new version or explain that someone else wrote it.&lt;br /&gt;
::If someone else wrote it, why the f**k is it on my user page with a heading exclaiming that I did?!&lt;br /&gt;
::&amp;lt;s&amp;gt;If it&#039;s decided that user pages (other than talk pages) can be freely edited by all and sundry, then I will ask that all my pages be deleted. Sounds precious? Try again.&amp;lt;/s&amp;gt;&amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 10:58, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
My two cents are on the topic are on [[User talk:Kireji Haiku|my user page]]. -- [[User:Kireji Haiku|Kireji Haiku]] 12:10, 5 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Table within table?! ==&lt;br /&gt;
&lt;br /&gt;
Hi, I wanted to put a side-by-side comparison table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; width=&amp;quot;100%&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Method one: returns float within (5.0, 10.0]&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Method two: returns float within (5.0, 10.0]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        float randomFloat = 10.0 + llFrand(-5.0);&lt;br /&gt;
&lt;br /&gt;
        llSay(PUBLIC_CHANNEL, randomFloat);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        float randomFloat = 10.0 - llFrand(5.0);&lt;br /&gt;
&lt;br /&gt;
        llSay(PUBLIC_CHANNEL, randomFloat);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
into the example section on the [[llFrand]] page. As far as I understand, that would be a table within a table, yes? Is it possible, if so how? -- [[User:Kireji Haiku|Kireji Haiku]] 10:19, 9 November 2012 (PST)&lt;br /&gt;
:Ok, I can rip the html code off the template. Any other way with the wiki markup? -- [[User:Kireji Haiku|Kireji Haiku]] 11:52, 9 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::To do tables within tables I think you need to escape the pipes. Or that is how we use to do it when it was called for (they may have fixed that bug in mediawiki ages ago). Use &amp;lt;nowiki&amp;gt;{{!}}&amp;lt;/nowiki&amp;gt; it&#039;s a specalized template for this exact purpose. -- &#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:27, 19 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Entry level information on LSL wiki pages ==&lt;br /&gt;
&lt;br /&gt;
Hello again. I spent time over the last month looking at the &amp;quot;newbie Notes&amp;quot; as the example you provided on llSetColor.  While I have the skill set to edit for this wiki at that level, I have found myself hesitating to start anymore &amp;quot;newbie Notes&amp;quot; because:&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;Newbie&amp;quot; is not necessarily a nice word.  I feel that people seeking entry level material should not be categorized with a pejorative. &lt;br /&gt;
&lt;br /&gt;
*The extra set of pages eg: llSetColor Main Page and llSetColor Basic Notes would create a parallel and confusing architecture.&lt;br /&gt;
&lt;br /&gt;
I would like to suggest that instead of erecting a duplicate set of pages for all of the nearly 300 Linden Library functions and some dozens of events, that a section at the bottom of each function page be started for &amp;quot;entry level notes.&amp;quot;  After scrolling through the first page or two, any new user would rapidly find the &amp;quot;expert section&amp;quot; and the &amp;quot;entry level section&amp;quot; tucked at the bottom of the main page.  &lt;br /&gt;
&lt;br /&gt;
If that would be agreeable to you, I would be happy to undertake entry level editing of functions and events pages as time permits.  [[User:Toady Nakamura|Toady Nakamura]] 09:48, 7 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m not exactly sure what notes are &amp;quot;newbie notes&amp;quot; (can&#039;t recall ever seeing any) but I partially agree with your apprehension about the pejorative.&lt;br /&gt;
:I personally don&#039;t find the word anything but honest, although I can imagine some feeling it derogatory or exclusive.&lt;br /&gt;
:Regarding &amp;quot;Entry level&amp;quot; notes: I feel that every page should start out (top to bottom) with entry level information, leading through examples to higher level notes.&lt;br /&gt;
:I don&#039;t think a generic technical description should be then followed by notes for people who (by implication) didn&#039;t understand it, then notes for people who understood it but need more.&lt;br /&gt;
:I&#039;d be all in favour of pages being custom built to suit the subject, utilizing an info-box for the technical break-down, whilst the rest of the page is lane out in a less uniformed, and more uniquely useful style.&lt;br /&gt;
:Consider the difference between e.g. [[llSay]] and [[llHTTPResponse]]. Anyone reading the wiki to learn about llSay, will almost certainly need the subject explained in simple non-technical terms, than someone reading the entry for llHTTPResponse. Both should contain all the same (relative) information, but the style and flow of how that information is presented should reflect the individual case at hand.&lt;br /&gt;
:The difficulty in deciding to make special notes for special people is, who decides who is special?&lt;br /&gt;
:An expert programmer in another language would need a completely different set of &amp;quot;newbie notes&amp;quot; to someone who knew jack shit about programming. The former would need the technical details about this weird language explained (such as arbitrary delays), whereas the later wouldn&#039;t know why that needs explaining (they&#039;d more likely just accept it). They would however need to know what comma separating function arguments is all about.&lt;br /&gt;
:What would probably work best, is something that is unlikely to be done. If every page was rewritten two more times, and supplied alongside the original, users could choose to read the &amp;quot;simple&amp;quot;, &amp;quot;standard&amp;quot;, or &amp;quot;advanced&amp;quot; page of each subject.&lt;br /&gt;
:*The &amp;quot;Simple&amp;quot; could be written as if talking to someone with little technical knowledge of programming. Lane out as a step by step tutorial.&lt;br /&gt;
:*The &amp;quot;Standard&amp;quot; would remain pretty much as they are now.&lt;br /&gt;
:*The &amp;quot;Advanced&amp;quot; could be written in a more terse tech heavy way, nailing the specifics and leaving out the fluff.&lt;br /&gt;
:Anyway; I&#039;m not really around so much these days, so my input isn&#039;t perhaps very suitable (but I was basically invited to comment).&amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 18:31, 7 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::As an aside: Newbie Notes was a compromises, we had an editor who wanted to write notes for new users, name the section after himself, and maintain strict editorial control over it. It didn&#039;t go anywhere after that.&lt;br /&gt;
::My issue with customized layouts is that it makes finding information within the articles more difficult. Instead of jumping to the content your interested in, you have to read all of it and it&#039;s not in the same place between articles.&lt;br /&gt;
::As you say, deciding which content goes where is difficult when you don&#039;t know where anything about your reader. A solution could be to query the user. You would go down a list of radioboxes self reporting your knowledge in a set of compatible disciplines and it would include the required prerequisites and choose the shortest route to understanding, if not attained you could tell the system to broaden it&#039;s scope and include more information from the parallel paths. It sounds like it would be really interesting to build. Not really doable with mediawiki :( &lt;br /&gt;
&lt;br /&gt;
::We are doomed to fail if we can&#039;t automate the problem, this solution just doesn&#039;t scale. We can&#039;t personalize the documentation enough. People are too unique. We risk bloating the documentation too much or making it too large to manage.&lt;br /&gt;
&lt;br /&gt;
::I don&#039;t consider it insulting but I&#039;m not attached to the name. Can&#039;t please everyone. Maybe name it something like &amp;quot;The Basics&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
::As to [[User:Toady Nakamura|Toady Nakamura]]&#039;s suggestion I&#039;m all for it. If you want dedicated sections, give me an idea as to where and I&#039;ll put them in and add the variables to the template.&lt;br /&gt;
&lt;br /&gt;
::The wiki creates an environment for breeding ideas. We need to foster that, it&#039;s why &#039;&#039;&#039;I&#039;m in favor of giving [[User:Toady Nakamura|Toady Nakamura]] the go ahead&#039;&#039;&#039;. Without new ideas coming in, all we have is stagnation. Our audience is ever changing, if we don&#039;t change we will become more and more irrelevant to our target audience. -- &#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; 22:24, 7 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:::I think it would be fine to put entry notes at the top, as that is the first place one would look - and newer users tend to only look at the top... on the other hand... telling new users to look at the bottom of each page for detailed information would have the additional benefit of not changing the top of page layout for users who are familiar with the pages as they are now.  So I vote for bottom of page, &amp;quot;Expert notes&amp;quot; and &amp;quot;Basic notes&amp;quot; on each page.  And it would be lovely to have it in the template, then I could just go around and fix each page as I get to it.  And yes, Fred, great idea to start with llSay and the easy ones!   I will have more time for this project starting after Christmas and would be delighted to get going on it then! [[User:Toady Nakamura|Toady Nakamura]] 11:22, 19 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::::With the expert/basic modifier, this sounds like a forking of the Notes Section, that the notes section should be retired and born anew as these two sections. I&#039;ll work on the templates tonight. -- &#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; 13:00, 19 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== llHTTPResponse: ==&lt;br /&gt;
&lt;br /&gt;
Hey Strife,&lt;br /&gt;
your last edit on [[LlHTTPResponse]] didn&#039;t turn out as expected. The hover text doesn&#039;t show. I&#039;d have changed it, but not sure how. -- [[User:Kireji Haiku|Kireji]] 08:11, 9 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:It&#039;s working for me. What browser are you using? Are we talking about the hover in the description or for the wikipedia link? -- &#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; 08:24, 14 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::I&#039;m on Firefox 17.0.1 on Windows 7 x64 Ultimate. -- &#039;&#039;&#039;[[User:Kireji Haiku|Kireji]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Kireji_Haiku|talk]]|[[Special:Contributions/Kireji_Haiku|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 08:20, 1 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ll take a look at it down stairs (I have the same setup down there) tomorrow if I have the time -- &#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:17, 1 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
==IM via Wiki?==&lt;br /&gt;
Hello Strife. Is there any private Instant Messaging facility in SL Wiki?  [[User:Omei Qunhua|Omei Qunhua]] 03:13, 27 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:Nope but you can always IM me on [http://www.sluniverse.com/php/vb/members/strife.html SL Universe] or email my gmail address blindwander. -- &#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:42, 27 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Caveats in page LlGetAlpha are wrong. ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
can you maybe correct the Caveats in https://wiki.secondlife.com/wiki/LlGetAlpha&lt;br /&gt;
It says &amp;quot;If face indicates a face that does not exist the return is 0.0&amp;quot; which is incorrect, it always returns 1.0, see also https://jira.secondlife.com/browse/BUG-1256&lt;br /&gt;
I couldn&#039;t find out how to change it myself: )&lt;br /&gt;
&lt;br /&gt;
: I&#039;ve fixed it. I&#039;ll add it to the work queue to write some documentation for the [[Template:LSL Function/face]]. -- &#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; 22:39, 5 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== New version of file not showing for me... ==&lt;br /&gt;
&lt;br /&gt;
Hiya, so I uploaded a new version of &amp;lt;code&amp;gt;File:Lsl_syntax_for_notepad_plus_plus.png&amp;lt;/code&amp;gt; and it doesn&#039;t show on [[User:Kireji Haiku/Notepad++_Syntax_Highlight|the page where I put it]]. What did I do wrong? -- [[User:Kireji Haiku|Kireji Haiku]] 09:59, 6 March 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:Maybe it&#039;s your browser cache? The wiki likely isn&#039;t telling your browser that the image is stale. -- &#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; 11:34, 11 March 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::I moved the content to Github. To answer your question, the old version stayed even after clearing cache. Not sure why, though. [[User:Kireji Haiku|Kireji Haiku]] 07:52, 2 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== GeSHi for LSL on the wiki: ==&lt;br /&gt;
&lt;br /&gt;
Ok, I&#039;ll try to keep the story short. I tried contacting Torley, but he [http://wiki.secondlife.com/wiki/Project:About?diff=1173232&amp;amp;oldid=1146125 is not on the wiki team anymore], then I tried contacting Jeremy who seems to [[User_talk:Torley_Linden|have chosen to ignore the issue for more than half a year]]. I&#039;m talking about the LSL syntax highlight on this wiki. I&#039;ve found that this works over GeSHi and the mediawiki plugin. I contacted them there and provided a fix. Then was told I should provide the fix to GeSHi directly since it&#039;s third party software from their point of view. I provided the GeSHi team with a fix, too. Nobody really seems to be responsible for anything. So how do I get [https://github.com/buildersbrewery/lsl-for-geshi this up-to-date] file wherever so that syntax highlight is up-to-date on this particular wiki rather tomorrow than next year. [[User:Kireji Haiku|Kireji Haiku]] 07:53, 2 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Yeah I don&#039;t have a good answer for you, years ago I decided to just use a greasemonkey script to add the missing coloring. -- &#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; 19:20, 7 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Ok, so...what do we do now? I&#039;ve got a couple of highlighting files for LSL on [https://github.com/buildersbrewery?tab=repositories this github project page], which should all be up-to-date AFAIK. Do you want to work on this, or should I? If you want me to do it, let me know what I need. Maybe a copy of that greasemonkey script? [[User:Kireji Haiku|Kireji Haiku]] 02:32, 8 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::It&#039;s a client side thing. http://userscripts.org/scripts/review/28162 -- &#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:54, 9 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I&#039;ll take a look and see what I can do, thanks. [[User:Kireji Haiku|Kireji Haiku]] 00:13, 15 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::This is what I got now. I removed the lslwiki parts, though. Could you test this?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;javascript&amp;gt;// ==UserScript==&lt;br /&gt;
// @name        LSL Highlighter&lt;br /&gt;
// @namespace   http://home.comcast.net/~mailerdaemon&lt;br /&gt;
// @include     http://wiki.secondlife.com/*&lt;br /&gt;
// @include     https://wiki.secondlife.com/*&lt;br /&gt;
// @version     1&lt;br /&gt;
// ==/UserScript==&lt;br /&gt;
&lt;br /&gt;
(function(){&lt;br /&gt;
var GM_addStyle = function(css){&lt;br /&gt;
    style = document.createElement(&amp;quot;style&amp;quot;);&lt;br /&gt;
    style.type = &amp;quot;text/css&amp;quot;;&lt;br /&gt;
    style.innerHTML = css;&lt;br /&gt;
    document.getElementsByTagName(&#039;head&#039;)[0].appendChild(style);&lt;br /&gt;
    return style;//default GM_addStyle doesn&#039;t return the new style element&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var search = &amp;quot;&amp;quot;;&lt;br /&gt;
var prefixed = false;&lt;br /&gt;
&lt;br /&gt;
if (($X(&amp;quot;//meta[@name=&#039;generator&#039; and starts-with(@content,&#039;MediaWiki &#039;)]&amp;quot;)))&lt;br /&gt;
{&lt;br /&gt;
    GM_addStyle(&amp;quot;table.diff td div {overflow:visible;} pre.code a{ text-decoration:none; }&amp;quot;);&lt;br /&gt;
    GM_addStyle(&amp;quot;.pBody { padding:0pt 0.8em 0.3em 0.5em; border:1px solid #AAAAAA; } .portlet h5 {background: transparent;}&amp;quot;);&lt;br /&gt;
    prefixs = [&amp;quot;&amp;quot;, &amp;quot;/wiki/Special:Search?search=&amp;quot;];&lt;br /&gt;
    search = &amp;quot;//pre[@class=&#039;code&#039; or @class=&#039;lsl&#039;]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    if ((breadcrumbs = $X(&amp;quot;//div[@id=&#039;contentSub&#039;]&amp;quot;)))&lt;br /&gt;
    {&lt;br /&gt;
        if (!(title = unsafeWindow.realTitleText))&lt;br /&gt;
            if (title = $X(&amp;quot;//div[@id=&#039;ReatTitleBanner&#039;]/span[@id=&#039;RealTitle&#039;]&amp;quot;))&lt;br /&gt;
                title = title.textContent;&lt;br /&gt;
        if (title &amp;amp;&amp;amp; unsafeWindow.wgTitle)&lt;br /&gt;
            $Z(&amp;quot;.//text()[contains(.,&#039;&amp;quot;+unsafeWindow.wgTitle+&amp;quot;&#039;)]&amp;quot;,function(r,i,p){&lt;br /&gt;
                r.data = r.data.replace(unsafeWindow.wgTitle, title);&lt;br /&gt;
            }, breadcrumbs);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    GM_addStyle([&lt;br /&gt;
                    &amp;quot;.lsl a {font-weight: bold; text-decoration: none;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .imp {font-weight: bold; color: red;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_states {color: #801A4D;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_events {color: #004D80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_functions {color: #820124;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_integer {color: #1A1A80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_string {color: #1A4D80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_float {color: #4D1A80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_compound {color: #663366;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_illegal_invalid {font-weight: bold; color: #FFFFFF; background-color: #FF0000; text-decoration: line-through;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_illegal_deprecated {font-weight: bold; color: #FFFF00; background-color: #FF0000; text-decoration: line-through;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_control {color: #0000CD;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_types {color: #003300;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .co1 {color: #CD4D26;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .es0 {color: #CD4D26;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .br0 {color: #66CC66;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .st0 {color: #003300;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .nu0 {color: #cc66cc;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .me1 {color: #006600;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .me2 {color: #006600;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;&amp;quot;].join(&amp;quot;\n&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
    return;&lt;br /&gt;
&lt;br /&gt;
function Group(className, prefix, expression, captures, processor){ this.c = className; this.v = prefix; this.r = expression; this.captures = captures || 0; this.processor = processor;}&lt;br /&gt;
Group.prototype = { toString: function(){ return &amp;quot;(&amp;quot;+this.r+&amp;quot;)&amp;quot;; }, };&lt;br /&gt;
&lt;br /&gt;
var groups = [ //{&lt;br /&gt;
    new Group(&amp;quot;nu0&amp;quot;, -1, &amp;quot;0[xX][0-9a-fA-F]+|\\.[0-9]*[Ee][+-]?[0-9]*|[0-9]+[Ee][+-]?[0-9]*&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_illegal_deprecated&amp;quot;, 0, &amp;quot;ll(?:Cloud|CollisionSprite|GodLikeRezObject|Make(?:Explosion|Fountain|Smoke|Fire)|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteDataSetRegion|RemoteLoadScript|SetInventoryPermMask|SetObjectPermMask|Sound(?:Preload)?|XorBase64Strings)|AGENT|ATTACH_[LR]PEC|CHARACTER_MAX_ANGULAR_(?:ACCEL|SPEED)|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|DATA_RATING|LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|PHYSICS_MATERIAL|TYPE_LEGACY)|PSYS_SRC_(?:(?:INNER|OUTER)ANGLE|OBJ_REL_MASK)|VEHICLE_FLAG_NO_FLY_UP&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_illegal_invalid&amp;quot;, 0, &amp;quot;event|print&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_states&amp;quot;, 0, &amp;quot;(?:state)\\s+\\w+|default&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_control&amp;quot;, 0, &amp;quot;@|do|else(?: if)?|for|if|jump|return|while&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_types&amp;quot;, 0, &amp;quot;float|integer|key|list|quaternion|rotation|string|vector&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_events&amp;quot;, 0, &amp;quot;(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_integer&amp;quot;, 1, &amp;quot;FALSE|TRUE|(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON_|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_string&amp;quot;, 1, &amp;quot;(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_float&amp;quot;, 1, &amp;quot;DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_compound&amp;quot;, 1, &amp;quot;ZERO_(?:ROTATION|VECTOR)|TOUCH_INVALID_(?:TEXCOORD|VECTOR)&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_functions&amp;quot;, 0, &amp;quot;(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|Get(?:ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))&amp;quot;),&lt;br /&gt;
]; //}&lt;br /&gt;
const gl = groups.length;&lt;br /&gt;
var missed = new RegExp(&amp;quot;^(|[\\W\\w]*?\\W)(&amp;quot;+groups.join(&amp;quot;|&amp;quot;)+&amp;quot;)([\\W][\\W\\w]*|)$&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var lang = $X(&amp;quot;//div[@id=&#039;PageLanguage&#039;]&amp;quot;);&lt;br /&gt;
lang = (lang &amp;amp;&amp;amp; lang.innerHTML) || &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$Z(search, function(r,i){&lt;br /&gt;
    for (var a = 0; b = r.childNodes[a]; ++a)&lt;br /&gt;
        if (b.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; (c = missed.exec(b.nodeValue)))&lt;br /&gt;
        {&lt;br /&gt;
            var s, v, p, q;&lt;br /&gt;
            if ((v = c[c.length - 1]) &amp;amp;&amp;amp; (v != &amp;quot;&amp;quot;))//whitespace after&lt;br /&gt;
                insertAfter(document.createTextNode(v), b);&lt;br /&gt;
            for (p=0, q = 3; p &amp;lt; gl; p++)&lt;br /&gt;
            {&lt;br /&gt;
                var n = groups[p];&lt;br /&gt;
                var y = 1 + n.captures;&lt;br /&gt;
                if ((v = c[q]) &amp;amp;&amp;amp; (v != &amp;quot;&amp;quot;))&lt;br /&gt;
                {&lt;br /&gt;
                    if (n.v &amp;gt;= 0)&lt;br /&gt;
                    {&lt;br /&gt;
                        s = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;
                        s.href = prefixs[n.v] + v + lang;&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                        s = document.createElement(&amp;quot;span&amp;quot;);&lt;br /&gt;
                    if (n.c &amp;amp;&amp;amp; n.c != &amp;quot;&amp;quot;)&lt;br /&gt;
                        s.className = n.c;&lt;br /&gt;
                    s.appendChild(document.createTextNode(v));&lt;br /&gt;
                    insertAfter(s, b);&lt;br /&gt;
                    if (!(v = c[1]) || (v == &amp;quot;&amp;quot;))//whitespace before&lt;br /&gt;
                        b.parentNode.removeChild(b);&lt;br /&gt;
                    else&lt;br /&gt;
                        b.nodeValue = c[1];&lt;br /&gt;
                    if (n.processor)&lt;br /&gt;
                        n.processor(s, c.slice(q, q + y), c[1], c[c.length - 1]);&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
                q += y;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    if ((b = r.childNodes[0]) &amp;amp;&amp;amp; b.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; b.nodeValue.substring(0,7) == &amp;quot;&amp;amp;nbsp;\n&amp;quot;)&lt;br /&gt;
        b.nodeValue = b.nodeValue.substring(7);&lt;br /&gt;
    if ((b = r.childNodes[r.childNodes.length - 1]) &amp;amp;&amp;amp; b.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; b.nodeValue.substr(-2) == &amp;quot;\n &amp;quot;)&lt;br /&gt;
        b.nodeValue = b.nodeValue.substring(0, b.nodeValue.length - 2);&lt;br /&gt;
    if (lang)      $Z(&amp;quot;./a[span[starts-with(@class,&#039;kw&#039;)]]&amp;quot;, function(ir,ii){ir.attributes.getNamedItem(&amp;quot;href&amp;quot;).value += lang;}, r);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$Z(&amp;quot;//a[starts-with(@title, &#039;Ll&#039;) and starts-with(@title, text())]&amp;quot;, function(r,i){&lt;br /&gt;
    var m = &amp;quot;l&amp;quot; + r.title.substring(1);&lt;br /&gt;
    if (r.title == r.innerHTML)&lt;br /&gt;
        r.innerHTML = m;&lt;br /&gt;
    r.title = m;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
if (m = $X(&amp;quot;//li[@id=&#039;n-editingdiscussion&#039;]&amp;quot;)){&lt;br /&gt;
    n = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
    n.id = &amp;quot;n-randompage&amp;quot;;&lt;br /&gt;
    n.innerHTML = &amp;quot;&amp;lt;a accesskey=&#039;x&#039; title=&#039;Load a random article [alt-shift-x]&#039; href=&#039;/wiki/Special:Random&#039;&amp;gt;Random Page&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
    insertAfter(n, m);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function $X(_xpath, node){&lt;br /&gt;
    var doc = (node)?(node.ownerDocument || node):(node = document);&lt;br /&gt;
    return doc.evaluate(_xpath, node, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0);&lt;br /&gt;
}&lt;br /&gt;
function $Z(_xpath, func, node){&lt;br /&gt;
    var doc = (node)?(node.ownerDocument || node):(node = document);&lt;br /&gt;
    var res = doc.evaluate(_xpath, node, null,  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);&lt;br /&gt;
    var args = Array.prototype.slice.call(arguments, 3);&lt;br /&gt;
    var i = 0;&lt;br /&gt;
    for (; i &amp;lt; res.snapshotLength; ++i)&lt;br /&gt;
        func.apply(func, [res.snapshotItem(i), i].concat(args));&lt;br /&gt;
    return i;&lt;br /&gt;
}&lt;br /&gt;
function insertAfter(insert, after){return after.parentNode.insertBefore(insert, after.nextSibling);}&lt;br /&gt;
function insertBefore(insert, before){return before.parentNode.insertBefore(insert, before);}&lt;br /&gt;
function log(){&lt;br /&gt;
    var arg;&lt;br /&gt;
    switch (arguments.length) {&lt;br /&gt;
        case 1:&lt;br /&gt;
            arg = arguments[0];&lt;br /&gt;
            break;&lt;br /&gt;
        case 0:&lt;br /&gt;
            arg = null;&lt;br /&gt;
            break;&lt;br /&gt;
        default:&lt;br /&gt;
            arg = arguments;&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (typeof(unsafeWindow.console) != &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; typeof(unsafeWindow.console.log) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        unsafeWindow.console.log(arg);&lt;br /&gt;
    else if (typeof(GM_log) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        GM_log(arg);&lt;br /&gt;
    return arg;&lt;br /&gt;
}&lt;br /&gt;
})();&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cheers! [[User:Kireji Haiku|Kireji Haiku]] 11:49, 22 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I had to make all the sub-expressions use non-capture groups (which was how it was originally). I also made some minor tweaks that should do nothing but are for style correctness (I&#039;ve learned better JS habits since I wrote that). -- &#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:44, 22 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve added support for custom post-processing for groups and for them capture information from the expression. If we decide to merge bad numbers into a single node, that code would be a post-processor. -- &#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; 00:18, 23 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Whatever works I&#039;d say. Not sure why you chose purple for numbers, though. Did you test it? Where to put this now? [[User:Kireji Haiku|Kireji Haiku]] 13:27, 23 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Purple because that&#039;s the color they are now and it makes highlighting look right on pages like [[float]]. I usually post these to [UserScripts.org] (which I have just [http://userscripts.org/scripts/review/28162 done]) and let people find them on their own. Sometime I&#039;ll post a forum thread about them, but I haven&#039;t done that in ages. I&#039;m hoping that is what you meant. -- &#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; 22:52, 23 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::No, I meant are you going to upload it to the wiki here so the highlighting here is fixed. Or how does this work? Have a nice weekend [[User:Kireji Haiku|Kireji Haiku]] 08:17, 24 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Oh dear, I was afraid of this at the last. It&#039;s a script for {{Wikipedia|Greasemonkey|w=n}}, it&#039;s not a server script. It probably will work in Chrome as well (not tested). -- &#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; 10:33, 24 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Ok, so this brings us back to GeSHi? How to update that? [[User:Kireji Haiku|Kireji Haiku]] 12:19, 27 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::The only way to do so is likely to be pestering LL. At this point I don&#039;t know who you would start with. Couldn&#039;t hurt to open a new bug on Jira, something along the lines of &amp;quot;LSL Syntax highlighting on the wiki needs updating&amp;quot; and see which linden is foolish enough to update the jira. -- &#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; 19:22, 27 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== kwdb ==&lt;br /&gt;
&lt;br /&gt;
By the way, there&#039;s a LSL keywords database that generates output for various syntax highlighters including GeSHi [http://code.google.com/p/kwdb/ here]. -- [[User:Sei Lisa|Sei Lisa]] 09:12, 4 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for the info. It&#039;s not that I don&#039;t have a file, I don&#039;t know where to put it so the syntax highlighting works on this wiki. I&#039;ve got a copy I&#039;m working on myself on [https://github.com/buildersbrewery/lsl-for-geshi github.com/buildersbrewery/lsl-for-geshi]. -- [[User:Kireji Haiku|Kireji Haiku]] 09:40, 5 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::LL has to install it in some directory on the server (they will know if they look for where the old one is), it&#039;s not something we can do. -- &#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; 11:14, 5 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:You may be interested in https://github.com/pclewis/lslint/commits/23c3fb11226249f633bed1f0b077435e58f80781/wiki_builtins.pl it&#039;s a script to walk the wiki to get functions, events and constants. -- &#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; 11:14, 5 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Thank you. That script generates some &amp;quot;false positives&amp;quot; and lacks some constants. Currently the generator provides also lslint output, by the way. Most other collections of keywords I&#039;ve evaluated are incomplete and sometimes incorrect, and I try to keep it up to date. For example, Kireji&#039;s list misses some OBJECT_* constants and has other problems. -- [[User:Sei Lisa|Sei Lisa]] 12:51, 7 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::I know it lacks some constants, I don&#039;t always remember to add them to the signature section. False positives? That is surprising. Could you give me an example?  -- &#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:23, 7 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I wouldn&#039;t be surprised if it comes up with a few functions that it shouldn&#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; 21:48, 7 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Sorry, false positive, singular. CLICK_ACTION_ZOOM doesn&#039;t exist. Some constants come out duplicated, some list wrong values. Here&#039;s a diff if interested. http://pastebin.ca/2393166 -- [[User:Sei Lisa|Sei Lisa]] 05:23, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::That diff really helps. It suggests we have several wrong values here on the wiki and gives us a good place to start fixing things. However I don&#039;t think it&#039;s a good idea for the wiki to move away from hex notation just so that we match the source code, not all of the LSL Portal&#039;s readers know their powers of two. -- &#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:40, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::P.S. I consider the duplicates a bug in the script. Yes some constants appear in multiple articles signature section, it&#039;s a &amp;lt;strike&amp;gt;hack&amp;lt;/strike&amp;gt; feature.&lt;br /&gt;
&lt;br /&gt;
:::::::I&#039;m not going to login to test this are you sure there is no CLICK_ACTION_ZOOM? https://bitbucket.org/lindenlab/viewer-release/src/41898042294e4c48d9fc8bbc327f0926ed6b6712/indra/lscript/lscript_compile/indra.l#cl-644 If it&#039;s not valid than you have found a bug. -- &#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:00, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::I&#039;m completely sure. What do you mean about hex notation? In the database, my criterion is to write in hex the numbers that are supposed to be bitfields, as that&#039;s the closest to binary that LSL supports. Nothing to do with the source code. That generates some differences between wiki and kwdb that are not real differences, you can just ignore them. I processed the files in order to make them comparable, including removing the arg names and removing leading zeros from hex numbers, but not transforming them to a common base, thus differences in radix are expected. -- [[User:Sei Lisa|Sei Lisa]] 08:19, 9 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::::I just meant some integer constants had values like 0x80 or 128. I hadn&#039;t considered parameter name changes but we do use different names for the parameters (some of the original parameter names are confusing or poorly chosen). As you say not real differences. I&#039;ll file a bug about CLICK_ACTION_ZOOM, they must have forgotten to put it in the server side compiler. -- &#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; 00:12, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::{{JIRA|BUG-2827}} -- &#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:15, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::::::Thanks for the link, but it&#039;s useless for mortals. -- [[User:Sei Lisa|Sei Lisa]] 07:49, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::::Ah I forgot about that problem. It&#039;s basically a duplicate of {{Jira|SCR-236}}. -- &#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; 11:25, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::::I&#039;ll also start working on the real conflicts. Thanks for taking the time. -- &#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:21, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::I figured you meant 0xNNN but I don&#039;t understand why you said it&#039;s not a good idea to move away from hex notation, as I didn&#039;t remotely suggest that. Some constants that are in decimal in the wiki are in hex in kwdb, like some RC_* ones, and vice versa, like CONTENT_TYPE_*. There are a few where it can be debatable whether they are flags, like ESTATE_ACCESS_* (which is not specified to support multiple flags, though the header says &amp;quot;action flag&amp;quot;) and PSYS_SRC_PATTERN_* of which you can&#039;t combine several, to my knowledge, so I considered they should not be regarded as flags. -- [[User:Sei Lisa|Sei Lisa]] 04:54, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::PSYS_SRC_PATTERN_* was probably built rather than designed (that is to say, they hadn&#039;t entirely decided what they were doing when they did it). It will require some testing but it makes sense to allow the combining of (ALLOWED_AGENT_ADD | BANNED_AGENT_REMOVE) or (ALLOWED_AGENT_REMOVE | BANNED_AGENT_ADD), LL may have laid out the constants with that in mind even if they never added support for it. Or the number correspond with internal constants the server uses, and the server combines them. -- &#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; 11:25, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::What about the &amp;quot;other problems&amp;quot;? -- [[User:Kireji Haiku|Kireji Haiku]] 10:35, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
I&#039;ve updated the float constants to use the values from https://bitbucket.org/lindenlab/viewer-release/src/41898042294e4c48d9fc8bbc327f0926ed6b6712/indra/llmath/llmath.h?at=default#cl-56 -- &#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; 12:09, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:KFM_CMD_SET_MODE what is it used for? PSYS_SRC_OBJ_REL_MASK is a dead constant. Used for nothing.&lt;br /&gt;
:I can see why you would be confused, most of those where the radix differs is in the direction of more obscure. &lt;br /&gt;
:-- &#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; 13:52, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::I don&#039;t know what it&#039;s used for. I know it&#039;s defined, as it passed the constant values test. If it&#039;s unused, its status in the database should be marked as unimplemented. PSYS_SRC_OBJ_REL_MASK was already marked as such. Output modules for LSL2dfg/kwdb can choose to skip these or put them in a separate section of the generated output if they wish, based on the status field. I&#039;m pondering whether it would make sense to define a new status, &amp;quot;unknown&amp;quot;, for KFM_CMD_SET_MODE. -- [[User:Sei Lisa|Sei Lisa]] 15:57, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ll have to spend some time figuring out how I&#039;m going to document these (and those PRIM_MEDIA_* flags I never documented because I thought LL would remove them {{JIRA|VWR-24413}}). I think we need a category for useless and nearly useless constants constants. -- &#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:31, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::P.S. [[Release_Notes/Second_Life_RC_BlueSteel/13]]&lt;br /&gt;
&lt;br /&gt;
== [edit][edit][edit] ==&lt;br /&gt;
&lt;br /&gt;
Hello strife,&lt;br /&gt;
I recently made changes on the Lag-page, and today I noticed that the &amp;quot;Cache&amp;quot; section (which I&#039;ve added) shows the [edit] link three times!&lt;br /&gt;
Could you please help me fixing this, I have no clue what I did wrong (again) https://wiki.secondlife.com/wiki/Lag :D Thanks!&lt;br /&gt;
&lt;br /&gt;
:You didn&#039;t do anything wrong per se. It&#039;s a design defect of how CSS &amp;quot;float&amp;quot; works (more preciesly the defect is with the scope of &amp;quot;clear&amp;quot;). -- &#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:06, 14 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Just leaving a thank you! --[[User:MartinRJ Fayray|MartinRJ Fayray]] 10:29, 15 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Pathfinding categories ==&lt;br /&gt;
&lt;br /&gt;
I&#039;ve found that the pathfinding categories are somewhat messed up. There&#039;s [[:Category:Pathfinding]] and [[:Category:LSL Pathfinding]]. [[llGetSimStats]] is only in the latter, as is the case for some &amp;lt;code&amp;gt;CHARACTER_*&amp;lt;/code&amp;gt; constants. I think there should be a &amp;quot;single stop&amp;quot; page (category) for them. Do you agree? If so, which one do you think it should be? --[[User:Pedro Oval|Pedro Oval]] 12:47, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I do in deed agree but I also don&#039;t like to break the naming tradition or trash a Linden category. But since you suggested it, we should probably do away with one of the categories. Any thoughts as to which one? -- &#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:37, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::The description in [[:Category:Pathfinding]] reads: &amp;quot;Articles related to new pathfinding feature and related LSL API.&amp;quot; Maybe the LSL API part should be moved to its own [[:Category:LSL_Pathfinding]] and leave &#039;&#039;&#039;Pathfinding&#039;&#039;&#039; for articles only (and include &#039;&#039;&#039;LSL_Pathfinding&#039;&#039;&#039; as a subcategory of it). I think that makes the most sense. People who linked to &#039;&#039;&#039;Pathfinding&#039;&#039;&#039; will find the link to the LSL one. --[[User:Pedro Oval|Pedro Oval]] 17:03, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Works for me. -- &#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:33, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::Done. Please review what I&#039;ve done, I&#039;m not too confident to have gotten it right. I used the template name &amp;lt;nowiki&amp;gt;{{Pathfinding LSL alpha}}&amp;lt;/nowiki&amp;gt; to switch the template while respecting the original intention. The name has Pathfinding at the start (as opposed to LSL Pathfinding Alpha) for emphasis on Pathfinding. While on it, I also renamed Template:LSL_Constants/llWanderW&#039;&#039;&#039;I&#039;&#039;&#039;thin to the right case. --[[User:Pedro Oval|Pedro Oval]] 08:41, 30 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Good catch. -- &#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; 09:50, 30 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== [[Template:LSL_Header]] ==&lt;br /&gt;
I believe it could use a link to [[LSL_Alternate_Editors]]. Whatcha think? -- [[User:Kireji Haiku|Kireji Haiku]] 10:16, 8 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:See [[Template_talk:LSL_Header]] for my reply. -- &#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:37, 8 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Broken links: ==&lt;br /&gt;
On [[User:Strife Onizuka|your user page]] in the Scite/ESL section all links to your comcast account are broken. Oh yeah and...it was C++. -- [[User:Kireji Haiku|Kireji Haiku]] 07:43, 16 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:yes they are. I&#039;ll look into finding a place to host them. I knew C had changed a lot since I learned it but I didn&#039;t think they added member functions. -- &#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; 11:15, 16 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::I&#039;ve just updated my links and uploaded everything. I&#039;ve even published the most up to date and complete lsl.api (it&#039;s an an export of kwdb). -- &#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:31, 16 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== German translation of llList2Json ==&lt;br /&gt;
&lt;br /&gt;
Hiya Strife,&lt;br /&gt;
I just made an attempt to start translating the JSON functions to German,&lt;br /&gt;
but this page shows me a weird error message, could you please tell me what I did wrong :P&lt;br /&gt;
[[LlList2Json/de]] {{Unsigned|MartinRJ Fayray}}&lt;br /&gt;
&lt;br /&gt;
:&#039;n Abend, ich denke ich hab den Fehler behoben, Du hattest wohl einen senkrechten Strich ganz am Anfang zu viel. And yeah, Strife... I think I fixed it, there was a pipe too many. Not sure about the fix though, so if the fix needs a fix, have a go at it, LOL. Anyhow, enjoy the weekend you two. -- [[User:Kireji Haiku|Kireji Haiku]] 15:06, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Oops, thanks Kireji : ) --[[User:MartinRJ Fayray|MartinRJ Fayray]] 15:32, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ll work on updating the [[Template:LSL Function/de]] (I generally do not update the templates for other languages). My view on the entire thing has to do with knowing your audience, each language represents a group of distinct cultures, who each have different cultural norms rooted deep in history. I would not presume to force the same layout on everyone (only English speakers). Also some of the template features for example do not work for Japaense. But to get back on topic. I don&#039;t want people to feel that English is the only language. I really want the international community to come and own their part of the wiki, figure out what works and doesn&#039;t. My goal is only to provide a framework, give them something to start from. There is no reason the articles need to be literal translations, and we gain nothing by having them be so.&lt;br /&gt;
&lt;br /&gt;
:As to what is wrong with the template, it never got updated beyond the point where LL stopped adding functions to LSO. It assumes all functions have ids. -- &#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:53, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m going to update the template but someone will need to go through and translate it. It hasn&#039;t been updated in 5 years so it&#039;s going to be a bumpy ride but hey you get 5 years worth of template insanity all at once instead of gradually. -- &#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:20, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Thanks, that&#039;s great =) --[[User:MartinRJ Fayray|MartinRJ Fayray]] 22:31, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::There are a few templates that need translating, here is what i&#039;ve got so far (I&#039;ll add more as I find them): - &#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; 22:46, 18 October 2013 (PDT)&lt;br /&gt;
:::[[Template:LSL_Bug_Icon/en]] -&amp;amp;gt; [[Template:LSL_Bug_Icon/de]]&lt;br /&gt;
:::[[Template:LSL_Generic/Issues]] -&amp;amp;gt; [[Template:LSL_Generic/Issues/de]]&lt;br /&gt;
:::[[Template:LSL_Generic/Caveats]] -&amp;amp;gt; [[Template:LSL_Generic/Caveats/de]]&lt;br /&gt;
&lt;br /&gt;
:::Discovered the header template was broken. Was just easier to port. -- &#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:21, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::There are likely other templates that need updating to work with the newer version of the template. Let me know if you encounter a broken 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; 23:24, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I translated the 3 above templates, but on the article page [[LlList2Json/de]] the &amp;quot;Caveats&amp;quot; and &amp;quot;Jira Search&amp;quot; sections are still using the English template. Thanks so far, though : ) Also these headlines should also be translated: &amp;quot;Specification&amp;quot; = &amp;quot;Beschreibung&amp;quot;, &amp;quot;Caveats&amp;quot; = &amp;quot;Anmerkungen&amp;quot;, &amp;quot;Examples&amp;quot; = &amp;quot;Beispiele&amp;quot;, &amp;quot;See Also&amp;quot; = &amp;quot;Siehe auch&amp;quot;, &amp;quot;Deep Notes&amp;quot; = &amp;quot;Erweitert&amp;quot; --[[User:MartinRJ Fayray|MartinRJ Fayray]] 14:48, 19 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::That oddly had more to do with which template was being used. For whatever reason multilang wasn&#039;t working right and so you were getting the english version of the template (my new keyboard arrived, it&#039;s so nice to have a Z key again). -- &#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:38, 19 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::One more thing, can you please point me to the &amp;quot;specifiers does not support negative indexes.&amp;quot; template - it&#039;s being used here: https://wiki.secondlife.com/wiki/LlJsonSetValue/de - Thanks! --[[User:MartinRJ Fayray|MartinRJ Fayray]] 14:36, 20 October 2013 (PDT)&lt;br /&gt;
:::Yet another thing: How do I translate the template that shows a &#039;Contents&#039; nav-box at the top right of each page, e.g. https://wiki.secondlife.com/wiki/JSON_APPEND/de - it should be translated from &amp;quot;Contents&amp;quot; to &amp;quot;Inhalt&amp;quot;. Thank you much! PS: found out how to use the multilang template. --[[User:MartinRJ Fayray|MartinRJ Fayray]] 18:19, 20 October 2013 (PDT)&lt;br /&gt;
:::I&#039;m done with the translation of LSL_JSON so far, if you find any errors, please let me know. --[[User:MartinRJ Fayray|MartinRJ Fayray]] 19:48, 20 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::Nothing I can do about &amp;quot;Contents&amp;quot;. That is Media Wiki. Unless we write our own. -- &#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:16, 21 October 2013 (PDT)&lt;br /&gt;
:::I don&#039;t speak German but it all looks good. However don&#039;t use multilang directly unless you have to. There is secondary categorization that multilang does which doesn&#039;t get setup if you use it directly. The LSL templates all have it set so you don&#039;t need to do anything. And you don&#039;t need to worry multilang gets called before everything else in the lsl templates.&lt;br /&gt;
:::I&#039;ve updated the Constant template (bug fixes). -- &#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:11, 22 October 2013 (PDT)&lt;br /&gt;
:::P.S. I&#039;m surprised you haven&#039;t asked me about the haiku. -- &#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:11, 22 October 2013 (PDT)&lt;br /&gt;
::::What does it?--[[User:MartinRJ Fayray|MartinRJ Fayray]] 23:18, 22 October 2013 (PDT)&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Strife_Onizuka&amp;diff=1182934</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=1182934"/>
		<updated>2013-10-23T06:18:34Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* German translation of llList2Json */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:User:Zai_Lynch/Award}}You found my talk page... Find old discussions take a look at the archives: [[User:Strife_Onizuka/Talkpage_Archive_01|1]] [[User:Strife_Onizuka/Talkpage_Archive_02|2]]&lt;br /&gt;
&lt;br /&gt;
== JIRA issues on LSL function pages ==&lt;br /&gt;
&lt;br /&gt;
Okay, as I&#039;ve made no headway deciphering your templates (not that I&#039;m familiar in the least with the more complex wiki functions in the first place...) I decided just to cut my losses and ask! Basically I was wondering if there&#039;s a reason why [[Template:LSL_Generic/Issues]] doesn&#039;t appear to list all issues, but instead seems to just list bugs only in the same way as [[Template:LSL_Generic/Caveats]]?&lt;br /&gt;
&lt;br /&gt;
I just think it&#039;d be nice if function pages would also summarise popular proposals relating to them in the deep notes section, which is what I believed was intended but it doesn&#039;t appear to do this right now.&lt;br /&gt;
&lt;br /&gt;
For example, if you go to the [[LlStartAnimation]] page, in the deep notes you&#039;ll notice that there are zero issues listed, however, clicking the &amp;quot;Search JIRA for related Issues&amp;quot; link returns quite a few. It might be nice to see the deep notes tweaked to display these, but perhaps with a limit on how many are shown (though llStartAnimation is a fairly popular one to see JIRA issues for and only has 17 issues listed). Anyway, just though I&#039;d ask/request, please poke my talk page if you respond to be sure I remember and look! --[[User:Haravikk Mistral|Haravikk Mistral]] 15:26, 12 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:The template is not automatic. Take for example [[llBreakLink]], it lists a single issue in the article, it does this by including the template [[Template:Issues/SVC-3510]]. There are many stub templates like [[Template:Issues/SVC-3510]] that work this way, they contain the information about the issue and pass it along to a template that does the heavy lifting. The value of this method is that a single template exists for the Issue and if the issue is sited on multiple pages, they can all be quickly updated by modifying the template. From an organizational standpoint, it also makes it possible to see what all pertains to a particular issue.&lt;br /&gt;
&lt;br /&gt;
:The thing is, if you want all the issues on the wiki, they need to be imported to the wiki, and regularly updated as changes are made... but that could all be done with a bot. Wonder if [[User:Gigs Taggart|Gigs]] could be enticed to incorporate it into [http://www.sljirastats.com SLJiraStats]?&lt;br /&gt;
&lt;br /&gt;
:The goal of the Deep Notes: Issues section was to contain dead bugs and interesting feature suggestions. I never intended it to contain all issues pertaining to a feature. We don&#039;t add any value by duplicated the JIRA search engine results; the value we can add is by filtering them. Some of the bugs aren&#039;t bugs, and some of the feature suggestions are unworkable; I don&#039;t think these should be given screen space. Considering the resources required to manually include and update the issues, triage has to happen.&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I do not have the free time to work on this, work and other responsibilities eat all my time. *wonders just how true that is* -- &#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; 03:10, 16 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Ah yeah, seems I&#039;ve completely misunderstood what it was doing! I wasn&#039;t thinking to list everything, just an automatic, and hopefully useful summary of say...the top ten bugs and issues? It sounds like way more work than it&#039;s likely to be worth though so probably better just to forget about it, unless there&#039;s some way to just embed an iframe with a portion of a JIRA search or something similar? But that would probably cause an unacceptable increase in JIRA page requests from people just popping over to look something up. But now I know how it does work I can at least pop useful relevant issues on manually, thanks! -- [[User:Haravikk Mistral|Haravikk Mistral]] 12:36, 18 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:A related problem, I&#039;ve tried to add a few top issues of interest to me onto my user page under Key Issues, however, I&#039;ve tried to create two [[Template:IssueTable]] instances, but they both have the same content, despite the value of #issues being different for both. Is this some peculiarity in using this template more than once? If you could take a look at let me know it&#039;d be handy, as IssueTable doesn&#039;t have any documentation =( -- [[User:Haravikk Mistral|Haravikk Mistral]] 11:36, 22 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::You are hitting one of the caveats/bugs of the new parser engine. I forget how to get around it. I beleive the issue is intermediate caching, and the way around it is to make the template call dynamic or something like that. Without spending a bunch of time debugging the problem, I just don&#039;t remember how to work around it. -- &#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:37, 22 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::It just struck me what the problem is, it&#039;s caching IssueTable. -- &#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; 18:27, 22 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Aha! The &amp;quot;subst:&amp;quot; keyword seems to be for this (e.g - &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{subst:User:Haravikk_Mistral/JIRA/Issues/SVC}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), as I believe it fetches the pre-processed contents of a page rather than the source. In any event, this works in my case as I created sub-pages for each category, I don&#039;t believe it would help for a page with multiple IssueTable instances though, as using subst: for any of them would just create a blank gap, but it solves my problem at least! -- [[User:Haravikk Mistral|Haravikk Mistral]] 11:29, 23 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== [[Ghost Detector]] ==&lt;br /&gt;
Thanks.  I discovered that property of [[llKey2Name]] by accident.  It&#039;s odd because, for instance, [[llDetectedName]] gives a non-empty string for ghosted avatars. -- [[User:Something Something|Something Something]] 05:21, 10 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Friendly greetings ==&lt;br /&gt;
You seem to have found a &amp;quot;fix&amp;quot; for my horrible script and....messed it up. Please compare my original to yours and do some testing. They are different in the result. I would appreciate you fixing your &amp;quot;fix&amp;quot;. Best regards --[[User:Kireji Haiku|Kireji Haiku]] 02:42, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m sorry you took the edit personally it was not intended that way. The example you contributed is valuable and nontrivial, however examples are held to high standards and it didn&#039;t meet them. I was faced with two options: rewriting it or deleting it, I felt it had merit so I rewrote it. My goal as always is to provide the most useful content to our users, and in this case down compatibility needed to be sacrificed. The script as it was designed required every prim to have at least one face have full glow, that didn&#039;t sound entirely useful, so I changed it to accept some glow (I notice that I also changed it to require every face have glow... which doesn&#039;t sound useful, so I&#039;m going to revert that).&lt;br /&gt;
:Examples have one major goal: Be educational, teach good coding practices and problem solving. Here is where the script went awry:&lt;br /&gt;
:# Names should be descriptive. The function names were a bit generic but single letter variables are definitely not descriptive, especially when they are globals, they really should describe the purpose they fulfill. &lt;br /&gt;
:# Using globals instead of locals &amp;amp; parameters may be efficient, but it degrades readability and adds a new vector for script bugs. This sort of optimization has no place in examples (except in an article on optimization techniques). The situation is made even worse by using non-descriptive variable names.&lt;br /&gt;
:# The script contained code that complicated it without aiding readability or improving functionality. Examples need to be streamline, having it meander requires the reader to needlessly keep track of more things.&lt;br /&gt;
:# I felt that the functionality provided had too narrow an audience, that by changing how it functioned that it would be more useful to more people. Down compatibility is a secondary consideration for examples, not a primary consideration.&lt;br /&gt;
&lt;br /&gt;
:P.S. I take it you didn&#039;t noticed there is a bug in your script: A single prim object with at least one avatar sitting on it could return the wrong result. IMO examples should not be attributed in the script text, it&#039;s what the history page is for after all, but I know the community and I don&#039;t always agree so I don&#039;t fight it. Personally I don&#039;t want my name associated with buggy code, so if you really want the script to be 100% compatible I&#039;ll have to remove my name and give you all the credit.&lt;br /&gt;
&lt;br /&gt;
:P.S.S. I think we may have different notions of wiki content ownership. When I post content on the wiki, I do so with the full expectation that it will be edited, that it will mutate into something I did not envision, into something I may not entirely agree with. We do not control the content after we have posted it. It&#039;s why there is the text below the edit box: &amp;quot;If you don&#039;t want your writing to be edited mercilessly and redistributed at will, then don&#039;t submit it here.&amp;quot; Wiki culture is different. I may own my contributions but I don&#039;t control their fate. They are my children, being changed and influenced by the people around them, being made stronger in the process. But I digress&lt;br /&gt;
&lt;br /&gt;
:P.S.S.S. In the future if you want to convince someone they should do something, don&#039;t insult them first, it&#039;s counter productive. A better way to approach this situation would have been to say: &amp;quot;I disagree with some of the changes you made, specifically blah blah blah, could you please look into it? I did not appreciate your tone and I am quite insulted.&amp;quot; It&#039;s a mistake to mix the two messages, people are prone to take offense and not do what you want out of spite. In a situation like this being snarky just isn&#039;t productive (though it does blow off a bit of steam which can feel good in the moment). Just FYI, nothing more. -- &#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; 07:43, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::I didn&#039;t take it personally and was just trying to make you aware of your rewrite not doing the same like my script. Maybe you don&#039;t read in-world messages, as I had sent you a message thanking you for your rewrite and trying to point out the differences between the two. The script I had provided would check a link-set on whether or not it has glow. And yes, that would return a false result if avatars sit on it, but I thought nobody would use the script to check if a link-set is glowing while sitting on it, but I might be wrong and should have pointed that out in the description. So I see your point there and support your critique on that. However my script would return &amp;quot;glowing&amp;quot; for a prim if ANY number of faces have SOME glow (not 1.0, as you said it would do). Maybe you now understand my view when I see your rewrite as being more streamlined and easier to read, however you limit the script down in its original ability of detecting glow by forcing it to return positive only with all faces of a prim glowing. Anyway, I&#039;m not up for a fight and to be quite frank just too lazy for it, a builder inside of SL asked me if it&#039;s possible to detect whether or not there&#039;s a bit of glow on all prims inside a link-set of his build and I just felt like sharing my approach of writing a script for that. If that script doesn&#039;t meet wiki standards in terms of streamlining it towards being absolutely foolproof and readable for just about anybody, I&#039;ll have to refrain from doing so in future.--[[User:Kireji Haiku|Kireji Haiku]] 18:13, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::First I need to apologize, when I wrote my last comment I hadn&#039;t carefully reread your script, if I had I would have noticed your use of llCeil, which does as you point out return true for some glow. So my argument on that point is baseless. Between work and other obligations, I had forgotten about that aspect of the script and just went on my memory of what I thought the script was doing. As to fighting, I agree it&#039;s a waste of time and effort. However I hope you do continue to contribute to the wiki, every contribution is valuable as they grow the understanding and knowledge base of the community. Standards evolve and the content does as well, content has to be nurtured, given room to grow. Immature content just needs to mature is all; the only time stuff gets deleted is if it&#039;s factually inaccurate or needlessly repetitive. If I thought the contribution was trivial and obvious I would have stripped your name from it (attribution on one liners is blatant self ego boosting and makes the wiki look unprofessional).  The only reason I attached my name was so that you wouldn&#039;t be forced to shoulder the costs of supporting code that you did not write. Please don&#039;t take away from this that your contribution was without value, or that I had no respect for it or you.&lt;br /&gt;
&lt;br /&gt;
:::I should mention the reason for my terse comment in the edit was for a simple reason: I couldn&#039;t be verbose with the text limits of the field. &lt;br /&gt;
&lt;br /&gt;
:::As to messaging me, all my IMs get sent to an email account I rarely check, I only ever go inworld to keep my accounts active and go to meetings (pretty rare) because my internet connect is total suckage. I had no idea you IMed me; for all correspondence I use the wiki and email. &lt;br /&gt;
&lt;br /&gt;
:::You would be quite ticked at me if I were to describe my scripting habits with regards to code I post. I know I was when I saw people do what I do, but I don&#039;t really have the option. It&#039;s an ROI equation, should I make possibly buggy contributions or make no contributions at all? I wish I weren&#039;t forced to make the choice. If I weren&#039;t here doing this who would take up the mantel? Who would look after the templates? It would avoid problems like this maybe but would the community be better off? I honestly don&#039;t know but I suspect not.&lt;br /&gt;
&lt;br /&gt;
:::If you&#039;re still reading, what changes or improvements would you like to see made to the documentation? An upcoming project is to incorporate collapsible sections into the documentation, I&#039;m just not sure yet how to do so, I could do with some input. I haven&#039;t called for input from the community yet because I haven&#039;t rolled out the new Constants template yet (which will revolutionize the {{LSLGC|PrimitiveParams}} documentation). Given the potential of collapsible sections we are at a point in time where we should consider redesigning the documentation from the ground up. Maybe a contest? -- &#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; 22:33, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::P.S. Does it work as it did before now? -- &#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:48, 14 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Hi, no it doesn&#039;t. The first problem is your thing with the double exclamation mark, that always returns 1 for me. And the second being you&#039;re still stuck with [PRIM_GLOW,ALL_SIDES], you don&#039;t do a loop through the sides. I will post a re-do of mine again, if you find a way to do what you wanted to do with the double exclamation mark thing, let me know.[[User:Kireji Haiku|Kireji Haiku]] 21:16, 17 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::&amp;lt;code&amp;gt;!![[llGetLinkNumber]]()&amp;lt;/code&amp;gt; returns 1 for multiprim objects or 0 for single prim objects; It&#039;s logically equivalent to &amp;lt;code&amp;gt;llGetLinkNumber() != 0&amp;lt;/code&amp;gt; however it requires less bytecode to express (you would not be without base to berate me for perpetrating this optimization/shorthand in an example script). You shouldn&#039;t need to loop through the sides, by using [[ALL_SIDES]] it should return a list containing the glow values for every side of the prim (not a very useful feature, in most cases uses it&#039;s better to loop through the sides). We then feed that list to the list stat function to get the max. I&#039;ll see if I can log in later to test it but right now I really need to fix the LSL documentation templates (the wiki upgrade broke at least one template, which in turn broke a lot of the LSL documentation; I&#039;m trying to both find and fix the broken templates; and I don&#039;t know the precise cause). -- &#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:37, 17 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::Fixed it finally, thanks again for the ideas and the input. &amp;lt;code&amp;gt;!![[llGetLinkNumber]]()&amp;lt;/code&amp;gt; doesn&#039;t seem to work, I know exactly what you&#039;re trying to do by writing it that way, but that always returns 1. Have tested it. And your return was a bit too fast to return a result, wouldn&#039;t wait until the end. If you can simplify it even further, go ahead. That&#039;s as far as I could get.[[User:Kireji Haiku|Kireji Haiku]] 21:12, 23 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::::Is &amp;lt;code&amp;gt;!![[llGetLinkNumber]]&amp;lt;/code&amp;gt; returning one for a single prim object with no avatars sitting on it? That is the only time it should return zero. A single prim object with a seated avatar should return one. As to the early exit, once we find a prim with no glow, we can exit without checking the other prims. Logically speaking, we do not need to know precisely what the minimum is, just if it is less than or equal to zero. So instead of calculating the minimum we can exit as soon as we know the minimum is going to be less than or equal to zero. We know it will be less than or equal to zero if we have a value that is zero or less. The code should exit as soon as it knows the answer so as to not waste simulator resources (after all we need to encourage responsible coding). -- &#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; 05:08, 25 December 2010 (UTC)&lt;br /&gt;
::::::::Personally, I would prefer that examples intended to educate and demonstrate functionality NOT have obfuscating optimizations in them, unless the purpose of the example is to demonstrate such. It makes it harder for non-gurus to understand what is going on in the script, thus limiting the &amp;quot;educational value&amp;quot; of the example and obviating the purpose which it was intended. That said, I do believe it is important for people to know about them as well as how/when to use them, but I also believe teaching good programming habits is also valuable. (I don&#039;t know if the script in question qualifies as such; just wanted to point this out since it came up as an ancillary issue) [[User:Talarus Luan|Talarus Luan]] 07:35, 15 January 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Help with template issue ==&lt;br /&gt;
&lt;br /&gt;
Hi Strife,&lt;br /&gt;
I&#039;m hoping you can help to shed some light on a problem we have just discovered that has started to occur since we redployed the wiki yesterday.  The symptom is that SOME pages, e.g. [[LlKey2Name]] display differently when you are not logged in versus logged in.  Compare&lt;br /&gt;
* Logged in: http://screencast.com/t/e3K85IGni&lt;br /&gt;
* Not logged in: http://screencast.com/t/4OwWfihvhi&lt;br /&gt;
I &#039;&#039;think&#039;&#039; that this may be happening due to issues around templates, which is why I am contacting you.  However, I don&#039;t really know the cause.   The strange thing is that most other LSL function pages appear to display just fine when you are logged out; so there must be something in that page causing an issue.  We would greatly appreciate any help!  P.S. Here is the whole list of known issues: [[Second Life Wiki Known Issues]].&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
--[[User:Rand Linden|Rand Linden]] 17:15, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I think it was generated before the extensions were installed. I purged the page (?action=purge) and it now renders properly for me (though I did see it the way you described but only when i was not logged in). It&#039;s weird. -- &#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:22, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Maybe the cache just needs to be invalidated? -- &#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:24, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Some triangulation: &amp;lt;nowiki&amp;gt;|constants={{LSL Constants/PrimitiveParams|get}}&amp;lt;/nowiki&amp;gt; does &#039;&#039;not&#039;&#039; cause trouble on a test copy of llSetLinkPrimitiveParams, &amp;lt;nowiki&amp;gt;|constants={{LSL Constants/PrimitiveParams|set}}&amp;lt;/nowiki&amp;gt; triggers the bug. Off to try on simpler stuff to see if there is a consistent pattern of some kind ... --[[User:Cerise Sorbet|Cerise Sorbet]] 21:47, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::The cache is not invalidating or refreshing. Check the mod date at the bottom of [[http://wiki.secondlife.com/wiki/LlSetLinkPrimitiveParamsFast]] and [[https://wiki.secondlife.com/wiki/LlSetLinkPrimitiveParamsFast]]. They are different. If you go into the history page and look at a previous version it will displays properly because it doesn&#039;t have a cached version but if you look at the current version (even with the version number, it does not display properly). Not even action=purge can budge it. A possible explanation is that the PrimitiveParams article is causing it to time out during rebuild. The new version of the template I&#039;m hoping to get done by new year should be more sane and less time consuming (we hope). -- &#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; 22:00, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I thought it was only cache too but more appears to be going on. [[llKey2Name]] is displaying OK with a pair of Issue templates commented out. --[[User:Cerise Sorbet|Cerise Sorbet]] 22:22, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::The time issue I was seeing was caused by me having my account report the times in GMT+5 (which is weird seeing as i&#039;m GMT-5) -- &#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; 22:31, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve had a thought, I think it might have something to do with how bugs are duplicated (in both Issues and Important Issues). It looks to be the difference between the Get and Set primitive Params functions (Get are too new to have any flag bugs). -- &#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; 22:42, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::It&#039;s not [[Template:Issues]] that is doing it, it&#039;s something about [[Template:Issue]]. I have this terrible feeling it&#039;s a problem with how #switch is parsed. When are we getting the new parser function extension? -- &#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; 22:55, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Oh it&#039;s definitely [[Template:Issue]]. I can&#039;t access it when logged out. -- &#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; 22:55, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::I&#039;ve disabled the code that detects if an issue is a bug, which appears to have fixed [[llKey2Name]]. -- &#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:14, 16 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: #switch is not the cause, just the trigger. Maybe it&#039;s content duplication that is the problem? -- &#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; 22:28, 17 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Mediawiki 1.14 added a |link= option for Image: tags. This would let you skip the imagemap for most uses that don&#039;t really need coordinates. --[[User:Cerise Resident|Cerise]] 03:38, 18 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: There is a god ^_^ thanks for the tip. I&#039;ll deploy it post hast. -- &#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; 03:40, 18 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: Thanks so much for tracking this down, Strife and Cerise!  This move/upgrade has certainly been more problematic than we expected.... :-(&lt;br /&gt;
:::--[[User:Rand Linden|Rand Linden]] 19:05, 19 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::: They always are more problematic than anticipated. I&#039;m sorry I didn&#039;t pay more attention to it earlier, I did notice the blanking on the test wiki briefly but not the common factor (since I spend all my time logged in, the first thing I always do when I connect is log in). I spent my time looking at differences between the highlighting. Never thought to look for differences between HTTP &amp;amp; HTTPS. -- &#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; 19:30, 19 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Different versions of UTF-8 libraries ==&lt;br /&gt;
&lt;br /&gt;
Hi Strife, it seems that there are two different versions of both UTF8ToUnicodeInteger() and UnicodeIntegerToUTF8() at [[Combined_Library#Unicode_functions]] and [[UTF-8]]. Maybe those could be moved to a template - or just manually synced as you feel appropriate. --[[User:Opensource Obscure|oobscure]] 03:17, 2 May 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
There is a good point. Will do. -- &#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; 09:12, 12 May 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Issues/SCR-137 ==&lt;br /&gt;
&lt;br /&gt;
Sorry for [[Template:Issues/SCR-137]], force of habit since most of the time I&#039;m suggesting new functions that aren&#039;t on the wiki, rather than changes to existing ones ;) -- &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Haravikk_Mistral|Haravikk]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Haravikk_Mistral|talk]]|[[Special:Contributions/Haravikk_Mistral|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:43, 9 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:No need to apologize. In my diminished capacity these days (being cut off from SL due to network restrictions for such a long time) there is little I can do besides act as editor, and theoretical scripting. So you gave me something to do. -- &#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; 09:10, 9 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== llCastRay Docs ==&lt;br /&gt;
&lt;br /&gt;
Thanks, Strife. Your improvement to the llCastRay docs look great.&lt;br /&gt;
&lt;br /&gt;
[[User:Falcon Linden|Falcon Linden]] 11:57, 1 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== User Functions ==&lt;br /&gt;
&lt;br /&gt;
Heya Strife,&lt;br /&gt;
Could you give me a headsup how the wiki format for Mode=User LSL Functions are meant to be used like?&lt;br /&gt;
&lt;br /&gt;
https://wiki.secondlife.com/wiki/Interpolation/Linear/Float&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure why I can&#039;t get rid off the &amp;quot;Deep Notes&amp;quot; section, which seems sorta empty and useless?&lt;br /&gt;
&lt;br /&gt;
[[User:Nexii Malthus|&amp;lt;span style=&amp;quot;color: #111; text-shadow:-1px -1px #ddd, 1px 1px #888;&amp;quot;&amp;gt;Nexii Malthus&amp;lt;/span&amp;gt;]] 11:48, 17 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Sure -- &#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; 13:36, 18 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Video Documentations / Tutorials ==&lt;br /&gt;
forgot who the king of confirming stuff on this wiki is, I haven&#039;t been an editor for like a year or two if you remember me or not, but I thought I might add video documentations and tutorials on functions that could be confusing on the wikis page, so I guess the question is how should I add the videos, should I add a new category or just put it in the examples category, and if video documentation is a good idea toward you, since you are the #1 editor on this wiki haha, and I know nothing about style D:&lt;br /&gt;
--&amp;lt;b&amp;gt;--&amp;lt;/b&amp;gt;[[File:Uglehsig.png|53px|link=User:Ugleh_Ulrik]]([[User_talk:Ugleh_Ulrik|talk]]) 19:45, 11 October 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m tickled that you would consult me but I really have no idea on this one. I think it&#039;s a great idea and until we get more of them to get a feel as to how they can be best incorporated into the documentation, they can be included any way you see fit. I might suggested posting the question to the script forums and mailing list (if you do, maybe post a link so I can follow along?). I can imagine putting them in See Also, Examples, Deep Notes, Helpers, Specification (maybe?), Newbie Notes, Notes. I have trouble seeing them in the Summary/Description, Caveats or Constants. Maybe float them on the right (like in [[PRIM_MATERIAL]])? Keep up the good work. ^_^ -- &#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; 12:21, 12 October 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Hi ==&lt;br /&gt;
&lt;br /&gt;
Just caught the comment over on the blog and wanted to say hi. I haven&#039;t left, just withdrawn from the official forums. Actually I hopped over to SLU, although their scripting forums are dead as doornails, so I&#039;ve been amusing myself in their PRS section. Sent in an NDA for the latest inworld beta review project, no reply yet ::shrug:: hope all is good on your end, and was pleasantly surprised you stopped by. Cheers&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; 07:52, 22 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
: Things are going well here. beta? do they have a page describing it anywhere? I always loved betas. I stay mostly here on the wiki, wish I could get in world more, I hate writing documentation without being able to test the functionality. -- &#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:22, 22 December 2011 (PST)&lt;br /&gt;
:P.S. You are a braver soul than I to go into PRS.&lt;br /&gt;
&lt;br /&gt;
No wiki page that I&#039;m aware of, e-mail invitation letters (which seem to have been dispersed to many forumites, and turned down by a few) describe it as pre-release feedback review, of what specifically, I couldn&#039;t say (even if I knew yet). I&#039;ll ask if they&#039;ll bounce you a late entry since you seem interested. and yeah PRS is madness, but I&#039;m largely word-proof so the invective is more like warm glow instead of singing flame for me, something to kill break time. happy new years and all that jazz&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; 10:00, 26 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
:Thank you for offering but It&#039;s better if you don&#039;t. I wish I could thou I have no time (nor the internet connection) for it. If they sent me an invitation I&#039;d feel obliged to accept and then not be able to do it justice. -- &#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:55, 26 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
Understood, I&#039;ll try to remember to ping ya when it goes live then, could be a bit, dunno quite how far they are out on it. &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; 16:22, 27 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== http_response event only be triggered for the originating script or triggered for all scripts ==&lt;br /&gt;
&lt;br /&gt;
Hello Strife,&lt;br /&gt;
&lt;br /&gt;
I just read the [http://wiki.secondlife.com/w/index.php?title=LlHTTPRequest&amp;amp;diff=1157547&amp;amp;oldid=1157508 note] you added concerning [[llHTTPRequest]].&lt;br /&gt;
Although this is of course a sane behavior, I was a bit surprised when I read it because I knew it wasn&#039;t the case before, I also have some script that depends on the old behavior and I didn&#039;t received any complaints concerning them.&lt;br /&gt;
So, I&#039;ve just checked and I can confirm that, at least on my home sim which use the main server version, the event is still triggered on all scripts of the object which made the request.&lt;br /&gt;
&lt;br /&gt;
By pure curiosity, I wonder if you have any additional information about this change.&lt;br /&gt;
&lt;br /&gt;
Many thanks,&lt;br /&gt;
[[User:Elena Bouscario|Elena]] 11:45, 11 February 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I have no information on this unfortunately. My edit was a rewrite of the [https://wiki.secondlife.com/w/index.php?title=LlHTTPRequest&amp;amp;diff=1157508&amp;amp;oldid=1153608 previous edit] so that everything would read more clearly. Sounds like both edits should be reverted. -- &#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; 10:45, 12 February 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== capturing caveats in constants pages? ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m trying to figure out the proper way to include a caveat in the [[DEBUG_CHANNEL]] and [[PUBLIC_CHANNEL]] pages, so that it properly inserts into articles referencing those two pages. The caveat is as follows&lt;br /&gt;
* Messages on channel_name are throttled to a rate of &amp;lt;200/2sec, per region, per owner/user.&lt;br /&gt;
** Once the rate is exceeded, all messages on channel_name will be dropped until the send rate is again below 200/2sec for the previous 2 sec.&lt;br /&gt;
not quite sure how to go about it though?&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; 23:27, 21 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;d be inclined to work it into [[Template:LSL_Function/chat]] as well. No time now (and likely won&#039;t be able to see later, going to the eye doctor). -- &#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; 08:30, 22 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Arrg it&#039;s a rats nest. I&#039;ll work on it later. -- &#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; 08:31, 22 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve put it in the template so now it&#039;s now everywhere... but still needs some tweaking. back later -- &#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;&lt;br /&gt;
&lt;br /&gt;
Thanks, didn&#039;t mean to give you headaches over it =( I&#039;ll take a look at how you did it so maybe next time I can sort it myself&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; 21:47, 22 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:It wasn&#039;t as bad as I thought it would be, no worries. -- &#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; 08:48, 23 August 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== llGetTime/llResetTime ==&lt;br /&gt;
I saw you made a distinction between Mono and LSO for whether or not it&#039;s affected by dilation. However, empirical evidence doesn&#039;t seem to support this.  While this may have been true in the past, it doesn&#039;t seem to be anymore. [[User:Darien Caldwell|Darien Caldwell]] 11:08, 13 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:That is great. :) I&#039;ll revert it. -- &#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:20, 13 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Another world, another wiki ==&lt;br /&gt;
&lt;br /&gt;
I don&#039;t suppose you have any tips for a budding documentor? I&#039;m just learning mediawiki, and started function documentation over at Cloud Party (I didn&#039;t create the templates) http://wiki.cloudpartytime.com&lt;br /&gt;
BTW, do you use avisynth, or work on wiki docs for it? Still enjoy tinkering with avisyth scripts! [[User:Phate Shepherd|Phate Shepherd]] 16:43, 16 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m sorry it&#039;s been taking me so long to respond, I&#039;m working on articulating the my thoughts. I haven&#039;t forgotten you. I want to do the questions justice. Watch this space for an update soon.  -- &#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:29, 19 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
::No worries... So much to do and learn here! Thanks![[User:Phate Shepherd|Phate Shepherd]] 22:06, 21 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I had a partial response all ready written and then my computer crashed. Here is a reconstruction:&lt;br /&gt;
:# Find some documentation you really like, and copy it&#039;s good features. Find some bad documentation and figure out what you don&#039;t like.&lt;br /&gt;
:# Write a mission statement for you wiki based documentation project. It should be short and concise. Then write a longer description after it as to what it means. As a matter of course your project will attract people sooner or later who won&#039;t share your vision. Having something in writing you can beat them over the head with will help reduce the toll the drama will have upon you. I&#039;d give you more advise along these lines but it might be too specific and never crop up (it&#039;s the subtle difference between keeping a loaded gun and keeping a loaded cross bow that shoots wooden stakes). Be sure to have a well spelled out contribution policy, specifically content must be licensed under a wiki specified license but that doesn&#039;t mean the author cannot dual license it under another license if they so choose (they just can&#039;t choose to not license it under the wiki license).&lt;br /&gt;
:# Don&#039;t feel you need to do everything. You are a volunteer. You volunteer. You do it for free. You aren&#039;t obligated to do anything. It&#039;s not like they are paying you. So when you feel stressed, that it is going to hell, remember this, take a deep breath and relax, if they want to avert catastrophe they can spend money. If the catastrophe can&#039;t be averted with money then there is nothing you could do about it, so there is no reason for you to be stressed about it. It&#039;s not your problem.&lt;br /&gt;
:#* I have many wiki projects, in various states of completion. Some have been in the works for years, that is to say, I haven&#039;t really done anything with them for a considerable amount of time.&lt;br /&gt;
:# If you want something done, you will probably have to do it yourself. You won&#039;t be able to convince anyone else to do it. {{LSLGC|Needs_Example}} grows, it doesn&#039;t shrink.&lt;br /&gt;
:# Engage your community. Ask them what they want out of the documentation. Ask them how to make it better. This will encourage them to help you. Be prepared to hold their hands and show them how to edit the documentation. This is how you cultivate contributors. This is how you cultivate a contributor community.&lt;br /&gt;
:# The quality of documentation is determined by the audience. You should choose an audience to server and put that in your mission or goal statement. Serving a diverse audience is going to require negotiating some very complex tradeoffs.&lt;br /&gt;
:#* The LSL documentation have [[LSL_Portal_Guidelines|mission and goal statements]] that are at odds with each other. The type of help a beginner needs is not the same as that of an expert. A beginner needs it simple, an expert needs it precise. The solution is a layout that tries to divide the problem into manageable chunks. However getting that solution realized has been difficult.&lt;br /&gt;
:# If you have an issue tracker, add links in your documentation to pertinent issue in the tracker. Update them on a regular basis. If you can make it auto-update.&lt;br /&gt;
:P.S. Those templates are cool. I&#039;ve been trying to mimic some of those features for years (not impossible but I run the risk of killing the wiki).&lt;br /&gt;
:-- &#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:10, 27 September 2012 (PDT)&lt;br /&gt;
::Thanks for taking to the time to write that out... I&#039;ll try and take it to heart. As for the &amp;quot;Find a wiki you like....&amp;quot; Well, that&#039;s why I came to you ;-) [[User:Phate Shepherd|Phate Shepherd]] 12:58, 28 September 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== [[Hierarchics]] Reboot ==&lt;br /&gt;
Yeah, well, I had tested a modern slaveless version several times over. But each time I still hit significant performance issues.&lt;br /&gt;
I had instead started using newer techniques for achieving realtime high performance animated skeletons, see:&lt;br /&gt;
http://youtu.be/mZvV-1Ghxt0&lt;br /&gt;
http://youtu.be/KwFdahxZp7M&lt;br /&gt;
Unfortunately it is hard to document the scripting process, as it means using global variables for each part in the skeleton and using batched input-process-render stages. --[[User:Nexii Malthus|&amp;lt;span style=&amp;quot;color: #111; text-shadow:-1px -1px #ddd, 1px 1px #888;&amp;quot;&amp;gt;Nexii Malthus&amp;lt;/span&amp;gt;]] 08:05, 7 October 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
== LSL Tip ==&lt;br /&gt;
Hiya, so what about the [[Template:LSL Tip]] template? Are you gonna keep the warning text? We could use the [[Template:KBcaution]] or [[Template:KBtip]] templates instead. -- [[User:Kireji Haiku|Kireji Haiku]] 03:27, 18 October 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I like both of those. Lets go with [[Template:KBcaution]] for now. -- &#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; 22:14, 18 October 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:P.S. Added bonus: those templates were internationalized already.&lt;br /&gt;
&lt;br /&gt;
== Any idea why embedded video (youtube or vimeo) is not showing? ==&lt;br /&gt;
&lt;br /&gt;
Hiya Strife. Hope this finds you well :-)&lt;br /&gt;
&lt;br /&gt;
On [[User:Fred_Gandt/Tuition|Fred_Gandt/Tuition]] and even [[Torley]]&#039;s pages, embedded videos are not showing up for me. Is it just me (using Chrome on Win7)? &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 00:54, 2 November 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Seems to  be working for me. Even the one on my user page. It&#039;s probably something to do with chrome. -- &#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:58, 2 November 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Meh. I&#039;ll try clearing some cookies and stuff. Thanks for checking and confirming it&#039;s at my end. &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 02:31, 2 November 2012 (PDT)&lt;br /&gt;
::Chrome is flagging all youtube vids embedded using &amp;lt;nowiki&amp;gt;&amp;lt;videoflash&amp;gt;&amp;lt;/nowiki&amp;gt; tags as &amp;quot;insecure&amp;quot;. Can someone get at the parser and set it to use https instead of http? &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::I was about to ask Torley to take a look at the issue, but found he is off doing something else. I&#039;m assuming you can act as an admin around here. Shit! You pretty much run the place :-)&lt;br /&gt;
::So when viewing the wiki under https, all videoflash is regarded as insecure. The issue is in [http://www.mediawiki.org/wiki/Extension:VideoFlash the mediawiki extension]. All the protocols are hard wired to http, so on a secure page, they are poop. I&#039;d suggest (if possible) relative protocols or at least selective rewriting to allow https where available. YouTube is definitely available secure, and I think vimeo is too. Obviously hard wiring them (so to speak) as https would mean that https wiki pages would be happy and http wikipages wouldn&#039;t care one way or the other.&lt;br /&gt;
::Why does it matter? Videos are missing if a viewer&#039;s browser blocks the content. I took the time to find it, whilst others might not. Also: insecure content on a secure site is just poor practice.&amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 10:32, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Request from inworld teacher ==&lt;br /&gt;
&lt;br /&gt;
Would it be possible to encourage new users to append &amp;quot;better&amp;quot; versions at the bottom on users pages?   Recently many of the pages I use for teaching classes have been &amp;quot;improved&amp;quot; which results in material which doesn&#039;t match our class notes, and in one case totally wiped out homework we give to see if students understand the concepts just taught! I am not talking about the LSL-101 pages which are in the shared userspace of the wiki.  I am talking about my own user pages.  I can see that we have a new enthusiast who wishes to fix everything all at once, but can I beg for discussion instead of reversions to user pages?  Different people use their pages for different reasons.  I am sure that many if not all of these script changes are excellent, but without an explanation to student users it&#039;s like changing a telegraph to a cellphone.  It&#039;s &amp;quot;better,&amp;quot; but incomprehensible.&lt;br /&gt;
&lt;br /&gt;
In reviewing all my pages, I found a part where you changed things like &#039;&#039;for (i = 0; i &amp;lt; c; i = i + 1)&#039;&#039; to &#039;&#039;for (; i &amp;lt; c; ++i)&#039;&#039; which is fabulous, but without an explanation that the two are the same, most of the free scripts in SL just became incomprehensible to someone trying to teach themselves without a formal scripting background.  My classes are aimed at the non-scriptor.  Please when you make higher level changes on my user pages, please leave both versions and maybe explain why they are same/different?  We have avid learners, but most of this wiki is like trying to read ancient Greek with a Russian translator.&lt;br /&gt;
&lt;br /&gt;
I always thought in a wiki that &amp;quot;user&amp;quot; pages were allowed to the users to edit, with the &amp;quot;talk&amp;quot; or &amp;quot;discussion&amp;quot; pages being where to argue out the fine points.  Maybe I&#039;m wrong, but I would appreciate it if people would do what you do, make small changes at each edit, else append changes instead of wiping out whole scripts which match inworld classnotes, some of which date back to Eric Linden.  [[User:Toady Nakamura|Toady Nakamura]] 09:39, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I and [[User:Daemonika Nightfire|Daemonika Nightfire]] had our user pages defiled too. I recommend reverting and asking Kireji to back the F**k off. But then I&#039;m not very political. &amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 09:51, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::I&#039;m thinking a conversation about the semi-sanctity of userpages is in order. It&#039;s gone further then I would have gone with it. -- &#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; 10:10, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I try to not mess with code unless I&#039;m fixing a (logical) bug in the code or a gross inefficiency. Programming style is something I view as a personal preference and I would only mess with if I were fixing something major. People are attached to their user pages and take particular interest in controlling them so I try to turn a blind eye to them.&lt;br /&gt;
&lt;br /&gt;
:As to the public tutorials, they are public and subject to change. Positive change is a good thing, negative change is not. The only thing I can offer is to use the permanent link button so you always get the same revision. As you say without an explanation somewhere that &#039;&#039;for (i = 0; i &amp;lt; c; i = i + 1)&#039;&#039; to &#039;&#039;for (; i &amp;lt; c; ++i)&#039;&#039; are often the same, how are people to know. This is precisely the sort of thing that needs to go in the tutorials. Or at least in the article on [[for]].&lt;br /&gt;
&lt;br /&gt;
:I do recognize that most of the language of the wiki is technical. There are places (entire sections) for less technical language but they aren&#039;t documented and the project lacks a champion. History has demonstrated that while I am open to the concept of having it in the documentation, I cannot write that aspect of the documentation. Find me someone who is driven to write readable documentation and I&#039;ll bend over backwards to find space for it in the documentation (You might want to look at [[llSetColor]]) -- &#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; 10:10, 4 November 2012 (PST).&lt;br /&gt;
&lt;br /&gt;
:P.S. Maybe we need a list of pages that are too opaque and in need of improvement.&lt;br /&gt;
:P.S.S. Remember this is a wiki, if we agree, we can change everything. Nothing is sacred. The only limits are our imagination (and what the wiki can handle before it implodes). -- &#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; 10:13, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::I am inclined to defer to Wikipedia etiquette for no lesser reason than Wikipedia is the daddy of wiki&#039;s and gets it done (however anal it may be). See [http://en.wikipedia.org/wiki/Wikipedia:User_pages#Ownership_and_editing_of_user_pages guidelines on ownership] and (same page)[http://en.wikipedia.org/wiki/Wikipedia:User_pages#Editing_of_other_editors.27_user_and_user_talk_pages common practices specific to editing userspace pages]. Clearly if &amp;quot;the project&amp;quot; is the SL wiki, userspace pages would therefore feature in much the same way as they do on Wikipedia. Where tuition (especially) is concerned, scripts and examples are difficult to regard in the normal sense. Scripts written to show poor or extremely simplified methods may be valid. Large amounts of comments would also be perfectly acceptable.&lt;br /&gt;
::More importantly; scripts on user pages here are copied and used by people inworld, and how well (or badly) they perform reflects on the writer. I (for example) state that I do my best to make sure the scripts function correctly (although I don&#039;t get inworld much anymore and there may have been significant changes that cause some of my scripts to go wronger than they used to). I can&#039;t claim to have made every effort to ensure the workingnessability of a script if someone has come along and changed it!!&lt;br /&gt;
::Moreover; It&#039;s a matter of common courtesy. Sure we don&#039;t own the pages, but seriously?!?&lt;br /&gt;
::If you visit a public building and another visitor comes along and pulls the rug out from under you, is that acceptable? It doesn&#039;t really matter who owns the pages. It&#039;s what they are that matters. They are predominantly used as a repository for user created content that is being given away or as examples.  As [[User:Daemonika Nightfire|Daemonika Nightfire]] said when discussing [[User:Kireji Haiku|Kireji Haiku]]&#039;s edits, she doesn&#039;t want to have to learn how her scripts work if someone asks her about them.&lt;br /&gt;
::I get emails now and then from people who want me to change features of some of my scripts for custom projects. If I came to grab a copy and found it wasn&#039;t what I wrote, but the other user though it was, I would have to either learn the new version or explain that someone else wrote it.&lt;br /&gt;
::If someone else wrote it, why the f**k is it on my user page with a heading exclaiming that I did?!&lt;br /&gt;
::&amp;lt;s&amp;gt;If it&#039;s decided that user pages (other than talk pages) can be freely edited by all and sundry, then I will ask that all my pages be deleted. Sounds precious? Try again.&amp;lt;/s&amp;gt;&amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 10:58, 4 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
My two cents are on the topic are on [[User talk:Kireji Haiku|my user page]]. -- [[User:Kireji Haiku|Kireji Haiku]] 12:10, 5 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Table within table?! ==&lt;br /&gt;
&lt;br /&gt;
Hi, I wanted to put a side-by-side comparison table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; width=&amp;quot;100%&amp;quot; {{Prettytable}}&lt;br /&gt;
|- {{Hl2}}&lt;br /&gt;
! &#039;&#039;&#039;Method one: returns float within (5.0, 10.0]&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Method two: returns float within (5.0, 10.0]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        float randomFloat = 10.0 + llFrand(-5.0);&lt;br /&gt;
&lt;br /&gt;
        llSay(PUBLIC_CHANNEL, randomFloat);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        float randomFloat = 10.0 - llFrand(5.0);&lt;br /&gt;
&lt;br /&gt;
        llSay(PUBLIC_CHANNEL, randomFloat);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
into the example section on the [[llFrand]] page. As far as I understand, that would be a table within a table, yes? Is it possible, if so how? -- [[User:Kireji Haiku|Kireji Haiku]] 10:19, 9 November 2012 (PST)&lt;br /&gt;
:Ok, I can rip the html code off the template. Any other way with the wiki markup? -- [[User:Kireji Haiku|Kireji Haiku]] 11:52, 9 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::To do tables within tables I think you need to escape the pipes. Or that is how we use to do it when it was called for (they may have fixed that bug in mediawiki ages ago). Use &amp;lt;nowiki&amp;gt;{{!}}&amp;lt;/nowiki&amp;gt; it&#039;s a specalized template for this exact purpose. -- &#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:27, 19 November 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Entry level information on LSL wiki pages ==&lt;br /&gt;
&lt;br /&gt;
Hello again. I spent time over the last month looking at the &amp;quot;newbie Notes&amp;quot; as the example you provided on llSetColor.  While I have the skill set to edit for this wiki at that level, I have found myself hesitating to start anymore &amp;quot;newbie Notes&amp;quot; because:&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;Newbie&amp;quot; is not necessarily a nice word.  I feel that people seeking entry level material should not be categorized with a pejorative. &lt;br /&gt;
&lt;br /&gt;
*The extra set of pages eg: llSetColor Main Page and llSetColor Basic Notes would create a parallel and confusing architecture.&lt;br /&gt;
&lt;br /&gt;
I would like to suggest that instead of erecting a duplicate set of pages for all of the nearly 300 Linden Library functions and some dozens of events, that a section at the bottom of each function page be started for &amp;quot;entry level notes.&amp;quot;  After scrolling through the first page or two, any new user would rapidly find the &amp;quot;expert section&amp;quot; and the &amp;quot;entry level section&amp;quot; tucked at the bottom of the main page.  &lt;br /&gt;
&lt;br /&gt;
If that would be agreeable to you, I would be happy to undertake entry level editing of functions and events pages as time permits.  [[User:Toady Nakamura|Toady Nakamura]] 09:48, 7 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m not exactly sure what notes are &amp;quot;newbie notes&amp;quot; (can&#039;t recall ever seeing any) but I partially agree with your apprehension about the pejorative.&lt;br /&gt;
:I personally don&#039;t find the word anything but honest, although I can imagine some feeling it derogatory or exclusive.&lt;br /&gt;
:Regarding &amp;quot;Entry level&amp;quot; notes: I feel that every page should start out (top to bottom) with entry level information, leading through examples to higher level notes.&lt;br /&gt;
:I don&#039;t think a generic technical description should be then followed by notes for people who (by implication) didn&#039;t understand it, then notes for people who understood it but need more.&lt;br /&gt;
:I&#039;d be all in favour of pages being custom built to suit the subject, utilizing an info-box for the technical break-down, whilst the rest of the page is lane out in a less uniformed, and more uniquely useful style.&lt;br /&gt;
:Consider the difference between e.g. [[llSay]] and [[llHTTPResponse]]. Anyone reading the wiki to learn about llSay, will almost certainly need the subject explained in simple non-technical terms, than someone reading the entry for llHTTPResponse. Both should contain all the same (relative) information, but the style and flow of how that information is presented should reflect the individual case at hand.&lt;br /&gt;
:The difficulty in deciding to make special notes for special people is, who decides who is special?&lt;br /&gt;
:An expert programmer in another language would need a completely different set of &amp;quot;newbie notes&amp;quot; to someone who knew jack shit about programming. The former would need the technical details about this weird language explained (such as arbitrary delays), whereas the later wouldn&#039;t know why that needs explaining (they&#039;d more likely just accept it). They would however need to know what comma separating function arguments is all about.&lt;br /&gt;
:What would probably work best, is something that is unlikely to be done. If every page was rewritten two more times, and supplied alongside the original, users could choose to read the &amp;quot;simple&amp;quot;, &amp;quot;standard&amp;quot;, or &amp;quot;advanced&amp;quot; page of each subject.&lt;br /&gt;
:*The &amp;quot;Simple&amp;quot; could be written as if talking to someone with little technical knowledge of programming. Lane out as a step by step tutorial.&lt;br /&gt;
:*The &amp;quot;Standard&amp;quot; would remain pretty much as they are now.&lt;br /&gt;
:*The &amp;quot;Advanced&amp;quot; could be written in a more terse tech heavy way, nailing the specifics and leaving out the fluff.&lt;br /&gt;
:Anyway; I&#039;m not really around so much these days, so my input isn&#039;t perhaps very suitable (but I was basically invited to comment).&amp;amp;nbsp;[[User:Fred_Gandt|&#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-family:arial;color:#055;font-size:16px;&amp;quot;&amp;gt;f&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt;g&amp;lt;i style=&amp;quot;color:#0dd;font-size:10px;&amp;quot;&amp;gt;andt&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039;]] 18:31, 7 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::As an aside: Newbie Notes was a compromises, we had an editor who wanted to write notes for new users, name the section after himself, and maintain strict editorial control over it. It didn&#039;t go anywhere after that.&lt;br /&gt;
::My issue with customized layouts is that it makes finding information within the articles more difficult. Instead of jumping to the content your interested in, you have to read all of it and it&#039;s not in the same place between articles.&lt;br /&gt;
::As you say, deciding which content goes where is difficult when you don&#039;t know where anything about your reader. A solution could be to query the user. You would go down a list of radioboxes self reporting your knowledge in a set of compatible disciplines and it would include the required prerequisites and choose the shortest route to understanding, if not attained you could tell the system to broaden it&#039;s scope and include more information from the parallel paths. It sounds like it would be really interesting to build. Not really doable with mediawiki :( &lt;br /&gt;
&lt;br /&gt;
::We are doomed to fail if we can&#039;t automate the problem, this solution just doesn&#039;t scale. We can&#039;t personalize the documentation enough. People are too unique. We risk bloating the documentation too much or making it too large to manage.&lt;br /&gt;
&lt;br /&gt;
::I don&#039;t consider it insulting but I&#039;m not attached to the name. Can&#039;t please everyone. Maybe name it something like &amp;quot;The Basics&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
::As to [[User:Toady Nakamura|Toady Nakamura]]&#039;s suggestion I&#039;m all for it. If you want dedicated sections, give me an idea as to where and I&#039;ll put them in and add the variables to the template.&lt;br /&gt;
&lt;br /&gt;
::The wiki creates an environment for breeding ideas. We need to foster that, it&#039;s why &#039;&#039;&#039;I&#039;m in favor of giving [[User:Toady Nakamura|Toady Nakamura]] the go ahead&#039;&#039;&#039;. Without new ideas coming in, all we have is stagnation. Our audience is ever changing, if we don&#039;t change we will become more and more irrelevant to our target audience. -- &#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; 22:24, 7 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:::I think it would be fine to put entry notes at the top, as that is the first place one would look - and newer users tend to only look at the top... on the other hand... telling new users to look at the bottom of each page for detailed information would have the additional benefit of not changing the top of page layout for users who are familiar with the pages as they are now.  So I vote for bottom of page, &amp;quot;Expert notes&amp;quot; and &amp;quot;Basic notes&amp;quot; on each page.  And it would be lovely to have it in the template, then I could just go around and fix each page as I get to it.  And yes, Fred, great idea to start with llSay and the easy ones!   I will have more time for this project starting after Christmas and would be delighted to get going on it then! [[User:Toady Nakamura|Toady Nakamura]] 11:22, 19 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::::With the expert/basic modifier, this sounds like a forking of the Notes Section, that the notes section should be retired and born anew as these two sections. I&#039;ll work on the templates tonight. -- &#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; 13:00, 19 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== llHTTPResponse: ==&lt;br /&gt;
&lt;br /&gt;
Hey Strife,&lt;br /&gt;
your last edit on [[LlHTTPResponse]] didn&#039;t turn out as expected. The hover text doesn&#039;t show. I&#039;d have changed it, but not sure how. -- [[User:Kireji Haiku|Kireji]] 08:11, 9 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:It&#039;s working for me. What browser are you using? Are we talking about the hover in the description or for the wikipedia link? -- &#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; 08:24, 14 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
::I&#039;m on Firefox 17.0.1 on Windows 7 x64 Ultimate. -- &#039;&#039;&#039;[[User:Kireji Haiku|Kireji]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Kireji_Haiku|talk]]|[[Special:Contributions/Kireji_Haiku|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 08:20, 1 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ll take a look at it down stairs (I have the same setup down there) tomorrow if I have the time -- &#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:17, 1 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
==IM via Wiki?==&lt;br /&gt;
Hello Strife. Is there any private Instant Messaging facility in SL Wiki?  [[User:Omei Qunhua|Omei Qunhua]] 03:13, 27 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
:Nope but you can always IM me on [http://www.sluniverse.com/php/vb/members/strife.html SL Universe] or email my gmail address blindwander. -- &#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:42, 27 December 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
== Caveats in page LlGetAlpha are wrong. ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
can you maybe correct the Caveats in https://wiki.secondlife.com/wiki/LlGetAlpha&lt;br /&gt;
It says &amp;quot;If face indicates a face that does not exist the return is 0.0&amp;quot; which is incorrect, it always returns 1.0, see also https://jira.secondlife.com/browse/BUG-1256&lt;br /&gt;
I couldn&#039;t find out how to change it myself: )&lt;br /&gt;
&lt;br /&gt;
: I&#039;ve fixed it. I&#039;ll add it to the work queue to write some documentation for the [[Template:LSL Function/face]]. -- &#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; 22:39, 5 January 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
== New version of file not showing for me... ==&lt;br /&gt;
&lt;br /&gt;
Hiya, so I uploaded a new version of &amp;lt;code&amp;gt;File:Lsl_syntax_for_notepad_plus_plus.png&amp;lt;/code&amp;gt; and it doesn&#039;t show on [[User:Kireji Haiku/Notepad++_Syntax_Highlight|the page where I put it]]. What did I do wrong? -- [[User:Kireji Haiku|Kireji Haiku]] 09:59, 6 March 2013 (PST)&lt;br /&gt;
&lt;br /&gt;
:Maybe it&#039;s your browser cache? The wiki likely isn&#039;t telling your browser that the image is stale. -- &#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; 11:34, 11 March 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::I moved the content to Github. To answer your question, the old version stayed even after clearing cache. Not sure why, though. [[User:Kireji Haiku|Kireji Haiku]] 07:52, 2 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== GeSHi for LSL on the wiki: ==&lt;br /&gt;
&lt;br /&gt;
Ok, I&#039;ll try to keep the story short. I tried contacting Torley, but he [http://wiki.secondlife.com/wiki/Project:About?diff=1173232&amp;amp;oldid=1146125 is not on the wiki team anymore], then I tried contacting Jeremy who seems to [[User_talk:Torley_Linden|have chosen to ignore the issue for more than half a year]]. I&#039;m talking about the LSL syntax highlight on this wiki. I&#039;ve found that this works over GeSHi and the mediawiki plugin. I contacted them there and provided a fix. Then was told I should provide the fix to GeSHi directly since it&#039;s third party software from their point of view. I provided the GeSHi team with a fix, too. Nobody really seems to be responsible for anything. So how do I get [https://github.com/buildersbrewery/lsl-for-geshi this up-to-date] file wherever so that syntax highlight is up-to-date on this particular wiki rather tomorrow than next year. [[User:Kireji Haiku|Kireji Haiku]] 07:53, 2 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Yeah I don&#039;t have a good answer for you, years ago I decided to just use a greasemonkey script to add the missing coloring. -- &#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; 19:20, 7 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Ok, so...what do we do now? I&#039;ve got a couple of highlighting files for LSL on [https://github.com/buildersbrewery?tab=repositories this github project page], which should all be up-to-date AFAIK. Do you want to work on this, or should I? If you want me to do it, let me know what I need. Maybe a copy of that greasemonkey script? [[User:Kireji Haiku|Kireji Haiku]] 02:32, 8 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::It&#039;s a client side thing. http://userscripts.org/scripts/review/28162 -- &#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:54, 9 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I&#039;ll take a look and see what I can do, thanks. [[User:Kireji Haiku|Kireji Haiku]] 00:13, 15 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::This is what I got now. I removed the lslwiki parts, though. Could you test this?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;javascript&amp;gt;// ==UserScript==&lt;br /&gt;
// @name        LSL Highlighter&lt;br /&gt;
// @namespace   http://home.comcast.net/~mailerdaemon&lt;br /&gt;
// @include     http://wiki.secondlife.com/*&lt;br /&gt;
// @include     https://wiki.secondlife.com/*&lt;br /&gt;
// @version     1&lt;br /&gt;
// ==/UserScript==&lt;br /&gt;
&lt;br /&gt;
(function(){&lt;br /&gt;
var GM_addStyle = function(css){&lt;br /&gt;
    style = document.createElement(&amp;quot;style&amp;quot;);&lt;br /&gt;
    style.type = &amp;quot;text/css&amp;quot;;&lt;br /&gt;
    style.innerHTML = css;&lt;br /&gt;
    document.getElementsByTagName(&#039;head&#039;)[0].appendChild(style);&lt;br /&gt;
    return style;//default GM_addStyle doesn&#039;t return the new style element&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var search = &amp;quot;&amp;quot;;&lt;br /&gt;
var prefixed = false;&lt;br /&gt;
&lt;br /&gt;
if (($X(&amp;quot;//meta[@name=&#039;generator&#039; and starts-with(@content,&#039;MediaWiki &#039;)]&amp;quot;)))&lt;br /&gt;
{&lt;br /&gt;
    GM_addStyle(&amp;quot;table.diff td div {overflow:visible;} pre.code a{ text-decoration:none; }&amp;quot;);&lt;br /&gt;
    GM_addStyle(&amp;quot;.pBody { padding:0pt 0.8em 0.3em 0.5em; border:1px solid #AAAAAA; } .portlet h5 {background: transparent;}&amp;quot;);&lt;br /&gt;
    prefixs = [&amp;quot;&amp;quot;, &amp;quot;/wiki/Special:Search?search=&amp;quot;];&lt;br /&gt;
    search = &amp;quot;//pre[@class=&#039;code&#039; or @class=&#039;lsl&#039;]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    if ((breadcrumbs = $X(&amp;quot;//div[@id=&#039;contentSub&#039;]&amp;quot;)))&lt;br /&gt;
    {&lt;br /&gt;
        if (!(title = unsafeWindow.realTitleText))&lt;br /&gt;
            if (title = $X(&amp;quot;//div[@id=&#039;ReatTitleBanner&#039;]/span[@id=&#039;RealTitle&#039;]&amp;quot;))&lt;br /&gt;
                title = title.textContent;&lt;br /&gt;
        if (title &amp;amp;&amp;amp; unsafeWindow.wgTitle)&lt;br /&gt;
            $Z(&amp;quot;.//text()[contains(.,&#039;&amp;quot;+unsafeWindow.wgTitle+&amp;quot;&#039;)]&amp;quot;,function(r,i,p){&lt;br /&gt;
                r.data = r.data.replace(unsafeWindow.wgTitle, title);&lt;br /&gt;
            }, breadcrumbs);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    GM_addStyle([&lt;br /&gt;
                    &amp;quot;.lsl a {font-weight: bold; text-decoration: none;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .imp {font-weight: bold; color: red;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_states {color: #801A4D;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_events {color: #004D80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_functions {color: #820124;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_integer {color: #1A1A80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_string {color: #1A4D80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_float {color: #4D1A80;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_builtin_constants_compound {color: #663366;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_illegal_invalid {font-weight: bold; color: #FFFFFF; background-color: #FF0000; text-decoration: line-through;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_illegal_deprecated {font-weight: bold; color: #FFFF00; background-color: #FF0000; text-decoration: line-through;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_control {color: #0000CD;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .lsl_types {color: #003300;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .co1 {color: #CD4D26;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .es0 {color: #CD4D26;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .br0 {color: #66CC66;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .st0 {color: #003300;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .nu0 {color: #cc66cc;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .me1 {color: #006600;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;.lsl .me2 {color: #006600;}&amp;quot;,&lt;br /&gt;
                    &amp;quot;&amp;quot;].join(&amp;quot;\n&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
    return;&lt;br /&gt;
&lt;br /&gt;
function Group(className, prefix, expression, captures, processor){ this.c = className; this.v = prefix; this.r = expression; this.captures = captures || 0; this.processor = processor;}&lt;br /&gt;
Group.prototype = { toString: function(){ return &amp;quot;(&amp;quot;+this.r+&amp;quot;)&amp;quot;; }, };&lt;br /&gt;
&lt;br /&gt;
var groups = [ //{&lt;br /&gt;
    new Group(&amp;quot;nu0&amp;quot;, -1, &amp;quot;0[xX][0-9a-fA-F]+|\\.[0-9]*[Ee][+-]?[0-9]*|[0-9]+[Ee][+-]?[0-9]*&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_illegal_deprecated&amp;quot;, 0, &amp;quot;ll(?:Cloud|CollisionSprite|GodLikeRezObject|Make(?:Explosion|Fountain|Smoke|Fire)|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteDataSetRegion|RemoteLoadScript|SetInventoryPermMask|SetObjectPermMask|Sound(?:Preload)?|XorBase64Strings)|AGENT|ATTACH_[LR]PEC|CHARACTER_MAX_ANGULAR_(?:ACCEL|SPEED)|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|DATA_RATING|LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|PHYSICS_MATERIAL|TYPE_LEGACY)|PSYS_SRC_(?:(?:INNER|OUTER)ANGLE|OBJ_REL_MASK)|VEHICLE_FLAG_NO_FLY_UP&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_illegal_invalid&amp;quot;, 0, &amp;quot;event|print&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_states&amp;quot;, 0, &amp;quot;(?:state)\\s+\\w+|default&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_control&amp;quot;, 0, &amp;quot;@|do|else(?: if)?|for|if|jump|return|while&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_types&amp;quot;, 0, &amp;quot;float|integer|key|list|quaternion|rotation|string|vector&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_events&amp;quot;, 0, &amp;quot;(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_integer&amp;quot;, 1, &amp;quot;FALSE|TRUE|(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON_|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_string&amp;quot;, 1, &amp;quot;(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_float&amp;quot;, 1, &amp;quot;DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_constants_compound&amp;quot;, 1, &amp;quot;ZERO_(?:ROTATION|VECTOR)|TOUCH_INVALID_(?:TEXCOORD|VECTOR)&amp;quot;),&lt;br /&gt;
    new Group(&amp;quot;lsl_builtin_functions&amp;quot;, 0, &amp;quot;(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|Get(?:ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))&amp;quot;),&lt;br /&gt;
]; //}&lt;br /&gt;
const gl = groups.length;&lt;br /&gt;
var missed = new RegExp(&amp;quot;^(|[\\W\\w]*?\\W)(&amp;quot;+groups.join(&amp;quot;|&amp;quot;)+&amp;quot;)([\\W][\\W\\w]*|)$&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var lang = $X(&amp;quot;//div[@id=&#039;PageLanguage&#039;]&amp;quot;);&lt;br /&gt;
lang = (lang &amp;amp;&amp;amp; lang.innerHTML) || &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$Z(search, function(r,i){&lt;br /&gt;
    for (var a = 0; b = r.childNodes[a]; ++a)&lt;br /&gt;
        if (b.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; (c = missed.exec(b.nodeValue)))&lt;br /&gt;
        {&lt;br /&gt;
            var s, v, p, q;&lt;br /&gt;
            if ((v = c[c.length - 1]) &amp;amp;&amp;amp; (v != &amp;quot;&amp;quot;))//whitespace after&lt;br /&gt;
                insertAfter(document.createTextNode(v), b);&lt;br /&gt;
            for (p=0, q = 3; p &amp;lt; gl; p++)&lt;br /&gt;
            {&lt;br /&gt;
                var n = groups[p];&lt;br /&gt;
                var y = 1 + n.captures;&lt;br /&gt;
                if ((v = c[q]) &amp;amp;&amp;amp; (v != &amp;quot;&amp;quot;))&lt;br /&gt;
                {&lt;br /&gt;
                    if (n.v &amp;gt;= 0)&lt;br /&gt;
                    {&lt;br /&gt;
                        s = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;
                        s.href = prefixs[n.v] + v + lang;&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                        s = document.createElement(&amp;quot;span&amp;quot;);&lt;br /&gt;
                    if (n.c &amp;amp;&amp;amp; n.c != &amp;quot;&amp;quot;)&lt;br /&gt;
                        s.className = n.c;&lt;br /&gt;
                    s.appendChild(document.createTextNode(v));&lt;br /&gt;
                    insertAfter(s, b);&lt;br /&gt;
                    if (!(v = c[1]) || (v == &amp;quot;&amp;quot;))//whitespace before&lt;br /&gt;
                        b.parentNode.removeChild(b);&lt;br /&gt;
                    else&lt;br /&gt;
                        b.nodeValue = c[1];&lt;br /&gt;
                    if (n.processor)&lt;br /&gt;
                        n.processor(s, c.slice(q, q + y), c[1], c[c.length - 1]);&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
                q += y;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    if ((b = r.childNodes[0]) &amp;amp;&amp;amp; b.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; b.nodeValue.substring(0,7) == &amp;quot;&amp;amp;nbsp;\n&amp;quot;)&lt;br /&gt;
        b.nodeValue = b.nodeValue.substring(7);&lt;br /&gt;
    if ((b = r.childNodes[r.childNodes.length - 1]) &amp;amp;&amp;amp; b.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; b.nodeValue.substr(-2) == &amp;quot;\n &amp;quot;)&lt;br /&gt;
        b.nodeValue = b.nodeValue.substring(0, b.nodeValue.length - 2);&lt;br /&gt;
    if (lang)      $Z(&amp;quot;./a[span[starts-with(@class,&#039;kw&#039;)]]&amp;quot;, function(ir,ii){ir.attributes.getNamedItem(&amp;quot;href&amp;quot;).value += lang;}, r);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$Z(&amp;quot;//a[starts-with(@title, &#039;Ll&#039;) and starts-with(@title, text())]&amp;quot;, function(r,i){&lt;br /&gt;
    var m = &amp;quot;l&amp;quot; + r.title.substring(1);&lt;br /&gt;
    if (r.title == r.innerHTML)&lt;br /&gt;
        r.innerHTML = m;&lt;br /&gt;
    r.title = m;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
if (m = $X(&amp;quot;//li[@id=&#039;n-editingdiscussion&#039;]&amp;quot;)){&lt;br /&gt;
    n = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
    n.id = &amp;quot;n-randompage&amp;quot;;&lt;br /&gt;
    n.innerHTML = &amp;quot;&amp;lt;a accesskey=&#039;x&#039; title=&#039;Load a random article [alt-shift-x]&#039; href=&#039;/wiki/Special:Random&#039;&amp;gt;Random Page&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
    insertAfter(n, m);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function $X(_xpath, node){&lt;br /&gt;
    var doc = (node)?(node.ownerDocument || node):(node = document);&lt;br /&gt;
    return doc.evaluate(_xpath, node, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0);&lt;br /&gt;
}&lt;br /&gt;
function $Z(_xpath, func, node){&lt;br /&gt;
    var doc = (node)?(node.ownerDocument || node):(node = document);&lt;br /&gt;
    var res = doc.evaluate(_xpath, node, null,  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);&lt;br /&gt;
    var args = Array.prototype.slice.call(arguments, 3);&lt;br /&gt;
    var i = 0;&lt;br /&gt;
    for (; i &amp;lt; res.snapshotLength; ++i)&lt;br /&gt;
        func.apply(func, [res.snapshotItem(i), i].concat(args));&lt;br /&gt;
    return i;&lt;br /&gt;
}&lt;br /&gt;
function insertAfter(insert, after){return after.parentNode.insertBefore(insert, after.nextSibling);}&lt;br /&gt;
function insertBefore(insert, before){return before.parentNode.insertBefore(insert, before);}&lt;br /&gt;
function log(){&lt;br /&gt;
    var arg;&lt;br /&gt;
    switch (arguments.length) {&lt;br /&gt;
        case 1:&lt;br /&gt;
            arg = arguments[0];&lt;br /&gt;
            break;&lt;br /&gt;
        case 0:&lt;br /&gt;
            arg = null;&lt;br /&gt;
            break;&lt;br /&gt;
        default:&lt;br /&gt;
            arg = arguments;&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (typeof(unsafeWindow.console) != &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; typeof(unsafeWindow.console.log) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        unsafeWindow.console.log(arg);&lt;br /&gt;
    else if (typeof(GM_log) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        GM_log(arg);&lt;br /&gt;
    return arg;&lt;br /&gt;
}&lt;br /&gt;
})();&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cheers! [[User:Kireji Haiku|Kireji Haiku]] 11:49, 22 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I had to make all the sub-expressions use non-capture groups (which was how it was originally). I also made some minor tweaks that should do nothing but are for style correctness (I&#039;ve learned better JS habits since I wrote that). -- &#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:44, 22 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ve added support for custom post-processing for groups and for them capture information from the expression. If we decide to merge bad numbers into a single node, that code would be a post-processor. -- &#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; 00:18, 23 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Whatever works I&#039;d say. Not sure why you chose purple for numbers, though. Did you test it? Where to put this now? [[User:Kireji Haiku|Kireji Haiku]] 13:27, 23 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Purple because that&#039;s the color they are now and it makes highlighting look right on pages like [[float]]. I usually post these to [UserScripts.org] (which I have just [http://userscripts.org/scripts/review/28162 done]) and let people find them on their own. Sometime I&#039;ll post a forum thread about them, but I haven&#039;t done that in ages. I&#039;m hoping that is what you meant. -- &#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; 22:52, 23 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::No, I meant are you going to upload it to the wiki here so the highlighting here is fixed. Or how does this work? Have a nice weekend [[User:Kireji Haiku|Kireji Haiku]] 08:17, 24 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Oh dear, I was afraid of this at the last. It&#039;s a script for {{Wikipedia|Greasemonkey|w=n}}, it&#039;s not a server script. It probably will work in Chrome as well (not tested). -- &#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; 10:33, 24 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Ok, so this brings us back to GeSHi? How to update that? [[User:Kireji Haiku|Kireji Haiku]] 12:19, 27 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::The only way to do so is likely to be pestering LL. At this point I don&#039;t know who you would start with. Couldn&#039;t hurt to open a new bug on Jira, something along the lines of &amp;quot;LSL Syntax highlighting on the wiki needs updating&amp;quot; and see which linden is foolish enough to update the jira. -- &#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; 19:22, 27 May 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== kwdb ==&lt;br /&gt;
&lt;br /&gt;
By the way, there&#039;s a LSL keywords database that generates output for various syntax highlighters including GeSHi [http://code.google.com/p/kwdb/ here]. -- [[User:Sei Lisa|Sei Lisa]] 09:12, 4 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for the info. It&#039;s not that I don&#039;t have a file, I don&#039;t know where to put it so the syntax highlighting works on this wiki. I&#039;ve got a copy I&#039;m working on myself on [https://github.com/buildersbrewery/lsl-for-geshi github.com/buildersbrewery/lsl-for-geshi]. -- [[User:Kireji Haiku|Kireji Haiku]] 09:40, 5 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::LL has to install it in some directory on the server (they will know if they look for where the old one is), it&#039;s not something we can do. -- &#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; 11:14, 5 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:You may be interested in https://github.com/pclewis/lslint/commits/23c3fb11226249f633bed1f0b077435e58f80781/wiki_builtins.pl it&#039;s a script to walk the wiki to get functions, events and constants. -- &#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; 11:14, 5 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Thank you. That script generates some &amp;quot;false positives&amp;quot; and lacks some constants. Currently the generator provides also lslint output, by the way. Most other collections of keywords I&#039;ve evaluated are incomplete and sometimes incorrect, and I try to keep it up to date. For example, Kireji&#039;s list misses some OBJECT_* constants and has other problems. -- [[User:Sei Lisa|Sei Lisa]] 12:51, 7 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::I know it lacks some constants, I don&#039;t always remember to add them to the signature section. False positives? That is surprising. Could you give me an example?  -- &#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:23, 7 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I wouldn&#039;t be surprised if it comes up with a few functions that it shouldn&#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; 21:48, 7 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Sorry, false positive, singular. CLICK_ACTION_ZOOM doesn&#039;t exist. Some constants come out duplicated, some list wrong values. Here&#039;s a diff if interested. http://pastebin.ca/2393166 -- [[User:Sei Lisa|Sei Lisa]] 05:23, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::That diff really helps. It suggests we have several wrong values here on the wiki and gives us a good place to start fixing things. However I don&#039;t think it&#039;s a good idea for the wiki to move away from hex notation just so that we match the source code, not all of the LSL Portal&#039;s readers know their powers of two. -- &#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:40, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::P.S. I consider the duplicates a bug in the script. Yes some constants appear in multiple articles signature section, it&#039;s a &amp;lt;strike&amp;gt;hack&amp;lt;/strike&amp;gt; feature.&lt;br /&gt;
&lt;br /&gt;
:::::::I&#039;m not going to login to test this are you sure there is no CLICK_ACTION_ZOOM? https://bitbucket.org/lindenlab/viewer-release/src/41898042294e4c48d9fc8bbc327f0926ed6b6712/indra/lscript/lscript_compile/indra.l#cl-644 If it&#039;s not valid than you have found a bug. -- &#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:00, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::I&#039;m completely sure. What do you mean about hex notation? In the database, my criterion is to write in hex the numbers that are supposed to be bitfields, as that&#039;s the closest to binary that LSL supports. Nothing to do with the source code. That generates some differences between wiki and kwdb that are not real differences, you can just ignore them. I processed the files in order to make them comparable, including removing the arg names and removing leading zeros from hex numbers, but not transforming them to a common base, thus differences in radix are expected. -- [[User:Sei Lisa|Sei Lisa]] 08:19, 9 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::::I just meant some integer constants had values like 0x80 or 128. I hadn&#039;t considered parameter name changes but we do use different names for the parameters (some of the original parameter names are confusing or poorly chosen). As you say not real differences. I&#039;ll file a bug about CLICK_ACTION_ZOOM, they must have forgotten to put it in the server side compiler. -- &#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; 00:12, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::{{JIRA|BUG-2827}} -- &#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:15, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::::::Thanks for the link, but it&#039;s useless for mortals. -- [[User:Sei Lisa|Sei Lisa]] 07:49, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::::Ah I forgot about that problem. It&#039;s basically a duplicate of {{Jira|SCR-236}}. -- &#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; 11:25, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::::::I&#039;ll also start working on the real conflicts. Thanks for taking the time. -- &#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:21, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::I figured you meant 0xNNN but I don&#039;t understand why you said it&#039;s not a good idea to move away from hex notation, as I didn&#039;t remotely suggest that. Some constants that are in decimal in the wiki are in hex in kwdb, like some RC_* ones, and vice versa, like CONTENT_TYPE_*. There are a few where it can be debatable whether they are flags, like ESTATE_ACCESS_* (which is not specified to support multiple flags, though the header says &amp;quot;action flag&amp;quot;) and PSYS_SRC_PATTERN_* of which you can&#039;t combine several, to my knowledge, so I considered they should not be regarded as flags. -- [[User:Sei Lisa|Sei Lisa]] 04:54, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::::::PSYS_SRC_PATTERN_* was probably built rather than designed (that is to say, they hadn&#039;t entirely decided what they were doing when they did it). It will require some testing but it makes sense to allow the combining of (ALLOWED_AGENT_ADD | BANNED_AGENT_REMOVE) or (ALLOWED_AGENT_REMOVE | BANNED_AGENT_ADD), LL may have laid out the constants with that in mind even if they never added support for it. Or the number correspond with internal constants the server uses, and the server combines them. -- &#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; 11:25, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::What about the &amp;quot;other problems&amp;quot;? -- [[User:Kireji Haiku|Kireji Haiku]] 10:35, 8 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
I&#039;ve updated the float constants to use the values from https://bitbucket.org/lindenlab/viewer-release/src/41898042294e4c48d9fc8bbc327f0926ed6b6712/indra/llmath/llmath.h?at=default#cl-56 -- &#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; 12:09, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:KFM_CMD_SET_MODE what is it used for? PSYS_SRC_OBJ_REL_MASK is a dead constant. Used for nothing.&lt;br /&gt;
:I can see why you would be confused, most of those where the radix differs is in the direction of more obscure. &lt;br /&gt;
:-- &#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; 13:52, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::I don&#039;t know what it&#039;s used for. I know it&#039;s defined, as it passed the constant values test. If it&#039;s unused, its status in the database should be marked as unimplemented. PSYS_SRC_OBJ_REL_MASK was already marked as such. Output modules for LSL2dfg/kwdb can choose to skip these or put them in a separate section of the generated output if they wish, based on the status field. I&#039;m pondering whether it would make sense to define a new status, &amp;quot;unknown&amp;quot;, for KFM_CMD_SET_MODE. -- [[User:Sei Lisa|Sei Lisa]] 15:57, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ll have to spend some time figuring out how I&#039;m going to document these (and those PRIM_MEDIA_* flags I never documented because I thought LL would remove them {{JIRA|VWR-24413}}). I think we need a category for useless and nearly useless constants constants. -- &#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:31, 10 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::P.S. [[Release_Notes/Second_Life_RC_BlueSteel/13]]&lt;br /&gt;
&lt;br /&gt;
== [edit][edit][edit] ==&lt;br /&gt;
&lt;br /&gt;
Hello strife,&lt;br /&gt;
I recently made changes on the Lag-page, and today I noticed that the &amp;quot;Cache&amp;quot; section (which I&#039;ve added) shows the [edit] link three times!&lt;br /&gt;
Could you please help me fixing this, I have no clue what I did wrong (again) https://wiki.secondlife.com/wiki/Lag :D Thanks!&lt;br /&gt;
&lt;br /&gt;
:You didn&#039;t do anything wrong per se. It&#039;s a design defect of how CSS &amp;quot;float&amp;quot; works (more preciesly the defect is with the scope of &amp;quot;clear&amp;quot;). -- &#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:06, 14 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Just leaving a thank you! --[[User:MartinRJ Fayray|MartinRJ Fayray]] 10:29, 15 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Pathfinding categories ==&lt;br /&gt;
&lt;br /&gt;
I&#039;ve found that the pathfinding categories are somewhat messed up. There&#039;s [[:Category:Pathfinding]] and [[:Category:LSL Pathfinding]]. [[llGetSimStats]] is only in the latter, as is the case for some &amp;lt;code&amp;gt;CHARACTER_*&amp;lt;/code&amp;gt; constants. I think there should be a &amp;quot;single stop&amp;quot; page (category) for them. Do you agree? If so, which one do you think it should be? --[[User:Pedro Oval|Pedro Oval]] 12:47, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I do in deed agree but I also don&#039;t like to break the naming tradition or trash a Linden category. But since you suggested it, we should probably do away with one of the categories. Any thoughts as to which one? -- &#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:37, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::The description in [[:Category:Pathfinding]] reads: &amp;quot;Articles related to new pathfinding feature and related LSL API.&amp;quot; Maybe the LSL API part should be moved to its own [[:Category:LSL_Pathfinding]] and leave &#039;&#039;&#039;Pathfinding&#039;&#039;&#039; for articles only (and include &#039;&#039;&#039;LSL_Pathfinding&#039;&#039;&#039; as a subcategory of it). I think that makes the most sense. People who linked to &#039;&#039;&#039;Pathfinding&#039;&#039;&#039; will find the link to the LSL one. --[[User:Pedro Oval|Pedro Oval]] 17:03, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Works for me. -- &#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:33, 29 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::Done. Please review what I&#039;ve done, I&#039;m not too confident to have gotten it right. I used the template name &amp;lt;nowiki&amp;gt;{{Pathfinding LSL alpha}}&amp;lt;/nowiki&amp;gt; to switch the template while respecting the original intention. The name has Pathfinding at the start (as opposed to LSL Pathfinding Alpha) for emphasis on Pathfinding. While on it, I also renamed Template:LSL_Constants/llWanderW&#039;&#039;&#039;I&#039;&#039;&#039;thin to the right case. --[[User:Pedro Oval|Pedro Oval]] 08:41, 30 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::Good catch. -- &#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; 09:50, 30 August 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== [[Template:LSL_Header]] ==&lt;br /&gt;
I believe it could use a link to [[LSL_Alternate_Editors]]. Whatcha think? -- [[User:Kireji Haiku|Kireji Haiku]] 10:16, 8 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:See [[Template_talk:LSL_Header]] for my reply. -- &#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:37, 8 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Broken links: ==&lt;br /&gt;
On [[User:Strife Onizuka|your user page]] in the Scite/ESL section all links to your comcast account are broken. Oh yeah and...it was C++. -- [[User:Kireji Haiku|Kireji Haiku]] 07:43, 16 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:yes they are. I&#039;ll look into finding a place to host them. I knew C had changed a lot since I learned it but I didn&#039;t think they added member functions. -- &#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; 11:15, 16 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::I&#039;ve just updated my links and uploaded everything. I&#039;ve even published the most up to date and complete lsl.api (it&#039;s an an export of kwdb). -- &#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:31, 16 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== German translation of llList2Json ==&lt;br /&gt;
&lt;br /&gt;
Hiya Strife,&lt;br /&gt;
I just made an attempt to start translating the JSON functions to German,&lt;br /&gt;
but this page shows me a weird error message, could you please tell me what I did wrong :P&lt;br /&gt;
[[LlList2Json/de]] {{Unsigned|MartinRJ Fayray}}&lt;br /&gt;
&lt;br /&gt;
:&#039;n Abend, ich denke ich hab den Fehler behoben, Du hattest wohl einen senkrechten Strich ganz am Anfang zu viel. And yeah, Strife... I think I fixed it, there was a pipe too many. Not sure about the fix though, so if the fix needs a fix, have a go at it, LOL. Anyhow, enjoy the weekend you two. -- [[User:Kireji Haiku|Kireji Haiku]] 15:06, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Oops, thanks Kireji : ) --[[User:MartinRJ Fayray|MartinRJ Fayray]] 15:32, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;ll work on updating the [[Template:LSL Function/de]] (I generally do not update the templates for other languages). My view on the entire thing has to do with knowing your audience, each language represents a group of distinct cultures, who each have different cultural norms rooted deep in history. I would not presume to force the same layout on everyone (only English speakers). Also some of the template features for example do not work for Japaense. But to get back on topic. I don&#039;t want people to feel that English is the only language. I really want the international community to come and own their part of the wiki, figure out what works and doesn&#039;t. My goal is only to provide a framework, give them something to start from. There is no reason the articles need to be literal translations, and we gain nothing by having them be so.&lt;br /&gt;
&lt;br /&gt;
:As to what is wrong with the template, it never got updated beyond the point where LL stopped adding functions to LSO. It assumes all functions have ids. -- &#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:53, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:I&#039;m going to update the template but someone will need to go through and translate it. It hasn&#039;t been updated in 5 years so it&#039;s going to be a bumpy ride but hey you get 5 years worth of template insanity all at once instead of gradually. -- &#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:20, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Thanks, that&#039;s great =) --[[User:MartinRJ Fayray|MartinRJ Fayray]] 22:31, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::There are a few templates that need translating, here is what i&#039;ve got so far (I&#039;ll add more as I find them): - &#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; 22:46, 18 October 2013 (PDT)&lt;br /&gt;
:::[[Template:LSL_Bug_Icon/en]] -&amp;amp;gt; [[Template:LSL_Bug_Icon/de]]&lt;br /&gt;
:::[[Template:LSL_Generic/Issues]] -&amp;amp;gt; [[Template:LSL_Generic/Issues/de]]&lt;br /&gt;
:::[[Template:LSL_Generic/Caveats]] -&amp;amp;gt; [[Template:LSL_Generic/Caveats/de]]&lt;br /&gt;
&lt;br /&gt;
:::Discovered the header template was broken. Was just easier to port. -- &#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:21, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::There are likely other templates that need updating to work with the newer version of the template. Let me know if you encounter a broken 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; 23:24, 18 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::I translated the 3 above templates, but on the article page [[LlList2Json/de]] the &amp;quot;Caveats&amp;quot; and &amp;quot;Jira Search&amp;quot; sections are still using the English template. Thanks so far, though : ) Also these headlines should also be translated: &amp;quot;Specification&amp;quot; = &amp;quot;Beschreibung&amp;quot;, &amp;quot;Caveats&amp;quot; = &amp;quot;Anmerkungen&amp;quot;, &amp;quot;Examples&amp;quot; = &amp;quot;Beispiele&amp;quot;, &amp;quot;See Also&amp;quot; = &amp;quot;Siehe auch&amp;quot;, &amp;quot;Deep Notes&amp;quot; = &amp;quot;Erweitert&amp;quot; --[[User:MartinRJ Fayray|MartinRJ Fayray]] 14:48, 19 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::That oddly had more to do with which template was being used. For whatever reason multilang wasn&#039;t working right and so you were getting the english version of the template (my new keyboard arrived, it&#039;s so nice to have a Z key again). -- &#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:38, 19 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::One more thing, can you please point me to the &amp;quot;specifiers does not support negative indexes.&amp;quot; template - it&#039;s being used here: https://wiki.secondlife.com/wiki/LlJsonSetValue/de - Thanks! --[[User:MartinRJ Fayray|MartinRJ Fayray]] 14:36, 20 October 2013 (PDT)&lt;br /&gt;
:::Yet another thing: How do I translate the template that shows a &#039;Contents&#039; nav-box at the top right of each page, e.g. https://wiki.secondlife.com/wiki/JSON_APPEND/de - it should be translated from &amp;quot;Contents&amp;quot; to &amp;quot;Inhalt&amp;quot;. Thank you much! PS: found out how to use the multilang template. --[[User:MartinRJ Fayray|MartinRJ Fayray]] 18:19, 20 October 2013 (PDT)&lt;br /&gt;
:::I&#039;m done with the translation of LSL_JSON so far, if you find any errors, please let me know. --[[User:MartinRJ Fayray|MartinRJ Fayray]] 19:48, 20 October 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::Nothing I can do about &amp;quot;Contents&amp;quot;. That is Media Wiki. Unless we write our own. -- &#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:16, 21 October 2013 (PDT)&lt;br /&gt;
:::I don&#039;t speak German but it all looks good. However don&#039;t use multilang directly unless you have to. There is secondary categorization that multilang does which doesn&#039;t get setup if you use it directly. The LSL templates all have it set so you don&#039;t need to do anything. And you don&#039;t need to worry multilang gets called before everything else in the lsl templates.&lt;br /&gt;
:::I&#039;ve updated the Constant template (bug fixes). -- &#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:11, 22 October 2013 (PDT)&lt;br /&gt;
:::P.S. I&#039;m surprised you haven&#039;t asked me about the haiku. -- &#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:11, 22 October 2013 (PDT)&lt;br /&gt;
::::What does it?&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:LSL_Constants/JSON/de&amp;diff=1182903</id>
		<title>Template:LSL Constants/JSON/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:LSL_Constants/JSON/de&amp;diff=1182903"/>
		<updated>2013-10-23T05:29:30Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Replaced misleading word &amp;quot;HTML-Cod&amp;quot; with just &amp;quot;HTML&amp;quot; (my guess was that Strife changed it to fit into the column)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang||/de}}&lt;br /&gt;
{{{!}} {{prettytable}}&lt;br /&gt;
{{!}}- {{hl2}}&lt;br /&gt;
! {{!}} Typ-Bezeichner&lt;br /&gt;
! {{!}} Wert&lt;br /&gt;
! {{!}} Unicode&lt;br /&gt;
! {{!}} {{LSLGC|Encoding/URL{{#var:lang}}|URL-Code}}&lt;br /&gt;
! {{!}} HTML&lt;br /&gt;
! {{!}} Beschreibung&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_INVALID|string|&amp;amp;#xFDD0;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDDO}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%90&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD0;&lt;br /&gt;
{{!}} Rückgabewert wenn die Daten nicht wohlgeformt sind.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_OBJECT|string|&amp;amp;#xFDD1;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD1}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%91&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD1;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_ARRAY|string|&amp;amp;#xFDD2;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD2}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%92&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD2;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}- {{#if:{{{subset|}}}||&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_NUMBER|string|&amp;amp;#xFDD3;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD3}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%93&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD3;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_STRING|string|&amp;amp;#xFDD4;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD4}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%94&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD4;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_NULL|string|&amp;amp;#xFDD5;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD5}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%95&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD5;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_TRUE|string|&amp;amp;#xFDD6;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD6}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%96&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD6;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_FALSE|string|&amp;amp;#xFDD7;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD7}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%97&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD7;&lt;br /&gt;
{{!}} &lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{LSL Const/de|JSON_DELETE|string|&amp;amp;#xFDD8;}}&lt;br /&gt;
{{!}} {{#var:value}}&lt;br /&gt;
{{!}} {{Unicode|FDD8}}&lt;br /&gt;
{{!}} &amp;quot;%EF%B7%98&amp;quot;&lt;br /&gt;
{{!}} &amp;amp;amp;#xFDD8;&lt;br /&gt;
{{!}} Wird zusammen mit [[llJsonSetValue{{#var:lang}}|llJsonSetValue]] benutzt, um ein Schlüssel-Wert-Paar zu löschen.&lt;br /&gt;
{{!}}-&lt;br /&gt;
}}{{!}}-&lt;br /&gt;
{{!}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{{{PAGENAMEE}}|}}&lt;br /&gt;
{{{{PAGENAMEE}}|subset=*}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlJsonSetValue/de&amp;diff=1182857</id>
		<title>LlJsonSetValue/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlJsonSetValue/de&amp;diff=1182857"/>
		<updated>2013-10-22T05:45:34Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: Replaced LSL_Function/negative index/de with  LSL_Function/negative index{{#var:lang}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang||/de}}&lt;br /&gt;
{{LSL Function{{#var:lang}}&lt;br /&gt;
|inject-2={{Issues/BUG-3692}}&lt;br /&gt;
|inject-3={{LSL_Function/negative index{{#var:lang}}|false|specifiers|nc=*}}&lt;br /&gt;
|func_id=|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|func=llJsonSetValue&lt;br /&gt;
|return_type=string&lt;br /&gt;
|p1_type=string|p1_name=Json|p1_desc=Ausgangsdaten (JSON)&lt;br /&gt;
|p2_type=list|p2_name=Spezifizierer|p2_desc=Position an der ein Wert hinzugefügt, geändert oder gelöscht werden soll.&lt;br /&gt;
|p3_type=string|p3_name=Wert|p3_desc=Der neue Wert oder [[JSON_DELETE{{#var:lang}}|JSON_DELETE]].|p3_hover=Der neue Wert oder JSON_DELETE.&lt;br /&gt;
|func_footnote&lt;br /&gt;
|func_desc=Bei Erfolg gibt diese Funktion einen neuen [http://json.org JSON] - &#039;&#039;String&#039;&#039; zurück, bestehend aus {{LSLPT|Json}} mit dem neuen {{LSLPT|Wert}} (an der Stelle überschrieben) der in {{LSLPT|Spezifizierer}} definiert wurde.&lt;br /&gt;
&lt;br /&gt;
Wenn der Funktionsaufruf fehlschlägt (typischerweise weil ein ungültiger Array-Index außerhalb des gültigen Bereichs spezifiziert wurde) wird [[JSON_INVALID{{#var:lang}}|JSON_INVALID]] zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;ungültiger Array-Index außerhalb des gültigen Bereichs&amp;quot; (out of range array index) bedeutet, dass einer der Integer-{{LSLPT|Spezifizierer}} größer ist als die Länge des vorhandenen Arrays auf der entsprechenden Ebene mit dem Json Text, oder größer als 0 auf einer Ebene auf der kein Array existiert.&lt;br /&gt;
&lt;br /&gt;
Der spezielle [[JSON_APPEND{{#var:lang}}|JSON_APPEND]] - {{LSLPT|Spezifizierer}} wird ebenfalls akzeptiert. Er fügt den {{LSLPT|Wert}} an das Ende des Arrays in der entsprechenden Ebene (definiert durch {{LSLPT|Spezifizierer}}) an. Vorsicht ist geboten, wenn diese Ebene kein Array ist, da der existierende Wert dann überschrieben wird und mit einem Array ersetzt wird, welches dann den {{LSLPT|Wert}} an der ersten Index - Stelle (0) enthält.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu [[Liste{{#var:lang}}|Listen]] und [[String{{#var:lang}}|Strings]] werden negative Indexe in Json-Arrays &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
&lt;br /&gt;
Wenn ein existierender &amp;quot;Key&amp;quot; dem {{LSLPT|Spezifizierer}} auf der entsprechenden Ebene entspricht, wird dessen Wert mit dem neuen {{LSLPT|Wert}} überschrieben (außer wenn {{LSLPT|Wert}} der besondere [[JSON_DELETE{{#var:lang}}|JSON_DELETE]] Parameter ist). &lt;br /&gt;
&lt;br /&gt;
Existiert an dieser - durch {{LSLPT|Spezifizierer}} definierten - Stelle kein Wert, wird ein neues Schlüssel-Wert-Paar innerhalb des Json-Objekts erzeugt.&lt;br /&gt;
&lt;br /&gt;
Um einen existiertenden Wert an der durch {{LSLPT|Spezifizierer}} definierten Stelle zu löschen, verwenden Sie als {{LSLPT|Wert}} das Schlüsselwort [[JSON_DELETE{{#var:lang}}|JSON_DELETE]]. Dieser Vorgang entfernt dabei keine leeren Objekte oder Arrays aus höheren Ebenen.&lt;br /&gt;
&lt;br /&gt;
Wenn {{LSLPT|Wert}} gleich [[JSON_TRUE{{#var:lang}}|JSON_TRUE]], [[JSON_FALSE{{#var:lang}}|JSON_FALSE]] oder [[JSON_NULL{{#var:lang}}|JSON_NULL]] ist, wird der Wert entsprechend an der durch {{LSLPT|Spezifizierer}} definierten Stelle als Text &#039;true&#039;, &#039;false&#039; oder &#039;null&#039; innerhalb von {{LSLPT|Json}} gesetzt.&lt;br /&gt;
|return_text=&lt;br /&gt;
|spec=Siehe auch [[Json_usage_in_LSL{{#var:lang}}|Verwendung von JSON in LSL]]&lt;br /&gt;
|constants&lt;br /&gt;
|examples=&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
string TEST_STRING_JSON;&lt;br /&gt;
&lt;br /&gt;
init()&lt;br /&gt;
{&lt;br /&gt;
    TEST_STRING_JSON = &amp;quot;[9,\&amp;quot;&amp;lt;1,1,1&amp;gt;\&amp;quot;,false,{\&amp;quot;A\&amp;quot;:8,\&amp;quot;Z\&amp;quot;:9}]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;Original TEST_STRING_JSON: &amp;quot; + TEST_STRING_JSON);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
run_json_test(string input)&lt;br /&gt;
{&lt;br /&gt;
    string output;&lt;br /&gt;
&lt;br /&gt;
//  changing values within the json string&lt;br /&gt;
&lt;br /&gt;
//  change the first value in the array to 10&lt;br /&gt;
    output = llJsonSetValue(input, [0], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [10,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 1): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  change the third value in the array to &#039;true&#039;&lt;br /&gt;
    output = llJsonSetValue(input, [2], JSON_TRUE);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,true,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 2): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  change the value of &amp;quot;A&amp;quot; within the Json object to 3&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;A&amp;quot;], &amp;quot;3&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:3,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 3): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  adding a value or new key-value-pair within the input&lt;br /&gt;
&lt;br /&gt;
//  add the value &amp;quot;Hello&amp;quot; to the end of the array&lt;br /&gt;
//      NOTE: One cannot insert, only add to the end&lt;br /&gt;
    output = llJsonSetValue(input, [JSON_APPEND], &amp;quot;Hello&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},&amp;quot;Hello&amp;quot;]&lt;br /&gt;
    say(&amp;quot;( 4): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  add the key-value-pair &amp;quot;B&amp;quot;:10 to the object&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;B&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;B&amp;quot;:10,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;( 5): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//  Things to look out for when modifying Json text&lt;br /&gt;
//      ~!~ Be careful when using this function ~!~&lt;br /&gt;
&lt;br /&gt;
//  out of bounds array assignment:&lt;br /&gt;
//      defined as attempting to add a value to a position ...&lt;br /&gt;
//      ...greater than the length of the array (which may be 0)&lt;br /&gt;
//      JSON_APPEND is ALWAYS the preferred way to add to an array&lt;br /&gt;
    output = llJsonSetValue(input, [5], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  %EF%B7%90 (URL escaped JSON_INVALID)&lt;br /&gt;
    say(&amp;quot;( 6): &amp;quot; + llEscapeURL(output));&lt;br /&gt;
&lt;br /&gt;
//  BUT, this works, since it is in bounds&lt;br /&gt;
//      (eqivalent to JSON_APPEND in this case)&lt;br /&gt;
    output = llJsonSetValue(input, [4], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},10]&lt;br /&gt;
    say(&amp;quot;( 7): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  careless formation of new arrays&lt;br /&gt;
//      ( the 4 and all subsequent 0&#039;s are all in bounds.)&lt;br /&gt;
    output = llJsonSetValue(input, [4, 0, 0, 0], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9},[[[10]]]]&lt;br /&gt;
    say(&amp;quot;( 8): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  overwriting an object with an array:&lt;br /&gt;
//      ~!~ mistaken use of JSON_APPEND on an object ~!~&lt;br /&gt;
    output = llJsonSetValue(input, [3, JSON_APPEND], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,[10]]&lt;br /&gt;
    say(&amp;quot;( 9): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  careless formation of new objects&lt;br /&gt;
//      NOTE: &amp;quot;Key&amp;quot; assignemts will NEVER result in a return of JSON_INVALID!&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;W&amp;quot;, &amp;quot;X&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;W&amp;quot;:{&amp;quot;X&amp;quot;:10},&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(10): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;W&amp;quot;, &amp;quot;X&amp;quot;, &amp;quot;Y&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:8,&amp;quot;W&amp;quot;:{&amp;quot;X&amp;quot;:{&amp;quot;Y&amp;quot;:10}},&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(11): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  overwriting an array with an object&lt;br /&gt;
    output = llJsonSetValue(input, [&amp;quot;X&amp;quot;], &amp;quot;10&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  {&amp;quot;X&amp;quot;:10}&lt;br /&gt;
    say(&amp;quot;(12): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  special case considerations:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//  BUG-3692: (NOTE: Corrected in release 13.09.21.281328!)&lt;br /&gt;
//      a bug where, instead of JSON_INVALID being returned, if the out of&lt;br /&gt;
//      bounds index is at a lower level than the topmost (root) level, a&lt;br /&gt;
//      non-compliant JSON text would be formed&lt;br /&gt;
    output = llJsonSetValue(input, [1, 7], &amp;quot;Disappearing Text&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//  Note the &amp;quot;empty&amp;quot; second position that resulted in the returned array&lt;br /&gt;
//  [9,,false,{&amp;quot;A&amp;quot;:8,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
// (But now correctly shows JSON_INVALID)&lt;br /&gt;
    say(&amp;quot;(13): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  though there is no way to directly delete a key-value-pair &lt;br /&gt;
//  nor remove a value from an array,&lt;br /&gt;
//  the use of JSON_NULL may prove adequate&lt;br /&gt;
    output = llJsonSetValue(input, [3, &amp;quot;A&amp;quot;], JSON_NULL);&lt;br /&gt;
&lt;br /&gt;
//  [9,&amp;quot;&amp;lt;1,1,1&amp;gt;&amp;quot;,false,{&amp;quot;A&amp;quot;:null,&amp;quot;Z&amp;quot;:9}]&lt;br /&gt;
    say(&amp;quot;(14): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  if a JSON text object has been formed with llList2Json()&lt;br /&gt;
//  that contains one or more duplicated &amp;quot;Keys&amp;quot;, (allowable&lt;br /&gt;
//  but NOT recommended!) ANY change&lt;br /&gt;
//  made to that object will correct the condition,&lt;br /&gt;
//  with all but the last such &amp;quot;Key&amp;quot; being removed&lt;br /&gt;
    output = llList2Json(JSON_OBJECT, [&amp;quot;A&amp;quot;, 1, &amp;quot;A&amp;quot;, 2, &amp;quot;A&amp;quot;, 3, &amp;quot;B&amp;quot;, 4, &amp;quot;B&amp;quot;, 4]);&lt;br /&gt;
&lt;br /&gt;
//  both Keys &amp;quot;A&amp;quot; and &amp;quot;B&amp;quot; are duplicated&lt;br /&gt;
//  {&amp;quot;A&amp;quot;:1,&amp;quot;A&amp;quot;:2,&amp;quot;A&amp;quot;:3,&amp;quot;B&amp;quot;:4,&amp;quot;B&amp;quot;:4}&lt;br /&gt;
    say(&amp;quot;(15): &amp;quot; + output);&lt;br /&gt;
&lt;br /&gt;
//  only the last value of the duplications is accessable though&lt;br /&gt;
&lt;br /&gt;
//  3&lt;br /&gt;
    say(&amp;quot;(16): &amp;quot; + llJsonGetValue(output, [&amp;quot;A&amp;quot;]));&lt;br /&gt;
&lt;br /&gt;
//  condition corrected by adding a key-value-pair...&lt;br /&gt;
&lt;br /&gt;
//  {&amp;quot;A&amp;quot;:3,&amp;quot;B&amp;quot;:4,&amp;quot;Z&amp;quot;:5}&lt;br /&gt;
    say(&amp;quot;(17): &amp;quot; + llJsonSetValue(output, [&amp;quot;Z&amp;quot;], &amp;quot;5&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
//  ... or by changing a value&lt;br /&gt;
&lt;br /&gt;
// {&amp;quot;A&amp;quot;:5,&amp;quot;B&amp;quot;:4}&lt;br /&gt;
    say(&amp;quot;(18): &amp;quot; + llJsonSetValue(output, [&amp;quot;A&amp;quot;], &amp;quot;5&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
say(string message)&lt;br /&gt;
{&lt;br /&gt;
    llOwnerSay(message);&lt;br /&gt;
//  llRegionSayTo(llGetOwner(), PUBLIC_CHANNEL, message);&lt;br /&gt;
//  llWhisper(PUBLIC_CHANNEL, message);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer start_param)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        init();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_end(integer num_detected)&lt;br /&gt;
    {&lt;br /&gt;
//      copy &#039;TEST_STRING_JSON&#039; from the following function call&lt;br /&gt;
//      to the string &#039;input&#039; in the function declaration&lt;br /&gt;
//      and run a test on &#039;input&#039; to not (!) modify &#039;TEST_STRING_JSON&#039;&lt;br /&gt;
//      but its copy instead&lt;br /&gt;
        run_json_test(TEST_STRING_JSON);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
|caveats=&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions={{LSL DefineRow||[[llList2Json{{#var:lang}}|llList2Json]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJson2List{{#var:lang}}|llJson2List]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonGetValue{{#var:lang}}|llJsonGetValue]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llJsonValueType{{#var:lang}}|llJsonValueType]]|}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_tests&lt;br /&gt;
|also_articles={{LSL DefineRow||[[Typecast{{#var:lang}}|Typecast]]|}}&lt;br /&gt;
|notes=&lt;br /&gt;
|permission&lt;br /&gt;
|negative_index&lt;br /&gt;
|sort=JsonSetValue&lt;br /&gt;
|cat1=List&lt;br /&gt;
|cat2=String&lt;br /&gt;
|cat3=Data Conversion&lt;br /&gt;
|cat4=JSON&lt;br /&gt;
|history = Veröffentlichungsdatum  [[ Release_Notes/Second_Life_Server/13#13.05.20.276191 | 20/05/2013 ]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Portal/de&amp;diff=1182838</id>
		<title>LSL Portal/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Portal/de&amp;diff=1182838"/>
		<updated>2013-10-21T02:57:20Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: /* {{LSLGC||LSL Kategorien}} added LSL_JSON/de */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
&lt;br /&gt;
{{LSL Header/de}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot; style=&amp;quot;background: red;  -moz-border-radius: 10px; text-align: center; border: 1px solid black; padding: 2px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; style=&amp;quot;background: #f9f9f9; -moz-border-radius: 8px; text-align: center; border: 1px solid black;&amp;quot;&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; valign=&amp;quot;center&amp;quot; align=&amp;quot;center&amp;quot;|[[Image:Wrench.png]]&lt;br /&gt;
|Dieses Portal befindet sich derzeit in Bearbeitung. Wirf einen Blick auf die [[{{TALKPAGENAME}}|zugehörige Diskussionsseite]], falls Du dabei helfen möchtest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;__NOTOC__&lt;br /&gt;
== Willkommen im Second Life LSL Portal! ==&lt;br /&gt;
Dies ist eine gemeinschaftliche Bestrebung eine genaue Beschreibung der Scriptsprache von {{LL|SL}} zu liefern: {{HoverText|LSL|Linden Scripting Language}}.&amp;lt;br/&amp;gt;&lt;br /&gt;
Es ist als offene Dokumentation gedacht, die Scriptern aller Erfahrungsstufen helfen soll. Fühle Dich dazu eingeladen zur hierzu beizutragen, Artikel zu editieren oder neu anzulegen. Siehe ebenfalls: [[How to choose a wiki]]{{nnlink/de}}.&lt;br /&gt;
&lt;br /&gt;
Du willst die Linden Scripting Language (LSL) erlernen? Teste eines der [[LSL Tutorial|LSL Tutorien]]{{nnlink/de}}.&lt;br /&gt;
&lt;br /&gt;
Bitte kopiere keine Informationen aus anderen Quellen hier hinein, wenn du dir nicht absolut sicher bist über evtl. Copyrightverletzungen.&lt;br /&gt;
Wirf einen Blick auf [[Talk:LSL Portal]]{{nnlink/de}} für weitere Informationen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot; style=&amp;quot;background: #f9f9f9; -moz-border-radius: 10px; text-align: center; border: 1px solid black; padding: 2px&amp;quot;&amp;gt;&lt;br /&gt;
Verweise auf englischsprachige Seiten sind mit {{nnlink/de}} markiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte beachtet, dass deutschsprachige Seiten ggf. nicht aktuell sind.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border-width: 0px; border-spacing: 5px;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border-width: 1px 1px 1px 1px; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: gray;&amp;quot;&lt;br /&gt;
|height=&amp;quot;1&amp;quot; width=&amp;quot;30%&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== LSL Portal==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
* [[LSL Editing Primer|LSL Editing Primer]]{{nnlink/de}} - wiki editing how to&lt;br /&gt;
* [[LSL Portal Guidelines|Portal Guidelines]]{{nnlink/de}} - wiki editing should&#039;s&lt;br /&gt;
* [[LSL Portal To-do|Portal To-Do]]{{nnlink/de}} - wiki edits most needed where&lt;br /&gt;
* [[LSL Portal Translation Project|LSL Portal Translation Project]]{{nnlink/de}} - translation coordination&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|height=&amp;quot;1&amp;quot; width=&amp;quot;30%&amp;quot; rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== LSL Sprachreferenz ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:LSL Constants|Konstanten]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Events|Ereignisse]]{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Flow Control}}{{nnlink/de}}&lt;br /&gt;
*:[[for]]{{nnlink/de}}, [[if]]{{nnlink/de}}, [[while]]{{nnlink/de}}, [[do-while]]{{nnlink/de}}, [[jump]]{{nnlink/de}}, [[return]]{{nnlink/de}}, [[state]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Functions/de|Funktionen]]&lt;br /&gt;
*:&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:Category:LSL_Functions|from=}} (Seite 1: A..O)], [{{fullurl:Category:LSL_Functions|from=P}} (Seite 2: P..Z)]&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[LSL Operators|Operatoren]]{{nnlink/de}}&lt;br /&gt;
* [[state|States]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Types|Typen]]{{nnlink/de}}&lt;br /&gt;
*:[[integer]]{{nnlink/de}}, [[float]]{{nnlink/de}}, [[string]]{{nnlink/de}}, [[key]]{{nnlink/de}}, [[list]]{{nnlink/de}}, [[vector]]{{nnlink/de}}, [[rotation]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Variables|Variablen]]{{nnlink/de}}&lt;br /&gt;
&lt;br /&gt;
* [[LSL Errors|Fehler]]{{nnlink/de}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|height=&amp;quot;1&amp;quot; width=&amp;quot;25%&amp;quot; rowspan=&amp;quot;5&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== {{LSLGC||LSL Kategorien}} ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
* [[:Category:LSL Alpha|Alpha]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Animation|Animation]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Attachment|Attachments]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Avatar|Avatar]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Camera|Kamera]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Collision|Kollision]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Color|Farbe]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Controls|Steuerung]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Communications|Kommunikation]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Face|Fläche(Face)]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Group|Gruppen]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Inventory|Inventar]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL JSON/de|JSON]]&lt;br /&gt;
* [[:Category:LSL Light|Licht]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Link|Link]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Math|Mathematik]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Needs Example|Benötigt Beispiel]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Permissions|Berechtigungen]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Physics|Physik]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Prim|Primitive]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Rotation|Rotation]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Sensor|Sensor]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Sound|Sound]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Texture|Textur]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Time|Zeit]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Video|Video]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Vehicle|Fahrzeuge]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL World|Welt]]{{nnlink/de}}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
* {{LSLGC|Avatar}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Animation}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Attachment}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Camera|Kamera}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Controls|Steuerung}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Sit|Sitzen}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Communications|Kommunikation}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Chat}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|HTTP}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|XML-RPC}}{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Detected|Detection]]{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Collision|Kollision}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Touch}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Sensor}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Functions|Funktionen}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|God Mode|Gott Modus}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Inventory|Inventar}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Creator|Urheber}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Notecard}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Owner|Besitzer}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Media|Medien}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Sound}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Video}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Movement|Bewegung}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Physics|Physik}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Damping|Dämpfung}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Hover|Schweben}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Rotation}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Object|Objekt}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Link}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Vehicle|Fahrzeug}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Permissions|Berechtigungen}}{{nnlink/de}}&lt;br /&gt;
** [[:Category:LSL Permissions/Asset|Asset]]{{nnlink/de}}&lt;br /&gt;
** [[:Category:LSL Permissions/Script|Script]]{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Prim|Primitive}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Effects|Effekte}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Particles|Partikel}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Light|Licht}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Face|Fläche(Face)}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Alpha|Transparenz}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Color|Farbe}}{{nnlink/de}}&lt;br /&gt;
*** {{LSLGC|Texture|Textur}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Script}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Error|Fehler}}{{nnlink/de}}&lt;br /&gt;
*** [[:Category:LSL Error/Math|Mathematische Fehler]]{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Keywords|Schlüsselwörter}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Math|Mathematisches}}{{nnlink/de}}&lt;br /&gt;
* {{LSLGC|Region}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Ground|Boden}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Parcel|Parzelle}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Security|Sicherheit}}{{nnlink/de}}&lt;br /&gt;
** {{LSLGC|Time|Zeit}}{{nnlink/de}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border-width: 1px 1px 1px 1px; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: gray;&amp;quot;&lt;br /&gt;
|height=&amp;quot;1&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Entwickler Ressourcen ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
* [[LSL Tutorial|Tutorien]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Teachers|LSL Lehrer]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Mentors|LSL Mentoren]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Examples|LSL Beispiele]]{{nnlink/de}}&lt;br /&gt;
* [[:Category:LSL Library|Script Sammlung]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Protocol|Protokoll Austausch]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Useful Function WishList|Wunschliste nützlicher Funktionen]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Style Guide|Stilanleitung]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Script Efficiency|Script Effizenz]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Script Memory|Script Speicher]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Write Once Debug Everywhere]]{{nnlink/de}}&lt;br /&gt;
* [[LSL_Alternate_Editors |OffWorld Editioren/Entwicklungsumgebungen]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Test Harness | Inworld test harness]]{{nnlink/de}}&lt;br /&gt;
* [[LSL Benchmarking Scripts | Benchmarking Scripte]]{{nnlink/de}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border-width: 1px 1px 1px 1px; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: gray;&amp;quot;&lt;br /&gt;
|height=&amp;quot;1&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
{{LSL News}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border-width: 1px 1px 1px 1px; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: gray;&amp;quot;&lt;br /&gt;
|height=&amp;quot;1&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
{{LSL Bugs}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border-width: 1px 1px 1px 1px; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: gray;&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Andere LSL Wikis ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
* [http://www.lslwiki.net/lslwiki/ lslWiki]&lt;br /&gt;
* [http://rpgstats.com/wiki/ RPGStats lslWiki] (Mediawiki Mirror / Japanese Translations)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snapshot Mirrors ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0.5em&amp;quot;&amp;gt;&lt;br /&gt;
* [http://www.cheesefactory.us/lslwm LSL Wiki Mirror 07-07-2007] (downloadable)&lt;br /&gt;
* [http://sha.dtm-network.com/all/lslwm/ LSL Wiki Mirror 01-05-2007 Alternative]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Portals]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Creation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LSL|*]]&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Verwendung_von_JSON_in_LSL/de&amp;diff=1182837</id>
		<title>Verwendung von JSON in LSL/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Verwendung_von_JSON_in_LSL/de&amp;diff=1182837"/>
		<updated>2013-10-21T02:54:49Z</updated>

		<summary type="html">&lt;p&gt;MartinRJ Fayray: fixed punctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang||/de}}&lt;br /&gt;
{{LSL Header/de|lm=*}}{{LSLC|}}{{LSLC|JSON{{#var:lang}}|*Verwendung von JSON in LSL}}&lt;br /&gt;
==Übersicht==&lt;br /&gt;
[http://www.json.org/ JSON] (JavaScript Object Notation) ist ein Textformat (unabhängig von Programmiersprache und Architektur) um [http://de.wikipedia.org/wiki/Serialisierung Datenstrukturen zu serialisieren], ähnlich wie es [http://de.wikipedia.org/wiki/XML XML] für Dokumente macht, aber in einer wesentlich kompakteren Form.&lt;br /&gt;
Es wird in der einfachsten Form als ein reiner String dargestellt, der in seinem Aufbau einem [http://tools.ietf.org/html/rfc4627 Regelset] folgt.&lt;br /&gt;
Diese Regeln erlauben die Codierung, Manipulation, Speicherung, Übermittlung und Decodierung von komplexen Datenstrukturen in einer kurzen, lesbaren Form.&lt;br /&gt;
Json-Text kann man benutzen, um zwischen JSON-kompatiblen Anwendungen zu kommunizieren, und wird in erster Linie für die Webclient-Server-Kommunikation verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JSON ermöglicht es [http://de.wikipedia.org/wiki/Objekt_%28Programmierung%29 Objekte], [http://de.wikipedia.org/wiki/Datenbank Datenbanken] und komplexe und abstrakte Datentypen zu erzeugen ([http://de.wikipedia.org/wiki/Feld_%28Datentyp%29 multidimensionale und assoziative Arrays], [http://de.wikipedia.org/wiki/Last_In_%E2%80%93_First_Out Stacks], [http://de.wikipedia.org/wiki/First_In_%E2%80%93_First_Out Queues] und [http://de.wikipedia.org/wiki/Liste_%28Datenstruktur%29 Listen]).&lt;br /&gt;
&lt;br /&gt;
Da LSL diese Datentypen nicht unterstützt, werden zur Anwendung dieser Datentypen user-generierte Funktionen benötigt (z.B. getAllKeys(), getArrayLength(), deleteItem(), und Iterator-Operatoren),&lt;br /&gt;
um von den Vorteilen (wie Datenkapselung, Speicher-Einsparung für lange Listen, Verschachtelung von vermischten Datenstrukturen) die JSON ermöglichen, profitieren zu können.&lt;br /&gt;
&lt;br /&gt;
Ein LSL-basiertes Testskript für diese Funktionen kann man hier abrufen: [[Json_usage_in_LSL/TestScript]].&lt;br /&gt;
&lt;br /&gt;
==Typenkonvertierung==&lt;br /&gt;
&lt;br /&gt;
Siehe [[llJsonValueType{{#var:lang}}|llJsonValueType]]&lt;br /&gt;
&lt;br /&gt;
==Neue LSL Funktionen==&lt;br /&gt;
&lt;br /&gt;
*[[LlJson2List{{#var:lang}}|LlJson2List]]&lt;br /&gt;
*[[LlJsonGetValue{{#var:lang}}|LlJsonGetValue]]&lt;br /&gt;
*[[LlJsonSetValue{{#var:lang}}|LlJsonSetValue]]&lt;br /&gt;
*[[LlJsonValueType{{#var:lang}}|LlJsonValueType]]&lt;br /&gt;
*[[LlList2Json{{#var:lang}}|LlList2Json]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;HINWEIS&#039;&#039;&#039;&#039;&#039; Bitte besuchen Sie auch die originale Englische Version dieser Seite für weitere Informationen, wie Beispielskripts etc.: [[Json_usage_in_LSL]].&lt;/div&gt;</summary>
		<author><name>MartinRJ Fayray</name></author>
	</entry>
</feed>