<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/index.php?action=history&amp;feed=atom&amp;title=Pathfinding_Simple_Roaming_Example</id>
	<title>Pathfinding Simple Roaming Example - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/index.php?action=history&amp;feed=atom&amp;title=Pathfinding_Simple_Roaming_Example"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;action=history"/>
	<updated>2026-07-24T17:10:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1196703&amp;oldid=prev</id>
		<title>Miranda Umino: fix balise lsl to soure lang= lsl2</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1196703&amp;oldid=prev"/>
		<updated>2015-06-07T05:11:15Z</updated>

		<summary type="html">&lt;p&gt;fix balise lsl to soure lang= lsl2&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:11, 6 June 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This code is licensed under the [http://www.gnu.org/licenses/gpl.html GNU General Public License].  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This code is licensed under the [http://www.gnu.org/licenses/gpl.html GNU General Public License].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;lsl&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source lang=&quot;lsl2&quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* *****************************************************************&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&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; id=&quot;mw-diff-left-l388&quot;&gt;Line 388:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 388:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;} // end state TravelHome&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;} // end state TravelHome&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;lsl&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Miranda Umino</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1174344&amp;oldid=prev</id>
		<title>Michael Linden: Script is work-for-hire by the Lab.</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1174344&amp;oldid=prev"/>
		<updated>2012-11-08T20:37:12Z</updated>

		<summary type="html">&lt;p&gt;Script is work-for-hire by the Lab.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:37, 8 November 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    Copyright 2012 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dark Mole (contact via IM in Second Life&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    Copyright 2012 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Linden Lab&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    This program is free software: you can redistribute it and/or&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    This program is free software: you can redistribute it and/or&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Michael Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173317&amp;oldid=prev</id>
		<title>Dark Mole: moved the change to the default state in the changed event.</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173317&amp;oldid=prev"/>
		<updated>2012-10-11T12:06:58Z</updated>

		<summary type="html">&lt;p&gt;moved the change to the default state in the changed event.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:06, 11 October 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l264&quot;&gt;Line 264:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 264:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             // The simulator this thing is on has reset&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             // The simulator this thing is on has reset&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             forceMoveHome(TRUE);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             forceMoveHome(TRUE);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            state default;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        state default;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l339&quot;&gt;Line 339:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 339:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             // The simulator this thing is on has reset&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             // The simulator this thing is on has reset&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             forceMoveHome(TRUE);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             forceMoveHome(TRUE);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            state default;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        state default;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dark Mole</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173315&amp;oldid=prev</id>
		<title>Dark Mole: Removed an unecessary check in the move home state.</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173315&amp;oldid=prev"/>
		<updated>2012-10-11T09:28:51Z</updated>

		<summary type="html">&lt;p&gt;Removed an unecessary check in the move home state.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:28, 11 October 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l325&quot;&gt;Line 325:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 325:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         llSetTimerEvent(0.0);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         llSetTimerEvent(0.0);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;if(active_character)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP,[]);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;          {&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            &lt;/del&gt;llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP,[]);&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;          }&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       }  // state_exit&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       }  // state_exit&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dark Mole</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173313&amp;oldid=prev</id>
		<title>Dark Mole: Fixed the url to the GPL license details.</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173313&amp;oldid=prev"/>
		<updated>2012-10-11T09:12:58Z</updated>

		<summary type="html">&lt;p&gt;Fixed the url to the GPL license details.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:12, 11 October 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the &amp;#039;&amp;#039;TravelHome&amp;#039;&amp;#039; state the script will attempt to move the object back to its start position using the [[Pathfinding]] functions. If anything goes wrong with the [[Pathfinding]] functions or a group member touches it, the script will delete the [[Pathfinding]] character and manually move the object back to its start position using the [[LlSetRegionPos|llSetRegionPos]] function. It will then transition back into the &amp;#039;&amp;#039;default&amp;#039;&amp;#039; state.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the &amp;#039;&amp;#039;TravelHome&amp;#039;&amp;#039; state the script will attempt to move the object back to its start position using the [[Pathfinding]] functions. If anything goes wrong with the [[Pathfinding]] functions or a group member touches it, the script will delete the [[Pathfinding]] character and manually move the object back to its start position using the [[LlSetRegionPos|llSetRegionPos]] function. It will then transition back into the &amp;#039;&amp;#039;default&amp;#039;&amp;#039; state.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This code is licensed under the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/del&gt;[http://www.gnu.org/licenses/gpl.html&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/del&gt;GNU General Public License&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/del&gt;].  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This code is licensed under the [http://www.gnu.org/licenses/gpl.html GNU General Public License].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;lsl&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;lsl&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dark Mole</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173312&amp;oldid=prev</id>
		<title>Dark Mole: Initial draft of a page to make a simple pathfinding script publicly available.</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Pathfinding_Simple_Roaming_Example&amp;diff=1173312&amp;oldid=prev"/>
		<updated>2012-10-11T09:11:16Z</updated>

		<summary type="html">&lt;p&gt;Initial draft of a page to make a simple pathfinding script publicly available.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A simple example is provided to use [[Pathfinding]] to have an object randomly roam around a small area is given below. The script is designed to have the object move around in a small area centered at the start location. The object will move back to its start position if anything goes wrong or a group member touches it. &lt;br /&gt;
