Difference between revisions of "LlWanderWithin"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 17: Line 17:
* Wander area can be limited to a smaller area by introducing obstacles such as walls.
* Wander area can be limited to a smaller area by introducing obstacles such as walls.
* Vertical positions specified for any vectors should be chosen to be as close as possible to the actual height of the terrain requested. Large difference between the provided vertical position and the actual terrain/object will result in failure of the behavior.
* Vertical positions specified for any vectors should be chosen to be as close as possible to the actual height of the terrain requested. Large difference between the provided vertical position and the actual terrain/object will result in failure of the behavior.
* As for all pathfinding behaviors, DO NOT rely on the detailed implementation here. The wander distance is just a rough estimate. We may change the exact shape on a whim. For fun. Or because it seems better that way. Or to ensure that you aren't relying on the detailed implementation. Don't make this another PATHBUG-69. :) |
* As for all pathfinding behaviors, DO NOT rely on the detailed implementation here. The wander distance is just a rough estimate. We may change the exact shape on a whim. For fun. Or because it seems better that way. Or to ensure that you aren't relying on the detailed implementation. Don't make this another {{Jira|PATHBUG-69}}. :) |
examples=
examples=
<lsl>
<lsl>

Revision as of 20:33, 25 April 2012

Summary

Function: llWanderWithin( vector origin, float dist, list options );

Sets a character to wander about a central spot within a specified radius.

• vector origin Central point to wander about.
• float dist Sets how far the character may wander from origin.
• list options No options available at this time.

Caveats

  • Must use llCreateCharacter or script won't compile.
  • Wander area is a rough area based on the specified origin, to a specified radius. So, if 10.0m is specified the object will wander within an area 20m to a side, centered on origin.
  • Wander area can be limited to a smaller area by introducing obstacles such as walls.
  • Vertical positions specified for any vectors should be chosen to be as close as possible to the actual height of the terrain requested. Large difference between the provided vertical position and the actual terrain/object will result in failure of the behavior.
  • As for all pathfinding behaviors, DO NOT rely on the detailed implementation here. The wander distance is just a rough estimate. We may change the exact shape on a whim. For fun. Or because it seems better that way. Or to ensure that you aren't relying on the detailed implementation. Don't make this another PATHBUG-69. :)

Examples

<lsl> default {

   state_entry()
   {
       llCreateCharacter([CHARACTER_MAX_SPEED, 25, CHARACTER_DESIRED_SPEED, 15.0]);
       //MAX_SPEED is @ 20 by default
   }
   touch_start(integer total_number)
   {
       llWanderWithin(llGetPos(), 10.0, []);
   }

}

</lsl>

Deep Notes

Signature

function void llWanderWithin( vector origin, float dist, list options );