vector pos;
integer many;
key sub;
integer info;
key owner;
list extra;
default {
on_rez(integer param) {
llResetScript();
}
state_entry() {
owner = llGetOwner();
llSetText("SCRIPTED RADAR SWEEP SEARCHING...", <1,0,0>, 1);
llSetTimerEvent(.5);
}
timer() {
llSensor("", NULL_KEY, ACTIVE | SCRIPTED, 300, PI);
}
no_sensor() {
llSetText("No scripted objects within 96m", <0,1,0>, 1);
}
sensor(integer num) {
text = "FULL RADAR SWEEP\n";
many = 1;
pos = llGetPos();
integer x=0;
for(x;x<num;x++) {
extra = [];
sub = llDetectedKey(x);
if(sub != owner) {
info = llGetAgentInfo(sub);
if(info & AGENT_TYPING) extra += ["Ty"];
if(info & AGENT_AWAY) extra += ["AFK"];
if(info & AGENT_BUSY) extra += ["BUSY"];
if(info & AGENT_FLYING) extra += ["Fly"];
if(info & AGENT_MOUSELOOK) extra += ["Mous"];
if(info & AGENT_ON_OBJECT) {
extra += ["Sat"];
} else if(info & AGENT_SITTING) {
//extra += ["S-G"];
}
if(info & AGENT_SCRIPTED) {
//extra += ["S-att"];
} else if(info & AGENT_ATTACHMENTS) {
//extra += ["At"];
}
if(info & AGENT_WALKING) extra += ["Wa"];
if(info & AGENT_CROUCHING) extra += ["Cr"];
if(info & AGENT_ALWAYS_RUN) extra += ["Run"];
if(info & AGENT_IN_AIR) extra += ["Air"];
text += (string)many + "
" + llDetectedName(x) + "-" + (string)(llRound(llVecDist(pos, llDetectedPos(x)))) + "m\n";many++;
}
}
if(many == 1) text = "No scripts within 96m";
llSetText(text, <0,0,1>, 1);
}
}