User:Lastro Greenwood

From Second Life Wiki
Jump to navigation Jump to search

Lastro Greenwood's Page

Hey everyone, I'm Lastro Greenwood.

I specialise in software development but can kinda build.

Scratch Pad

llCastRay

Determines if something is blocking line of sight to avatar.

Uses:

  • Radiation?
  • Checking to see if avatar is hiding behind cover
  • Checking to see if avatar has line of sight to a heat source
  • Other stuff that requires LOS

<lsl>integer getnumobj(list traceres) {

   return (integer)llList2String(traceres,llGetListLength(traceres)-1);

}

integer isVisible(vector start, vector finish, integer filter) {

   list res = llCastRay(start,finish,filter,0);
   integer numobj = getnumobj(res);
   
   if(numobj == 0)
       return TRUE;
   
   return FALSE;

}

default {

   state_entry()
   {
       
   }
   touch_start(integer total_number)
   {
       vector pos = llGetPos();
       vector finalpos = llDetectedPos(0);
       if(isVisible(pos,finalpos,AGENT) == TRUE)
           llOwnerSay("I can see clearly now!");
       else
           llOwnerSay("Something is in my way!");
   }

}</lsl>