
targeting.MKII
float scanrange=20;
list tgtkeys;
list tgtnames;
GOTCHASUCKER(key target){
// [endless possibilities]
llOwnerSay((string)target);
}
default{
state_entry(){
llListen(-19,"",llGetOwner(),"");
}
touch_start(integer total_number){
tgtkeys=[];
tgtnames=[];
llSensor("","",AGENT,scanrange,PI);
}
sensor(integer num){
integer i;
for(i=0;i<num;i++){
if(llDetectedName(i)!=llKey2Name(llGetOwner())){
tgtnames += llGetSubString(llDetectedName(i),0,24);
tgtkeys += llDetectedKey(i);
}
}
if((num-1)>0)
llDialog(llGetOwner(),"Let's annoy someone",tgtnames,-19);
}
listen(integer chan,string who,key id,string msg){
integer tgtindex=llListFindList(tgtnames,[msg]);
key target = llList2Key(tgtkeys,tgtindex-1);
GOTCHASUCKER(target);
}
}