nebadon2025

Ray Caster v1.4 (to ground)

Jan 23rd, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. default
  2. {
  3.  
  4. touch_start(integer total_number)
  5. {
  6. vector start = llGetPos();
  7. vector ground = start;
  8. ground.z = llGround( ZERO_VECTOR );
  9. vector end = <start.x, start.y, ground.z>;
  10.  
  11. list results = llCastRay(start, end, [RC_DATA_FLAGS, RC_GET_NORMAL, RC_MAX_HITS, 1] );
  12.  
  13. key uuid = llList2Key(results, 0);
  14. vector vect = llList2Vector(results, 1);
  15.  
  16. string name = "Land"; // if (uuid == NULL_KEY)
  17. list pos;
  18.  
  19. if (uuid != NULL_KEY)
  20. name = llKey2Name(uuid);
  21. pos = llGetObjectDetails(uuid, ([OBJECT_POS]));
  22. llOwnerSay("Start : " + (string)start + " - " + "End : " + (string)end + ".");
  23. llOwnerSay("Intercepted Object UUID : " + (string)uuid);
  24. llOwnerSay("Hit : " + name + " - Location : " + llList2String(pos,0) + ".");
  25. llOwnerSay("Ray Intersectiing @ : " + (string)vect);
  26.  
  27. llResetScript();
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment