02-18-2013, 09:31 PM
PHP Code:
/*
Bornslippy Ruby presents...
Radar OwnerSay Controller
Tags: chat, communications, detection, link, primitive, sensor, featured, tools, controllers
Description:
License:
http://secondlife.coolminds.org
*/
float Range = 32.2;
float Interval = 10;
vector Color = <1, 0, 0>;
string Target = "";
integer AutoStart = TRUE;
//-------------------------------------
string StatusController = "";
string RangeController = "";
string IntervalController = "";
string ColorController = "";
string TargetController = "";
default
{
state_entry()
{
if ( AutoStart )
llSensorRepeat(Target,NULL_KEY,AGENT,Range,PI,Interval);
}
sensor( integer _n )
{
vector me = llGetPos();
vector pos;
integer dist;
string iSee;
integer i = 0;
for(; i<_n; i++) {
pos = llDetectedPos( i );
dist = (integer) llVecDist( me, pos );
iSee += "[" + llDetectedName( i ) + " @ " + (string)dist + "M]\n";
}
llOwnerSay(iSee);
}
link_message( integer _sn, integer _n, string _m, key _k )
{
if ( _m == IntervalController ) Interval = (float) ((string)_k);
else if ( _m == RangeController ) Range = (float) ((string)_k);
else if ( _m == ColorController ) Color = (vector)((string)_k);
else if ( _m == TargetController ) Target = (string)_k;
if ( _m == StatusController )
{
if ( _n ) llSensorRepeat(Target,NULL_KEY,AGENT,Range,PI,Interval);
else llSensorRemove();
} else {
llSensorRemove();
llSensorRepeat(Target,NULL_KEY,AGENT,Range,PI,Interval);
}
}
}