<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Genshi_example</id>
		<title>Genshi example - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Genshi_example"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;action=history"/>
		<updated>2026-06-26T06:53:40Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=54027&amp;oldid=prev</id>
		<title>Manni at 11:03, 5 March 2024</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=54027&amp;oldid=prev"/>
				<updated>2024-03-05T11:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:03, 5 March 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This script appears to be written in the OpenSim Script Language (OSL), which is similar to the LSL (Linden Scripting Language) used in Second Life. The script seems to be designed for use in a virtual world environment where avatars interact with terminals and perform various actions such as logging in, accessing settings, and managing inventory.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This script appears to be written in the OpenSim Script Language (OSL), which is similar to the LSL (Linden Scripting Language) used in Second Life. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The script seems to be designed for use in a virtual world environment where avatars interact with terminals and perform various actions such as logging in, &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;accessing settings, and managing inventory.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here's a high-level overview of the script:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here's a high-level overview of the script:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; Error Handling and Feedback: The script includes error handling and feedback mechanisms to inform users about the status of their actions.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; Error Handling and Feedback: The script includes error handling and feedback mechanisms to inform users about the status of their actions.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Overall, the script is a comprehensive system for managing terminals in a virtual world environment, handling user interactions, authentication, menu navigation, inventory management, and more. It demonstrates the flexibility and capabilities of scripting within virtual worlds.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Overall, the script is a comprehensive system for managing terminals in a virtual world environment, &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;handling user interactions, authentication, menu navigation, inventory management, and more. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It demonstrates the flexibility and capabilities of scripting within virtual worlds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=54026&amp;oldid=prev</id>
		<title>Manni at 11:01, 5 March 2024</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=54026&amp;oldid=prev"/>
				<updated>2024-03-05T11:01:54Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:01, 5 March 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Quicklinks}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Quicklinks}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;This script appears to be written in the OpenSim Script Language (OSL), which is similar to the LSL (Linden Scripting Language) used in Second Life. The script seems to be designed for use in a virtual world environment where avatars interact with terminals and perform various actions such as logging in, accessing settings, and managing inventory.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Here's a high-level overview of the script:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Global Variables: The script defines various global variables to store settings, menu options, HTTP request IDs, and other necessary information.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Initialization: The init() function initializes the settings by reading from a settings notecard. If the notecard is missing, it displays an error message.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Settings Notecard Handling: The readSettings() function reads settings from a notecard and sets the corresponding variables.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Utility Functions: The script includes utility functions like string2vector() to convert strings to vectors and generatePW() to generate passwords and hash them using MD5.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; HTTP Requests: The httpRequest() function handles various HTTP requests such as login, logoff, registration, and adding items.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Login: The login() function handles the login process, including retrieving avatar data and initiating HTTP requests for authentication.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Event Handlers: The script includes event handlers for various events like on_rez, state_entry, touch_start, dataserver, http_response, link_message, and changed.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; States: The script defines multiple states (default, restart_default, inuse) to manage different stages of operation.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Menu Handling: The returnDialog() function displays different menus based on the user's profile status.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Sensor and Listener Functions: The sensor() function handles sensor events to monitor avatar proximity, while the listen() function listens for user commands.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Inventory Management: The changed() function manages inventory changes, such as allowing or denying item submissions.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; Error Handling and Feedback: The script includes error handling and feedback mechanisms to inform users about the status of their actions.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Overall, the script is a comprehensive system for managing terminals in a virtual world environment, handling user interactions, authentication, menu navigation, inventory management, and more. It demonstrates the flexibility and capabilities of scripting within virtual worlds.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=28119&amp;oldid=prev</id>
		<title>MakoBot: Robot: Cosmetic changes</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=28119&amp;oldid=prev"/>
				<updated>2012-03-04T03:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Robot: Cosmetic changes&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 03:05, 4 March 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 76:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 76:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;list objectSpecs;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;list objectSpecs;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string secretWord;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string secretWord;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string status; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string status; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string itemName;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string itemName;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;//*********************&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;//*********************&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;settingsEntry+=1; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;settingsEntry+=1; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;settingsDS = llGetNotecardLine(settingsFileName, settingsEntry) ;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;settingsDS = llGetNotecardLine(settingsFileName, settingsEntry) ;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string randomWord = llList2String(primewords,(integer)llFrand(llGetListLength(primewords))); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string randomWord = llList2String(primewords,(integer)llFrand(llGetListLength(primewords))); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string randomNumber = (string)llRound(llFrand(uniqueness)); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;string randomNumber = (string)llRound(llFrand(uniqueness)); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;secretWord = randomWord+randomNumber; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;secretWord = randomWord+randomNumber; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;return llMD5String(secretWord,salt); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;return llMD5String(secretWord,salt); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 192:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 192:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;llSetText(&amp;quot;Controller: &amp;quot;+username, textcolor, 1);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;llSetText(&amp;quot;Controller: &amp;quot;+username, textcolor, 1);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;llInstantMessage(av_key, &amp;quot;Contacting server. Please wait...&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;llInstantMessage(av_key, &amp;quot;Contacting server. Please wait...&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;bornDS = llRequestAgentData(av_key, DATA_BORN); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160;  &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;bornDS = llRequestAgentData(av_key, DATA_BORN); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;payinfoDS = llRequestAgentData(av_key, DATA_PAYINFO); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;payinfoDS = llRequestAgentData(av_key, DATA_PAYINFO); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 319:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 319:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;state inuse { &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;state inuse { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; state_entry() { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; state_entry() { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; llSensorRepeat( &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, AGENT, scanrange, TWO_PI, scanrate); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; llSensorRepeat( &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, AGENT, scanrange, TWO_PI, scanrate); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>MakoBot</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=23324&amp;oldid=prev</id>
		<title>MakoBot: Removed 'Template:' prefix from template includings and/or changed external-link into internal-link</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=23324&amp;oldid=prev"/>
				<updated>2011-06-10T14:26:45Z</updated>
		
		<summary type="html">&lt;p&gt;Removed &amp;#039;Template:&amp;#039; prefix from template includings and/or changed external-link into internal-link&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 14:26, 10 June 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;__NOTOC__&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;__NOTOC__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Template:&lt;/del&gt;Quicklinks}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Quicklinks}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>MakoBot</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=20227&amp;oldid=prev</id>
		<title>Fritigern at 18:40, 23 November 2010</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=20227&amp;oldid=prev"/>
				<updated>2010-11-23T18:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 18:40, 23 November 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 525:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 525:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Scripts]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fritigern</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=12914&amp;oldid=prev</id>
		<title>Ideia Boa at 15:00, 21 May 2009</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=12914&amp;oldid=prev"/>
				<updated>2009-05-21T15:00:51Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:00, 21 May 2009&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;__NOTOC__&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Template:Quicklinks}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;//*********************&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;//*********************&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ideia Boa</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=5029&amp;oldid=prev</id>
		<title>Phrearch at 14:07, 15 March 2008</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=5029&amp;oldid=prev"/>
				<updated>2008-03-15T14:07:11Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://opensimulator.org/index.php?title=Genshi_example&amp;amp;diff=5029&amp;amp;oldid=5014&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Phrearch</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=5014&amp;oldid=prev</id>
		<title>Phrearch: Replacing page with '&lt;source lang=php&gt;
