targeting.MKII

By: bdhtrn on Sep 20th, 2011  |  syntax: Linden Scripting  |  size: 0.79 KB  |  hits: 135  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. float scanrange=20;
  2. list tgtkeys;
  3. list tgtnames;
  4.  
  5. GOTCHASUCKER(key target){
  6.         // [endless possibilities]
  7.         llOwnerSay((string)target);
  8. }
  9.  
  10. default{
  11.         state_entry(){
  12.                 llListen(-19,"",llGetOwner(),"");
  13.         }
  14.         touch_start(integer total_number){
  15.                 tgtkeys=[];
  16.                 tgtnames=[];
  17.                 llSensor("","",AGENT,scanrange,PI);
  18.         }
  19.         sensor(integer num){
  20.                 integer i;
  21.                 for(i=0;i<num;i++){
  22.                         if(llDetectedName(i)!=llKey2Name(llGetOwner())){
  23.                                 tgtnames += llGetSubString(llDetectedName(i),0,24);
  24.                                 tgtkeys += llDetectedKey(i);
  25.                         }
  26.                 }
  27.                 if((num-1)>0)
  28.                         llDialog(llGetOwner(),"Let's annoy someone",tgtnames,-19);
  29.         }
  30.         listen(integer chan,string who,key id,string msg){
  31.                 integer tgtindex=llListFindList(tgtnames,[msg]);
  32.                 key target = llList2Key(tgtkeys,tgtindex-1);
  33.                 GOTCHASUCKER(target);
  34.  
  35.         }
  36. }