Second Life Copybot
Radar OwnerSay Controller - Printable Version

+- Second Life Copybot (https://secondlifecopybot.com)
+-- Forum: SECOND LIFE PRODUCTS (https://secondlifecopybot.com/forum-1.html)
+--- Forum: SCRIPTS (https://secondlifecopybot.com/forum-1022.html)
+---- Forum: SCRIPTS (https://secondlifecopybot.com/forum-8.html)
+----- Forum: Communication Scripts (https://secondlifecopybot.com/forum-46.html)
+----- Thread: Radar OwnerSay Controller (/thread-729.html)



Radar OwnerSay Controller - boogaloo - 02-18-2013

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     = <100>;
 
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);
    }
    
    
sensorinteger _n )
    {
         
vector me llGetPos();
         
vector pos;
        
integer dist;
         
string iSee;
        
integer i 0;
        
        for(; 
i<_ni++) {
            
pos   llDetectedPos);
            
dist  = (integer) llVecDistmepos );
            
iSee += "[" llDetectedName) + " @ " + (string)dist "M]\n";
        }
        
        
llOwnerSay(iSee);
    }
    
    
link_messageinteger _sninteger _nstring _mkey _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);
        }
    }