&lt;?php
function foo($bar) {
echo &quot;yes, genshi works!&quot;;
}
?&gt;
&lt;/source&gt;'</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=5014&amp;oldid=prev"/>
				<updated>2008-03-15T13:00:07Z</updated>
		
		<summary type="html">&lt;p&gt;Replacing page with &amp;#039;&amp;lt;source lang=php&amp;gt; &amp;lt;?php function foo($bar) { echo &amp;quot;yes, genshi works!&amp;quot;; } ?&amp;gt; &amp;lt;/source&amp;gt;&amp;#039;&lt;/p&gt;
&lt;a href=&quot;http://opensimulator.org/index.php?title=Genshi_example&amp;amp;diff=5014&amp;amp;oldid=5013&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Phrearch</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Genshi_example&amp;diff=5013&amp;oldid=prev</id>
		<title>Phrearch: New page: &lt;source lang=&quot;lsl&quot;&gt; //********************* //****from notecard**** //********************* integer intchannel; integer paramchannel; integer scanrate; integer scanrange; integer salt; int...</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Genshi_example&amp;diff=5013&amp;oldid=prev"/>
				<updated>2008-03-15T12:57:02Z</updated>
		
		<summary type="html">&lt;p&gt;New page: &amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt; //********************* //****from notecard**** //********************* integer intchannel; integer paramchannel; integer scanrate; integer scanrange; integer salt; int...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
