Difference between revisions of "User:Jana Kamachi/Detect"

From Second Life Wiki
Jump to navigation Jump to search
(New page: <pre> list dtc = []; list darl = []; integer darl_d = FALSE; integer cnt = 0; vector lastpos; vector curpos; default { state_entry() { llSensorRepeat("","",SCRIPTED,1.0,...)
 
(There is a min event delay (pointless to try to loop faster then it), the scan arc is between 0 and PI, not TWO_PI)
Line 13: Line 13:
     state_entry()
     state_entry()
     {
     {
         llSensorRepeat("","",SCRIPTED,1.0,PI*2,0.000000001);   
         llSensorRepeat("", "", SCRIPTED, 1.0, PI, 0.001);   
         llSetTimerEvent(0.000001);
         llSetTimerEvent(0.001);
         lastpos = llGetPos();
         lastpos = llGetPos();
     }
     }
Line 20: Line 20:
     sensor(integer n_m){
     sensor(integer n_m){
         integer i=0;
         integer i=0;
         list tmp;
         dtc = [];
         for(i=0;i<n_m;i++) {
        if(n_m > 2) n_m = 2;//no need for a jump;
             tmp+= [llDetectedName(i) + " owned by " + llKey2Name(llGetOwnerKey(llDetectedKey(i)))];
         for(; i<n_m; ++i) {
            if(i>2)
             dtc += (llDetectedName(i) + " owned by " + llKey2Name(llDetectedOwner(i)));
                jump out;  
         }
         }
        @out;
        dtc = tmp;
     }
     }
      
      
     timer(){
     timer(){
            cnt = cnt + 1;
        if(llVecDist(lastpos, curpos = llGetPos()) > 1000){
            if(llVecDist(lastpos,llGetPos()) > 1000){
            llOwnerSay("Orbit Detect.");
                llOwnerSay("Orbit Detect.");
            llOwnerSay("Possible Orbiters\n" + llDumpList2String(dtc,"\n"));   
                llOwnerSay("Possible Orbiters\n" + llDumpList2String(dtc,"\n"));   
            cnt = 0;
                cnt = 501;
            lastpos = curpos;  
                lastpos = llGetPos();  
        }else if(500 < ++cnt){//will force update lastpos about every 25 to 50 seconds.
            }else{
            cnt = 0;
               
             lastpos = curpos;
            }
        }
            if(cnt > 500){
                lastpos = llGetPos();
                cnt = 0;
             }
     }
     }
}
}
</pre>
</pre>

Revision as of 12:24, 19 November 2007

list dtc = [];
list darl = [];

integer darl_d = FALSE;
integer cnt = 0;

vector lastpos;
vector curpos;

default
{
    state_entry()
    {
        llSensorRepeat("", "", SCRIPTED, 1.0, PI, 0.001);   
        llSetTimerEvent(0.001);
        lastpos = llGetPos();
    }
    
    sensor(integer n_m){
        integer i=0;
        dtc = [];
        if(n_m > 2) n_m = 2;//no need for a jump;
        for(; i<n_m; ++i) {
            dtc += (llDetectedName(i) + " owned by " + llKey2Name(llDetectedOwner(i)));
        }
    }
    
    timer(){
        if(llVecDist(lastpos, curpos = llGetPos()) > 1000){
            llOwnerSay("Orbit Detect.");
            llOwnerSay("Possible Orbiters\n" + llDumpList2String(dtc,"\n"));  
            cnt = 0;
            lastpos = curpos; 
        }else if(500 < ++cnt){//will force update lastpos about every 25 to 50 seconds.
            cnt = 0;
            lastpos = curpos;
        }
    }
}