Difference between revisions of "User:Jana Kamachi/Detect"
Jump to navigation
Jump to search
Jana Kamachi (talk | contribs) (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 | llSensorRepeat("", "", SCRIPTED, 1.0, PI, 0.001); | ||
llSetTimerEvent(0. | 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; | ||
dtc = []; | |||
for( | 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(){ | 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; | |||
} | |||
} | |||
} | } | ||
} | } | ||
</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; } } }