&lt;br /&gt;
The script has three states. In the default state the object is not moving and can be placed in its start position. From the default state it can transition into the &amp;#039;&amp;#039;Roaming&amp;#039;&amp;#039; state by touching it as a member of the same group. In the &amp;#039;&amp;#039;Roaming&amp;#039;&amp;#039; state it will simply wander around in a small area centered at the start point. If anything goes wrong with the [[Pathfinding]] functions or a group member touches it, the script will transition into the &amp;#039;&amp;#039;TravelHome&amp;#039;&amp;#039; state. &lt;br /&gt;
&lt;br /&gt;
In the &amp;#039;&amp;#039;TravelHome&amp;#039;&amp;#039; state the script will attempt to move the object back to its start position using the [[Pathfinding]] functions. If anything goes wrong with the [[Pathfinding]] functions or a group member touches it, the script will delete the [[Pathfinding]] character and manually move the object back to its start position using the [[LlSetRegionPos|llSetRegionPos]] function. It will then transition back into the &amp;#039;&amp;#039;default&amp;#039;&amp;#039; state.&lt;br /&gt;
&lt;br /&gt;
This code is licensed under the [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* *****************************************************************&lt;br /&gt;
&lt;br /&gt;
   %%% Desc:   Simple example script to demonstrate pathfinding&lt;br /&gt;
   %%% Author: Dark Mole (contact via IM within Second Life)&lt;br /&gt;
   %%% File:   $HeadURL: simpleMover.sl $&lt;br /&gt;
   %%% Date:   $Date: Thu Oct 11 04:44:14 2012 $&lt;br /&gt;
   %%% Revision: $Rev: .04 $&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
   Copyright 2012 Dark Mole (contact via IM in Second Life&lt;br /&gt;
&lt;br /&gt;
   This program is free software: you can redistribute it and/or&lt;br /&gt;
   modify it under the terms of the GNU General Public License as&lt;br /&gt;
   published by the Free Software Foundation, either version 3 of the&lt;br /&gt;
   License, or (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
   This program is distributed in the hope that it will be useful, but&lt;br /&gt;
   WITHOUT  ANY  WARRANTY;  without   even  the  implied  warranty  of&lt;br /&gt;
   MERCHANTABILITY or  FITNESS FOR A PARTICULAR PURPOSE.   See the GNU&lt;br /&gt;
   General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
   You should have received a copy of the GNU General Public License&lt;br /&gt;
   along with this program.  If not, see&lt;br /&gt;
   &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   A copy of this script can be found at &lt;br /&gt;
   https://wiki.secondlife.com/wiki/Pathfinding_Simple_Roaming_Example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// Configuration variables.&lt;br /&gt;
// Things to change to impact the behavior of the system&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
float TIME_TO_WAIT_BEFORE_MOVING = 300.0; // number of seconds to wait&lt;br /&gt;
                                          // while in the default&lt;br /&gt;
                                          // state before it&lt;br /&gt;
                                          // automatically starts to&lt;br /&gt;
                                          // roam on its own. Note&lt;br /&gt;
                                          // that the first time this&lt;br /&gt;
                                          // thing rezzes this timer&lt;br /&gt;
                                          // is ignored.&lt;br /&gt;
&lt;br /&gt;
// Global Variables. (do not change unless you know what they do!)&lt;br /&gt;
&lt;br /&gt;
// Location related variables&lt;br /&gt;
&lt;br /&gt;
vector   home_position = &amp;lt;-1.0,0.0,0.0&amp;gt;;&lt;br /&gt;
rotation home_rotation = ZERO_ROTATION;&lt;br /&gt;
string   home_region   = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
vector wondering_radius = &amp;lt;5.0,5.0,20.0&amp;gt;; // how far I can roam around&lt;br /&gt;
list   wondering_parameters = &lt;br /&gt;
  [CHARACTER_MAX_SPEED,         1.0,        // parameters describing&lt;br /&gt;
   CHARACTER_DESIRED_SPEED,     0.2,       // how I can roam.&lt;br /&gt;
   CHARACTER_DESIRED_TURN_SPEED,0.02,&lt;br /&gt;
   CHARACTER_MAX_ACCEL,         0.5,&lt;br /&gt;
   CHARACTER_MAX_DECEL,         0.5,&lt;br /&gt;
   CHARACTER_ORIENTATION,       VERTICAL,&lt;br /&gt;
   TRAVERSAL_TYPE,              TRAVERSAL_TYPE_SLOW,&lt;br /&gt;
   CHARACTER_TYPE,              CHARACTER_TYPE_A, &lt;br /&gt;
   CHARACTER_MAX_TURN_RADIUS,   0.5];&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
list traveling_parameters = &lt;br /&gt;
  [CHARACTER_MAX_SPEED,         5.0,        // parameters describing&lt;br /&gt;
   CHARACTER_DESIRED_SPEED,     3.0,        // how I can roam when &lt;br /&gt;
   CHARACTER_DESIRED_TURN_SPEED,2.0,        // traveling..&lt;br /&gt;
   CHARACTER_MAX_ACCEL,         3.0,&lt;br /&gt;
   CHARACTER_MAX_DECEL,         3.0,&lt;br /&gt;
   CHARACTER_ORIENTATION,       VERTICAL,&lt;br /&gt;
   TRAVERSAL_TYPE,              TRAVERSAL_TYPE_SLOW,&lt;br /&gt;
   CHARACTER_TYPE,              CHARACTER_TYPE_A, &lt;br /&gt;
   CHARACTER_MAX_TURN_RADIUS,   1.5];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Variables associated with the state of the script&lt;br /&gt;
integer active_character = FALSE;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Helper functions &lt;br /&gt;
&lt;br /&gt;
/* *********************************************************&lt;br /&gt;
   forceMoveHome(integer resetScript)&lt;br /&gt;
&lt;br /&gt;
   Routine to force the object to go home. The option &amp;quot;resetScript&amp;quot; is&lt;br /&gt;
   to determine if the script should be reset when it is in the same&lt;br /&gt;
   region it started from.&lt;br /&gt;
&lt;br /&gt;
********************************************************* */&lt;br /&gt;
forceMoveHome(integer resetScript)&lt;br /&gt;
{&lt;br /&gt;
  // Stop and delete the character&lt;br /&gt;
  llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP,[]);&lt;br /&gt;
  llDeleteCharacter();&lt;br /&gt;
  active_character = FALSE;&lt;br /&gt;
  if(home_region == llGetRegionName())&lt;br /&gt;
    {&lt;br /&gt;
      // I am in the same home region. Just move close to the start&lt;br /&gt;
      // point.&lt;br /&gt;
      llSetRegionPos(home_position);&lt;br /&gt;
      if(resetScript)&lt;br /&gt;
        {&lt;br /&gt;
          llSetPos(home_position);&lt;br /&gt;
          llSetRot(home_rotation);&lt;br /&gt;
          llResetScript();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
  else&lt;br /&gt;
    {&lt;br /&gt;
      llInstantMessage(llGetOwner(),&amp;quot;There is an error. &amp;quot; +&lt;br /&gt;
                       &amp;quot;I wondered away from my start region and cannot go back home.\n&amp;quot; +&lt;br /&gt;
                       &amp;quot;I am located in &amp;quot; + llGetRegionName() + &amp;quot; at &amp;quot; + &lt;br /&gt;
                       (string)llGetPos());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Primary (default) state.&lt;br /&gt;
// This is the initial state when the program resets.&lt;br /&gt;
//&lt;br /&gt;
// In this state the object waits for a touch to get started. There is&lt;br /&gt;
// a random chance that it might start moving at any time step though.&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
      {&lt;br /&gt;
        if(home_position.x &amp;lt; 0.0)&lt;br /&gt;
          {&lt;br /&gt;
            // This is the first time to enter this state. Do a little&lt;br /&gt;
            // house cleaning to start the season.&lt;br /&gt;
&lt;br /&gt;
            // Add any parts to the different parameters that require any&lt;br /&gt;
            // calculations.&lt;br /&gt;
            wondering_parameters += &lt;br /&gt;
              [CHARACTER_AVOIDANCE_MODE, AVOID_CHARACTERS | AVOID_DYNAMIC_OBSTACLES];&lt;br /&gt;
            traveling_parameters += &lt;br /&gt;
              [CHARACTER_AVOIDANCE_MODE, AVOID_CHARACTERS | AVOID_DYNAMIC_OBSTACLES];&lt;br /&gt;
&lt;br /&gt;
            // Set the initial home position and orientation.&lt;br /&gt;
            home_position = llGetPos();&lt;br /&gt;
            home_rotation = llGetRot();&lt;br /&gt;
            home_region   = llGetRegionName();&lt;br /&gt;
            llOwnerSay(&amp;quot;Touch me to start moving. &amp;quot; +&lt;br /&gt;
                       &amp;quot;I will not move until you touch me the first time. &amp;quot; +&lt;br /&gt;
                       &amp;quot;After that it will become automatic.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
        else if(home_region == llGetRegionName())&lt;br /&gt;
          {&lt;br /&gt;
            // I am in the same region I started out in. Make sure I&lt;br /&gt;
            // start at the last place and orientation when I left&lt;br /&gt;
            // this state.  Make sure that I move close to&lt;br /&gt;
            // home. (There is some fudge factor in the llSetRegionPos&lt;br /&gt;
            // command according to the wiki).&lt;br /&gt;
            llSetPos(home_position);&lt;br /&gt;
            llSetRot(home_rotation);&lt;br /&gt;
            llSetTimerEvent(TIME_TO_WAIT_BEFORE_MOVING);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        llDeleteCharacter(); // Clear and reset the character&lt;br /&gt;
                             // settings. You should always do this so&lt;br /&gt;
                             // that when an active object is taken&lt;br /&gt;
                             // into inventory it will be properly&lt;br /&gt;
                             // reset when rezzed again. (If not here&lt;br /&gt;
                             // then in the on_rez event.)&lt;br /&gt;
        active_character = FALSE;&lt;br /&gt;
&lt;br /&gt;
        llOwnerSay(&amp;quot;Stopped\nTouch me to have me wonder around.&amp;quot;);&lt;br /&gt;
      } // state_entry&lt;br /&gt;
&lt;br /&gt;
    state_exit()&lt;br /&gt;
      {&lt;br /&gt;
        llCreateCharacter(wondering_parameters);&lt;br /&gt;
        active_character = TRUE;&lt;br /&gt;
        llSetTimerEvent(0.0);&lt;br /&gt;
      } // state_exit&lt;br /&gt;
&lt;br /&gt;
    on_rez(integer param)&lt;br /&gt;
      {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
      }  // on_rez&lt;br /&gt;
&lt;br /&gt;
    changed( integer change)&lt;br /&gt;
      {&lt;br /&gt;
        if(change &amp;amp; CHANGED_REGION_START)&lt;br /&gt;
          {&lt;br /&gt;
            // The simulator this thing is on has reset&lt;br /&gt;
            forceMoveHome(TRUE);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
      {&lt;br /&gt;
        if(llDetectedGroup(0))&lt;br /&gt;
           {&lt;br /&gt;
             // This person is in the same group. Assume the idiot can&lt;br /&gt;
             // be trusted.&lt;br /&gt;
             home_position = llGetPos();        // Define my start position&lt;br /&gt;
             home_rotation = llGetRot();        // and start orientation.&lt;br /&gt;
             state Roaming;&lt;br /&gt;
           }&lt;br /&gt;
      } // touch_start&lt;br /&gt;
&lt;br /&gt;
    timer()&lt;br /&gt;
      {&lt;br /&gt;
        // I have waited to long without any interaction. Time to roam&lt;br /&gt;
        // because I am a ramblin&amp;#039; object.&lt;br /&gt;
        state Roaming;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // end default state&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Roaming state.  &lt;br /&gt;
//&lt;br /&gt;
// This is the state when the program decides to start roaming.  I&lt;br /&gt;
// strongly prefer not to use all these states, but it makes for a&lt;br /&gt;
// much cleaner code in this case and a better demo.&lt;br /&gt;
//&lt;br /&gt;
// In this state the object simply roams around for a while. &lt;br /&gt;
state Roaming&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
      {&lt;br /&gt;
        // Set the character to the roaming parameters&lt;br /&gt;
        llUpdateCharacter(wondering_parameters);&lt;br /&gt;
        llWanderWithin(home_position, wondering_radius, []);&lt;br /&gt;
        llOwnerSay(&amp;quot;Roaming\nTouch me to have me go back home.&amp;quot;);&lt;br /&gt;
      } // state_entry&lt;br /&gt;
&lt;br /&gt;
    state_exit()&lt;br /&gt;
      {&lt;br /&gt;
        llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP,[]);&lt;br /&gt;
      } // state_exit&lt;br /&gt;
&lt;br /&gt;
    on_rez(integer param)&lt;br /&gt;
      {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
      }  // on_rez&lt;br /&gt;
&lt;br /&gt;
    changed( integer change)&lt;br /&gt;
      {&lt;br /&gt;
        if(change &amp;amp; CHANGED_REGION_START)&lt;br /&gt;
          {&lt;br /&gt;
            // The simulator this thing is on has reset&lt;br /&gt;
            forceMoveHome(TRUE);&lt;br /&gt;
          }&lt;br /&gt;
        state default;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
      {&lt;br /&gt;
        if(llDetectedGroup(0))&lt;br /&gt;
          {&lt;br /&gt;
            // Again, if the person is in the same group then let them&lt;br /&gt;
            // violate me by touching me.&lt;br /&gt;
            state TravelHome;&lt;br /&gt;
          }&lt;br /&gt;
      } // touch_start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    path_update(integer type, list reserved)&lt;br /&gt;
      {&lt;br /&gt;
        if ((type == PU_SLOWDOWN_DISTANCE_REACHED) || &lt;br /&gt;
            (type == PU_GOAL_REACHED))&lt;br /&gt;
          {&lt;br /&gt;
            // While roaming this should not occur. if it does just restart???&lt;br /&gt;
            llWanderWithin(home_position, wondering_radius, []);            &lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
        else {&lt;br /&gt;
          // Something went wrong with the navmesh. Just go home and wait.&lt;br /&gt;
          state TravelHome;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      } // end path_update event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // end state Roaming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// TravelHome state.  &lt;br /&gt;
//&lt;br /&gt;
// This is the state when the program decides to go home.  I&lt;br /&gt;
// strongly prefer not to use all these states, but it makes for a&lt;br /&gt;
// much cleaner code in this case and a better demo.&lt;br /&gt;
//&lt;br /&gt;
// In this state the object simply tries to go to the home&lt;br /&gt;
// position. If it does not make it in the alloted time the character&lt;br /&gt;
// is deleted, and it simply sets its position.&lt;br /&gt;
state TravelHome&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
      {&lt;br /&gt;
        // Set the character to the traveling parameters and set a&lt;br /&gt;
        // timer to make sure something eventually happens here.&lt;br /&gt;
        llUpdateCharacter(traveling_parameters);&lt;br /&gt;
        llNavigateTo(home_position,[FORCE_DIRECT_PATH,TRUE]);&lt;br /&gt;
        llSetTimerEvent(120.0);&lt;br /&gt;
        llOwnerSay(&amp;quot;Going back home\nTouch me to force the issue.&amp;quot;);&lt;br /&gt;
      } // state_entry&lt;br /&gt;
&lt;br /&gt;
    state_exit()&lt;br /&gt;
      {&lt;br /&gt;
        llSetTimerEvent(0.0);&lt;br /&gt;
        if(active_character)&lt;br /&gt;
          {&lt;br /&gt;
            llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP,[]);&lt;br /&gt;
          }&lt;br /&gt;
      }  // state_exit&lt;br /&gt;
&lt;br /&gt;
    on_rez(integer param)&lt;br /&gt;
      {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
      }  // on_rez&lt;br /&gt;
&lt;br /&gt;
    changed( integer change)&lt;br /&gt;
      {&lt;br /&gt;
        if(change &amp;amp; CHANGED_REGION_START)&lt;br /&gt;
          {&lt;br /&gt;
            // The simulator this thing is on has reset&lt;br /&gt;
            forceMoveHome(TRUE);&lt;br /&gt;
          }&lt;br /&gt;
        state default;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
      {&lt;br /&gt;
        // force the issue&lt;br /&gt;
        if(llDetectedGroup(0))&lt;br /&gt;
          {&lt;br /&gt;
            // trust in the authority invested in the people in my&lt;br /&gt;
            // group because blind trust always works out well.&lt;br /&gt;
            forceMoveHome(FALSE);&lt;br /&gt;
            state default;&lt;br /&gt;
          }&lt;br /&gt;
      } // touch_start&lt;br /&gt;
&lt;br /&gt;
    timer()&lt;br /&gt;
      {&lt;br /&gt;
        // It took too long to get home.&lt;br /&gt;
        forceMoveHome(FALSE);&lt;br /&gt;
        state default;&lt;br /&gt;
      } // timer&lt;br /&gt;
&lt;br /&gt;
    path_update(integer type, list reserved)&lt;br /&gt;
      {&lt;br /&gt;
        if (type == PU_SLOWDOWN_DISTANCE_REACHED)&lt;br /&gt;
          {&lt;br /&gt;
            // I am close to home. &lt;br /&gt;
            llSetTimerEvent(10.0);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
        else if (type == PU_GOAL_REACHED)&lt;br /&gt;
          {&lt;br /&gt;
            // I have made it home.&lt;br /&gt;
            state default;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
        else &lt;br /&gt;
          {&lt;br /&gt;
            // Something went wrong. Just force the issue and go home.&lt;br /&gt;
            forceMoveHome(FALSE);&lt;br /&gt;
            state default;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
      } // end path_update event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // end state TravelHome&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dark Mole</name></author>
	</entry>
</feed>