diff --git a/trunk/Resource/ConfLSL.xml b/trunk/Resource/ConfLSL.xml index f8fd9a6..3a16265 100644 --- a/trunk/Resource/ConfLSL.xml +++ b/trunk/Resource/ConfLSL.xml @@ -365,6 +365,13 @@ Returns the cosine of thetaradians. + + void llCreateCharacter(list Options); + + Creates a path-finding entity, known as a "character", from the object containing the script. Required to activate use of path-finding functions. + Options is a list of key/value pairs. + + llCreateLink(key target, integer parent); @@ -375,6 +382,12 @@ + + void llDeleteCharacter(); + + Convert the current link-set back to a standard object, removing all path-finding properties. + + list llDeleteSubList(list src, integer start, integer end); @@ -619,12 +632,38 @@ Returns the rotation represented by Euler Angle vec. + + void llEvade(key TargetID, list Options); + + Characters will (roughly) try to hide from their pursuers if there is a good hiding spot along their fleeing path. Hiding means no direct line of sight from the head of the character (centre of the top of its physics bounding box) to the head of its pursuer and no direct path between the two on the navigation-mesh. + Agent or object to evade. + No options yet. + + + + void llExecCharacterCmd(integer Command, list Options); + + Send a command to the path system. + Currently only supports stopping the current path-finding operation or causing the character to jump. + Command to send. + Height for CHARACTER_CMD_JUMP. + + float llFabs(float val); Returns the absolute value of val. + + void llFleeFrom(vector Source, float Distance, list Options); + + Directs a character (llCreateCharacter) to keep away from a defined position in the region or adjacent regions. + Global coordinate from which to flee. + Distance in meters to flee from the source. + No options available at this time. + + integer llFloor(float val); @@ -741,6 +780,14 @@ Returns the center of mass of the root object. + + list llGetClosestNavPoint(vector Point, list Options); + + The function accepts a point in region-local space (like all the other path-finding methods) and returns either an empty list or a list containing a single vector which is the closest point on the navigation-mesh to the point provided. + A point in region-local space. + No options at this time. + + vector llGetColor(integer face); @@ -1869,6 +1916,14 @@ A tau of 0.0 stops the critical damping. + + void llNavigateTo(vector Location, list Options); + + Directs an object to travel to a defined position in the region or adjacent regions. + Region coordinates for the character to navigate to. + List of parameters to control the type of path-finding used. Currently only FORCE_DIRECT_PATH supported. + + llOffsetTexture(float offset_s, float offset_t, integer face); @@ -1979,6 +2034,14 @@ + + void llPatrolPoints(list Points, list Options); + + Sets the points for a character (llCreateCharacter) to patrol along. + A list of vectors for the character to travel through sequentially. The list must contain at least two entries. + No options available at this time. + + llPlaySound(string sound, float volume); @@ -2027,6 +2090,14 @@ Preloads sound from object inventory on nearby viewers. + + void llPursue(key TargetID, list Options); + + Causes the character (llCharacter) to pursue the target defined by TargetID. + Agent or object to pursue. + Parameters for pursuit. + + llPushObject(key id, vector impulse, vector angular_impulse, integer local); @@ -2347,7 +2418,7 @@ - llSay(integer channel, string text); + void llSay(integer channel, string text); Say text on channel. Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 to 2,147,483,648 are private @@ -2638,7 +2709,7 @@ Request iLimit bytes to be reserved for this script. This function has no effect if the script is running in the LSO VM. Return TRUE or FALSE indicating whether the limit was set successfully. - The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. + The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. @@ -3128,6 +3199,13 @@ owner, the agent is forced to stand up. + + void llUpdateCharacter(list Options); + + Updates settings for a character. + Character configuration options. Takes the same constants as llCreateCharacter(). + + float llVecDist(vector a, vector b); @@ -3162,6 +3240,15 @@ + + void llWanderWithin(vector Origin, float Distance, list Options); + + Sets a character to wander about a central spot within a specified radius. + Central point to wander about. + How far (radius) the character may wander from origin. + No options available at this time. + + float llWater(vector offset); @@ -3401,6 +3488,13 @@ passed in from the call to llRezObject. + + path_update(integer Type, list Reserved) + + This event is called to inform the script of changes within the object's path-finding status. + One of the PU* (Path Update) constants. + + remote_data(integer event_type, key channel, key message_id, string sender, integer idata, string sdata); @@ -4556,6 +4650,36 @@ + + + + Allows you to specify that a character should not try to avoid other characters, should not try to avoid dynamic obstacles (relatively fast moving objects and avatars), or both. + Makes the character jump. Requires an additional parameter, the height to jump, between 0.1m and 2.0m. This must be provided as the first element of the llExecCharacterCmd option list. + Stops any current pathfinding operation. + Speed of pursuit in meters per second. + Set collision capsule length - cannot be less than two times the radius. + Specifies which walk-ability coefficient will be used by this character. + The character's maximum acceleration rate. + The character's maximum angular acceleration about the Z axis. + The character's maximum angular speed about the Z axis. + The character's maximum deceleration rate. + Set collision capsule radius. + When a character has to make certain kinds of turns, this value is multiplied by the character's desired speed and the character is slowed down to the new value before being allowed to turn. + + + + + + Define whether the character attempts to predict the target's location. + Selects a random destination near the offset. + Go to a position offset from the target. + Define whether the character needs a line-of-sight to give chase. + One of TRAVERSAL_TYPE_FAST, TRAVERSAL_TYPE_SLOW, and TRAVERSAL_TYPE_NONE. + + + + + Constants that do not fit into any of the previously defined categories. @@ -4614,6 +4738,7 @@ Add the agent to this estate's Banned residents list. Remove the agent from this estate's Banned residents list. + Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 @@ -4882,6 +5007,17 @@ Disables profiling Enables memory profiling + Triggered when an llEvade character thinks it has hidden from its pursuer. + Triggered when an llEvade character switches from hiding to running + Goal is not on the navigation-mesh and cannot be reached. + Character cannot navigate from the current location - e.g., the character is off the navmesh or too high above it. + There's no good place for the character to go - e.g., it is patrolling and all the patrol points are now unreachable. + + Target (for llPursue or llEvade) can no longer be tracked - e.g., it left the region or is an avatar that is now more than about 30m outside the region. + Goal is no longer reachable for some reason - e.g., an obstacle blocks the path. + Character has reached the goal and will stop or choose a new goal (if wandering). + Character is near current goal. + PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter,