<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FoxSan&#039;s 3D Tools and LSL Script Repository</title>
	<atom:link href="http://www.foxsan.com/scripts/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.foxsan.com/scripts</link>
	<description>Tons of LSL scripts, examples and 3D tools, free for all.</description>
	<lastBuildDate>Tue, 29 Nov 2011 22:20:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>No more comments or forms</title>
		<link>http://www.foxsan.com/scripts/2011/11/29/no-more-comments-or-forms/</link>
		<comments>http://www.foxsan.com/scripts/2011/11/29/no-more-comments-or-forms/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 22:20:08 +0000</pubDate>
		<dc:creator>FoxSan</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[LSL Scripts]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.foxsan.com/scripts/?p=885</guid>
		<description><![CDATA[Due to sp4mz0rs, I am forced to cut of any possible form of communication on this website. So the script submit form is gone and it is also not possible to post comments or questions any more. I can be contacted in-world if you really need to. linkscolor = "000000"; highlightscolor = "888888"; backgroundcolor = [...]]]></description>
			<content:encoded><![CDATA[<p>Due to sp4mz0rs, I am forced to cut of any possible form of communication on this website. So the script submit form is gone and it is also not possible to post comments or questions any more. I can be contacted in-world if you really need to.</p>
<script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.foxsan.com/scripts/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->]]></content:encoded>
			<wfw:commentRss>http://www.foxsan.com/scripts/2011/11/29/no-more-comments-or-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#LSLClient Bridge v0.13</title>
		<link>http://www.foxsan.com/scripts/2011/04/24/lslclient-bridge-v0-13/</link>
		<comments>http://www.foxsan.com/scripts/2011/04/24/lslclient-bridge-v0-13/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 19:32:31 +0000</pubDate>
		<dc:creator>FoxSan</dc:creator>
				<category><![CDATA[LSL Scripts]]></category>
		<category><![CDATA[0.13]]></category>
		<category><![CDATA[1.5.2.1050]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[phoenix]]></category>
		<category><![CDATA[viewer]]></category>

		<guid isPermaLink="false">http://www.foxsan.com/scripts/?p=880</guid>
		<description><![CDATA[linkscolor = "000000"; highlightscolor = "888888"; backgroundcolor = "FFFFFF"; channel = "none";]]></description>
			<content:encoded><![CDATA[<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="lsl2" style="font-family:monospace;"><span class="co1">//***********************************************************************//</span>
<span class="co1">//* Phoenix LSL bridge script version 0.10                              *//</span>
<span class="co1">//*                                                                     *//</span>
<span class="co1">//* This script has five functions:                                     *//</span>
<span class="co1">//* 1) Send radar informaion to the viewer                              *//</span>
<span class="co1">//* 2) Retrieve true online/offline status for a requested user         *//</span>
<span class="co1">//* 3) Perform local teleports via llMoveToTarget()                     *//</span>
<span class="co1">//* 4) Listen on any desired channel and return data to the viewer      *//</span>
<span class="co1">//* 5) Play a sound repeatedly                                          *//</span>
<span class="co1">//*                                                                     *//</span>
<span class="co1">//***********************************************************************//</span>
&nbsp;
<span class="co1">//**** BEGIN VARIABLES ****//</span>
&nbsp;
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> debugger <span class="sy0">=</span> <span class="kw2">FALSE</span>;    <span class="co1">// TRUE to enable debugging messages</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> receive_channel;    <span class="co1">// Fixed channel to receive from viewer on</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> tid;            <span class="co1">// Listener ID for fixed channel</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> altListenHandler <span class="sy0">=</span> <span class="nu0">0</span>;    <span class="co1">// Listener handle for general listener</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> listenReq;        <span class="co1">// ID of listen request from viewer</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> startTime;        <span class="co1">// Time an llMoveToTarget() teleport began</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=vector"><span class="kw4">vector</span></a>  moveToTarget;        <span class="co1">// Destinstion of llMoveToTarget() teleport</span>
&nbsp;
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> tid2;            <span class="co1">// Listener ID for random channel</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> l2c;            <span class="co1">// Random channel to listen on</span>
&nbsp;
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=list"><span class="kw4">list</span></a> onlinereqs;        <span class="co1">// List of avatar keys to check online</span>
&nbsp;
<span class="co1">//**** END VARIABLES ****//</span>
&nbsp;
<span class="co1">// This function prints debugging messages if selected at the top of this</span>
<span class="co1">//  file.</span>
debug<span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> message<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="kw1">if</span> <span class="br0">&#40;</span>debugger<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llOwnerSay"><span class="kw5">llOwnerSay</span></a><span class="br0">&#40;</span><span class="st0">&quot;Phoenix Bridge: &quot;</span><span class="sy0">+</span>message<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// This function initializes the script's communications channel. It'll be</span>
<span class="co1">//  reset later to a randomized value, but we have to start somewhere. The</span>
<span class="co1">//  initial channel is set from an MD5 hash of the user's UUID.</span>
init<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    receive_channel <span class="sy0">=</span> <span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="st0">&quot;0x&quot;</span><span class="sy0">+</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetSubString"><span class="kw5">llGetSubString</span></a><span class="br0">&#40;</span>
                <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llMD5String"><span class="kw5">llMD5String</span></a><span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetOwner"><span class="kw5">llGetOwner</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>,1<span class="br0">&#41;</span>,0,6<span class="br0">&#41;</span><span class="br0">&#41;</span>;
    debug<span class="br0">&#40;</span><span class="st0">&quot;init: Receive channel: &quot;</span><span class="sy0">+</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span> receive_channel<span class="br0">&#41;</span>;
    connect<span class="br0">&#40;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// This function restarts the listeners to get data from the viewer.</span>
connect<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="co1">// Remove old main listener.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListenRemove"><span class="kw5">llListenRemove</span></a><span class="br0">&#40;</span>tid<span class="br0">&#41;</span>;
    <span class="co1">// Start new main listener.</span>
    tid <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListen"><span class="kw5">llListen</span></a><span class="br0">&#40;</span>receive_channel,<span class="st0">&quot;&quot;</span>,<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetOwner"><span class="kw5">llGetOwner</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;
&nbsp;
    <span class="co1">// If there was an old secondary listener,</span>
    <span class="kw1">if</span><span class="br0">&#40;</span>l2c <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// remove it,</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListenRemove"><span class="kw5">llListenRemove</span></a><span class="br0">&#40;</span>tid2<span class="br0">&#41;</span>;
        <span class="co1">// and start a new one.</span>
        tid2 <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListen"><span class="kw5">llListen</span></a><span class="br0">&#40;</span>l2c,<span class="st0">&quot;&quot;</span>,<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetOwner"><span class="kw5">llGetOwner</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End If</span>
&nbsp;
    <span class="co1">// If the bridge is attached (instead of rezzed on the ground),</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetAttached"><span class="kw5">llGetAttached</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// take the viewer's controls so we still work in noscript</span>
        <span class="co1">//  areas. We don't actually do anything with them.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llRequestPermissions"><span class="kw5">llRequestPermissions</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetOwner"><span class="kw5">llGetOwner</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>,<span class="kw2">PERMISSION_TAKE_CONTROLS</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End If</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// This function sends data to the viewer, prefixed with a flag that tells</span>
<span class="co1">//  the viewer it came from the bridge.</span>
send<span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> data<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="co1">//if (llStringLength(data) &gt; (1023 - 5))</span>
    <span class="co1">//    llOwnerSay(&quot;ERR: string too long&quot;);</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llOwnerSay"><span class="kw5">llOwnerSay</span></a><span class="br0">&#40;</span><span class="st0">&quot;#@#@#&quot;</span><span class="sy0">+</span>data<span class="br0">&#41;</span>;
    debug<span class="br0">&#40;</span><span class="st0">&quot;send: Sending '&quot;</span><span class="sy0">+</span>data<span class="sy0">+</span><span class="st0">&quot;'&quot;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// This function returns a very large integer between 100000001 and 999999999.</span>
<span class="co1">//  Note that there will only be somewhere in the neighborhood of 24 bits</span>
<span class="co1">//  of randomness. See the Second Life Wiki's article on llFrand() for</span>
<span class="co1">//  details.</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> max_rand_integer<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="kw1">return</span> <span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>
        <span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llFrand"><span class="kw5">llFrand</span></a><span class="br0">&#40;</span><span class="nu0">0.999998</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="nu0">0.000001</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="co1">// 0.000001 through 0.999999</span>
        <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llFrand"><span class="kw5">llFrand</span></a><span class="br0">&#40;</span><span class="nu0">0.899</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="nu0">0.1</span><span class="br0">&#41;</span> <span class="sy0">*</span> <span class="nu0">1000</span><span class="br0">&#41;</span>  <span class="co1">// 100 through 999</span>
        <span class="br0">&#41;</span> <span class="sy0">*</span> 1000000<span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// This function processes the command sent from the viewer.</span>
receive<span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> data<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="co1">// Split the message into tokens, using the | character as separator.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=list"><span class="kw4">list</span></a> instruction <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llParseString2List"><span class="kw5">llParseString2List</span></a><span class="br0">&#40;</span>data,<span class="br0">&#91;</span><span class="st0">&quot;|&quot;</span><span class="br0">&#93;</span>,<span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;
&nbsp;
    <span class="co1">// The first token is the UUID of the target of the command.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> id <span class="sy0">=</span> <span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,0<span class="br0">&#41;</span>;
&nbsp;
    <span class="co1">// The second token is the command itself.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> cmd <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,1<span class="br0">&#41;</span>;
&nbsp;
    <span class="co1">// This checks the online status of an avatar. We request the status</span>
    <span class="co1">//  here; the result is returned to the viewer in the dataserver event</span>
    <span class="co1">//  handler.</span>
    <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;online_status&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        onlinereqs <span class="sy0">+=</span> <span class="br0">&#91;</span>id, <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llRequestAgentData"><span class="kw5">llRequestAgentData</span></a><span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=key"><span class="kw4">key</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,2<span class="br0">&#41;</span>, <span class="kw2">DATA_ONLINE</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;
        debug<span class="br0">&#40;</span><span class="st0">&quot;receive: Processing online request&quot;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End If</span>
&nbsp;
    <span class="co1">// This retrieves the position of requested object(s) or avatar(s).</span>
    <span class="co1">//  The command can request more than one position by simply listing</span>
    <span class="co1">//  them, and we will return them in the same order.</span>
    <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;pos&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Build the reply, starting with the requested UUID.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=list"><span class="kw4">list</span></a> positions <span class="sy0">=</span> <span class="br0">&#91;</span>id<span class="br0">&#93;</span>;
        <span class="co1">// Loop through the request list and add the position of each</span>
        <span class="co1">//  item to the reply list.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> increment <span class="sy0">=</span> <span class="nu0">2</span>;
        <span class="kw1">for</span> <span class="br0">&#40;</span>;increment&lt;<span class="br0">&#40;</span>instruction<span class="sy0">!=</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;increment<span class="sy0">++</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            positions <span class="sy0">+=</span> <span class="br0">&#91;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetObjectDetails"><span class="kw5">llGetObjectDetails</span></a><span class="br0">&#40;</span>
                <span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=key"><span class="kw4">key</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,increment<span class="br0">&#41;</span>,
                            <span class="br0">&#91;</span><span class="kw2">OBJECT_POS</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;
        <span class="br0">&#125;</span>
        <span class="co1">// Send the list to the viewer.</span>
        send<span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llDumpList2String"><span class="kw5">llDumpList2String</span></a><span class="br0">&#40;</span>positions,<span class="st0">&quot;|&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End Else If</span>
&nbsp;
    <span class="co1">// This adds another listener on whatever channel the command</span>
    <span class="co1">//  specifies, or removes the existing listener if the channel is 0.</span>
    <span class="co1">//  The listen event handler just sends the received data back to the</span>
    <span class="co1">//  viewer.</span>
    <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;listen&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Save the request ID for the return value string.</span>
        listenReq <span class="sy0">=</span> id;
        <span class="co1">// Remove the existing listener, if any.</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>altListenHandler <span class="sy0">!=</span> 0<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListenRemove"><span class="kw5">llListenRemove</span></a><span class="br0">&#40;</span>altListenHandler<span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>
        <span class="co1">// Figure out what channel to listen to now.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> channelToListenOn <span class="sy0">=</span>
            <span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,2<span class="br0">&#41;</span>;
        <span class="co1">// If we were actually given a channel, start the listener.</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>channelToListenOn <span class="sy0">!=</span> 0<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            altListenHandler <span class="sy0">=</span>
                <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListen"><span class="kw5">llListen</span></a><span class="br0">&#40;</span>channelToListenOn,<span class="st0">&quot;&quot;</span>,<span class="kw2">NULL_KEY</span>,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span><span class="co1">// End Else If</span>
&nbsp;
    <span class="co1">// This will move the user to the specified position using</span>
    <span class="co1">//  llMoveToTarget, breaking up a long move into steps if needed. The</span>
    <span class="co1">//  real work happens in the timer event handler; this code just sets</span>
    <span class="co1">//  up the actual move.</span>
    <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;move&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Figure out where we're going.</span>
        moveToTarget<span class="sy0">=</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=vector"><span class="kw4">vector</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,2<span class="br0">&#41;</span>;
        <span class="co1">// Save the starting time so we don't try forever.</span>
        startTime<span class="sy0">=</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetUnixTime"><span class="kw5">llGetUnixTime</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
        <span class="co1">// Start the timer to do the actual work.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSetTimerEvent"><span class="kw5">llSetTimerEvent</span></a><span class="br0">&#40;</span>.05<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End Else If</span>
&nbsp;
    <span class="co1">// This command sets up the random high channel to use to communicate</span>
    <span class="co1">//  with the viewer.</span>
    <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;l2c&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Get an integer between 100000000 and 999999999.</span>
        l2c <span class="sy0">=</span> max_rand_integer<span class="br0">&#40;</span><span class="br0">&#41;</span>;
        <span class="co1">// Start the listener on that channel.</span>
        connect<span class="br0">&#40;</span><span class="br0">&#41;</span>;
        <span class="co1">// Tell the viewer what channel we picked.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llOwnerSay"><span class="kw5">llOwnerSay</span></a><span class="br0">&#40;</span><span class="st0">&quot;l2c&quot;</span><span class="sy0">+</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span>l2c<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End Else If</span>
&nbsp;
    <span class="co1">// This command will play a sound repeatedly. The viewer uses this</span>
    <span class="co1">//  for the &quot;Loop sound&quot; selection when right-clicking a sound in</span>
    <span class="co1">//  inventory.</span>
    <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;loopsound&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Get the UUID of the sound we want to play.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> sound <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2String"><span class="kw5">llList2String</span></a><span class="br0">&#40;</span>instruction,2<span class="br0">&#41;</span>;
        <span class="co1">// Play it repeatedly, at full volume.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llLoopSound"><span class="kw5">llLoopSound</span></a><span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=key"><span class="kw4">key</span></a><span class="br0">&#41;</span>sound, 1.0<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End Else If</span>
&nbsp;
    <span class="co1">// This command stops the sound started by the loopsound command.</span>
    <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;stopsound&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llStopSound"><span class="kw5">llStopSound</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
    <span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>cmd <span class="sy0">==</span> <span class="st0">&quot;script_count&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=list"><span class="kw4">list</span></a> lTemp;
        send<span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span>id<span class="sy0">+</span><span class="st0">&quot;|&quot;</span><span class="sy0">+</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2Integer"><span class="kw5">llList2Integer</span></a><span class="br0">&#40;</span>lTemp,<span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">+</span><span class="st0">&quot;|&quot;</span><span class="sy0">+</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a><span class="br0">&#41;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2Integer"><span class="kw5">llList2Integer</span></a><span class="br0">&#40;</span>lTemp<span class="sy0">=</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetObjectDetails"><span class="kw5">llGetObjectDetails</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2Key"><span class="kw5">llList2Key</span></a><span class="br0">&#40;</span>instruction,2<span class="br0">&#41;</span>,<span class="br0">&#91;</span>OBJECT_TOTAL_SCRIPT_COUNT,OBJECT_SCRIPT_MEMORY<span class="br0">&#93;</span><span class="br0">&#41;</span>,1<span class="br0">&#41;</span><span class="sy0">/</span>1024.0<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End Else If</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//**** END FUNCTIONS ****//</span>
&nbsp;
<span class="co1">//**** BEGIN MAIN CODE ****//</span>
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=default"><span class="kw5">default</span></a>
<span class="br0">&#123;</span>
    <span class="co1">// This event fires when the default state is entered on script</span>
    <span class="co1">//  startup. We generate the fixed channel number and then connect</span>
    <span class="co1">//  to the viewer.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=state_entry"><span class="kw3">state_entry</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSetPrimitiveParams"><span class="kw5">llSetPrimitiveParams</span></a><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="kw2">PRIM_TEMP_ON_REZ</span>, <span class="kw2">TRUE</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;<span class="co1">//Sets bridge temp.</span>
        init<span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span> <span class="co1">//End state entry</span>
&nbsp;
    <span class="co1">// This event fires when the bridge object is rezzed. That happens at</span>
    <span class="co1">//  initial attachment and login. We re-do the initialization to make</span>
    <span class="co1">//  sure the listeners are properly set up.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=on_rez"><span class="kw3">on_rez</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> p<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetAttached"><span class="kw5">llGetAttached</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llOwnerSay"><span class="kw5">llOwnerSay</span></a><span class="br0">&#40;</span><span class="st0">&quot;The bridge should be worn as an attachment, not rezzed. Deleting from world...&quot;</span><span class="br0">&#41;</span>;
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llDie"><span class="kw5">llDie</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>
        init<span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span><span class="co1">// End on rez</span>
&nbsp;
    <span class="co1">// This event fires when the server sends a message that matches the</span>
    <span class="co1">//  parameters in an outstanding listen request. If it's on the</span>
    <span class="co1">//  command channel, either fixed or randomized, we take the message</span>
    <span class="co1">//  text and feed it to the receive() function to process. Otherwise,</span>
    <span class="co1">//  it's in reply to a request to listen on some other channel; we</span>
    <span class="co1">//  return the data to the viewer for processing there, prefixed with</span>
    <span class="co1">//  the ID passed on the listen command.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=listen"><span class="kw3">listen</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> channel, <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> name, <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=key"><span class="kw4">key</span></a> id, <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> message<span class="br0">&#41;</span><span class="br0">&#123;</span>
        <span class="kw1">if</span><span class="br0">&#40;</span>channel <span class="sy0">==</span> receive_channel <span class="sy0">||</span> channel <span class="sy0">==</span> l2c<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="co1">// This is a viewer command. Deal with it.</span>
            receive<span class="br0">&#40;</span>message<span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>
        <span class="kw1">else</span>
        <span class="br0">&#123;</span>
            <span class="co1">// Not a command, so just send it to the viewer.</span>
            send<span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llDumpList2String"><span class="kw5">llDumpList2String</span></a><span class="br0">&#40;</span>
                <span class="br0">&#91;</span>listenReq,channel,name,id,message<span class="br0">&#93;</span>,<span class="st0">&quot;|&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span> <span class="co1">//End listen</span>
&nbsp;
    <span class="co1">// This event fires when the permissions granted to the script change.</span>
    <span class="co1">//  For this script, that only happens at initialization. Normally, a</span>
    <span class="co1">//  script is stopped when the user enters a no-script parcel. That's</span>
    <span class="co1">//  not the case for a script that has taken the user's controls,</span>
    <span class="co1">//  since it might make their behavior change drastically and</span>
    <span class="co1">//  unexpectedly. We take advantage of that fact to keep running even</span>
    <span class="co1">//  in no-script parcels: we take the user's controls, even though we</span>
    <span class="co1">//  do nothing with them.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=run_time_permissions"><span class="kw3">run_time_permissions</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> p<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Only do something if we got permissions.</span>
        <span class="kw1">if</span><span class="br0">&#40;</span>p<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="co1">// 1024 is a nonzero value that doesn't do anything</span>
            <span class="co1">//  in the viewer.</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llTakeControls"><span class="kw5">llTakeControls</span></a><span class="br0">&#40;</span>1024,<span class="kw2">TRUE</span>,<span class="kw2">TRUE</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span> <span class="co1">//End run time permissions</span>
&nbsp;
    <span class="co1">// This event fires when the dataserver returns requested information.</span>
    <span class="co1">//  For this script, the only information requested is online status</span>
    <span class="co1">//  for avatars.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=dataserver"><span class="kw3">dataserver</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=key"><span class="kw4">key</span></a> id, <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a> data<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Are we checking status for the avatar we just got?</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> i <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llListFindList"><span class="kw5">llListFindList</span></a><span class="br0">&#40;</span>onlinereqs,<span class="br0">&#91;</span>id<span class="br0">&#93;</span><span class="br0">&#41;</span>;
        <span class="kw1">if</span><span class="br0">&#40;</span>i <span class="sy0">!=</span> <span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="co1">// If so, tell the viewer the status.</span>
            debug<span class="br0">&#40;</span><span class="st0">&quot;dataserver: Returning online status&quot;</span><span class="br0">&#41;</span>;
            send<span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=string"><span class="kw4">string</span></a><span class="br0">&#41;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llList2Integer"><span class="kw5">llList2Integer</span></a><span class="br0">&#40;</span>onlinereqs,i<span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">+</span><span class="st0">&quot;|&quot;</span><span class="sy0">+</span>data<span class="br0">&#41;</span>;
            <span class="co1">// Remove the avatar we just reported from the list.</span>
            onlinereqs <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llDeleteSubList"><span class="kw5">llDeleteSubList</span></a><span class="br0">&#40;</span>onlinereqs,i<span class="sy0">-</span>1,i<span class="br0">&#41;</span>;
        <span class="br0">&#125;</span><span class="co1">// End If</span>
    <span class="br0">&#125;</span> <span class="co1">//End dataserver</span>
&nbsp;
    <span class="co1">// This event fires when the timer has expired. For this script, that</span>
    <span class="co1">//  happens during a teleport within the sim when the preference</span>
    <span class="co1">//  &quot;Use llMoveToTarget TP&quot; is selected on the Phoenix/Misc panel. At</span>
    <span class="co1">//  each timer pop, we move a little closer until we're there.</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=timer"><span class="kw3">timer</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// Turn off the timer while we're calculating.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSetTimerEvent"><span class="kw5">llSetTimerEvent</span></a><span class="br0">&#40;</span>0.0<span class="br0">&#41;</span>;
&nbsp;
        <span class="co1">// If we've been at this for more than 10 seconds, give up.</span>
        <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetUnixTime"><span class="kw5">llGetUnixTime</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">-</span> 10 &gt; startTime<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llStopMoveToTarget"><span class="kw5">llStopMoveToTarget</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
            <span class="kw1">return</span>;
        <span class="br0">&#125;</span><span class="co1">// End If</span>
&nbsp;
        <span class="co1">// Figure out where we are and where we're going. The variable</span>
        <span class="co1">//  mag is the distance left to go in meters.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=vector"><span class="kw4">vector</span></a> us <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetPos"><span class="kw5">llGetPos</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=vector"><span class="kw4">vector</span></a> dist <span class="sy0">=</span> moveToTarget <span class="sy0">-</span> us;
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=float"><span class="kw4">float</span></a> mag <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llVecMag"><span class="kw5">llVecMag</span></a><span class="br0">&#40;</span>dist<span class="br0">&#41;</span>;
&nbsp;
        <span class="co1">// Are we there yet, daddy? If we're within a meter, call it</span>
        <span class="co1">//  good.</span>
        <span class="kw1">if</span><span class="br0">&#40;</span>mag &lt; <span class="nu0">1.0</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="co1">// Stop moving to target so we're not frozen in place.</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llStopMoveToTarget"><span class="kw5">llStopMoveToTarget</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
            <span class="kw1">return</span>;
        <span class="br0">&#125;</span><span class="co1">// End If</span>
&nbsp;
        <span class="co1">// If we're more than 45 meters away, just move that much to</span>
        <span class="co1">//  make sure we're within the llMoveToTarget distance limit.</span>
        <span class="kw1">if</span><span class="br0">&#40;</span>mag&gt;45<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llMoveToTarget"><span class="kw5">llMoveToTarget</span></a><span class="br0">&#40;</span>us<span class="sy0">+</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llVecNorm"><span class="kw5">llVecNorm</span></a><span class="br0">&#40;</span>dist<span class="br0">&#41;</span><span class="sy0">*</span>45,.05<span class="br0">&#41;</span>;
        <span class="br0">&#125;</span><span class="co1">// End If</span>
        <span class="kw1">else</span>
        <span class="br0">&#123;</span>
            <span class="co1">// We're less than 45 meters away, so do the whole</span>
            <span class="co1">//  move.</span>
            <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llMoveToTarget"><span class="kw5">llMoveToTarget</span></a><span class="br0">&#40;</span>moveToTarget,.05<span class="br0">&#41;</span>;
        <span class="br0">&#125;</span> <span class="co1">//End Else</span>
&nbsp;
        <span class="co1">// Re-enable the timer to try again.</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSetTimerEvent"><span class="kw5">llSetTimerEvent</span></a><span class="br0">&#40;</span>.05<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span> <span class="co1">//End timer</span>
<span class="br0">&#125;</span> <span class="co1">//End Default</span>
&nbsp;
<span class="co1">//**** END MAIN CODE ****//</span></pre></div></div>
<script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.foxsan.com/scripts/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->]]></content:encoded>
			<wfw:commentRss>http://www.foxsan.com/scripts/2011/04/24/lslclient-bridge-v0-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Requirements for OSGrid / OpenSim</title>
		<link>http://www.foxsan.com/scripts/2011/04/18/requirements-for-osgrid-opensim/</link>
		<comments>http://www.foxsan.com/scripts/2011/04/18/requirements-for-osgrid-opensim/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 14:34:11 +0000</pubDate>
		<dc:creator>FoxSan</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.foxsan.com/scripts/?p=875</guid>
		<description><![CDATA[I&#8217;ve always been wondering about the ideal system requirements for running a sim on a server and I may have found a somewhat clear answer at the OSGrid forum. ( http://forums.osgrid.org/viewtopic.php?f=3&#38;t=408 ) It is an article from 2008, but most likely still suitable today. Richard Senior said: The bottleneck on any server used for OpenSim [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always been wondering about the ideal system requirements for running a sim on a server and I may have found a somewhat clear answer at the OSGrid forum. ( http://forums.osgrid.org/viewtopic.php?f=3&amp;t=408 )</p>
<p>It is an article from 2008, but most likely still suitable today.</p>
<blockquote><p><strong>Richard Senior said:</strong><br />
The bottleneck on any server used for OpenSim is almost always the  avalibility of RAM. As such I have added a couple of numbers below that  you may wish to consider&#8230;&#8230;.</p>
<p>Basic Linux Installation : ~12Mb<br />
Basic Windows Installation : ~200MB<br />
RAM per EMPTY region : ~20MB (this covers the listener, the event queue, etc)</p>
<p>You  then need to set aside enough RAM to be able to handle the prims you  want to have. On a adverage set of prims (mix of standard boxes,  sculpties and complex shapes) the numbers are ~18 prims per Mb.</p>
<p>Please  remember these are rough numbers as there are so many variable involved  it;s diffcult to get to more accurate. However these numbers were  gained using testing of PXE&#8217;s own regions onthe OSGrid.</p></blockquote>
<script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.foxsan.com/scripts/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->]]></content:encoded>
			<wfw:commentRss>http://www.foxsan.com/scripts/2011/04/18/requirements-for-osgrid-opensim/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Live Chat</title>
		<link>http://www.foxsan.com/scripts/2011/03/29/live-chat/</link>
		<comments>http://www.foxsan.com/scripts/2011/03/29/live-chat/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 09:53:42 +0000</pubDate>
		<dc:creator>FoxSan</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.foxsan.com/scripts/?p=872</guid>
		<description><![CDATA[Hi y&#8217;all! I&#8217;ve implemented that Live Chat widget on the right side of your screen, but it seems to be a bit flawed because as soon as you click a link to an article, your nick changes and leave the conversation. So if you want to chat, stay on this page so you stay in [...]]]></description>
			<content:encoded><![CDATA[<p>Hi y&#8217;all!</p>
<p><span style="text-decoration: line-through;">I&#8217;ve implemented that Live Chat widget on the right side of your screen, but it seems to be a bit flawed because as soon as you click a link to an article, your nick changes and leave the conversation. So if you want to chat, stay on this page so you stay in the current session.</span></p>
<p><span style="text-decoration: line-through;">If it doesn&#8217;t work well in the end, I&#8217;ll transfer the chat box to dedicated page!</span></p>
<p><span style="text-decoration: line-through;">Also, thank you very much for the kind messages you leave in the box :D</span></p>
<p>It adds to the loading time and didn&#8217;t really add more value to the website. Just send me an email through the contact form ;)<span style="text-decoration: line-through;"><br />
</span></p>
<script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.foxsan.com/scripts/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->]]></content:encoded>
			<wfw:commentRss>http://www.foxsan.com/scripts/2011/03/29/live-chat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Move on Click</title>
		<link>http://www.foxsan.com/scripts/2011/03/09/move-on-click/</link>
		<comments>http://www.foxsan.com/scripts/2011/03/09/move-on-click/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 22:37:19 +0000</pubDate>
		<dc:creator>FoxSan</dc:creator>
				<category><![CDATA[LSL Scripts]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[llGetPos]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://www.foxsan.com/scripts/?p=864</guid>
		<description><![CDATA[linkscolor = "000000"; highlightscolor = "888888"; backgroundcolor = "FFFFFF"; channel = "none";]]></description>
			<content:encoded><![CDATA[<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.foxsan.com/scripts/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="lsl2" style="font-family:monospace;"><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a>     g_Up;
&nbsp;
<a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=default"><span class="kw5">default</span></a>
<span class="br0">&#123;</span>
    <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=touch_start"><span class="kw3">touch_start</span></a><span class="br0">&#40;</span><a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=integer"><span class="kw4">integer</span></a> total_number<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        g_Up <span class="sy0">=</span> <span class="sy0">!</span>g_Up;
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=vector"><span class="kw4">vector</span></a> pos <span class="sy0">=</span> <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetPos"><span class="kw5">llGetPos</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
        <span class="kw1">if</span><span class="br0">&#40;</span>g_Up<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            pos.z<span class="sy0">++</span>;
        <span class="br0">&#125;</span>
        <span class="kw1">else</span>
        <span class="br0">&#123;</span>
            pos.z<span class="sy0">--</span>;
        <span class="br0">&#125;</span>
        <a href="http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSetPos"><span class="kw5">llSetPos</span></a><span class="br0">&#40;</span>pos<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.foxsan.com/scripts/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->]]></content:encoded>
			<wfw:commentRss>http://www.foxsan.com/scripts/2011/03/09/move-on-click/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

