| HUD | |
|
string text; vector pos; integer many; key sub; integer info; key owner; list extra; default { on_rez(integer param) { llResetScript(); } state_entry() { owner = llGetOwner(); llSetText("Searching...", <1,0,0>, 1); llSetTimerEvent(1); } timer() { llSensor("", "", AGENT, 20, PI); } no_sensor() { llSetText("No Agents", <0,1,0>, 1); } sensor(integer num) { text = ""; 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 += ["T"]; if(info & AGENT_AWAY) extra += ["A"]; if(info & AGENT_BUSY) extra += ["B"]; if(info & AGENT_FLYING) extra += ["F"]; if(info & AGENT_MOUSELOOK) extra += ["M"]; if(info & AGENT_ON_OBJECT) { extra += ["SO"]; } else if(info & AGENT_SITTING) { extra += ["SG"]; } if(info & AGENT_SCRIPTED) { // extra += ["SAT"]; } else if(info & AGENT_ATTACHMENTS) { extra += ["AT"]; } if(info & AGENT_WALKING) extra += ["W"]; if(info & AGENT_CROUCHING) extra += ["C"]; if(info & AGENT_ALWAYS_RUN) extra += ["R"]; text += (string)many + ") " + llDetectedName(x) + " (" + llDumpList2String(extra,",") + ") - " + (string)(llRound(llVecDist(pos, llDetectedPos(x)))) + "m\n"; many++; } } if(many == 1) text = "No Agents"; llSetText(text, <0,0,1>, 1); } } |
|