
Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385
<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://live.spdns.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>move IT Home Base</title>
        <description></description>
        <link>http://live.spdns.org/wiki/</link>
        <lastBuildDate>Sat, 04 Apr 2026 10:40:13 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://live.spdns.org/wiki/lib/tpl/peanutbutter2/images/favicon.ico</url>
            <title>move IT Home Base</title>
            <link>http://live.spdns.org/wiki/</link>
        </image>
        <item>
            <title>Tip Jar / Donation Box</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/tip_jar?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;tip_jardonation_box&quot;&gt;Tip Jar / Donation Box&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Keknehv Psaltery Updated Version of DONATION BOX By jean cook, ama omega, and nada epoch Debugged by YadNi Monde (LoL) Yea, that s a Bunch O Peeps =) 
//Summary: The following script will make an object accept donations on your behalf. 
//Usage: stick it on any object you own(my favorite is a top hat), and it will promptly display: 
//&amp;quot;&amp;lt;your name&amp;gt;&amp;#039;s donation hat. 
//Donate if you are so inclined.&amp;quot; 
//at which point anyone can right click on it and give you a tip. also, the script tells the donator thanks, and then tells you who donated how much 
//also shows the total amount donated
 
integer totaldonated; 
string owner; 
 
default 
{ 
    on_rez( integer sparam ) 
    { 
        llResetScript(); 
    } 
    state_entry() 
    { 
        owner = llKey2Name( llGetOwner() ); 
        llSetText( owner + &amp;quot;&amp;#039;s Tip Jar.\nPlease tip if you are so inclined!\n$L0 Donated so far&amp;quot;,&amp;lt;.25,1,.65&amp;gt;,1); 
        //Red Light flash 
         llParticleSystem 
        ([ 
            PSYS_PART_FLAGS, 
            PSYS_PART_INTERP_COLOR_MASK| 
            PSYS_PART_FOLLOW_SRC_MASK| 
            PSYS_PART_EMISSIVE_MASK, PSYS_SRC_PATTERN, 
            PSYS_SRC_PATTERN_ANGLE_CONE, 
            PSYS_SRC_INNERANGLE, 0.0, 
            PSYS_SRC_OUTERANGLE, 0.1, 
            PSYS_SRC_BURST_SPEED_MIN, 0.0, 
            PSYS_SRC_BURST_SPEED_MAX, 0.0, 
            PSYS_SRC_BURST_RADIUS, 0.0, 
            PSYS_SRC_BURST_PART_COUNT, 5, 
            PSYS_SRC_BURST_RATE, 1.0, 
            PSYS_PART_MAX_AGE, 1.0, 
            PSYS_PART_START_SCALE, &amp;lt;1,1,1&amp;gt;, 
            PSYS_PART_START_COLOR, &amp;lt;1,0.2,0.2&amp;gt;, 
            PSYS_PART_END_COLOR, &amp;lt;1,0,0&amp;gt;, 
            PSYS_PART_START_ALPHA, 1.0, 
            PSYS_PART_END_ALPHA, 0.0 
        ]); 
        // Rotate 
         llTargetOmega(&amp;lt;0,0,0.05&amp;gt;,PI,0.05); 
    } 
 
    money(key id, integer amount) 
    { 
        totaldonated += amount; 
        llSetText( owner + &amp;quot;&amp;#039;s Tip Jar.\nPlease tip if you are so inclined!\n$L&amp;quot; + (string)amount + &amp;quot; Was donated last!\n&amp;quot; + &amp;quot;$L&amp;quot; + (string)totaldonated + &amp;quot; Donated so far&amp;quot;,&amp;lt;.25,1,.65&amp;gt;,1); 
        llInstantMessage(id,&amp;quot;Thanks for the tip!  I really appreciate it.&amp;quot;); 
        llInstantMessage(llGetOwner(),(string)llKey2Name(id)+&amp;quot; donated $&amp;quot; + (string)amount); 
    } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>Invisible Prim</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/invisible_prim?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;invisible_prim&quot;&gt;Invisible Prim&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;default
{
    state_entry()
    {
        llSetPrimitiveParams([PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_NONE]);
        llScaleTexture(0.0, 0.0, ALL_SIDES);
        llSetAlpha(1.0, ALL_SIDES);
        llSetTexture(&amp;quot;38b86f85-2575-52a9-a531-23108d8da837&amp;quot;, ALL_SIDES);   
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Invisible Prim 2</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/invisible_prim_2?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;invisible_prim_2&quot;&gt;Invisible Prim 2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Invisible Prim Public v1.1b
// last updated Mar. 22, 2006

init()
{
llSetPrimitiveParams([PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_NONE, PRIM_BUMP_BRIGHT]);
llOffsetTexture(0.468, 0.0, ALL_SIDES);
llScaleTexture(0.0, 0.0, ALL_SIDES);
llSetAlpha(1.0, ALL_SIDES);
}

refresh()
{
llSetTexture(&amp;quot;38b86f85-2575-52a9-a531-23108d8da837&amp;quot;, ALL_SIDES);
llSleep(30);
llSetTexture(&amp;quot;e97cf410-8e61-7005-ec06-629eba4cd1fb&amp;quot;, ALL_SIDES);
}

default
{
state_entry()
{
init();
llSetTimerEvent(5);
}

on_rez(integer start_param)
{
init();
}

timer()
{
if ((integer)llGetWallclock() % 60 &amp;lt; 10)
{
refresh();
}
}
} &lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Simple Radar</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/simple_radar?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;simple_radar&quot;&gt;Simple Radar&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Sable Till - Radar/scannar script.
//You can get a copy of the license this script is under at http://www.gnu.org/copyleft/gpl.html
//Copyright (C) 2006 Sable Till

//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.

//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

string status=&amp;quot;none&amp;quot;;
list people;
integer maxScanDistance;
vector color = &amp;lt;0,1,1&amp;gt;;
integer maxPeople = 8;
integer scanType = AGENT;
integer scanFreq=1;

integer count(string name) {
integer i = llListFindList(people, [name]);
if(i ==-1){
people+=[name, 0];
return 0;
} else {
integer count = llList2Integer(people, i+1);
people=llListReplaceList(people, [count+scanFreq], i+1, i+1);
return count;
}
}

//calculate time strings with proper units that are sensibly rounded
string time(integer cnt) {
if(cnt&amp;gt;3600) {
return (string)(cnt/3600)+&amp;quot;hr &amp;quot; + (string)((cnt%3600)/60) +&amp;quot;min&amp;quot;;
}else {
if(cnt&amp;gt;60) {
return (string)(cnt/60)+&amp;quot;min&amp;quot;;
} else {
return (string)cnt+&amp;quot;s&amp;quot;;
}
}
}

//I&amp;#039;m pretty sure there&amp;#039;s a better way to do this but I&amp;#039;m trying to calculate the angle between
//North and the target so I can work out which direction it is in.
float getAngle(vector me, vector target) {
float hyp = llVecDist(me, target);
float yDiff = target.y-me.y;
float xDiff = target.x-me.x;
float angle = llSin(yDiff/hyp);
if(xDiff&amp;gt;0 &amp;amp;&amp;amp; yDiff&amp;gt;0) {
return angle*RAD_TO_DEG;
}
if(xDiff&amp;gt;0 &amp;amp;&amp;amp; yDiff&amp;lt;0) {
return 90-angle*RAD_TO_DEG;
}
if(xDiff&amp;lt;0 &amp;amp;&amp;amp; yDiff&amp;gt;0) {
return angle*RAD_TO_DEG+270;
}
if(xDiff&amp;lt;0 &amp;amp;&amp;amp; yDiff&amp;lt;0) {
return angle*RAD_TO_DEG + 270;
}
return angle*RAD_TO_DEG;
}

default
{
state_entry()
{
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;,scanType, 96, PI, scanFreq);
llSetTimerEvent(6);
}

sensor(integer num_detected) {
people=[];
string result;
integer n=-1;
integer distance=0;
integer detDist;
string name;

vector pos = llGetPos();
//get the dist, name and direction of everyone we just scanned.
for(n=0;n&amp;lt;num_detected &amp;amp;&amp;amp; n&amp;lt;maxPeople;++n) {
vector detPos = llDetectedPos(n);
detDist = (integer)llVecDist(pos, detPos);
float angle = getAngle(llGetPos(), detPos);
name = llKey2Name(llDetectedKey(n));
if(detDist&amp;lt;96) {
people+=detDist;
people+=name;
people+=angle;
}
}
//sort the strided list
people = llListSort(people, 3, TRUE);
//construct settext
num_detected = llGetListLength(people)/3;
for(n=0;n&amp;lt;num_detected;++n) {
detDist=llList2Integer(people, n*3);
name = llList2String(people, n*3+1);
float dir = llList2Float(people, n*3+2);
if(detDist&amp;gt;20 &amp;amp;&amp;amp; distance&amp;lt;=20) {
result+=&amp;quot;&amp;lt;- Chat Range Limit -&amp;gt;\n&amp;quot;;
}
result+=name;
if(detDist&amp;lt;20) {
integer cnt = count(name);
result+=&amp;quot; [&amp;quot;+time(cnt)+&amp;quot;]&amp;quot;;
}
result+=&amp;quot; [&amp;quot;+(string)detDist+&amp;quot;m]&amp;quot;;

if(dir &amp;lt; 0 || dir &amp;gt; 360) {
llOwnerSay(&amp;quot;Error:&amp;quot;+(string)dir+&amp;quot;:&amp;quot;+name);
}
//determine which compass direction they are in.
if(dir &amp;lt;= 22.5) {
result+=&amp;quot; N\n&amp;quot;;
} else {
if(dir &amp;gt; 22.5 &amp;amp;&amp;amp; dir &amp;lt;= 67.5) {
result+=&amp;quot; NE\n&amp;quot;;
} else {
if(dir &amp;gt; 67.5 &amp;amp;&amp;amp; dir &amp;lt;= 112.5) {
result+=&amp;quot; E\n&amp;quot;;
} else {
if(dir &amp;gt; 112.5 &amp;amp;&amp;amp; dir &amp;lt;= 157.5) {
result+=&amp;quot; SE\n&amp;quot;;
} else {
if(dir &amp;gt; 157.5 &amp;amp;&amp;amp; dir &amp;lt;= 202.5) {
result+=&amp;quot; S\n&amp;quot;;
} else {
if(dir &amp;gt; 202.5 &amp;amp;&amp;amp; dir &amp;lt;= 247.5) {
result+=&amp;quot; SW\n&amp;quot;;
} else {
if(dir &amp;gt; 247.5 &amp;amp;&amp;amp; dir &amp;lt;= 292.5) {
result+=&amp;quot; W\n&amp;quot;;
} else {
if(dir &amp;gt; 292.5 &amp;amp;&amp;amp; dir &amp;lt;= 337.5) {
result+=&amp;quot; NW\n&amp;quot;;
} else {
if(dir &amp;gt; 337.5 &amp;amp;&amp;amp; dir &amp;lt; 360) {
result+=&amp;quot; N\n&amp;quot;;
}
}
}

}}}}}}

distance=detDist;
}


//If we detected more (or the same number of) people as maxPeople then shrink down the scan distance to just
//the distance to the furthest one. Otherwise increment it a bit in case there are people further out.
if(num_detected&amp;gt;=maxPeople) {
maxScanDistance=distance+10;
} else {
maxScanDistance+=10;
}

result+=&amp;quot;\nStatus:&amp;quot;+status;
//adjust max people based on the length of result
if(llStringLength(result)&amp;gt;254) {
maxPeople--;
llOwnerSay(&amp;quot;Length is &amp;quot;+(string)llStringLength(result) +
&amp;quot; Decrementing maxPeople to &amp;quot;+(string)maxPeople);
} else {
if(llStringLength(result)&amp;lt;200 &amp;amp;&amp;amp; num_detected&amp;gt;maxPeople) {
maxPeople++;
llOwnerSay(&amp;quot;Length is &amp;quot;+(string)llStringLength(result) +
&amp;quot; Incrementing maxPeople to &amp;quot;+(string)maxPeople);
}
}
llSetText(result, color, 1);
}

no_sensor() {
llSetText(&amp;quot;Status:&amp;quot;+status, color, 1);
maxScanDistance+=10;
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, scanType, maxScanDistance, PI, scanFreq);
}

//all we do here is check the sims fps and dilation and tone down our scanning if necessary.
timer() {
float fps = llGetRegionFPS();
float timeDilation = llGetRegionTimeDilation();

integer scanDistance;
if(fps&amp;lt;35 || timeDilation &amp;lt;0.9) {
if(maxScanDistance&amp;gt;30) {
scanDistance=30;
}
scanFreq=240;
status = &amp;quot;poor&amp;quot;;
llSetTimerEvent(240);
color=&amp;lt;1,0,0&amp;gt;;
} else
{
if(fps&amp;lt;40 || timeDilation&amp;lt;0.95) {
if(maxScanDistance&amp;gt;64) {
scanDistance=64;
} else {
scanDistance=maxScanDistance;
}
scanFreq=30;
status = &amp;quot;ok&amp;quot;;
llSetTimerEvent(120);
color=&amp;lt;1,1,0&amp;gt;;
} else
{
if(maxScanDistance&amp;gt;96) {
scanDistance=96;
} else {
scanDistance=maxScanDistance;
}
scanFreq=1;
llSetTimerEvent(60);
status = &amp;quot;good&amp;quot;;
color=&amp;lt;0,1,1&amp;gt;;
}}
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, scanType, scanDistance, PI, scanFreq);
}

}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Sleep</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/sleep?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sleep&quot;&gt;Sleep&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Schlaf-Stellung.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// Francis wuz here
integer broadcast = 20;

// A More Neutral Sleeping Position
//vector target = &amp;lt;-1.06585, 0.71774, 0.18293&amp;gt;;
//rotation targetRot = &amp;lt;0.50028, -0.49972, -0.50028, 0.49972&amp;gt;;

// A More relaxed sleeping position
vector target = &amp;lt;-1.15419, 0.56328, -0.25744&amp;gt;;
rotation targetRot = &amp;lt;0.52105, -0.49829, -0.46875, 0.51038&amp;gt;;

integer debugRotation = FALSE;
key sitAgent = NULL_KEY;
integer gotPermission = FALSE;

integer time = 0;
default
{
    state_entry()
    {
        llSetSitText( &amp;quot;Sleep&amp;quot; );
        llSitTarget( target, targetRot );
        if ( debugRotation ) {
            llListen( 1977, &amp;quot;Rotation Broadcaster&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
            llListen( 1978, &amp;quot;Rotation Broadcaster&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        }
    }
    listen(integer channel, string name, key id, string message ) {
        if ( channel == 1977 )
            targetRot = (rotation) message;
        else
            target = (vector) message;
            
        llSitTarget( target, targetRot ); 
        if ( time == 0 )
            llSay(0, (string) targetRot + &amp;quot;, &amp;quot; + (string)target );
        time = (time +1) % 50;
    }
    changed(integer change) {
        if (change &amp;amp; CHANGED_LINK)
        {
            key agent = llAvatarOnSitTarget();
            if ( sitAgent == NULL_KEY &amp;amp;&amp;amp; agent != NULL_KEY ) {
                // Someone new sitting down
                sitAgent = agent;
                llRequestPermissions(sitAgent,PERMISSION_TRIGGER_ANIMATION);
            }
            else if ( sitAgent != NULL_KEY &amp;amp;&amp;amp; agent == NULL_KEY) {
                // sitting down person got up - wake up :)
                if ( gotPermission )
                    llStopAnimation(&amp;quot;sleep&amp;quot;);
                // Reset the script because we don&amp;#039;t have a way of releasing permissions :)
                llResetScript();
            }
        }        
    }
    run_time_permissions(integer parm) {
        if(parm == PERMISSION_TRIGGER_ANIMATION) {
            gotPermission = TRUE;
            llStartAnimation(&amp;quot;sleep&amp;quot;);
        }
    }
    
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
    </channel>
</rss>
