Aim Detection: Difference between revisions
Jump to navigation
Jump to search
Kireji Haiku (talk | contribs) m some readability improvements |
needed to change 'while (++i < n);' to 'while (++i < num_detected)' |
||
| Line 35: | Line 35: | ||
} | } | ||
} | } | ||
while (++i < | while (++i < num_detected); | ||
llSetText(llDumpList2String(output, "\n"), <1.0, 1.0, 1.0>, (float)TRUE); | llSetText(llDumpList2String(output, "\n"), <1.0, 1.0, 1.0>, (float)TRUE); | ||
Revision as of 02:29, 18 February 2013
This script detects who's aiming at you.
<lsl> //This script was designed by Han Shuffle AKA MichaelRyan Allen AKA Dugley Reanimator //Cleaned up a bit by another resident. //Cleaned up some more by another resident.
default {
state_entry()
{
// black and transparent floattext
llSetText("", ZERO_VECTOR, (float)FALSE);
llSensorRepeat("", "", AGENT_BY_LEGACY_NAME, 90, PI, 0.1);
}
sensor(integer num_detected)
{
list output;
integer i;
do
{
key agentKey = llDetectedKey(i);
string agentName = llDetectedName(i);
vector agentPosition = llDetectedPos(i);
rotation agentRotation = llDetectedRot(i);
vector ownPosition = llGetPos();
if (llGetAgentInfo(agentKey) & AGENT_MOUSELOOK)
{
if (llVecDist(ownPosition, agentPosition+llRot2Fwd(agentRotation)*llVecDist(ownPosition,agentPosition)) < 1.5)
output += [agentName];
}
}
while (++i < num_detected);
llSetText(llDumpList2String(output, "\n"), <1.0, 1.0, 1.0>, (float)TRUE); }
} </lsl>