//*********************&lt;br /&gt;
//****from notecard****&lt;br /&gt;
//*********************&lt;br /&gt;
integer intchannel;&lt;br /&gt;
integer paramchannel;&lt;br /&gt;
integer scanrate;&lt;br /&gt;
integer scanrange;&lt;br /&gt;
integer salt;&lt;br /&gt;
integer certificate;&lt;br /&gt;
float logrange; &lt;br /&gt;
float lograngewarning; &lt;br /&gt;
string url;&lt;br /&gt;
string sitetitle;&lt;br /&gt;
vector textcolor;&lt;br /&gt;
//*********************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//*********************&lt;br /&gt;
//*****avatar vars*****&lt;br /&gt;
//*********************&lt;br /&gt;
key av_key;&lt;br /&gt;
string username; &lt;br /&gt;
string av_name; &lt;br /&gt;
string av_surname; &lt;br /&gt;
string av_created;&lt;br /&gt;
string av_payinfo;&lt;br /&gt;
//*********************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//*********************&lt;br /&gt;
//******menu vars******&lt;br /&gt;
//*********************&lt;br /&gt;
list menuAdmin = [&amp;quot;Settings&amp;quot;, &amp;quot;My Account&amp;quot;, &amp;quot;Website&amp;quot;,&amp;quot;Logoff&amp;quot;];&lt;br /&gt;
list menuRegistered = [&amp;quot;My Account&amp;quot;, &amp;quot;Website&amp;quot;, &amp;quot;Logoff&amp;quot;];&lt;br /&gt;
list menuInactive = [&amp;quot;Website&amp;quot;, &amp;quot;About&amp;quot;, &amp;quot;Logoff&amp;quot;];&lt;br /&gt;
list menuNewUser = [&amp;quot;Register&amp;quot;, &amp;quot;Website&amp;quot;, &amp;quot;About&amp;quot;,&amp;quot;Logoff&amp;quot;];&lt;br /&gt;
//*********************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//*********************&lt;br /&gt;
//*****http id's*******&lt;br /&gt;
//*********************&lt;br /&gt;
string item_request_id;&lt;br /&gt;
string authenticate_request_id;&lt;br /&gt;
string register_request_id;&lt;br /&gt;
string logoff_request_id;&lt;br /&gt;
string x_request_id;&lt;br /&gt;
string account_request_id;&lt;br /&gt;
//*********************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//*********************&lt;br /&gt;
//*****dataserver******&lt;br /&gt;
//*********************&lt;br /&gt;
key settingsDS; &lt;br /&gt;
key payinfoDS; &lt;br /&gt;
key bornDS; &lt;br /&gt;
//*********************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//*********************&lt;br /&gt;
//******handlers*******&lt;br /&gt;
//*********************&lt;br /&gt;
string settingsFileName=&amp;quot;jSLplus Settings&amp;quot;;&lt;br /&gt;
integer settingsEntry;&lt;br /&gt;
integer defaultSalt=666;&lt;br /&gt;
integer online=-2;&lt;br /&gt;
string settingsNotify;&lt;br /&gt;
string sid;&lt;br /&gt;
string menu;&lt;br /&gt;
list objectSpecs;&lt;br /&gt;
string secretWord;&lt;br /&gt;
string status;  &lt;br /&gt;
string itemName;&lt;br /&gt;
//*********************&lt;br /&gt;
//Settings Notecard stuff&lt;br /&gt;
init() { &lt;br /&gt;
    if (llGetInventoryType(settingsFileName) == INVENTORY_NOTECARD) {&lt;br /&gt;
    online=-1;    &lt;br /&gt;
    readSettings();    &lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
    llOwnerSay(&amp;quot;===ERROR===\nNo settings-notecard found!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
//Settings Notecard stuff&lt;br /&gt;
readSettings() {&lt;br /&gt;
llOwnerSay(&amp;quot;Initializing settings. Please wait...&amp;quot;);&lt;br /&gt;
settingsEntry = 0;&lt;br /&gt;
settingsNotify=&amp;quot;===SETUP SETTINGS===&amp;quot;;&lt;br /&gt;
settingsDS = llGetNotecardLine(settingsFileName, settingsEntry) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
checkSettings(string entry) {&lt;br /&gt;
    if((entry != &amp;quot;&amp;quot;) &amp;amp;&amp;amp; (llGetSubString(entry, 0, 1) != &amp;quot;//&amp;quot;)) {&lt;br /&gt;
    list Details = llParseString2List(entry, [&amp;quot;=&amp;quot;], []);&lt;br /&gt;
    string keyname = llList2String(Details, 0);&lt;br /&gt;
    string contents = llList2String(Details, 1);&lt;br /&gt;
        if ((keyname != &amp;quot;&amp;quot;) &amp;amp;&amp;amp; (contents != &amp;quot;&amp;quot;)) {&lt;br /&gt;
            if(keyname==&amp;quot;url&amp;quot;) {url=contents;settingsNotify+=&amp;quot;\nURL: &amp;quot;+contents;}&lt;br /&gt;
            if(keyname==&amp;quot;ssl&amp;quot;) {if((integer)contents==1) {url=&amp;quot;https://&amp;quot;+url;settingsNotify+=&amp;quot;\nSSL: enabled&amp;quot;;}&lt;br /&gt;
            else if((integer)contents==0){url=&amp;quot;http://&amp;quot;+url;settingsNotify+=&amp;quot;\nSSL: disabled (NOT recommended)&amp;quot;;} &lt;br /&gt;
            }  &lt;br /&gt;
            else if(keyname==&amp;quot;certificate&amp;quot;) {&lt;br /&gt;
            certificate=(integer)contents;     &lt;br /&gt;
                if(certificate==0) {settingsNotify+=&amp;quot;\nCertificate: not required&amp;quot;;}&lt;br /&gt;
                else if(certificate==1) {settingsNotify+=&amp;quot;\nCertificate: required&amp;quot;;}&lt;br /&gt;
            }                            &lt;br /&gt;
            else if(keyname==&amp;quot;sitetitle&amp;quot;) {sitetitle=contents;settingsNotify+=&amp;quot;\nSite-title: &amp;quot;+contents;}&lt;br /&gt;
            else if(keyname==&amp;quot;intchannel&amp;quot;) {intchannel=(integer)contents;settingsNotify+=&amp;quot;\nInternal channel: &amp;quot;+contents;}&lt;br /&gt;
            else if(keyname==&amp;quot;paramchannel&amp;quot;) {paramchannel=(integer)contents;settingsNotify+=&amp;quot;\nParameter channel: &amp;quot;+contents;}            &lt;br /&gt;
            else if(keyname==&amp;quot;salt&amp;quot;) {salt=(integer)contents;settingsNotify+=&amp;quot;\nHash-Salt: &amp;quot;+contents;}       &lt;br /&gt;
            else if(keyname==&amp;quot;scanrate&amp;quot;) {scanrate=(integer)contents;settingsNotify+=&amp;quot;\nIdle Scan: &amp;quot;+contents+&amp;quot; seconds per scan&amp;quot;;}   &lt;br /&gt;
            else if(keyname==&amp;quot;scanrange&amp;quot;) {scanrange=(integer)contents;settingsNotify+=&amp;quot;\nIdle Scanrange: &amp;quot;+contents+&amp;quot; meters&amp;quot;;}  &lt;br /&gt;
            else if(keyname==&amp;quot;logrange&amp;quot;) {logrange=(float)contents;settingsNotify+=&amp;quot;\nLogs off: &amp;quot;+contents+&amp;quot; meters from console&amp;quot;;}                       &lt;br /&gt;
            else if(keyname==&amp;quot;lograngewarning&amp;quot;) {lograngewarning=(float)contents;settingsNotify+=&amp;quot;\nLogoff warning: &amp;quot;+contents+&amp;quot; meters from console&amp;quot;;}   &lt;br /&gt;
            else if(keyname==&amp;quot;textcolor&amp;quot;) {textcolor=string2vector(contents);settingsNotify+=&amp;quot;\nTextcolor: &amp;quot;+contents;}           &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
settingsEntry+=1;    &lt;br /&gt;
settingsDS = llGetNotecardLine(settingsFileName, settingsEntry) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
vector string2vector(string s) {&lt;br /&gt;
list foo = llCSV2List(s);&lt;br /&gt;
vector v;&lt;br /&gt;
v.x = llList2Float(foo,0);&lt;br /&gt;
v.y = llList2Float(foo,1);&lt;br /&gt;
v.z = llList2Float(foo,2);&lt;br /&gt;
return v;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Generates secretWord, and a MD5-hash from secretWord and Salt&lt;br /&gt;
string generatePW(float uniqueness) {&lt;br /&gt;
list primewords = [&amp;quot;alpha&amp;quot;,&amp;quot;beta&amp;quot;,&amp;quot;gamma&amp;quot;,&amp;quot;zulu&amp;quot;,&amp;quot;bravo&amp;quot;,&amp;quot;cappa&amp;quot;,&amp;quot;tango&amp;quot;];&lt;br /&gt;
string randomWord = llList2String(primewords,(integer)llFrand(llGetListLength(primewords))); &lt;br /&gt;
string randomNumber = (string)llRound(llFrand(uniqueness)); &lt;br /&gt;
secretWord = randomWord+randomNumber;   &lt;br /&gt;
return llMD5String(secretWord,salt);  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
returnDialog(string returnMenu) {&lt;br /&gt;
    if(returnMenu == &amp;quot;MENU_UNREGISTERED&amp;quot;) {&lt;br /&gt;
    llDialog( av_key, &amp;quot;Select an option...&amp;quot;, menuNewUser, intchannel);   &lt;br /&gt;
    }&lt;br /&gt;
    else if(returnMenu == &amp;quot;MENU_PROFILE_ACTIVE&amp;quot;) {&lt;br /&gt;
    llDialog( av_key, &amp;quot;Select an option...&amp;quot;, menuRegistered, intchannel); &lt;br /&gt;
    }    &lt;br /&gt;
    else if(returnMenu == &amp;quot;MENU_PROFILE_INACTIVE&amp;quot;) {&lt;br /&gt;
    llDialog( av_key, &amp;quot;Select an option...&amp;quot;, menuInactive, intchannel); &lt;br /&gt;
    }            &lt;br /&gt;
    else if(returnMenu == &amp;quot;MENU_ADMIN&amp;quot;) {&lt;br /&gt;
    llDialog( av_key, &amp;quot;Select an option...&amp;quot;, menuAdmin, intchannel); &lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
httpRequest(string function,list params) {&lt;br /&gt;
    if(function==&amp;quot;login&amp;quot;) {&lt;br /&gt;
    authenticate_request_id = llHTTPRequest(url+&amp;quot;index.php?option=com_jslplus&amp;amp;view=interface&amp;amp;controller=interface&amp;amp;task=login&amp;quot;,&lt;br /&gt;
    [HTTP_METHOD,&amp;quot;POST&amp;quot;,HTTP_VERIFY_CERT,certificate,HTTP_MIMETYPE,&amp;quot;application/x-www-form-urlencoded&amp;quot;],&lt;br /&gt;
    &amp;quot;&amp;amp;k=&amp;quot;+llList2String(params,0)+&amp;quot;&amp;amp;n=&amp;quot;+llList2String(params,1)+&amp;quot;&amp;amp;s=&amp;quot;+llList2String(params,2)+&amp;quot;&amp;amp;p=&amp;quot;+llList2String(params,3)+&amp;quot;&amp;amp;c=&amp;quot;&lt;br /&gt;
    +llList2String(params,4)+&amp;quot;&amp;amp;h=&amp;quot;+generatePW(1000)+&amp;quot;&amp;amp;o=&amp;quot;+llList2String(params,5)+&amp;quot;&amp;amp;format=raw&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
    if(function ==&amp;quot;logoff&amp;quot;) {&lt;br /&gt;
    logoff_request_id = llHTTPRequest(url+&amp;quot;index.php?option=com_jslplus&amp;amp;view=interface&amp;amp;controller=interface&amp;amp;task=logoff&amp;quot;, &lt;br /&gt;
    [HTTP_METHOD, &amp;quot;POST&amp;quot;,HTTP_VERIFY_CERT,certificate,HTTP_MIMETYPE,&amp;quot;application/x-www-form-urlencoded&amp;quot;],&lt;br /&gt;
    &amp;quot;&amp;amp;sid=&amp;quot;+llList2String(params,0)+&amp;quot;&amp;amp;format=raw&amp;quot;);  &lt;br /&gt;
    }     &lt;br /&gt;
    if(function==&amp;quot;register&amp;quot;) {&lt;br /&gt;
    register_request_id = llHTTPRequest(url+&amp;quot;index.php?option=com_jslplus&amp;amp;view=interface&amp;amp;controller=interface&amp;amp;task=register&amp;quot;,&lt;br /&gt;
    [HTTP_METHOD, &amp;quot;POST&amp;quot;,HTTP_VERIFY_CERT,certificate,HTTP_MIMETYPE,&amp;quot;application/x-www-form-urlencoded&amp;quot;],&lt;br /&gt;
    &amp;quot;&amp;amp;h=&amp;quot;+llList2String(params,0)+&amp;quot;&amp;amp;e=&amp;quot;+llList2String(params,1)+&amp;quot;&amp;amp;sid=&amp;quot;+sid+&amp;quot;&amp;amp;format=raw&amp;quot;);           &lt;br /&gt;
    }&lt;br /&gt;
    if(function==&amp;quot;additem&amp;quot;) {&lt;br /&gt;
    item_request_id = llHTTPRequest(url + &amp;quot;index.php?option=com_jslplus&amp;amp;view=interface&amp;amp;controller=interface&amp;amp;task=additem&amp;quot;,&lt;br /&gt;
    [HTTP_METHOD, &amp;quot;POST&amp;quot;,HTTP_VERIFY_CERT,certificate,HTTP_MIMETYPE,&amp;quot;application/x-www-form-urlencoded&amp;quot;],&lt;br /&gt;
    &amp;quot;&amp;amp;k=&amp;quot;+llList2String(params,0)+&amp;quot;&amp;amp;n=&amp;quot;+llList2String(params,1)+&amp;quot;&amp;amp;t=&amp;quot;+llList2String(params,2)+&amp;quot;&amp;amp;p=&amp;quot;+llList2String(params,3)+llList2String(params,4)+&lt;br /&gt;
    llList2String(params,5)+&amp;quot;&amp;amp;sid=&amp;quot;+sid+&amp;quot;&amp;amp;format=raw&amp;quot;); &lt;br /&gt;
    }  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
login(key id) {&lt;br /&gt;
av_key = id; &lt;br /&gt;
username = llKey2Name(av_key);&lt;br /&gt;
av_surname = llGetSubString(username, llSubStringIndex(username, &amp;quot; &amp;quot;) + 1, -1);&lt;br /&gt;
av_name = llGetSubString(username, 0, llSubStringIndex(username, &amp;quot; &amp;quot;));&lt;br /&gt;
llSetText(&amp;quot;Controller: &amp;quot;+username, textcolor, 1);&lt;br /&gt;
llInstantMessage(av_key, &amp;quot;Contacting server. Please wait...&amp;quot;); &lt;br /&gt;
bornDS = llRequestAgentData(av_key, DATA_BORN);      &lt;br /&gt;
payinfoDS = llRequestAgentData(av_key, DATA_PAYINFO);     &lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
default {&lt;br /&gt;
    on_rez(integer startparam){&lt;br /&gt;
    llResetScript();   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    state_entry() {&lt;br /&gt;
        if(online==-2) {&lt;br /&gt;
        init(); &lt;br /&gt;
        }&lt;br /&gt;
    llAllowInventoryDrop(FALSE); &lt;br /&gt;
        if(online==TRUE || online==FALSE){&lt;br /&gt;
        llSetText(&amp;quot;Terminal online...&amp;quot;,textcolor,1);    &lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
        llSetText(&amp;quot;Terminal offline...&amp;quot;,&amp;lt;0,0,0&amp;gt;,1);     &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    touch_start( integer num ) {&lt;br /&gt;
        &lt;br /&gt;
        if(llDetectedKey(0)!=av_key) {&lt;br /&gt;
        return;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            if(online==-1) {&lt;br /&gt;
            init();  &lt;br /&gt;
            }   &lt;br /&gt;
            else {&lt;br /&gt;
            login(llDetectedKey(0));    &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
    &lt;br /&gt;
    dataserver(key query_id, string data) { &lt;br /&gt;
        if(query_id == bornDS) {    &lt;br /&gt;
        av_created=data;&lt;br /&gt;
        }&lt;br /&gt;
        else if (query_id == payinfoDS) {&lt;br /&gt;
        av_payinfo=data;&lt;br /&gt;
        httpRequest(&amp;quot;login&amp;quot;,[av_key,av_name,av_surname,av_payinfo,av_created,(string)llGetLinkKey(2)]); &lt;br /&gt;
        }&lt;br /&gt;
        else if (query_id == settingsDS) {&lt;br /&gt;
            if (data != EOF) {&lt;br /&gt;
            checkSettings(data) ;&lt;br /&gt;
            return;&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
            llOwnerSay(&amp;quot;Settings are loaded. Checking content...&amp;quot;);&lt;br /&gt;
                if(salt==defaultSalt) {&lt;br /&gt;
                llOwnerSay(&amp;quot;You didn't setup a unique hash-salt. Please correct the problem...&amp;quot;);&lt;br /&gt;
                state restart_default; &lt;br /&gt;
                }&lt;br /&gt;
                else {&lt;br /&gt;
                llOwnerSay(settingsNotify+&amp;quot;\nSettings ok...\n&amp;quot;);&lt;br /&gt;
                settingsNotify=&amp;quot;&amp;quot;;&lt;br /&gt;
                login(llGetOwner());   &lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }        &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    //RESPONSE FROM INITIAL HTTP-REQUEST&lt;br /&gt;
    http_response(key request_id, integer httpStatus, list metadata, string body) {&lt;br /&gt;
        if (authenticate_request_id == request_id) { &lt;br /&gt;
        body = llStringTrim(body, STRING_TRIM); &lt;br /&gt;
        list parameters; &lt;br /&gt;
        parameters = llCSV2List(body);&lt;br /&gt;
        status = llList2String(parameters,0); &lt;br /&gt;
        sid = llList2String(parameters,1);&lt;br /&gt;
        string visited = llList2String(parameters,2);&lt;br /&gt;
        //Send link-message to feedback-module(3)&lt;br /&gt;
        llMessageLinked(3,0,status+&amp;quot;,&amp;quot;+username+&amp;quot;,&amp;quot;+visited+&amp;quot;,&amp;quot;+secretWord,av_key);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    //Receives link-messages from feedback-module(3)&lt;br /&gt;
    link_message(integer sender_num, integer lineResponse, string str, key id) { &lt;br /&gt;
        if (sender_num==3) {&lt;br /&gt;
        list input = llCSV2List(str); &lt;br /&gt;
        menu = llList2String(input,0); &lt;br /&gt;
            //Positive message, proceed to logged-in state  &lt;br /&gt;
            if(lineResponse==TRUE) {  &lt;br /&gt;
            state inuse; &lt;br /&gt;
            }&lt;br /&gt;
            //Reboot when an error-message comes back...&lt;br /&gt;
            else {&lt;br /&gt;
            //Critical error(lineResponse=-1) or non-critical error(lineResponse=0/FALSE)&lt;br /&gt;
            online=lineResponse;&lt;br /&gt;
            state restart_default;   &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    changed( integer change ) { &lt;br /&gt;
        if ( change == CHANGED_INVENTORY ) {&lt;br /&gt;
        integer itemCount = llGetInventoryNumber(INVENTORY_ALL); &lt;br /&gt;
        integer i=0; &lt;br /&gt;
            if(itemCount&amp;gt;3) { &lt;br /&gt;
                for(i=0;i&amp;lt;itemCount;i++) {&lt;br /&gt;
                string itemName = llGetInventoryName(INVENTORY_ALL, i);   &lt;br /&gt;
                    if (itemName != &amp;quot;About&amp;quot; &amp;amp;&amp;amp; itemName!=&amp;quot;jSLplus Interface&amp;quot; &amp;amp;&amp;amp; itemName!=&amp;quot;jSLplus Visitor-Tracker&amp;quot; &amp;amp;&amp;amp; itemName!=&amp;quot;jSLplus Settings&amp;quot;) {&lt;br /&gt;
                    llSay(0,&amp;quot;You must be logged in, before you may upload items to the ODS!&amp;quot;);&lt;br /&gt;
                    llRemoveInventory(itemName);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
            llOwnerSay(&amp;quot;Settings have been changed. Please wait while the terminal reboots...&amp;quot;);    &lt;br /&gt;
            online=-2;&lt;br /&gt;
            state restart_default;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
state restart_default {&lt;br /&gt;
    state_entry() {&lt;br /&gt;
    state default;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
state inuse {  &lt;br /&gt;
    state_entry() { &lt;br /&gt;
    llSensorRepeat( &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, AGENT, scanrange, TWO_PI, scanrate); &lt;br /&gt;
    llListen(intchannel, &amp;quot;&amp;quot;, av_key, &amp;quot;&amp;quot; );  &lt;br /&gt;
    llListen(paramchannel,&amp;quot;&amp;quot;,av_key,&amp;quot;&amp;quot;);&lt;br /&gt;
        if(menu==&amp;quot;MENU_PROFILE_ACTIVE&amp;quot; || status==&amp;quot;MENU_ADMIN&amp;quot;) {&lt;br /&gt;
        llAllowInventoryDrop(TRUE);&lt;br /&gt;
        string folder = llGetObjectName();&lt;br /&gt;
        }&lt;br /&gt;
    returnDialog(menu);    &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    touch_start( integer number_detected ) {&lt;br /&gt;
    integer i;&lt;br /&gt;
        for( i = 0; i &amp;lt; number_detected; i++ ) {&lt;br /&gt;
            if (llDetectedKey(i) == av_key) {&lt;br /&gt;
            returnDialog(menu);     &lt;br /&gt;
            } &lt;br /&gt;
            else { &lt;br /&gt;
            llSay(0,username+&amp;quot; is currently logged into this terminal. Please wait until this user logged off...&amp;quot;);    &lt;br /&gt;
            }                 &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
    sensor( integer number_detected ) {   &lt;br /&gt;
    integer i; &lt;br /&gt;
        for( i = 0; i &amp;lt; number_detected; i++ ) {&lt;br /&gt;
        key detected_key = llDetectedKey(i);     &lt;br /&gt;
            if(av_key==detected_key) {&lt;br /&gt;
            vector agentPos = llDetectedPos(i);    &lt;br /&gt;
            vector terminalPos = llGetPos();&lt;br /&gt;
            float distance = llVecDist(agentPos, terminalPos);&lt;br /&gt;
                if (distance &amp;gt; logrange) {&lt;br /&gt;
                llInstantMessage(av_key, &amp;quot;===NOTICE===\nYou are out of range. logging off now...&amp;quot;);  &lt;br /&gt;
                httpRequest(&amp;quot;logoff&amp;quot;,[]);&lt;br /&gt;
                llSensorRemove();&lt;br /&gt;
                }&lt;br /&gt;
                else if(distance &amp;gt; lograngewarning){&lt;br /&gt;
                llInstantMessage(av_key, &amp;quot;===NOTICE===\nYou are &amp;quot;+(string)(logrange-distance)+&amp;quot; meters from being logged out.&amp;quot;); &lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }    &lt;br /&gt;
    &lt;br /&gt;
    listen( integer chan, string name, key id, string msg ) {&lt;br /&gt;
        if(id == av_key) {&lt;br /&gt;
        msg = llStringTrim(msg, STRING_TRIM);&lt;br /&gt;
        list paramList;&lt;br /&gt;
        string command;&lt;br /&gt;
            if(msg!=&amp;quot;&amp;quot;) {&lt;br /&gt;
            paramList = llCSV2List(msg); &lt;br /&gt;
            command = llList2String(paramList,0);  &lt;br /&gt;
            }                &lt;br /&gt;
            if (command == &amp;quot;Website&amp;quot;) {&lt;br /&gt;
            llLoadURL(av_key, sitetitle, url); &lt;br /&gt;
            returnDialog(menu); &lt;br /&gt;
            }    &lt;br /&gt;
            else if (command == &amp;quot;About&amp;quot;) {&lt;br /&gt;
            llGiveInventory(av_key,&amp;quot;About&amp;quot;);&lt;br /&gt;
            returnDialog(menu); &lt;br /&gt;
            } &lt;br /&gt;
            else if (command == &amp;quot;Request&amp;quot;) {&lt;br /&gt;
            x_request_id = llHTTPRequest(url + &amp;quot;index.php?option=com_jslplus&amp;amp;view=interface&amp;amp;controller=interface&amp;amp;task=request&amp;amp;sid=&amp;quot;+sid+&lt;br /&gt;
            &amp;quot;&amp;amp;format=raw&amp;quot;, [HTTP_METHOD, &amp;quot;GET&amp;quot;],&amp;quot;&amp;quot;);  &lt;br /&gt;
            } &lt;br /&gt;
            else if (command == &amp;quot;Logoff&amp;quot;) {&lt;br /&gt;
            llSetText(username+&amp;quot; logs out...&amp;quot;,textcolor,1);   &lt;br /&gt;
            httpRequest(&amp;quot;logoff&amp;quot;,[sid]);  &lt;br /&gt;
            llInstantMessage(av_key,&amp;quot;Preparing to log off...&amp;quot;); &lt;br /&gt;
            }   &lt;br /&gt;
                         &lt;br /&gt;
            if(menu==&amp;quot;MENU_UNREGISTERED&amp;quot;) {&lt;br /&gt;
                if (command == &amp;quot;Register&amp;quot;) {&lt;br /&gt;
                llInstantMessage(av_key,&amp;quot;===NOTICE===\nYou must provide a valid emailaddress.\nType: /&amp;quot;+(string)paramchannel+&lt;br /&gt;
                &amp;quot; registermail,myemail@address.org' in order to finish the registration process.&amp;quot;); &lt;br /&gt;
                }  &lt;br /&gt;
                if (command == &amp;quot;registermail&amp;quot;) {&lt;br /&gt;
                httpRequest(&amp;quot;register&amp;quot;,[generatePW(1000),llStringTrim(llList2String(paramList,1), STRING_TRIM)]);&lt;br /&gt;
                } &lt;br /&gt;
            }&lt;br /&gt;
            else if(menu==&amp;quot;MENU_PROFILE_ACTIVE&amp;quot;) {  &lt;br /&gt;
                if (command == &amp;quot;My Account&amp;quot;) {&lt;br /&gt;
                string myAccount = &amp;quot;===MY ACCOUNT===\n&amp;quot;;&lt;br /&gt;
                myAccount += &amp;quot;Avatar-key: &amp;quot;+(string)av_key;&lt;br /&gt;
                llInstantMessage(av_key,myAccount);&lt;br /&gt;
                returnDialog(menu); &lt;br /&gt;
                } &lt;br /&gt;
            }                   &lt;br /&gt;
            else if(menu==&amp;quot;MENU_ADMIN&amp;quot;) {&lt;br /&gt;
                if (command == &amp;quot;Settings&amp;quot;) {&lt;br /&gt;
                string terminalSettings = &amp;quot;===SETTINGS===\n&amp;quot;;    &lt;br /&gt;
                terminalSettings += &amp;quot;terminal-key: &amp;quot;+(string)llGetKey()+&amp;quot;\n&amp;quot;;&lt;br /&gt;
                terminalSettings += &amp;quot;heap: &amp;quot;+(string)llGetFreeMemory() + &amp;quot; bytes\n&amp;quot;;&lt;br /&gt;
                llInstantMessage(av_key, terminalSettings);   &lt;br /&gt;
                llMessageLinked(2, 0, &amp;quot;settings&amp;quot;,av_key); &lt;br /&gt;
                returnDialog(menu);  &lt;br /&gt;
                }  &lt;br /&gt;
                else if (command == &amp;quot;My Account&amp;quot;) {&lt;br /&gt;
                string myAccount = &amp;quot;===MY ACCOUNT===\n&amp;quot;;&lt;br /&gt;
                account_request_id = llHTTPRequest(url + &amp;quot;index.php?option=com_jslplus&amp;amp;view=interface&amp;amp;controller=interface&amp;amp;task=getaccount&amp;amp;sid=&amp;quot;+sid+&lt;br /&gt;
                &amp;quot;&amp;amp;format=raw&amp;quot;, [HTTP_METHOD, &amp;quot;GET&amp;quot;],&amp;quot;&amp;quot;);    &lt;br /&gt;
                myAccount += &amp;quot;Avatar-key: &amp;quot;+(string)av_key;&lt;br /&gt;
                llInstantMessage(av_key,myAccount);&lt;br /&gt;
                returnDialog(menu); &lt;br /&gt;
                } &lt;br /&gt;
            }  &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    http_response(key request_id, integer httpStatus, list metadata, string body) {&lt;br /&gt;
    list parameters;&lt;br /&gt;
    body = llStringTrim(body, STRING_TRIM);  &lt;br /&gt;
    parameters = llCSV2List(body);&lt;br /&gt;
    status = llList2String(parameters,0); &lt;br /&gt;
        if (request_id == register_request_id) { &lt;br /&gt;
        llMessageLinked(3,0,status+&amp;quot;,&amp;quot;+username+&amp;quot;,&amp;quot;+secretWord,av_key);&lt;br /&gt;
        }&lt;br /&gt;
        if (request_id == item_request_id) {&lt;br /&gt;
        llMessageLinked(3,0,status+&amp;quot;,&amp;quot;+username,av_key);  &lt;br /&gt;
        }&lt;br /&gt;
            &lt;br /&gt;
        if (request_id == logoff_request_id) {&lt;br /&gt;
        llMessageLinked(3,0,status+&amp;quot;,&amp;quot;+username,av_key);&lt;br /&gt;
        }&lt;br /&gt;
            &lt;br /&gt;
        if (request_id == x_request_id) { &lt;br /&gt;
        llMessageLinked(3,0,status+&amp;quot;,&amp;quot;+username,av_key);  &lt;br /&gt;
         } &lt;br /&gt;
            &lt;br /&gt;
        if (request_id == account_request_id) { &lt;br /&gt;
        llMessageLinked(3,0,status+&amp;quot;,&amp;quot;+username,av_key);  &lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    link_message(integer sender_num, integer lineResponse, string str, key id) { &lt;br /&gt;
    online = lineResponse; &lt;br /&gt;
        if(lineResponse==TRUE) {&lt;br /&gt;
        list input = llCSV2List(str); &lt;br /&gt;
        menu = llList2String(input,0);  &lt;br /&gt;
        returnDialog(menu);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
        state default;  &lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
    &lt;br /&gt;
    changed( integer change ) {&lt;br /&gt;
        if (change &amp;amp; CHANGED_ALLOWED_DROP) {&lt;br /&gt;
        llOwnerSay(&amp;quot;The inventory has changed as a result of a user without mod permissions dropping an item on the prim&amp;quot;+&lt;br /&gt;
        &amp;quot;and it being allowed by the script.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        if ( change == CHANGED_INVENTORY ) {&lt;br /&gt;
        integer itemCount = llGetInventoryNumber(INVENTORY_ALL);   &lt;br /&gt;
            if(itemCount&amp;gt;3) {&lt;br /&gt;
            llSay(0,&amp;quot;A new item was submitted!&amp;quot;); &lt;br /&gt;
            integer i=0;&lt;br /&gt;
            string newItem;&lt;br /&gt;
            for(i=0;i&amp;lt;itemCount;i++) {&lt;br /&gt;
            string itemName = llGetInventoryName(INVENTORY_ALL, i);   &lt;br /&gt;
                if (itemName != &amp;quot;About&amp;quot; &amp;amp;&amp;amp; itemName!=&amp;quot;jSLplus Interface&amp;quot; &amp;amp;&amp;amp; itemName!=&amp;quot;jSLplus Visitor-Tracker&amp;quot; &amp;amp;&amp;amp; itemName!=&amp;quot;jSLplus Settings&amp;quot;) {&lt;br /&gt;
                newItem = itemName;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            key itemKey = llGetInventoryKey(newItem);            &lt;br /&gt;
            key itemCreatorKey = llGetInventoryCreator(newItem);&lt;br /&gt;
                if(av_key != itemCreatorKey) {&lt;br /&gt;
                llSay(0,&amp;quot;Item denied! You must be the creator of the submitted item!&amp;quot;);&lt;br /&gt;
                llRemoveInventory(newItem);&lt;br /&gt;
                return;   &lt;br /&gt;
                }&lt;br /&gt;
                else {&lt;br /&gt;
                    if (llStringLength(newItem) &amp;lt;=30) {&lt;br /&gt;
                    llSay(0,&amp;quot;Item accepted. You have been recognised as the creator of this item...&amp;quot;); &lt;br /&gt;
                    }&lt;br /&gt;
                    else {&lt;br /&gt;
                    llSay(0,&amp;quot;Item denied! Please shorten the objectname to a maximum of 30 characters...&amp;quot;);    &lt;br /&gt;
                    llRemoveInventory(newItem);&lt;br /&gt;
                    return; &lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            integer itemType = llGetInventoryType(newItem);&lt;br /&gt;
            integer permCopy; integer permMod; integer permTransfer;&lt;br /&gt;
            string itemSpecs = &amp;quot;\n===Item specifications===\n&amp;quot;;&lt;br /&gt;
            itemSpecs+=&amp;quot;item-Key: &amp;quot;+(string)itemKey+&amp;quot;\n&amp;quot;;&lt;br /&gt;
            itemSpecs+=&amp;quot;item-Name: &amp;quot;+newItem+&amp;quot;\n&amp;quot;;&lt;br /&gt;
            itemSpecs+=&amp;quot;=Permissions=\n&amp;quot;;&lt;br /&gt;
                if(llGetInventoryPermMask(newItem, MASK_NEXT) &amp;amp; PERM_COPY) {permCopy=1;itemSpecs+=&amp;quot;Copy:Yes\n&amp;quot;;}&lt;br /&gt;
                else {permCopy=0;itemSpecs+=&amp;quot;Copy:No\n&amp;quot;;}&lt;br /&gt;
                if(llGetInventoryPermMask(newItem, MASK_NEXT) &amp;amp; PERM_MODIFY) {permMod=1;itemSpecs+=&amp;quot;Modify:Yes\n&amp;quot;;}&lt;br /&gt;
                else {permMod=0;itemSpecs+=&amp;quot;Modify:No\n&amp;quot;;}&lt;br /&gt;
                if(llGetInventoryPermMask(newItem, MASK_NEXT) &amp;amp; PERM_TRANSFER) {permTransfer=1;itemSpecs+=&amp;quot;Transfer:Yes\n&amp;quot;;}&lt;br /&gt;
                else {permTransfer=0;itemSpecs+=&amp;quot;Transfer:No\n&amp;quot;;}&lt;br /&gt;
            llSay(0,itemSpecs);       &lt;br /&gt;
            llGiveInventory(llGetLinkKey(2), newItem);&lt;br /&gt;
            llRemoveInventory(newItem);&lt;br /&gt;
            llSay(0,&amp;quot;Sending request to ODS-Site...&amp;quot;);&lt;br /&gt;
            newItem = llEscapeURL(newItem);&lt;br /&gt;
            httpRequest(&amp;quot;additem&amp;quot;,[itemKey,newItem,itemType,permCopy,permMod,permTransfer]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }          &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Phrearch</name></author>	</entry>

	</feed>