LSLEditor/source/Resource/ConfLSL.xml
2022-11-20 07:05:44 -07:00

6600 lines
No EOL
248 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<Conf color="#FFFFFF" slcolor="#C8D1CC">
<Words name="Comments" color="#FF7700" slcolor="#CC4D26">
<Word name="regex">//.*</Word>
</Words>
<Words name="Strings" color="#A0A0A0" slcolor="#003300">
<Word name="regex">
"[^"\\]* (?>\\.[^"\\]*)*"
</Word>
</Words>
<Words name="Includes" color="#A0A0A0" slcolor="#003300">
<Word name="//#BEGIN">
</Word>
<Word name="//#END">
</Word>
</Words>
<Words name="Operators" color="#777700" slcolor="#000000">
<Word name="regex">
\+\+|\-\-|\&lt;\&lt;|\&gt;\&gt;|\&lt;\=|\&gt;\=|\=\=|\!\=|\&amp;\&amp;|\|\||\+\=|\-\=|\*\=|\/\=|\%\=
</Word>
</Words>
<Words name="Digits" color="#FF0000" slcolor="#000000">
<Word name="regex">
[+-]?0x[\da-fA-F.p]+ | [-+]?\d* \.?\d+([eE][-+]?\d+)?
</Word>
</Words>
<Words name="Brackets" color="#66cc66" slcolor="#000000">
<Word name="(" />
<Word name=")" />
<Word name="[" />
<Word name="]" />
<Word name="{" />
<Word name="}" />
</Words>
<Words icon="States" name="States" color="#0000ff" slcolor="#801A4D">
<Word name="default">
All scripts must have a <font color="blue">default</font> state, which is the first state entered when the script starts.
If another state is defined before the default state, the compiler will report a syntax error.
</Word>
<Word name="state" />
</Words>
<Words name="Defaults" color="#0000ff" slcolor="#0000CC">
<Word name="if" />
<Word name="else" />
<Word name="for" />
<Word name="while" />
<Word name="do" />
<Word name="jump" />
<Word name="return" />
<Word name="quaternion" />
</Words>
<Words icon="Class" name="Types" color="#007700" slcolor="#1A4D1A">
<Word name="integer" />
<Word name="float" />
<Word name="vector" />
<Word name="rotation" />
<Word name="key" />
<Word name="string" />
<Word name="list" />
</Words>
<Words icon="Functions" name="Appendix A. Linden Library Functions" color="#A00000" slcolor="#800026">
Complete listing of the Linden Library function calls available in lsl.
<Word name="llAbs">
integer llAbs(integer val);
Returns the absolute value of val.
</Word>
<Word name="llAcos">
float llAcos(float val);
Returns the arccosine in radians of val.
</Word>
<Word name="llAddToLandBanList">
llAddToLandBanList(key agent, float hours);
Adds agent to the parcel ban list for the specified number of hours.
A value of 0 for hours will add agent indefinitely.
The smallest value hours will accept is 0.01;
anything smaller will be seen as 0.
When values that small are used, it seems the function bans
in 30 second increments (Probably 36 second increments,
as 0.01 of an hour is 36 seconds).
Residents teleporting to a parcel where they are banned
will be redirected to a neighboring parcel.
</Word>
<Word name="llAddToLandPassList">
llAddToLandPassList(key avatar, float hours);
Add avatar to the land pass list for hours.
</Word>
<Word name="llAdjustSoundVolume">
llAdjustSoundVolume(float volume);
Adjusts the volume of the currently playing attached sound started
with llPlaySound or llLoopSound.
This function Has no effect on sounds started with llTriggerSound.
</Word>
<Word name="llAllowInventoryDrop">
llAllowInventoryDrop(integer add);
If add == TRUE, users that do no have object modify permissions can
still drop inventory items onto object.
<Argument name="add" wild="TRUE|FALSE">
boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes.
</Argument>
</Word>
<Word name="llAngleBetween">
float llAngleBetween(rotation a, rotation b);
Returns the angle in radians between rotations a and b.
</Word>
<Word name="llApplyImpulse">
llApplyImpulse(vector force, integer local);
Applies the impulse in local coordinates if local == TRUE.
Otherwise the impulse is applied in global coordinates.
This function only works on physical objects.
<Argument name="force"></Argument>
<Argument name="local" wild="TRUE|FALSE">
boolean, if TRUE, force is treated as a local directional vector instead of region directional vector.
</Argument>
</Word>
<Word name="llApplyRotationalImpulse">
llApplyRotationalImpulse(vector force, integer local);
Applies a rotational impulse force in local coordinates if local == TRUE.
Otherwise the impulse is applied in global coordinates.
This function only works on physical objects.
<Argument name="force"></Argument>
<Argument name="local" wild="TRUE|FALSE">
boolean, if TRUE, uses local axis, if FALSE, uses region axis.
</Argument>
</Word>
<Word name="llAsin">
float llAsin(float val);
Returns the arcsine in radians of val.
</Word>
<Word name="llAtan2">
float llAtan2(float y, float x);
returns the arctangent2 of y, x
</Word>
<Word name="llAttachToAvatar">
llAttachToAvatar(integer attachment);
Attach to avatar at point attachment.
Requires the PERMISSION_ATTACH runtime permission.
<Argument name="attachment" wild="ATTACH_.*" />
</Word>
<Word name="llAttachToAvatarTemp">
void llAttachToAvatarTemp(integer AttachPoint);
As llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect.
<Argument name="attachment" wild="ATTACH_.*" />
</Word>
<Word name="llAvatarOnLinkSitTarget">
key llAvatarOnLinkSitTarget(integer iLinkNumber);
Returns a key that is the UUID of the user seated on the specified link's prim.
</Word>
<Word name="llAvatarOnSitTarget">
key llAvatarOnSitTarget(void);
If an avatar is sitting on the sit target, return the avatars key,
NULL_KEY otherwise. This only will detect
avatars sitting on sit targets defined with llSitTarget.
</Word>
<Word name="llAxes2Rot">
rotation llAxes2Rot(vector fwd, vector left, vector up);
Returns the rotation represented by coordinate axes fwd, left, and up.
</Word>
<Word name="llAxisAngle2Rot">
rotation llAxisAngle2Rot(vector axis, float angle);
Returns the rotation generated angle about axis.
</Word>
<Word name="llBase64ToInteger">
integer llBase64ToInteger(string str);
Little endian decode the 8 character Base64 string str into an integer.
</Word>
<Word name="llBase64ToString">
string llBase64ToString(string str);
Converts a Base 64 string to a conventional string.
If the conversion creates any unprintable characters, they are converted to question marks (this behavior is different then llUnescapeURL).
</Word>
<Word name="llBreakAllLinks">
llBreakAllLinks(void);
Delinks all objects in the link set.
Requires the permission PERMISSION_CHANGE_LINKS be set.
</Word>
<Word name="llBreakLink">
llBreakLink(integer linknum);
Delinks the object with the given link number.
Requires permission PERMISSION_CHANGE_LINKS be set.
</Word>
<Word name="llCastRay">
list llCastRay( vector start, vector end, list options );
Return value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data.
</Word>
<Word name="llCSV2List">
list llCSV2List(string src);
Create a list from a string of comma separated values specified in src.
</Word>
<Word name="llCeil">
integer llCeil(float val);
Returns largest integer value &gt;= val.
</Word>
<Word name="llClearCameraParams">
llClearCameraParams(void);
Resets all camera parameters to default values and turns off scripted camera control.
</Word>
<Word name="llClearLinkMedia">
integer llClearLinkMedia(integer Link, integer Face);
Clears (deletes) the media and all parameters from the given prim face.
Returns an integer that is a STATUS_* flag which details the success/failure of the operation.
<Argument name="Link">Link number</Argument>
<Argument name="Face">Face number</Argument>
</Word>
<Word name="llClearPrimMedia">
integer llClearPrimMedia(integer Face );
Clears (deletes) the media and all params from the given Face.
Returns an integer that is a STATUS_* flag which details the success/failure of the operation.
<Argument name="Face">Face number</Argument>
</Word>
<Word name="llCloseRemoteDataChannel">
llCloseRemoteDataChannel(key channel);
Closes XML-RPC channel.
</Word>
<Word name="llCloud">
float llCloud(vector offset);
Returns the cloud density at the object position + offset.
</Word>
<Word name="llCollisionFilter">
llCollisionFilter(string name, key id, integer accept);
If accept == TRUE, only accept collisions with objects name and id,
otherwise with objects not name or id.
Specify an empty string or NULL_KEY to not filter
on the corresponding parameter.
<Argument name="name"></Argument>
<Argument name="id"></Argument>
<Argument name="accept" wild="TRUE|FALSE">
If TRUE, only accept collisions with objects name AND id
(either is optional), otherwise with objects not name AND id
</Argument>
</Word>
<Word name="llCollisionSound">
llCollisionSound(string impact_sound, float impact_volume);
Suppress default collision sounds, replace default impact sounds
with impact_sound found in the object inventory.
Supply an empty string to suppress collision sounds.
</Word>
<Word name="llCollisionSprite">
llCollisionSprite(string impact_sprite);
Suppress default collision sprites, replace default impact sprite
with impact_sprite found in the object inventory.
Supply an empty string to just suppress.
</Word>
<Word name="llCos">
float llCos(float theta);
Returns the cosine of thetaradians.
</Word>
<Word name="llCreateCharacter" status="beta">
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.
</Word>
<Word name="llCreateLink">
llCreateLink(key target, integer parent);
Attempt to link object script is attached to and target.
Requires permission PERMISSION_CHANGE_LINKS be set.
If parent== TRUE, object script is attached to is the root.
<Argument name="target" />
<Argument name="parent" wild="TRUE|FALSE" />
</Word>
<Word name="llDeleteCharacter" status="beta">
void llDeleteCharacter(void);
Convert the current link-set back to a standard object, removing all path-finding properties.
</Word>
<Word name="llDeleteSubList">
list llDeleteSubList(list src, integer start, integer end);
Remove the slice from the list and return the remainder.
The start and end are inclusive, so 0, length -1 would delete the
entire list and 0,0 would delete the first list entry.
Using negative numbers for start and/or end causes the index to count
backwards from the length of the list, so 0,-1 would delete the entire
list. If start is larger than end the list deleted is the exclusion
of the entries, so 6,4 would delete the entire list except
for the 5th list entry.
</Word>
<Word name="llDeleteSubString">
string llDeleteSubString(string src, integer start, integer end);
Removes the indicated substring and returns the result.
The start and end are inclusive, so 0,length-1 would
delete the entire string and 0,0 would delete the first character.
Using negative numbers for start and/or end causes the index to
count backwards from the length of the string, so 0,-1 would
delete the entire string. If start is larger than end the sub string
is the exclusion of the entries, so 6,4 would delete the entire string
except for the 5th character.
</Word>
<Word name="llDetachFromAvatar">
llDetachFromAvatar(void);
Drop off of avatar.
</Word>
<Word name="llDetectedGrab">
vector llDetectedGrab(integer number);
Returns the grab offset of detected object number.
Returns &lt;0,0,0&gt; if number is not valid sensed object.
</Word>
<Word name="llDetectedGroup">
integer llDetectedGroup(integer number);
Returns TRUE if detected object or agent number has the same
user group active as this object.
It will return FALSE if the object or agent is in the group,
but the group is not active.
</Word>
<Word name="llDetectedKey">
key llDetectedKey(integer number);
Returns the key of detected object number.
Returns NULL_KEY if number is not valid sensed object.
</Word>
<Word name="llDetectedLinkNumber">
integer llDetectedLinkNumber(integer number);
Returns the link position of the triggered event for touches.
0 for a non-linked object, 1 for the root of a linked
object, 2 for the first child, etc.
</Word>
<Word name="llDetectedName">
string llDetectedName(integer number);
Returns the name of detected object number.
Returns empty string if number is not valid sensed object.
</Word>
<Word name="llDetectedOwner">
key llDetectedOwner(integer number);
Returns the key of detected number objects owner.
Returns invalid key if number is not valid sensed object.
</Word>
<Word name="llDetectedPos">
vector llDetectedPos(integer number);
Returns the position of detected object number.
Returns &lt;0,0,0&gt; if number is not valid sensed object.
</Word>
<Word name="llDetectedRot">
rotation llDetectedRot(integer number);
Returns the rotation of detected object number.
Returns &lt;0,0,0,1&gt; if number is not valid sensed object.
</Word>
<Word name="llDetectedTouchBinormal">
vector llDetectedTouchBinormal( integer index );
Returns a vector that is the surface binormal
(tangent to the surface) where the touch event was triggered.
<Argument name="index">
Index of detection information
</Argument>
</Word>
<Word name="llDetectedTouchFace">
integer llDetectedTouchFace( integer index );
Returns an integer that is the index of the face the avatar clicked on.
<Argument name="index">
Index of detection information
</Argument>
</Word>
<Word name="llDetectedTouchNormal">
vector llDetectedTouchNormal( integer index );
Returns a vector that is the surface normal
(perpendicular to the surface) where the touch event was triggered.
<Argument name="index">
Index of detection information
</Argument>
</Word>
<Word name="llDetectedTouchPos">
vector llDetectedTouchPos( integer index );
Returns a vector that is the position where the object
was touched in region coordinates, unless it is attached to
the HUD, in which case it returns the position relative
to the attach point.
<Argument name="index">
Index of detection information
</Argument>
</Word>
<Word name="llDetectedTouchST">
vector llDetectedTouchST( integer index );
Returns a vector that is the surface coordinates for where the prim was touched.
The x and y vector positions contain the horizontal (s) and vertical (t) face
coordinates respectively.
Each component is in the interval [0.0, 1.0].
TOUCH_INVALID_TEXCOORD is returned when the surface coordinates cannot be determined.
<Argument name="index">
Index of detection information
</Argument>
</Word>
<Word name="llDetectedTouchUV">
vector llDetectedTouchUV( integer index );
Returns a vector that is the texture coordinates for where
the prim was touched. The x and y vector positions contain
the u and v face coordinates respectively.
TOUCH_INVALID_TEXCOORD is returned
when the touch UV coordinates cannot be determined.
<Argument name="index">
Index of detection information
</Argument>
</Word>
<Word name="llDetectedType">
integer llDetectedType(integer number);
Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object
number. Returns 0 if number is not valid sensed object.
Note that number is a bitfield, so comparisons need to be a bitwise
and check. eg:
integer type = llDetectedType(0);
if (type and AGENT)
{
// ...do stuff with the agent
}
</Word>
<Word name="llDetectedVel">
vector llDetectedVel(integer number);
Returns the velocity of detected object number.
Returns &lt;0,0,0 and &gt;
if number is not valid sensed object.
</Word>
<Word name="llDialog">
llDialog(key avatar, string message, list buttons, integer channel);
Opens a "notify box" in the top-right corner of the given avatars
screen displaying the message. Up to four
buttons can be specified in a list of strings. When the player
clicks a button, the name of the button is chatted on
the specified channel. Channels work just like llSay(),
so channel 0 can be heard by everyone. The chat
originates at the objects position, not the avatars position. e.g.
llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], 4913);
llDialog(who, "This shows only an OK button.", [], 192);
llDialog(who, "This chats so you can hear it.", ["Hooray"], 0);
</Word>
<Word name="llDie">
llDie(void);
Delete the object which holds the script.
</Word>
<Word name="llDumpList2String">
string llDumpList2String(list src, string separator);
Write the list out in a single string using separator between values.
</Word>
<Word name="llEdgeOfWorld">
integer llEdgeOfWorld(vector pos, vector dir);
Returns TRUE if the line along dir from pos hits the edge
of the world in the current simulator and returns
FALSE if that edge crosses into another simulator.
</Word>
<Word name="llEjectFromLand">
llEjectFromLand(key pest);
Ejects pestfrom land that you own.
</Word>
<Word name="llEmail">
llEmail(string address, string subject, string message);
Sends email to address with subject and message.
</Word>
<Word name="llEscapeURL">
string llEscapeURL(string url);
Returns the string that is the URL-escaped version of url
(replacing spaces with %20, etc).
This function returns the UTF-8 encoded escape codes
for selected characters.
</Word>
<Word name="llEuler2Rot">
rotation llEuler2Rot(vector vec);
Returns the rotation represented by Euler Angle vec.
</Word>
<Word name="llEvade" status="beta">
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.
<Argument name="TargetID" type="key">Agent or object to evade.</Argument>
<Argument name="Options" type="list">No options yet.</Argument>
</Word>
<Word name="llExecCharacterCmd" status="beta">
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.
<Argument name="Command" type="integer" wild="CHARACTER_CMD_STOP|CHARACTER_CMD_JUMP">Command to send.</Argument>
<Argument name="Options" type="list">Height for CHARACTER_CMD_JUMP.</Argument>
</Word>
<Word name="llFabs">
float llFabs(float val);
Returns the absolute value of val.
</Word>
<Word name="llFleeFrom" status="beta">
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.
<Argument name="Source" type="vector" status="beta">Global coordinate from which to flee.</Argument>
<Argument name="Distance" type="float" status="beta">Distance in meters to flee from the source.</Argument>
<Argument name="Options" type="list" status="beta">No options available at this time.</Argument>
</Word>
<Word name="llFloor">
integer llFloor(float val);
Returns largest integer value&lt;= val.
</Word>
<Word name="llForceMouselook">
llForceMouselook(integer mouselook);
After calling this function with mouselook set to TRUE,
any agent sitting down on the prim will be forced into mouselook.
Just like llSitTarget, this changes a permanent property
of the prim (not the object) and needs to be reset by calling
this function with mouselook set to FALSE in order to disable it.
<Argument name="mouselook" wild="TRUE|FALSE">
boolean, if TRUE when an avatar sits on the prim,
the avatar will be forced into mouselook mode.
FALSE is the default setting and will undo
a previously set TRUE or do nothing.
</Argument>
</Word>
<Word name="llFrand">
float llFrand(float mag);
Returns a pseudo-random number between [0, mag).
</Word>
<Word name="llGenerateKey">
key llGenerateKey(void);
Generates a key (SHA-1 hash) using UUID generation to create a unique key.\n
As the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash.
</Word>
<Word name="llGetAccel">
vector llGetAccel(void);
Gets the acceleration.
</Word>
<Word name="llGetAgentInfo">
integer llGetAgentInfo(key id);
Returns information about the given agent id. Returns a bitfield
of agent info constants.
</Word>
<Word name="llGetAgentLanguage">
string llGetAgentLanguage( key avatar );
Returns a string that is the language code of the preferred interface language of the user avatar.
</Word>
<Word name="llGetAgentList">
list llGetAgentList( integer Scope, list Options );
Returns a list of agents from the specified scope (parcel, owner's parcel, region).
</Word>
<Word name="llGetAgentSize">
vector llGetAgentSize(key id);
If the agent id is in the same sim as the object, returns
the size of the avatar.
</Word>
<Word name="llGetAlpha">
float llGetAlpha(integer face);
Returns the alpha of the given face. If face is ALL_SIDES
the value returned is the mean average of all faces.
</Word>
<Word name="llGetAndResetTime">
float llGetAndResetTime(void);
Gets the time in seconds since creation and sets the time to zero.
</Word>
<Word name="llGetAnimation">
string llGetAnimation(key id);
Returns the currently playing animation for avatar id.
</Word>
<Word name="llGetAnimationList">
list llGetAnimationList(key id);
Returns a list of keys of all playing animations for avatar id.
</Word>
<Word name="llGetAnimationOverride">
string llGetAnimationOverride(string AnimationState);
Returns the name of the animation used for specified animation state.
</Word>
<Word name="llGetAttached">
integer llGetAttached(void);
Returns the object attachment point or 0 if not attached.
</Word>
<Word name="llGetBoundingBox">
list llGetBoundingBox(key object);
Returns the bounding box around the object or avatar with
the key object (including any linked prims) relative to the
root prim, in a list: [ (vector) min_corner, (vector) max_corner ]
</Word>
<Word name="llGetCameraPos">
vector llGetCameraPos(void);
Returns the position of the camera of the user that granted the
script PERMISSION_TRACK_CAMERA. If no user has granted the permission,
it returns ZERO_VECTOR.
</Word>
<Word name="llGetCameraRot">
rotation llGetCameraRot(void);
Returns the rotation of the camera of the user who's granted
this script PERMISSION_TRACK_CAMERA. If no user has granted the
permission, it returns ZERO_ROTATION. The key of the user whose
camera is being tracked can be obtained using llGetPermissionsKey.
</Word>
<Word name="llGetCenterOfMass">
vector llGetCenterOfMass(void);
Returns the center of mass of the root object.
</Word>
<Word name="llGetClosestNavPoint" status="beta">
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.
<Argument name="Point" type="vector">A point in region-local space.</Argument>
<Argument name="Options" type="list">No options at this time.</Argument>
</Word>
<Word name="llGetColor">
vector llGetColor(integer face);
Returns the color of face as a vector of red, green, and blue values
between 0 and 1. If face is ALL_SIDES
the color returned is the mean average of each channel.
</Word>
<Word name="llGetCreator">
key llGetCreator(void);
Returns the key of the object's original creator. Similar to llGetOwner.
</Word>
<Word name="llGetDate">
string llGetDate(void);
Returns the current UTC date as YYYY-MM-DD.
</Word>
<Word name="llGetDisplayName">
string llGetDisplayName( key id );
Returns a string that is the non-unique display name of the avatar specified by id.
• key id avatar UUID that is in the same region or is otherwise known to the region
id must specify a valid avatar key, present in or otherwise known to the sim in which the script is running, otherwise an empty
string is returned. This function will still return a valid display name if the avatar is a child agent of the sim
(i.e., in an adjacent sim, but presently able to see into the one the script is in), or for a short period after the avatar
leaves the sim (specifically, when the client completely disconnects from the sim, either as a main or child agent).
</Word>
<Word name="llGetEnergy">
float llGetEnergy(void);
Returns how much energy is in the object as a percentage of maximum.
</Word>
<Word name="llGetEnv">
string llGetEnv( string name );
Returns a string with the requested data about the region.
• string name The name of the data to request
Table of valid name values. Name ↓ Description
"sim_channel" Get the current region's channel string, for example "Second Life Server"
"sim_version" Get the current region's version number string, for example "10.11.30.215699"
</Word>
<Word name="llGetForce">
vector llGetForce(void);
Returns the current force if the script is physical.
</Word>
<Word name="llGetFreeMemory">
integer llGetFreeMemory(void);
Returns the available heap space for the current script.
</Word>
<Word name="llGetFreeURLs">
integer llGetFreeURLs( );
Returns an integer that is the number of available URLs.
</Word>
<Word name="llGetGeometricCenter">
vector llGetGeometricCenter(void);
Returns the geometric center of the linked set the
script is in relative to the object's position
(the position of the root prim of a linked set).
To get the object's position, use llGetPos.
</Word>
<Word name="llGetGMTclock">
float llGetGMTclock(void);
Gets the time in seconds since midnight in GMT/UTC.
</Word>
<Word name="llGetHTTPHeader">
string llGetHTTPHeader( key request_id, string header );
Returns a string that is the value for header for request_id.
<Argument name="request_id">A valid HTTP request key</Argument>
<Argument name="header">Header value name</Argument>
</Word>
<Word name="llGetInventoryCreator">
key llGetInventoryCreator(string item);
This function returns the UUID of the creator of item.
If item is not found in inventory,
the object says "No item named 'name' ".
</Word>
<Word name="llGetInventoryKey">
key llGetInventoryKey(string name);
Returns the key of the inventory name.
</Word>
<Word name="llGetInventoryName">
string llGetInventoryName(integer type, integer number);
Get the name of the inventory item number of type.
Use the inventory constants to specify the type.
<Argument name="type" wild="INVENTORY_.*">inventory item type</Argument>
<Argument name="number">
inventory item number
</Argument>
</Word>
<Word name="llGetInventoryNumber">
integer llGetInventoryNumber(integer type);
Get the number of items of type in the object inventory.
Use the inventory constants to specify the type.
<Argument name="type" wild="INVENTORY_.*">inventory item type</Argument>
</Word>
<Word name="llGetInventoryPermMask">
integer llGetInventoryPermMask(string item, integer mask);
Returns the requested permission mask for the inventory
item defined by item. If item is not in the object's inventory,
llGetInventoryPermMask returns 0 and causes the object to
say "No item named '&lt;item&gt;'", where "&lt;item&gt;" is item.
If this is used to determine whether or not an inventory item
exists within the object, it will have the side effect of spamming chat.
<Argument name="item">inventory item</Argument>
<Argument name="mask" wild="MASK_*">MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT</Argument>
</Word>
<Word name="llGetInventoryType">
integer llGetInventoryType(string name);
Returns the type of the inventory item name.
Remember, like the other inventory functions, llGetInventoryType
is case-sensitive.
</Word>
<Word name="llGetKey">
key llGetKey(void);
Get the key for the object which has this script.
</Word>
<Word name="llGetLandOwnerAt">
key llGetLandOwnerAt(vector pos);
Returns the key of the land owner at pos or NULL_KEY if public.
</Word>
<Word name="llGetLinkKey">
key llGetLinkKey(integer linknum);
Returns the key of linknum in the link set.
</Word>
<Word name="llGetLinkMedia">
list llGetLinkMedia(integer LinkNumber, integer Face, list Parameters);
Get the desired list of named media parameters, for a particular face, of a linked prim.
Returns a list of values in the order requested.
<Argument name="iLinkNumber">Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag</Argument>
<Argument name="iFace">The prim's side number</Argument>
<Argument name="lParameters">A list of PRIM_* property constants to return values of.</Argument>
</Word>
<Word name="llGetLinkName">
string llGetLinkName(integer linknum);
Returns the name of linknumin the link set.
</Word>
<Word name="llGetLinkNumber">
integer llGetLinkNumber(void);
Returns what link number in a link set the for the object
which has this script. 0 means no link, 1 the root, 2 for
first child, etc.
</Word>
<Word name="llGetLinkNumberOfSides">
integer llGetLinkNumberOfSides( integer link );
Returns an integer that is the number of faces (or sides) of the prim link.
• integer link Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag
</Word>
<Word name="llGetLinkPrimitiveParams">
list llGetLinkPrimitiveParams( integer link, list params );
Identical to llGetPrimitiveParams except that it acts on the prim specified by the link number given.
Returns the list of primitive attributes requested in the params list for link
• integer link Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to get the parameters of
• list params PRIM_* flags
PRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.
* Supplying a prim or object flag will return that flags attributes.
* Face flags require the user to also supply a side parameter.
<Argument name="link">to get the parameters of</Argument>
<Argument name="params">a list of PRIM_* flags</Argument>
</Word>
<Word name="llGetListEntryType">
integer llGetListEntryType(list src, integer index);
Returns the type of the variable at index in src.
</Word>
<Word name="llGetListLength">
integer llGetListLength(list src);
Returns the number of elements in src.
</Word>
<Word name="llGetLocalPos">
vector llGetLocalPos(void);
Returns the local position of a child object relative to the root.
</Word>
<Word name="llGetLocalRot">
rotation llGetLocalRot(void);
Returns the local rotation of a child object relative to the root.
</Word>
<Word name="llGetMass">
float llGetMass(void);
Returns the scripted object's mass. When called from a script
in a linkset, the parent will return the sum of the linkset weights,
while a child will return just its own mass. When called from
a script inside an attachment, this function will return the mass
of the avatar it's attached to, not its own.
</Word>
<Word name="llGetMassMKS">
float llGetMassMKS()
Acts as llGetMass(), except that the units of the value returned are Kg.
</Word>
<Word name="llGetMemoryLimit">
integer llGetMemoryLimit(void);
Get the maximum memory a script can use.
Returns the integer amount of memory the script can use in bytes.
</Word>
<Word name="llGetNextEmail">
llGetNextEmail(string address, string subject);
Get the next waiting email with appropriate addressand/or subject.
If the parameters are blank, they are not used for filtering.
</Word>
<Word name="llGetNotecardLine">
key llGetNotecardLine(string name, integer line);
This function fetches line number line of notecard name and returns
the data through the dataserver event. The line count starts at zero.
If the requested line is past the end of the notecard the dataserver
event will return the constant EOF string.
The key returned by this function is a unique identifier which will
be supplied to the dataserver event in the requested parameter.
</Word>
<Word name="llGetNumberOfNotecardLines">
key llGetNumberOfNotecardLines(string name);
Returns number of lines in the notecard name via the dataserver event.
(Cast the value returned by the dataserver to an integer.)
The key returned is a query id for identifying the dataserver reply.
</Word>
<Word name="llGetNumberOfPrims">
integer llGetNumberOfPrims(void);
Returns the number of prims in (and avatars seated on)
the object the script is in.
</Word>
<Word name="llGetNumberOfSides">
integer llGetNumberOfSides(void);
Returns the number of sides of the current object which has the script.
</Word>
<Word name="llGetObjectDesc">
string llGetObjectDesc(void);
Returns the description of the scripted object/prim.
You can set the description using llSetObjectDesc.
</Word>
<Word name="llGetObjectDetails">
list llGetObjectDetails(key id, list params);
Returns a list of the details specified in params for the object with key id.
<Argument name="id">
prim or avatar UUID that is in the same region
</Argument>
<Argument name="params">
list of OBJECT_* flags
</Argument>
</Word>
<Word name="llGetObjectMass">
float llGetObjectMass(key id);
Gets the mass of the object or avatar corresponding to id.
</Word>
<Word name="llGetObjectName">
string llGetObjectName(void);
Returns the name of the object which has the script.
</Word>
<Word name="llGetObjectPermMask">
integer llGetObjectPermMask(integer mask);
Returns the requested permission mask for the root object
the task is attached to.
<Argument name="mask" wild="MASK_.*" />
</Word>
<Word name="llGetObjectPrimCount">
integer llGetObjectPrimCount(key id);
Returns the prim count for any object id in the same sim.
</Word>
<Word name="llGetOmega">
vector llGetOmega(void);
Returns the omega.
</Word>
<Word name="llGetOwner">
key llGetOwner(void);
Returns the owner of the object.
</Word>
<Word name="llGetOwnerKey">
key llGetOwnerKey(key id);
Returns the owner of object id.
</Word>
<Word name="llGetParcelDetails">
list llGetParcelDetails(vector pos, list details);
Returns of a list of the details in the order they are in the details list,
for the parcel at pos. pos is in absolute region coordinates.
</Word>
<Word name="llGetParcelFlags">
integer llGetParcelFlags(vector pos);
Returns a bitfield specifying the parcel flags
(PARCEL_FLAG_*) for the parcel under the position pos.
</Word>
<Word name="llGetParcelMaxPrims">
integer llGetParcelMaxPrims(vector pos, integer sim_wide);
</Word>
<Word name="llGetParcelMusicURL">
string llGetParcelMusicURL(void);
Returns a string containing the parcel streaming audio URL.
The object owner (avatar or group) must also be the land owner.
</Word>
<Word name="llGetParcelPrimCount">
integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide);
Returns the number of prims used on the parcel at pos which are in category.
If sim_wide is TRUE, it returns the number of objects
for the entire sim in the category specified.
If sim_wide is FALSE, it returns the number of objects
on this specific parcel in the category specified
<Argument name="pos">region coordinate</Argument>
<Argument name="category" wild="PARCEL_COUNT_.*">
a PARCEL_COUNT_* flag
</Argument>
<Argument name="sim_wide" wild="TRUE|FALSE">Can be TRUE or FALSE</Argument>
</Word>
<Word name="llGetParcelPrimOwners">
list llGetParcelPrimOwners(vector pos);
Returns a strided list of keys and integers of up to 100
agents who own objects in the parcel at pos.
The list is formatted as
[ key agentKey1, integer agentCount1, key agentKey2, integer agentCount2, ... ],
sorted by agent key.
The integers are counts of the number of prims (not objects)
owned by the corresponding agents.
Sleeps the script for 2.0 seconds.
Function only works when the object owner is in the sim
(likely the reason it doesn't work when deeded to group).
</Word>
<Word name="llGetPermissions">
integer llGetPermissions(void);
Returns what permissions have been enabled.eg:
integer perm = llGetPermissions();
if((perm and PERMISSION_DEBIT) == PERMISSION_DEBIT)
{
// code goes here
}
</Word>
<Word name="llGetPermissionsKey">
key llGetPermissionsKey(void);
Returns avatar that has enabled permissions.
Returns NULL_KEY if not enabled.
</Word>
<Word name="llGetPhysicsMaterial">
list llGetPhysicsMaterial()
Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density].
</Word>
<Word name="llGetPos">
vector llGetPos(void);
Returns the position.
</Word>
<Word name="llGetPrimitiveParams">
list llGetPrimitiveParams(list params);
Returns primitive parameters specified in the params list.
</Word>
<Word name="llGetPrimMediaParams">
list llGetPrimMediaParams( integer face, list params );
Get the media params for a particular face on an object, given the desired list of names.
Returns a list of values in the order requested.
<Argument name="face">face number</Argument>
<Argument name="params">a set of names (in no particular order)</Argument>
Returns an empty list if no media exists on the face.
</Word>
<Word name="llGetRegionAgentCount">
integer llGetRegionAgentCount(void);
Returns an integer that is the number of avatars in the region.
</Word>
<Word name="llGetRegionCorner">
vector llGetRegionCorner(void);
Returns the RegionCorner of the simulator containing the task.
</Word>
<Word name="llGetRegionFlags">
integer llGetRegionFlags(void);
Returns a bitfield specifying the region flags
(REGION_FLAG_*) for the region the object is in.
</Word>
<Word name="llGetRegionFPS">
llGetRegionFPS(void);
Returns the mean region frames per second.
</Word>
<Word name="llGetRegionName">
string llGetRegionName(void);
Returns the current region name.
</Word>
<Word name="llGetRegionTimeDilation">
float llGetRegionTimeDilation(void);
Returns the current time dilation as a float between 0 and 1.
</Word>
<Word name="llGetRootPosition">
vector llGetRootPosition(void);
Gets the position (in region coordinates)
of the root/parent prim of the object containing the script.
This is used to allow a child prim to determine where the root is.
</Word>
<Word name="llGetRootRotation">
rotation llGetRootRotation(void);
Gets the global rotation of the root object of the
object script is attached to.
</Word>
<Word name="llGetRot">
rotation llGetRot(void);
Returns the rotation.
</Word>
<Word name="llGetSPMaxMemory">
integer LlGetSPMaxMemory( );
Returns the integer of the most bytes used while llScriptProfiler was last active.
</Word>
<Word name="llGetScale">
vector llGetScale(void);
Returns the scale.
</Word>
<Word name="llGetScriptName">
string llGetScriptName(void);
Returns the name of this script.
</Word>
<Word name="llGetScriptState">
integer llGetScriptState(string name);
Resets TRUE if script name is running
</Word>
<Word name="llGetSimStats">
float llGetSimStats(integer StatType);
Returns a float that is the requested statistic.
<Argument name="StatType" type="integer">Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported.</Argument>
</Word>
<Word name="llGetSimulatorHostname">
string llGetSimulatorHostname(void);
Returns the host name (server) of the sim
in which the scripted object is located.
For example, "sim225.agni.lindenlab.com".
</Word>
<Word name="llGetStartParameter">
integer llGetStartParameter(void);
Returns the start parameter passed to llRezObject.
If the object was created from agent inventory, this function
returns 0.
</Word>
<Word name="llGetStaticPath">
list llGetStaticPath(vector Start, vector End, float Radius, list Parameters);
Returns a list of position vectors indicating pathfinding waypoints between positions at start and end, for a character of a given radius. The waypoints this function returns are for the 'static' nav mesh, meaning that objects set to "movable obstacle" or "movable phantom" are ignored.
</Word>
<Word name="llGetStatus">
integer llGetStatus(integer status);
Returns the value of status.
The value will be one of the status constants.
</Word>
<Word name="llGetSubString">
string llGetSubString(string src, integer start, integer end);
Returns the indicated substring from src. The startand end are
inclusive, so 0,length-1 would capture the entire string and 0,0
would capture the first character. Using negative numbers for
start and/or end causes the index to count backwards from the length
of the string, so 0,-1 would capture the entire string.
If start is larger than end the sub string is the exclusion of the
entries, so 6,4 would give the entire string
except for the 5th character.
</Word>
<Word name="llGetSunDirection">
vector llGetSunDirection(void);
Returns the sun direction on the simulator.
</Word>
<Word name="llGetTexture">
string llGetTexture(integer face);
Returns the texture of face if it is found in object inventory.
</Word>
<Word name="llGetTextureOffset">
vector llGetTextureOffset(integer side);
Returns the texture offset of side in the x and y components of a vector.
</Word>
<Word name="llGetTextureRot">
float llGetTextureRot(integer side);
Returns the texture rotation of side.
</Word>
<Word name="llGetTextureScale">
vector llGetTextureScale(integer side);
Returns the texture scale of sidein the x and y components of a vector.
</Word>
<Word name="llGetTime">
float llGetTime(void);
Returns the time in seconds since creation of this script.
</Word>
<Word name="llGetTimeOfDay">
float llGetTimeOfDay(void);
Gets the time in seconds since midnight in Second Life.
</Word>
<Word name="llGetTimestamp">
string llGetTimestamp(void);
Returns the current time-and-date (a timestamp)
in the format YYYY-MM-DDThh:mm:ss.ff..fZ,
for example: 2004-08-27T00:56:21.785886Z
The letter Z stands for Zulu,
the military time zone name for UTC. T is just
a separator between date and time.
</Word>
<Word name="llGetTorque">
vector llGetTorque(void);
Returns the torque if the script is physical.
</Word>
<Word name="llGetUnixTime">
integer llGetUnixTime(void);
Returns the number of seconds elapsed since 00:00 hours,
Jan 1, 1970 UTC from the system clock.
In UNIX terms, time_t. This is great for a monotonic
source of time that ticks once a second.
</Word>
<Word name="llGetUsedMemory">
integer llGetUsedMemory( );
Returns the integer of the number of bytes of memory currently in use by the script.
</Word>
<Word name="llGetUsername">
string llGetUsername( key id );
Returns a string that is the unique username of the avatar specified by id.
• key id avatar UUID that is in the same region or is otherwise known to the region
id must specify a valid avatar key, present in or otherwise known to the sim in which the script is running,
otherwise an empty string is returned. This function will still return a valid username if the avatar is a child agent
of the sim (i.e., in an adjacent sim, but presently able to see into the one the script is in), or for a short period
after the avatar leaves the sim (specifically, when the client completely disconnects from the sim, either as a main
or child agent).
</Word>
<Word name="llGetVel">
vector llGetVel(void);
Returns the velocity.
</Word>
<Word name="llGetWallclock">
float llGetWallclock(void);
Returns the time in seconds since simulator timezone midnight.
</Word>
<Word name="llGiveInventory">
llGiveInventory(key destination, string inventory);
Give the named inventory item to the keyed avatar or object in the
same simulator as the giver. If the recipient is an avatar,
the avatar then follows the normal procedure of accepting
or denying the offer. If the recipient is an object,
the same permissions apply as if you were dragging inventory
onto the object by hand, ie if llAllowInventoryDrop has been called
with TRUE, any other object can pass objects to its inventory.
</Word>
<Word name="llGiveInventoryList">
llGiveInventoryList(key destination, string category, list inventory);
Give the list of named inventory items to the keyed avatar or object
in the same simulator as the giver. If the recipient is an avatar,
the avatar then follows the normal procedure of accepting or denying
the offer. The offered inventory is then placed in a folder named
category in the recipients inventory. If the recipient is an object,
the same permissions apply as if you were dragging inventory onto the
object by hand, ie if llAllowInventoryDrop has been called with TRUE,
any other object can pass objects to its inventory.If the
recipient is an object, the category parameter is ignored.
</Word>
<Word name="llGiveMoney">
llGiveMoney(key destination, integer amount);
Transfer amount from the script owner to destination.
This call will fail if PERMISSION_DEBIT has not been set.
</Word>
<Word name="llGround">
float llGround(vector offset);
Retuns the ground hieght at the object position + offset.
</Word>
<Word name="llGroundContour">
vector llGroundContour(vector offset);
Retuns the ground contour at the object position + offset.
</Word>
<Word name="llGroundNormal">
vector llGroundNormal(vector offset);
Retuns the ground contour at the object position + offset.
</Word>
<Word name="llGroundRepel">
llGroundRepel(float height, integer water, float tau);
Critically damps to height if within height* 0.5 of level.
The height is above ground level if water
is FALSE or above the higher of land and water if water is TRUE.
Do not use with vehicles. Only works in physics-enabled objects.
<Argument name="height">
Distance above the ground
</Argument>
<Argument name="water" wild="TRUE|FALSE">
boolean, if TRUE then hover above water too.
</Argument>
<Argument name="tau">
seconds to critically damp in
</Argument>
</Word>
<Word name="llGroundSlope">
vector llGroundSlope(vector offset);
Returns the ground slope at the object position + offset.
</Word>
<Word name="llHTTPRequest">
key llHTTPRequest(string url, list parameters, string body);
Sends HTTP request to url with the specified body and parameters.
url must always be a valid HTTP or HTTPS URL, pointing to a
location outside the Linden Lab and Second Life servers.
</Word>
<Word name="llHTTPResponse">
void llHTTPResponse( key request_id, integer status, string body );
Responds to request_id with status and body.
<Argument name="request_id">A valid HTTP request key</Argument>
<Argument name="status">HTTP Status (200, 400, 404, etc)</Argument>
<Argument name="body">Contents of the response</Argument>
</Word>
<Word name="llInsertString">
string llInsertString(string dst, integer position, string src);
Inserts src into dst at position and returns the result.
</Word>
<Word name="llInstantMessage">
llInstantMessage(key user, string message);
Send message to the user as an instant message.
</Word>
<Word name="llIntegerToBase64">
string llIntegerToBase64(integer number);
Encodes number as an 8-character Base64 string.
</Word>
<Word name="llJson2List">
list llJson2List( string sJSON );
This function takes a string representing JSON, and returns a list of the top level.
Returns a list made by parsing src, a string representing json.
</Word>
<Word name="llJsonGetValue">
string llJsonGetValue( string sJSON, list lSpecifiers );
Gets the value indicated by specifiers from the json string.
Returns a string made by parsing json, a string representing json and traversing as specified by specifiers.
</Word>
<Word name="llJsonSetValue">
string llJsonSetValue( string sJSON, list lSpecifiers, string sValue );
Returns a new JSON string which is string with the value indicated by specifiers set to value.
Returns a string
</Word>
<Word name="llJsonValueType">
string llJsonValueType( string sJSON, list lSpecifiers );
Gets the JSON type for the value in json at the location specifiers.
Returns the string specifying the type of the value at specifiers in json.
</Word>
<Word name="llKey2Name">
string llKey2Name(key id);
If object id is in the same simulator, return the name of the object.
</Word>
<Word name="llLinkParticleSystem">
llLinkParticleSystem( integer link, list rules );
A particle system defined by a list of rules is set for the prim(s) link.
This is identical to llParticleSystem except that it applies to a
specified linked prim and not just the prim the script is in.
<Argument name="link">Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag</Argument>
<Argument name="rules">Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ]</Argument>
</Word>
<Word name="llLinkSitTarget">
llLinkSitTarget(integer iLinkNumber, vector vOffset, rotation rRotation);
Set the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation.
<Argument name="iLinkNumber">Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim.</Argument>
<Argument name="vOffset">Position for the sit target, relative to the prim's position.</Argument>
<Argument name="rRotation">Rotation (relative to the prim's rotation) for the avatar.</Argument>
</Word>
<Word name="llList2CSV">
string llList2CSV(list src);
Create a string of comma separated values from list.
</Word>
<Word name="llList2Float">
float llList2Float(list src, integer index);
Returns the float at index in the list src.
</Word>
<Word name="llList2Integer">
integer llList2Integer(list src, integer index);
Returns the integer at index in the list src.
</Word>
<Word name="llList2Json">
string llList2Json( string sType, list lValues );
This function takes a list and returns a JSON string of that list as either a json object or json array.
Returns a string that is either values serialized as a JSON type, or if an error was encountered JSON_INVALID.
</Word>
<Word name="llList2Key">
key llList2Key(list src, integer index);
Returns the key at index in the list src.
</Word>
<Word name="llList2List">
list llList2List(list src, integer start, integer end);
Returns the slice of the list from start to end of the list
src as a new list. The start and end parameters
are inclusive, so 0,length-1 would copy the entire list and 0,0
would capture the first list entry. Using negative
numbers for startand/or end causes the index to count backwards
from the length of the list, so 0,-1 would
capture the entire list. If start is larger than end the list
returned is the exclusion of the entries, so 6,4 would
give the entire list except for the 5th entry.
</Word>
<Word name="llList2ListStrided">
list llList2ListStrided(list src, integer start, integer end, integer stride);
Copy the strided slice of src from start to end.
</Word>
<Word name="llList2Rot">
rotation llList2Rot(list src, integer index);
Returns the rotation at index in src.
</Word>
<Word name="llList2String">
string llList2String(list src, integer index);
Returns the string at index in src.
</Word>
<Word name="llList2Vector">
llList2Vector(list src, integer index);
Returns the vector at index in src.
</Word>
<Word name="llListFindList">
integer llListFindList(list src, list test);
Returns the position of the first instance of testin src.
Returns -1 if test is not in src.
</Word>
<Word name="llListInsertList">
list llListInsertList(list dest, list src, integer pos);
Returns the list created by inserting src into dest at pos.
</Word>
<Word name="llListRandomize">
list llListRandomize(list src, integer stride);
Returns srcrandomized into blocks of size stride.
If the length of src divided by stride is non-zero,
this function does not randomize the list.
</Word>
<Word name="llListReplaceList">
list llListReplaceList(list dest, list src, integer start, integer end);
Returns a list replacing the slice of the list dest from
start to end with the list src. start and end are inclusive,
so 0, 1 would replace the first two entries
and 0, 0 would replace only the first list entry.
</Word>
<Word name="llListSort">
list llListSort(list src, integer stride, integer ascending);
Returns src sorted into blocks of stride in ascending order if
ascending is TRUE. Note that sort only
works in the head of each sort block is the same type.
<Argument name="src">list to sort</Argument>
<Argument name="stride">
blocks of stride length
</Argument>
<Argument name="ascending" wild="TRUE|FALSE">
TRUE ascending sort result, FALSE = descending sort result
</Argument>
</Word>
<Word name="llListStatistics">
float llListStatistics(integer operation, list input);
This function allows a script to perform a statistical
operation as defined by operation on a list composed
of integers and floats.
<Argument name="operation" wild="LIST_STAT_.*">
One of LIST_STAT_* values
</Argument>
</Word>
<Word name="llListen">
integer llListen(integer channel, string name, key id, string msg);
Sets a listen event callback for msg on channel from name and
returns an identifier that can be used to
deactivate or remove the listen. The name, id and/or msg parameters
can be blank to indicate not to filter on
that argument. Channel 0 is the public chat channel that all avatars
see as chat text. Channels 1 to 2,147,483,648
are hidden channels that are not sent to avatars.
</Word>
<Word name="llListenControl">
llListenControl(integer number, integer active);
Make a listen event callback active or inactive. Pass in the value
returned from llListen to the number parameter
to specify which event you are controlling.
Use boolean values to spcify active
</Word>
<Word name="llListenRemove">
llListenRemove(integer number);
Removes a listen event callback. Pass in the value returned from
llListen to the number parameter to specify
which event you are removing.
</Word>
<Word name="llLoadURL">
llLoadURL(key avatar_id, string message, string url);
llLoadURL displays a dialog box to the user offering
to load a web page using the default web browser.
</Word>
<Word name="llLog">
float llLog(float val);
Returns the base e (natural) logarithm of val (value).
</Word>
<Word name="llLog10">
float llLog10(float val);
Returns the base 10 (common) logarithm of val (value).
</Word>
<Word name="llLookAt">
llLookAt(vector target, float strength, float damping);
Cause object to point the forward axis toward target.
Good strength values are around half the mass of the
object and good damping values are less than 1/10th of the strength.
Asymmetrical shapes require smaller
damping. A strength of 0.0 cancels the look at.
</Word>
<Word name="llLoopSound">
llLoopSound(string sound, flaot volume);
Similar to llPlaySound, this function plays a sound attached to an
object, but will continuously loop that sound
until llStopSound or llPlaySound is called. Only one sound may be
attached to an object at a time. A second call
to llLoopSound with the same key will not restart the sound, but the
new volume will be used. This allows
control over the volume of already playing sounds. Setting the
volumeto 0 is not the same as calling
llStopSound; a sound with 0 volume will continue to loop.
To restart the sound from the beginning, call
llStopSound before calling llLoopSound again.
</Word>
<Word name="llLoopSoundMaster">
llLoopSoundMaster(string sound, flaot volume);
Behavior is identical to llLoopSound, with the addition of marking
the source as a "Sync Master", causing
"Slave" sounds to sync to it. If there are multiple masters within
a viewers interest area, the most audible one (a
function of both distance and volume) will win out as the master.
The use of multiple masters within a small area
is unlikely to produce the desired effect.
</Word>
<Word name="llLoopSoundSlave">
llLoopSoundSlave(string sound, flaot volume);
Behavior is identical to llLoopSound,
unless there is a "Sync Master" present. If a Sync Master is already
playing the Slave sound will begin playing from the same point
the master is in its loop syncronizing the loop
points of both sounds. If a Sync Master is started when the Slave
is already playing, the Slave will skip to the
correct position to sync with the Master.
</Word>
<Word name="llMD5String">
string llMD5String(string src, integer nonce);
Performs a RSA Data Security, Inc. MD5 Message-Digest
Algorithm on string with nonce (also known as salt).
Returns a 32-character hex string. (128-bit in binary.)
</Word>
<!--
<Word name="llMakeExplosion">
llMakeExplosion(integer particles, float scale, float velocity, float lifetime,float arc, string texture, vector offset);
Make a round explosion of particles using texture from the objects inventory.
</Word>
<Word name="llMakeFire">
llMakeFire(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);
Make fire particles using texturefrom the objects inventory.
</Word>
<Word name="llMakeFountain">
llMakeFountain(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);
Make a fountain of particles using texturefrom the objects inventory.
</Word>
<Word name="llMakeSmoke">
llMakeSmoke(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);
Make smoky particles using texturefrom the objects inventory.
</Word>
-->
<Word name="llManageEstateAccess">
integer llManageEstateAccess(integer Action, key AvatarID);
Use to add or remove agents from the estate's agent access or ban lists or groups from the estate's group access list.
Returns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.
<Argument name="iAction">One of the ESTATE_ACCESS_ALLOWED_* actions.</Argument>
<Argument name="kAvatarID">UUID of the avatar or group to act upon.</Argument>
</Word>
<Word name="llMapDestination">
llMapDestination(string simname, vector position, vector lookat);
Shows a given location on the map.
Works in attachments, or during touch events.
Currently the function will open the map window whenever it is called.
There is no way to simply set the map position without
opening the window.
</Word>
<Word name="llMessageLinked">
llMessageLinked(integer linknum, integer num, string str, key id);
Sends num, str, and id to members of the link set.
The linknum parameter is either the linked number
available through llGetLinkNumber or a link constant.
</Word>
<Word name="llMinEventDelay">
llMinEventDelay(float delay);
Set the minimum time between events being handled.
</Word>
<Word name="llModPow">
integer llModPow(integer a, integer b, integer c);
Returns a raised to the b power, mod c. ( (a ^ b)%c ).
b is capped at 0xFFFF (16 bits).
</Word>
<Word name="llModifyLand">
llModifyLand(integer action, integer size);
Modify land with action on size area.
The parameters can be chosen from the land constants.
<Argument name="action" wild="LAND_[^_]*">
LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT
</Argument>
<Argument name="size" wild="LAND_.*_BRUSH">
LAND_SMALL_BRUSH, LAND_MEDIUM_BRUSH or LAND_LARGE_BRUSH
</Argument>
</Word>
<Word name="llMoveToTarget">
llMoveToTarget(vector target, float tau);
Critically damp to position target in tau-seconds if the
script is physical. Good tau-values are greater than 0.2.
A tau of 0.0 stops the critical damping.
</Word>
<Word name="llNavigateTo" status="beta">
void llNavigateTo(vector Location, list Options);
Directs an object to travel to a defined position in the region or adjacent regions.
<Argument name="Location" type="vector">Region coordinates for the character to navigate to.</Argument>
<Argument name="Options" type="list">List of parameters to control the type of path-finding used. Currently only FORCE_DIRECT_PATH supported.</Argument>
</Word>
<Word name="llOffsetTexture">
llOffsetTexture(float offset_s, float offset_t, integer face);
Sets the texture s and t offsets of face.
If face is ALL_SIDES this function sets the texture offsets for
all faces.
</Word>
<Word name="llOpenRemoteDataChannel">
llOpenRemoteDataChannel(void);
Creates a channel to listen for XML-RPC calls.
Will trigger a remote_data event with type = REMOTE_DATA_CHANNEL
and a channel ID (key) once it is available.
This channel ID must be referenced in the XML-RPC call
to the script (from the outside internet)--
so the key must somehow get to the scripter's XML-RPC client,
most often via llEmail, llHttpRequest or llLoadUrl.
</Word>
<Word name="llOverMyLand">
integer llOverMyLand(key id);
Returns TRUE if id is over land owned by the object owner,
FALSE otherwise.
</Word>
<Word name="llOwnerSay">
llOwnerSay(string message);
Says message to only the owner of the object running the script
if the owner has been within the object's simulator since
logging into Second Life, regardless of where they may be are in-world.
</Word>
<Word name="llParcelMediaCommandList">
llParcelMediaCommandList(list command_list);
Playing QuickTime movies (you have to own the land).
</Word>
<Word name="llParcelMediaQuery">
list llParcelMediaQuery(list query_list);
Queries the texture and/or URL for QuickTime-playable
video on the land parcel.
This function will only work if the script is contained
within an object owned by the landowner (or if the land
is owned by a group, only if the object has been deeded
to the group). It will not work for group land if the
object owner is a member of the group. The object
actually has to be owned by the group.
</Word>
<Word name="llParseString2List">
list llParseString2List(string src, list separators, list spacers);
Breaks src into a list, discarding anything in separators,
keeping any entry in spacers. The
separators and spacers must be lists of strings with a maximum
of 8 entries each. So, if you had made the
call:
llParseString2List("Parsethisnow! I dare:you to.", ["this", "!", " "], [":"]);
You would get the list:
["Parse", "now", "I", "dare", ":", "you", "to"]
</Word>
<Word name="llParseStringKeepNulls">
list llParseStringKeepNulls(string src, list separators, list spacers);
llParseStringKeepNulls works almost exactly the same as
llParseString2List, except that if a null is found
it will add a null string instead of discarding it
like llParseString2List does.
</Word>
<Word name="llParticleSystem">
llParticleSystem(list parameters);
Makes a particle system based on the parameter list.
The parametersare specified as an ordered list of
parameter and value. Valid parameters and their expected
values can be found in the particle system constants.
Here is a simple example:
llParticleSystem([PSYS_PART_FLAGS, PSYS_PART_WIND_MASK,
PSYS_PART_START_COLOR, &lt;1,0,0&gt;,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE]);
</Word>
<Word name="llPassCollisions">
llPassCollisions(integer pass);
If pass is TRUE, land and object collisions are passed from
children on to parents.
The default is FALSE if there is no script to handle the collision events.
<Argument name="pass" wild="TRUE|FALSE">
boolean, if TRUE, collisions are passed from children on to parents
</Argument>
</Word>
<Word name="llPassTouches">
llPassTouches(integer pass);
If pass is TRUE, touches are passed from children on to parents.
The default is TRUE if there is no script to handle the touch events.
<Argument name="pass">
boolean, if TRUE, touches are passed from children on to parents
</Argument>
</Word>
<Word name="llPatrolPoints" status="beta">
void llPatrolPoints(list Points, list Options);
Sets the points for a character (llCreateCharacter) to patrol along.
<Argument name="Points" type="list">A list of vectors for the character to travel through sequentially. The list must contain at least two entries.</Argument>
<Argument name="Options" type="list">No options available at this time.</Argument>
</Word>
<Word name="llPlaySound">
llPlaySound(string sound, float volume);
Plays a sound once. The sound will be attached to an object and
follow object movement. Only one sound may
be attached to an object at a time, and attaching a new sound or
calling llStopSound will stop the previously
attached sound. A second call to llPlaySound with the same sound
will not restart the sound, but the new
volume will be used, which allows control over the volume
of already playing sounds. To restart the sound from
the beginning, call llStopSound before calling llPlaySound again.
</Word>
<Word name="llPlaySoundSlave">
llPlaySoundSlave(string sound, float volume);
Behavior is identical to llPlaySound, unless there is
a "Sync Master" present. If a Sync Master is already
playing the Slave sound will not be played until the Master
hits its loop point and returns to the beginning.
llPlaySoundSlave will play the sound exactly once; if it is
desired to have the sound play every time the Master
loops, either use llLoopSoundSlave with extra silence padded
on the end of the sound or ensure that
llPlaySoundSlave is called at least once per loop of the Master.
</Word>
<!--
<Word name="llPointAt">
llPointAt(vector pos);
Make avatar that owns object point at pos.
</Word>
-->
<Word name="llPow">
llPow(float base, float exp);
Returns base raised to the exp.
</Word>
<Word name="llPreloadSound">
llPreloadSound(string sound);
Preloads sound from object inventory on nearby viewers.
</Word>
<Word name="llPursue" status="beta">
void llPursue(key TargetID, list Options);
Causes the character (llCharacter) to pursue the target defined by TargetID.
<Argument name="TargetID" type="key">Agent or object to pursue.</Argument>
<Argument name="Options" type="list" wild="PURSUIT_OFFSET|REQUIRE_LINE_OF_SIGHT|PURSUIT_INTERCEPT|PURSUIT_FUZZ_FACTOR">Parameters for pursuit.</Argument>
</Word>
<Word name="llPushObject">
llPushObject(key id, vector impulse, vector angular_impulse, integer local);
Applies impulse and angular_impulse to object id.
</Word>
<Word name="llRegionSay">
llRegionSay(integer channel, string text);
Says the string text on channel number channel that can be heard
anywhere in the region by a script listening on channel.
<Argument name="channel">
Any integer value other than zero
</Argument>
<Argument name="text">
Message to be transmitted
</Argument>
</Word>
<Word name="llRegionSayTo">
llRegionSayTo( key target, integer channel, string msg );
Says the text supplied in string msg on channel supplied in integer channel to the object or avatar specified by target
• key target
• integer channel output channel, any integer value
• string msg message to be transmitted
</Word>
<Word name="llReleaseControls">
llReleaseControls(void);
Stop taking inputs from avatar.
</Word>
<Word name="llReleaseURL">
llReleaseURL( string url );
Releases the specified URL, it will no longer be usable.
<Argument name="url">URL to release</Argument>
</Word>
<Word name="llRemoteDataReply">
llRemoteDataReply(key channel, key message_id, string sdata, integer idata);
Send an XML-RPC reply to the request with message_id
on channel with payload of string sdata and integer idata.
The size of sdata is limited to 254 characters.
</Word>
<!--
<Word name="llRemoteLoadScript">
llRemoteLoadScript(key target, string name, integer running, integer param);
If the owner of the object this script is attached can modify target
and the objects are in the same region, copy
script nameonto target, if running == TRUE, start the script with param.
If name already exists on target, it is replaced.
</Word>
-->
<Word name="llRemoteLoadScriptPin">
llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param);
If the owner of the object containing this script can modify
the object identified by the key target, and if the pin matches
the PIN previously set using llSetRemoteScriptAccessPin
(on the target prim), then the script name will be copied into target.
</Word>
<Word name="llRemoveFromLandBanList">
llRemoveFromLandBanList(key avatar);
Remove avatar from the land parcel ban list.
</Word>
<Word name="llRemoveFromLandPassList">
llRemoveFromLandPassList(key avatar);
Remove avatar from the land parcel pass list.
</Word>
<Word name="llRemoveInventory">
llRemoveInventory(string inventory);
Remove the named inventory item from the object inventory.
</Word>
<Word name="llRemoveVehicleFlags">
llRemoveVehicleFlags(integer flags);
Sets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section.
</Word>
<Word name="llRequestAgentData">
key llRequestAgentData(key id, integer data);
This function requests data about agent id. If and when the information
is collected, the dataserver event is
called with the returned key returned from this function passed in
the requested parameter. See the agent data
constants for details about valid values of data and what each will
return in the dataserver event.
</Word>
<Word name="llRequestDisplayName">
key llRequestDisplayName( key id );
Requests the Display Name of the agent identified by id. When the Display Name is available the dataserver event will be raised.
The agent identified by id does not need to be in the same region or online at the time of the request.
Returns the key that is used to identify the dataserver event when it is raised.
• key id avatar UUID
</Word>
<Word name="llRequestInventoryData">
key llRequestInventoryData(string name);
Requests data from object inventory item name. When data is available
the dataserver event will be raised with
the key returned from this function in the requested parameter.
The only request currently implemented is to
request data from landmarks, where the data returned is in the
form "&lt;float, float, float&gt;" which can be cast to a
vector. This position is in region local coordinates.
</Word>
<Word name="llRequestPermissions">
llRequestPermissions(key avatar, integer perm);
Ask avatar to allow the script to do perm. The perm parameter should
be a permission constant. Multiple
permissions can be requested simultaneously by ORing the
constants together. Many of the permissions requests
can only go to object owner. This call will not stop script
execution -if the specified avatar grants the requested
permissions, the run_time_permissions event will be called.
</Word>
<Word name="llRequestSecureURL">
key llRequestSecureURL( );
Requests one HTTPS:// (SSL) url for use by this object. The http_request event is tiggered with results.
Returns a key that is the handle used for identifying the request in the http_request event.
</Word>
<Word name="llRequestSimulatorData">
key llRequestSimulatorData(string simulator, integer data);
Requests data about the sim with the name simulator.
simulator is case-insensitive.
Returns a dataserver query ID and triggers the dataserver
event when data is found. The sim name is usually not case-sensitive,
but sometimes will return data for a similarly-named sim
if the supplied case doesn't match the intended sim's actual name.
</Word>
<Word name="llRequestURL">
key llRequestURL( );
Requests one HTTP:// url for use by this script. The http_request event is triggered with the result of the request.
Returns a key that is the handle used for identifying the result in the http_request event.
</Word>
<Word name="llRequestUsername">
key llRequestUsername( key id );
Requests the Username of the agent identified by id. When Username is available the dataserver event will be raised.
The agent identified by id does not need to be in the same region or online at the time of the request.
Returns a key that is used to identify the dataserver event when it is raised.
• key id avatar UUID
</Word>
<Word name="llResetAnimationOverride">
void llResetAnimationOverride(string AnimationState);
Resets the animation override of the specified animation state to the corresponding default value.
</Word>
<Word name="llResetLandBanList">
llResetLandBanList(void)
Removes all residents from the land ban list.
</Word>
<Word name="llResetLandPassList">
llResetLandPassList(void)
Removes all residents from the land access/pass list.
</Word>
<Word name="llResetScript">
llResetScript(void);
Resets this script.
</Word>
<Word name="llResetOtherScript">
llResetOtherScript(string name);
Resets the script name.
</Word>
<Word name="llResetTime">
llResetTime(void);
Sets the internal timer to zero.
</Word>
<Word name="llReturnObjectsByID">
integer llReturnObjectsByID(list ObjectIDs);
Return objects using their UUIDs
</Word>
<Word name="llReturnObjectsByOwner">
integer llReturnObjectsByOwner(key ID, integer Scope);
Return objects based upon their owner and a scope of parcel, parcel owner, or region.
</Word>
<Word name="llRezAtRoot">
llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param);
Rezzes object's inventory item named inventory at
pos with velocity vel and rotation rot with start parameter param.
</Word>
<Word name="llRezObject">
llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param);
Creates object&apos;s inventory object at position pos with velocity
vel and rotation rot. The param value
will be available to the newly created object in the on_rez
event or through the llGetStartParameter library
function. The vel parameter is ignored if the rezzed object
is not physical.
</Word>
<Word name="llRot2Angle">
float llRot2Angle(rotation rot);
Returns the rotation angle represented by rot.
</Word>
<Word name="llRot2Axis">
vector llRot2Axis(rotation rot);
Returns the rotation axis represented by rot.
</Word>
<Word name="llRot2Euler">
vector llRot2Euler(rotation rot);
Returns the Euler Angle representation of rot.
</Word>
<Word name="llRot2Fwd">
vector llRot2Fwd(rotation rot);
Returns the forward axis represented by rot.
</Word>
<Word name="llRot2Left">
vector llRot2Left(rotation rot);
Returns the left axis represented by rot.
</Word>
<Word name="llRot2Up">
vector llRot2Up(rotation rot);
Returns the up axis represented by rot.
</Word>
<Word name="llRotBetween">
rotation llRotBetween(vector a, vector b);
Returns the rotation needed to rotate ato b.
</Word>
<Word name="llRotLookAt">
llRotLookAt(rotation rot, float strength, float damping);
Cause object to rotate to rot. Good strength values are around
half the mass of the object and good
damping values are less than 1/10th of the strength.
Asymmetrical shapes require smaller damping.A
strengthof 0.0 cancels the look at.
</Word>
<Word name="llRotTarget">
integer llRotTarget(rotation rot, float error);
Set object rotation within error of rotation as a rotational
target and return an integer number for the
target. The number can be used in llRotTargetRemove.
</Word>
<Word name="llRotTargetRemove">
llRotTargetRemove(integer number);
Remove rotational target number.
</Word>
<Word name="llRotateTexture">
llRotateTexture(float radians, integer face);
Sets the texture rotation of face to radians.
If face ALL_SIDES, rotate the texture of all faces.
</Word>
<Word name="llRound">
integer llRound(float val);
returns val rounded to the nearest integer.
</Word>
<Word name="llSameGroup">
integer llSameGroup(key id);
Returns TRUE if the object or agen id is in the same simulator
and has the same active group as this object.
Otherwise, returns FALSE.
</Word>
<Word name="llSay">
void llSay(integer channel, string text);
<font color="red">Say text on channel.</font>
Channel 0 is the public chat channel that all
avatars see as chat text. Channels 1 to 2,147,483,648 are private
channels that are not sent to avatars but other scripts can listen
for through the llListen api.
<Argument name="channel">
Channel to use to say text on
</Argument>
<Argument name="text">Text to say</Argument>
</Word>
<Word name="llScaleTexture">
llScaleTexture(float horizontal, float vertical, integer side);
Sets the horizontal and vertical repeats per face on side.
If side == ALL_SIDES, all sides are set in one call.
Negative values for horizontal and vertical will flip the texture.
</Word>
<Word name="llScriptDanger">
integer llScriptDanger(vector pos);
Returns true if pos is over public land, land that doesn&apos;t allow everyone
to edit and build, or land that doesn&apos;t allow outside scripts.
</Word>
<Word name="llScriptProfiler" returns="" args="integer iState">
void llScriptProfiler(integer iState);
Enables or disables the scripts profiling state.
<Argument name="iState)">PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state.</Argument>
</Word>
<Word name="llSendRemoteData">
key llSendRemoteData(key channel, string dest, integer idata, string sdata);
Send an XML-RPC request to dest (probably an URL)
through channel with payload of channel (in a string),
integer idata and string sdata.
</Word>
<Word name="llSensor">
llSensor(string name, key id, integer type, float range, float arc);
Performs a single scan for name and id with type within
range meters and arc radians of forward vector.
Specifying a blank name or NULL_KEY id will not filter
results for any particular name or id A range of 0.0
does not perform a scan. The type parameter should be an
object type constant vlaue.
</Word>
<Word name="llSensorRemove">
llSensorRemove(void);
Removes the sensor.
</Word>
<Word name="llSensorRepeat">
llSensorRepeat(string name, key id, integer type, float range, float arc, float rate);
Performs a repeating sensor scan for name and id with type
(AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within range meters and arc
radians of forward vector (name and/or id can be empty or 0).
A range of 0.0m does perform a scan. The parameters have the same
function as llSensor, except rate, which defines the number of
seconds between repeated sensor or no_sensor event calls.
</Word>
<Word name="llSetAlpha">
llSetAlpha(float alpha, integer face);
Sets the alpha value for face. If face is ALL_SIDES,
set the alpha to all faces. The alpha value is interpreted
as an opacity percentage -1.0 is fully opaque, and 0.2 is
mostly transparent. This api will clamp alpha values
less 0.1 to .1 and greater than 1.0 to 1.
</Word>
<Word name="llSetAngularVelocity" returns="" args="vector vForce, integer iLocal">
void llSetAngularVelocity(vector vForce, integer iLocal);
Applies angular (rotational) velocity to a physical object.
<Argument name="vForce">The force to apply.</Argument>
<Argument name="iLocal">If TRUE, the vForce is treated as a local directional vector instead of a regional directional vector.</Argument>
</Word>
<Word name="llSetAnimationOverride">
void llSetAnimationOverride(string AnimationState, string Animation);
Set the animation that will play for the given animation state.
</Word>
<Word name="llSetBuoyancy">
llSetBuoyancy(float buoyancy);
Set the object buoyancy. A value of 0 is none,
less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises.
</Word>
<Word name="llSetCameraAtOffset">
llSetCameraAtOffset(vector offset);
Sets the camera at offset used in this object
if an avatar sits on it.
</Word>
<Word name="llSetCameraEyeOffset">
llSetCameraEyeOffset(vector offset);
Sets the camera eye offset used in this object if an avatar sits on it.
</Word>
<Word name="llSetCameraParams">
llSetCameraParams(list rules);
Sets multiple camera parameters at once.
List format is [rule1, value1, rule2, value2 . . . ruleN, valueN]
</Word>
<Word name="llSetClickAction">
llSetClickAction(integer action);
Sets the action performed when a prim is clicked upon.
<Argument name="action" wild="CLICK_ACTION_.*">
a CLICK_ACTION_* flag
</Argument>
</Word>
<Word name="llSetColor">
llSetColor(vector color, integer face);
Sets the color of face. If face is ALL_SIDES, set the color to all faces.
</Word>
<Word name="llSetContentType">
void llSetContentType(key kRequestID, integer iCcontentType);
Set the Internet media type of an LSL HTTP server response. ContentType accepts the constants CONTENT_TYPE_ATOM, CONTENT_TYPE_FORM, CONTENT_TYPE_HTML, CONTENT_TYPE_JSON, CONTENT_TYPE_LLSD, CONTENT_TYPE_RSS, CONTENT_TYPE_TEXT, CONTENT_TYPE_XHTML, and CONTENT_TYPE_XML.
</Word>
<Word name="llSetDamage">
llSetDamage(float damage);
Sets the amount of damage that will be done to an object
that this object hits. This object will be destoyed on
damaging another object.
</Word>
<Word name="llSetForce">
llSetForce(vector force, integer local);
If the object is physical, this function sets the force.
The vector is in local coordinates if local is TRUE, global if
FALSE.
<Argument name="force">
directional force
</Argument>
<Argument name="local" wild="TRUE|FALSE">
boolean, if TRUE uses local axis, if FALSE uses region axis.
</Argument>
</Word>
<Word name="llSetForceAndTorque">
llSetForceAndTorque(vector force, vector torque, integer local);
If the object is physical, this function sets the force and
torque. The vectors are in loal coordinates if local is
TRUE, global if FALSE.
<Argument name="force">
directional force
</Argument>
<Argument name="torque">
torque force
</Argument>
<Argument name="local" wild="TRUE|FALSE">
boolean, if TRUE uses local axis, if FALSE uses region axis.
</Argument>
</Word>
<Word name="llSetHoverHeight">
llSetHoverHeight(float height, integer water, float tau);
Critically damps to a height. The height is above ground
and water if water is TRUE. Only works with physics-enabled objects.
Do not use with vehicles. Use llStopHover to stop hovering.
<Argument name="height">
Distance above the ground
</Argument>
<Argument name="water" wild="TRUE|FALSE">
boolean, if TRUE then hover above water too.
</Argument>
<Argument name="tau">
seconds to critically damp in
</Argument>
</Word>
<Word name="llSetKeyframedMotion">
llSetKeyframedMotion(list lKeyframes, list lOptions);
Specify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other nonphysical or keyframed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the keyframed object will be unaffected by those collisions.
<Argument name="lKeyframes">Strided key-frame list of the form: position, orientation, time. Each key-frame is interpreted relative to the previous transform of the object.</Argument>
<Argument name="lOptions"></Argument>
</Word>
<!--
<Word name="llSetInventoryPermMask">
llSetInventoryPermMask(string item, integer mask, integer value);
Sets the given permission mask to the new value on the inventory item.
</Word>
-->
<Word name="llSetLinkAlpha">
llSetLinkAlpha(integer linknumber, float alpha, integer face);
Sets the side number face on the linked child linknumber
to the transparency alpha.
</Word>
<Word name="llSetLinkCamera">
void llSetLinkCamera(integer iLink, vector vEyeOffset, vector vLookOffset);
Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim.
</Word>
<Word name="llSetLinkColor">
llSetLinkColor(integer linknumber, vector color, integer face);
Sets the color of the linked child specified by linknumber.
A value of 0 means no link, 1 the root, 2 for first
child, etc. If linknumber is ALL_SIDES, set the color
of all objects in the linked set. If face is
ALL_SIDES, set the color of all faces.
</Word>
<Word name="llSetLinkMedia">
integer llSetLinkMedia(integer iLink, integer iFace, list lParameters);
Set the media parameters for a particular face on the linked prim(s) without a delay.
<Argument name="iLink">Link number (0: unlinked, 1: root prim, >1: child prims).</Argument>
<Argument name="iFace">Face number.</Argument>
<Argument name="lParams">A set of name/value pairs (in no particular order)</Argument>
Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).
</Word>
<Word name="llSetLinkPrimitiveParams">
void llSetLinkPrimitiveParams(integer linknumber, list rules);
Sets the parameters (or properties) of any linked prim in none step
<Argument name="linknumber">Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag</Argument>
<Argument name="rules"></Argument>
</Word>
<Word name="llSetLinkPrimitiveParamsFast">
llSetLinkPrimitiveParamsFast( integer linknumber, list rules );
Set primitive parameters for linknumber based on rules with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams except without the delay.
<Argument name="linknumber">Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag</Argument>
<Argument name="rules"></Argument>
</Word>
<Word name="llSetLinkTexture">
void llSetLinkTexture(integer linknumber, string texture, integer face);
Sets the texture of linked prims
</Word>
<Word name="llSetLinkTextureAnim">
llSetLinkTextureAnim( integer link, integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate );
Animate the texture on the specified face/faces of the
specified prim/prims by setting the texture scale and offset.
Identical to llSetTextureAnim except able to modify any prim in the link set.
<Argument name="link">Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect</Argument>
<Argument name="mode">mask of Mode flags</Argument>
<Argument name="face">face number or ALL_SIDES</Argument>
<Argument name="sizex">horizontal frames (ignored for ROTATE and SCALE)</Argument>
<Argument name="sizey">vertical frames (ignored for ROTATE and SCALE)</Argument>
<Argument name="start">Start position/frame number (or radians for ROTATE)</Argument>
<Argument name="length">number of frames to display (or radians for ROTATE)</Argument>
<Argument name="rate">frames per second (must not be zero)</Argument>
</Word>
<Word name="llSetLocalRot">
llSetLocalRot(rotation rot);
Sets the rotation of a child prim relative to the root prim.
</Word>
<Word name="llSetMemoryLimit">
integer llSetMemoryLimit(integer iLimit);
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.
<Argument name="iLimit">The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded.</Argument>
</Word>
<Word name="llSetObjectDesc">
llSetObjectDesc(string name);
Sets the description of the scripted prim to name.
You can get the description using llGetObjectDesc.
The description is limited to 127 characters.
</Word>
<Word name="llSetObjectName">
llSetObjectName(string name);
Sets the object name to name.
</Word>
<Word name="llSetParcelMusicURL">
llSetParcelMusicURL(string url)
Sets the streaming audio URL for the parcel the
scripted object is on (the object must be owned
by the owner of the parcel, if the parcel is group
owned the object must be owned by that group).
</Word>
<Word name="llSetPayPrice">
llSetPayPrice(integer price, list quick_pay_buttons);
Sets the values of the buttons and the text box default
for the Pay dialog -- when a user right-clicks on
the object and selects "Pay", llSetPayPrice will affect
what buttons exist, what their values are, and whether
or not there is a manual payment text entry box.
</Word>
<Word name="llSetPhysicsMaterial">
void llSetPhysicsMaterial(integer MaterialBits, float GravityMultiplier, float Restitution, float Friction, float Density);
No description available.
</Word>
<Word name="llSetPos">
llSetPos(vector pos);
If the object is not physical, this function sets the position
in region coordinates. If the object is a child, the
position is treated as root relative and the linked set is adjusted.
</Word>
<Word name="llSetPrimMediaParams">
integer llSetPrimMediaParams( integer face, list params );
Set the media params for a particular face.
Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).
<Argument name="face">face number</Argument>
<Argument name="params">a set of name/value pairs (in no particular order)</Argument>
</Word>
<Word name="llSetPrimitiveParams">
llSetPrimitiveParams(list rule);
This function changes the many properties (or "parameters")
of a prim in one operation. The parameter is a list of changes.
(Don't confuse prim parameters with function parameters.)
</Word>
<Word name="llSetRegionPos">
integer llSetRegionPos(vector vPosition)
Tries to moves the entire object so that the root prim is within 0.1m of vPosition.
Returns TRUE on success, otherwise FALSE.
</Word>
<Word name="llSetRemoteScriptAccessPin">
llSetRemoteScriptAccessPin(integer pin);
If pin is set to a non-zero number, the task will accept
remote script loads via llRemoteLoadScriptPin
if passed the matching PIN.
Otherwise llRemoteLoadScriptPin is ignored
</Word>
<Word name="llSetRot">
llSetRot(rotation rot);
If the object is not physical, this function sets the rotation.
If the object is a child, the position is treated as root
relative and the linked set is adjusted.
</Word>
<Word name="llSetScale">
llSetScale(vector scale);
Sets the object scale.
</Word>
<Word name="llSetScriptState">
llSetScriptState(string name, integer run);
Control the state of a script on the object.
</Word>
<Word name="llSetSitText">
llSetSitText(string text);
Displays text rather than sit in viewer pie menu.
</Word>
<Word name="llSetSoundQueueing">
llSetSoundQueueing(integer queue);
Sets whether successive calls to llPlaySound, llLoopSound,
etc., (attached sounds) interrupt the playing sound.
The default for objects is FALSE. Setting this value to
TRUE will make the sound wait until the current playing
sound reaches its end. The queue is one level deep.
<Argument name="queue" wild="TRUE|FALSE">
boolean, sound queuing: TRUE enables, FALSE disables (default)
</Argument>
</Word>
<Word name="llSetSoundRadius">
llSetSoundRadius(float radius);
Establishes a hard cut-off radius for audibility of scripted
sounds (both attached and triggered)
</Word>
<Word name="llSetStatus">
llSetStatus(integer status, integer value);
Sets the status to value. Use status constants for the values of status.
</Word>
<Word name="llSetText">
llSetText(string text, vector color, float alpha);
Sets text that floats above object to text,
using the specified color and alpha.
</Word>
<Word name="llSetTexture">
llSetTexture(string texture, integer face);
Sets the texture from object inventory of face.
If face is ALL_SIDES, set the texture to all faces.
</Word>
<Word name="llSetTextureAnim">
llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate);
Animates a texture by setting the texture scale and offset.
<Argument name="mode">mask of Mode flags</Argument>
<Argument name="face">face number or ALL_SIDES</Argument>
<Argument name="sizex">horizontal frames (ignored for ROTATE and SCALE)</Argument>
<Argument name="sizey">vertical frames (ignored for ROTATE and SCALE)</Argument>
<Argument name="start">Start position/frame number (or radians for ROTATE)</Argument>
<Argument name="length">number of frames to display (or radians for ROTATE)</Argument>
<Argument name="rate">frames per second (must not be zero)</Argument>
</Word>
<Word name="llSetTimerEvent">
llSetTimerEvent(float sec);
Sets the timer event to be triggered every sec seconds.
Passing in 0.0 stops further timer events.
</Word>
<Word name="llSetTorque">
llSetTorque(vector torque, integer local);
If the object is physical, this function sets the torque.
The vector is in local coordinates if local is TRUE, global
if FALSE.
<Argument name="torque">
torque force
</Argument>
<Argument name="local" wild="TRUE|FALSE">
boolean, if TRUE uses local axis, if FALSE uses region axis.
</Argument>
</Word>
<Word name="llSetTouchText">
llSetTouchText(string text);
Displays text in viewer pie menu that acts as a touch.
</Word>
<Word name="llSetVehicleFlags">
llSetVehicleFlags(integer flags);
Sets the vehicle flags to TRUE.
Valid parameters can be found in the vehicle flags constants section.
</Word>
<Word name="llSetVehicleFloatParam">
llSetVehicleFloatParam(integer param_name, float param_value);
Sets the vehicle floating point parameter param_name to param_value.
Valid parameters and their expected
values can be found in the vehicle parameter constants section.
</Word>
<Word name="llSetVehicleType">
llSetVehicleType(integer type);
Activates the vehicle action and choose vehicle type.
Valid types and an explination of their characteristeics
can be found in the vehicle type constants section.
</Word>
<Word name="llSetVehicleRotationParam">
llSetVehicleRotationParam(integer param_name, rotation param_value);
Sets the vehicle rotation parameter param_name to param_value.
Valid parameters can be found in the
vehicle parameter constants section.
</Word>
<Word name="llSetVehicleVectorParam">
llSetVehicleVectorParam(integer param_name, vector param_value);
Sets the vehicle vector parameter param_name to param_value.
Valid parameters can be found in the
vehicle parameter constants section.
</Word>
<Word name="llSetVelocity">
void llSetVelocity(vector vForce, integer iLocal);
Applies velocity to a physical object.
<Argument name="vForce">The force to apply.</Argument>
<Argument name="iLocal">If TRUE, the vForce is treated as a local directional vector instead of a regional directional vector.</Argument>
</Word>
<Word name="llSHA1String">
string llSHA1String( string src );
*** Pre-release Documentation Warning ***
Returns a string of 40 hex characters that is the SHA1 security hash of src.
</Word>
<Word name="llShout">
llShout(integer channel, string text);
Shout 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 channels that are not sent to
avatars but other scripts can listen for through the llListen api.
</Word>
<Word name="llSin">
float llSin(float theta);
Returns the sine of theta in radians.
</Word>
<Word name="llSitTarget">
llSitTarget(vector offset, rotation rot);
Set the sit location for this object. If offset == ZERO_VECTOR
clear the sit target.
</Word>
<Word name="llSleep">
llSleep(float sec);
Puts the script to sleep for sec seconds.
</Word>
<Word name="llSqrt">
float llSqrt(float val);
Returns the square root of val. If val is less than 0.0,
this function returns 0.0 and raises a math runtime error.
</Word>
<Word name="llStartAnimation">
llStartAnimation(string anim);
This function starts animation anim for the avatar that owns the object.
</Word>
<Word name="llStopAnimation">
llStopAnimation(string anim);
Stop animation animfor avatar that owns object.
</Word>
<Word name="llStopHover">
llStopHover(void);
Stop hover to a height.
</Word>
<Word name="llStopLookAt">
llStopLookAt(void);
Stop causing object to look at target.
</Word>
<Word name="llStopMoveToTarget">
llStopMoveToTarget(void);
Stops critically damped motion.
</Word>
<!--
<Word name="llStopPointAt">
llStopPointAt(void);
Stop avatar that owns object pointing.
</Word>
-->
<Word name="llStopSound">
llStopSound(void);
Stops a currently playing attached sound started with
llPlaySound or llLoopSound. Has no effect on sounds
started with llTriggerSound.
</Word>
<Word name="llStringLength">
integer llStringLength(string src);
Returns the number of characters in src.
</Word>
<Word name="llStringToBase64">
string llStringToBase64(string str);
Converts a string to the Base 64 representation of the string.
</Word>
<Word name="llStringTrim">
string llStringTrim(string text, integer trim_type);
Outputs a string eliminating whitespace from the start and/or end of the specified string.
Constants for trim_type:
STRING_TRIM_HEAD: trim all leading spaces in text
STRING_TRIM_TAIL: trim all trailing spaces in text
STRING_TRIM: trim all leading and trailing spaces in text
<Argument name="text">string to trim</Argument>
<Argument name="trim_type" wild="STRING_TRI.*">
STRING_TRIM_HEAD,STRING_TRIM_TAIL or STRING_TRIM
</Argument>
</Word>
<Word name="llSubStringIndex">
integer llSubStringIndex(string source, string pattern);
Finds index in source where pattern first appears.
Returns -1 if no match is found found.
</Word>
<Word name="llTakeControls">
llTakeControls(integer controls, integer accept, integer pass_on);
If ( accept == (controls and input) ), send input to object.
If the boolean pass_on is TRUE, also send input
to avatar. Requires the PERMISSION_TAKE_CONTROLS permission to run.
<Argument name="controls" wild="CONTROL_.*">
bitfield of CONTROL_* flags
</Argument>
<Argument name="accept" wild="TRUE|FALSE">
boolean, determines whether control events are generated
</Argument>
<Argument name="pass_on" wild="TRUE|FALSE">
boolean, determines whether controls are disabled
</Argument>
</Word>
<Word name="llTan">
float llTan(float theta);
Returns the tangent of theta radians.
</Word>
<!--
<Word name="llTakeCamera">
llTakeCamera(key avatar);
Move avatar's viewpoint to task
</Word>
-->
<Word name="llTarget">
integer llTarget(vector position, float range);
Set object position within range of position as a target
and returns an integer ID for the target.
</Word>
<Word name="llTargetOmega">
llTargetOmega(vector axis, float spinrate, float gain);
Attempt to spin at spinrate with strength gain on axis.
A spinrate of 0.0 cancels the spin. This
function always works in object local coordinates.
</Word>
<Word name="llTargetRemove">
llTargetRemove(integer tnumber);
Remove target number tnumber.
</Word>
<Word name="llTeleportAgent">
void llTeleportAgent(key AgentID, string LandmarkName, vector Position, vector LookAtPoint)
Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.
Requires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object.
<Argument name="AvatarID" type="key">UUID of avatar.</Argument>
<Argument name="LandmarkName" type="string">Name of landmark (in object contents), or empty string, to use.</Argument>
<Argument name="Position" type="vector">The position within the local region to teleport the avatar to, if no landmark was provided.</Argument>
<Argument name="LookAtPoint" type="vector">The position within the target region that the avatar should be turned to face upon arrival.</Argument>
</Word>
<Word name="llTeleportAgentGlobalCoords">
void llTeleportAgent(key AvatarID, string LandmarkName, vector Position, vector LookAtPoint)
Teleports an agent to set of a region_coordinates within a region at the specified global_coordinates. The agent lands facing the position defined by look_at local coordinates.
<Argument name="AvatarID" type="key">UUID of avatar.</Argument>
<Argument name="GlobalPosition" type="vector">Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS).</Argument>
<Argument name="RegionPosition" type="vector">The position within the target region to teleport the avatar to, if no landmark was provided.</Argument>
<Argument name="LookAtPoint" type="vector">The position within the target region that the avatar should be turned to face upon arrival.</Argument>
</Word>
<Word name="llTeleportAgentHome">
llTeleportAgentHome(key id);
Teleport agent on the owner&apos;s land to agent&apos;s home location.
</Word>
<Word name="llTextBox">
llTextBox( key avatar, string message, integer chat_channel );
*** Pre-release Documentation Warning ***
Shows a dialog box on avatar's screen with the text message.
It contains a text box for input, any text that is entered
is said on chat_channel when the "OK" button is clicked.
</Word>
<Word name="llToLower">
string llToLower(string src);
Returns src in all lower case.
</Word>
<Word name="llToUpper">
string llToUpper(string src);
Returns src in all upper case.
</Word>
<Word name="llTransferLindenDollars">
key llTransferLindenDollars(key AvatarID, integer Amount);
Attempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key.
</Word>
<Word name="llTriggerSound">
llTriggerSound(string sound, float volume);
Plays a transient sound NOT attached to an object.
The sound plays from a stationary position located at the
center of the object at the time of the trigger.
There is no limit to the number of triggered sounds which can be
generated by an object, and calling llTriggerSound does not affect
the attached sounds created by llPlaySound
and llLoopSound. This is very useful for things like collision noises,
explosions, etc. There is no way to stop or
alter the volume of a sound triggered by this function.
</Word>
<Word name="llTriggerSoundLimited">
llTriggerSoundLimited(string sound, float volume, vector tne, vector bsw);
Plays a transient sound NOT attached to an object with its
audible range limited by the axis aligned bounding
box define by tne(top-north-eash) and bsw (bottom-south-west).
The sound plays from a stationary position
located at the center of the object at the time of the trigger.
There is no limit to the number of triggered sounds
which can be generated by an object, and calling llTriggerSound
does not affect the attached sounds created by
llPlaySound and llLoopSound. This is very useful for things
like collision noises, explosions, etc. There is no
way to stop or alter the volume of a sound triggered by this function.
</Word>
<Word name="llUnescapeURL">
string llUnescapeURL(string url);
Returns the string that is the URL unescaped version
of url, replacing "%20" with spaces, etc.
The function can output raw UTF-8 strings.
</Word>
<Word name="llUnSit">
llUnSit(key id);
If agent identified by id is sitting on the object the script
is attached to or is over land owned by the objects
owner, the agent is forced to stand up.
</Word>
<Word name="llUpdateCharacter" status="beta">
void llUpdateCharacter(list Options);
Updates settings for a character.
<Argument name="Options" type="list">Character configuration options. Takes the same constants as llCreateCharacter().</Argument>
</Word>
<Word name="llVecDist">
float llVecDist(vector a, vector b);
Returns the distance from ato b
</Word>
<Word name="llVecMag">
float llVecMag(vector vec);
Returns the magnitude of vec.
</Word>
<Word name="llVecNorm">
vector llVecNorm(vector vec);
Returns normalized vec.
</Word>
<Word name="llVolumeDetect">
llVolumeDetect(integer detect);
When detect = TRUE, this makes the entire link set the script
is attached to phantom but if another object
interpenetrates it, it will get a collision_start event.
When an object stops interpenetrating, a collision_end event
is generated. While the other is interpenetrating,
collision events are NOT generated. The script must be applied
to the root object of the link set to get the collision events.
Collision filters work normally.
<Argument name="detect" wild="TRUE|FALSE">
TRUE enables, FALSE disables
</Argument>
</Word>
<Word name="llWanderWithin">
void llWanderWithin(vector Origin, float Distance, list Options);
Sets a character to wander about a central spot within a specified radius.
<Argument name="Origin" type="vector">Central point to wander about.</Argument>
<Argument name="Distance" type="float">How far (radius) the character may wander from origin.</Argument>
<Argument name="Options" type="list">No options available at this time.</Argument>
</Word>
<Word name="llWater">
float llWater(vector offset);
Returns the water height at the object position + offset.
</Word>
<Word name="llWhisper">
void llWhisper(integer channel, string text);
Whisper 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 channels that are not sent to avatars but other scripts
can listen for through the llListen api.
</Word>
<Word name="llWind">
vector llWind(vector offset);
Returns the wind velocity below the object position + offset.
</Word>
<Word name="llXorBase64">
string llXorBase64(string sText1, string sText2);
Performs an XOR on two Base64 strings and returns a Base64 string.
sText2 repeats if it is shorter than sText1.
This function is for encrypting data. Put your data in s1 and
your key in s2 to encrypt or put the encrypted data into s1
with the same key in s2 to decrypt again.
</Word>
</Words>
<Words icon="Functions" name="Appendix A. Linden Library Functions" color="#A00000" slcolor="#800026">
Complete listing of the OpenSim Library function calls available in lsl.
<Word name="osAgentSaveAppearance">
key osAgentSaveAppearance(key avatarId, string notecard);
Save an arbitrary avatar's appearance to a notecard in the prim's inventory.
This includes body part data, clothing items and attachments. If a
notecard with the same name already exists then it is replaced.
The avatar must be present in the region when this function is invoked.
The baked textures for the avatar (necessary to recreate appearance on
the NPC) are saved permanently.
</Word>
<Word name="osAvatarName2Key">
string osAvatarName2Key(string firstname, string lastname);
Returns an avatar's UUID, based on his/her first and last name.
</Word>
<Word name="osAvatarPlayAnimation">
void osAvatarPlayAnimation(key avatar, string animation);
This function causes an animation to be played on the specified avatar.
The variable animation must be the name of an animation within the task
inventory. For security reasons, UUIDs are not allowed here.
Instead of the name of an animation in the prim's inventory, you can
also use the names of the viewer's built-in animations.
osAvatarPlayAnimation does not perform any security checks or request
animation permissions from the targeted avatar.
</Word>
<Word name="osAvatarStopAnimation">
void osAvatarStopAnimation(key avatar, string animation);
This function stops the specified animation if it is playing on the
avatar given. The value avatar is a UUID, and the animation value is
either the name of an animation in the task inventory or the UUID of
an animation. If the specified avatar is not logged in or on the
same sim as the script, then osAvatarStopAnimation silently fails.
</Word>
<Word name="osCauseDamage">
void osCauseDamage(key avatar, float damage);
</Word>
<Word name="osCauseHealing">
void osCauseHealing(key avatar, float healing);
</Word>
<Word name="osDropAttachment">
void osDropAttachment();
</Word>
<Word name="osDropAttachmentAt">
void osDropAttachmentAt(Vector3 pos, Quaternion rot);
</Word>
<Word name="osEjectFromGroup">
integer osEjectFromGroup(key user);
Eject the given user from the group the object is set to.
The object owner must have the right to eject users from the group the
object is set to. The group member who is ejected can be offline.
The user gets an instant message, that he/she has been ejected from
that group. The result is TRUE, if the user could be ejected, otherwise
FALSE.
</Word>
<Word name="osForceAttachToAvatar">
void osForceAttachToAvatar(integer attachmentPoint);
Works exactly like llAttachToAvatar() except that PERMISSION_ATTACH is
not required.
</Word>
<Word name="osForceAttachToAvatarFromInventory">
void osForceAttachToAvatarFromInventory(string itemName, integer attachmentPoint);
Attach an inventory item in the object containing this script to any
avatar in the region without asking for PERMISSION_ATTACH. Nothing happens
if the avatar is not in the region.
itemName - The name of the item. If this is not found then a warning is
said to the owner.
attachmentPoint - The attachment point. For example, ATTACH_CHEST.
</Word>
<Word name="osForceAttachToOtherAvatarFromInventory">
void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, integer attachmentPoint);
Attach an inventory item in the object containing this script to any
avatar in the region without asking for PERMISSION_ATTACH. Nothing
happens if the avatar is not in the region.
rawAvatarId - The UUID of the avatar to which to attach. Nothing
happens if this is not a UUID.
itemName - The name of the item. If this is not found then a warning
is said to the owner.
attachmentPoint - The attachment point. For example, ATTACH_CHEST.
</Word>
<Word name="osForceDetachFromAvatar">
void osForceDetachFromAvatar();
Works exactly like llDetachFromAvatar() except that PERMISSION_ATTACH
is not required.
</Word>
<Word name="osForceDropAttachment">
void osForceDropAttachment();
Drops an attachment like a user-triggered attachment drop without
checking if PERMISSION_ATTACH has been granted.
</Word>
<Word name="osForceDropAttachmentAt">
void osForceDropAttachmentAt(Vector3 pos, Quaternion rot);
Drops an attachment at position pos with rotation rot without
checking if PERMISSION_ATTACH has been granted.
</Word>
<Word name="osForceOtherSit">
void osForceOtherSit(string avatar, [string target]);
Forces a sit of targeted avatar onto prim.
avatar - The UUID of the avatar to which to attach. Nothing happens
if this is not a UUID.
target - The UUID of another prim to sit avatar on. Nothing happens
if this is not a UUID of prim in region.
</Word>
<Word name="osGetAgentIP">
string osGetAgentIP(key uuid);
Requires: key uuid of agent to get IP address for.
Returns: string representing the IP address returned.
</Word>
<Word name="osGetAgents">
list osGetAgents();
Returns a list of all the agents names in the region.
</Word>
<Word name="osGetAvatarHomeURI">
string osGetAvatarHomeURI(string uuid);
Returns an avatar's Home URI.
</Word>
<Word name="osGetAvatarList">
list osGetAvatarList();
Returns a strided list of the UUID, position, and name of each
avatar in the region except the owner.
This function is similar to osGetAgents but returns enough
info for a radar.
</Word>
<Word name="osGetGender">
string osGetGender(key id);
Returns a string with one of the following values: "male",
"female", or "unknown". This value is determined by the value
selected for the avatar shape in the appearance dialog in the
user's viewer. If that value cannot be found for any reason
(avatar is not in the region, improperly formatted key, etc.),
"unknown" is returned.
</Word>
<Word name="osGetHealRate">
float osGetHealRate(key avatar);
Gets the current automatic healing rate in % per second.
Default heal rate is now around 0.5% per second.
A value of zero can disable automatic heal, current maximum
value is 100 % per second.
</Word>
<Word name="osGetHealth">
float osGetHealth(string avatar);
Gets an avatars health by key and returns the value as a float.
</Word>
<Word name="osGetNumberOfAttachments">
list osGetNumberOfAttachments(key avatar, list attachmentPoints);
Returns a strided list of the specified attachment points and
the number of attachments on those points.
In OpenSimulator 0.7.5 development code only.
</Word>
<Word name="osInviteToGroup">
integer osInviteToGroup(key user);
Invite the given user to the group the object is set to.
The group can be a closed user group.
The object owner must have the right to invite new users
to the group the object is set to. The user with the given
key has to be online in that region. This is a required
limitation to not make group invitation spam possible.
The user gets a normal group invitation, showing the
owner of the object as sender. The invitation can be accepted
or rejected and the user can open the corresponding group
window.
The result is TRUE, if the invitation could be sent,
otherwise FALSE.
</Word>
<Word name="osKickAvatar">
void osKickAvatar(string FirstName, string SurName, string alert);
</Word>
<Word name="osOwnerSaveAppearance">
key osOwnerSaveAppearance(string notecard);
Save the owner's current appearance to a notecard in the prim's
inventory. This includes body part data, clothing items and
attachments. If a notecard with the same name already exists then
it is replaced. The owner must be present in the region when this
function is invoked. The baked textures for the owner (necessary
to recreate appearance on the NPC) are saved permanently.
</Word>
<Word name="osSetHealRate">
float osSetHealRate(key avatar, float healrate);
Sets the automatic healing rate in % per second.
Default heal rate is now around 0.5% per second.
A value of zero can disable automatic heal, current maximum
value is 100 % per second.
</Word>
<Word name="osSetHealth">
float osSetHealth(string avatar, float health);
Sets an avatars health by key to the specified float value.
</Word>
<Word name="osTeleportAgent">
void osTeleportAgent(key agent, integer regionX, integer regionY, vector position, vector lookat);
void osTeleportAgent(key agent, string regionName, vector position, vector lookat);
void osTeleportAgent(key agent, vector position, vector lookat);
</Word>
<Word name="osTeleportOwner">
void osTeleportOwner(integer regionX, integer regionY, vector position, vector lookat);
void osTeleportOwner(string regionName, vector position, vector lookat);
void osTeleportOwner(vector position, vector lookat);
</Word>
<Word name="osIsNpc">
integer osIsNpc(key npc);
Returns NPC status on the provided key.
Returns TRUE (1) / FALSE (0) if key provided is an NPC.
Returns FALSE (0) if the key provided doesn't exist in
the scene.
</Word>
<Word name="osNpcCreate">
key osNpcCreate(string firstname, string lastname, vector position, string cloneFrom, [integer options]);
Creates an NPC named firstname lastname at position
from avatar appearance resource cloneFrom.
</Word>
<Word name="osGetNpcList">
list osGetNpcList();
Returns a strided list of the UUID, position, and name of each NPC
in the region.
</Word>
<Word name="osNpcGetPos">
vector osNpcGetPos(key npc);
Return the current position of the NPC.
</Word>
<Word name="osNpcGetRot">
rotation osNpcGetRot(key npc);
Gets the rotation of the avatar. Only the rotation around the
Z plane in Euler rotation (horizontal rotation) has any meaning.
</Word>
<Word name="osNpcGetOwner">
key osNpcGetOwner(key npc);
Gets the NPC's owner's UUID.
</Word>
<Word name="osNpcLoadAppearance">
void osNpcLoadAppearance(key npc, string notecard);
Load appearance from a notecard. This notecard
must contain appearance data created with one of the save appearance
functions.
</Word>
<Word name="osNpcMoveTo">
void osNpcMoveTo(key npc, vector position);
Moves npc to the position.
</Word>
<Word name="osNpcMoveToTarget">
osNpcMoveToTarget(key npc, vector target, integer options);
Move the avatar to a given target over time. How the avatar
will get there depends on the following options.
OS_NPC_FLY - Fly the avatar to the given position. The avatar will
not land unless the OS_NPC_LAND_AT_TARGET option is also given.
OS_NPC_NO_FLY - Do not fly to the target. The NPC will attempt to
walk to the location. If it's up in the air then the avatar will
keep bouncing hopeless until another move target is given or the move is stopped.
OS_NPC_LAND_AT_TARGET - If given and the avatar is flying, then it
will land when it reaches the target. If OS_NPC_NO_FLY is given then
this option has no effect.
OS_NPC_FLY and OS_NPC_NO_FLY are options that cannot be combined - the avatar
will end up doing one or the other. If you want the avatar to fly and land at
the target, then OS_NPC_LAND_AT_TARGET must be combined with OS_NPC_FLY.
OS_NPC_RUNNING - Run the avatar to the given position.
</Word>
<Word name="osNpcPlayAnimation">
void osNpcPlayAnimation(key npc, string animation);
Plays animation on the NPC identified by their key.
</Word>
<Word name="osNpcRemove">
void osNpcRemove(key npc);
Removes the NPC specified by key npc.
</Word>
<Word name="osNpcSaveAppearance">
key osNpcSaveAppearance(key npc, string notecard);
Save the NPC's current appearance to a notecard in the prim's
inventory. This includes body part data, clothing items and
attachments. If a notecard with the same name already exists then
it is replaced. The avatar must be present in the region when this
function is invoked. The baked textures for the avatar (necessary
to recreate appearance) are saved permanently.
</Word>
<Word name="osNpcSay">
void osNpcSay(key npc, string message);
void osNpcSay(key npc, integer channel, string message);
Npc says message.
</Word>
<Word name="osNpcSetProfileAbout">
void osNpcSetProfileAbout(key npc, string about);
Set about in created NPC's profile.
</Word>
<Word name="osNpcSetProfileImage">
void osNpcSetProfileImage(key npc, string image);
Set image in created NPC's profile.
One can use UUID of the texture or name of texture included
in prim's inventory.
</Word>
<Word name="osNpcSetRot">
void osNpcSetRot(key npc, rotation rot);
Set the rotation of the avatar. Only setting the rotation
in the Z plane in Euler rotation will have any meaningful effect
(turning the avatar to point in one direction or another).
Setting X or Y Euler values will result in the avatar
rotating in an undefined manner.
</Word>
<Word name="osNpcShout">
void osNpcShout(key npc, int channel, string message);
Npc shouts message on the given channel.
</Word>
<Word name="osNpcSit">
void osNpcSit(key npc, key target, integer options);
Makes an NPC sit on an object.
Options - OS_NPC_SIT_NOW. Makes the npc instantly sit on
the prim if possible. This is the only option available and
is currently always on no matter what is actually specified in
the options field.
If the prim has a sit target then sit always succeeds no matter
the distance between the NPC and the prim.
If the prim has no sit target then
If the prim is within 10 meters of the NPC then the sit will
always succeed.
At OpenSimulator 0.7.5 and later, if the prim is further than
10 meters away then nothing will happen.
Before OpenSimulator 0.7.5, if the prim is further than 10 meters
away then the avatar will attempt to walk over to the prim
but will not sit when it reaches it.
</Word>
<Word name="osNpcStand">
void osNpcStand(key npc);
Makes a sitting NPC stand up.
</Word>
<Word name="osNpcStopMoveToTarget">
void osNpcStopMoveToTarget(key npc);
Stop a current move to a target.
</Word>
<Word name="osNpcStopAnimation">
void osNpcStopAnimation(key npc, string animation);
Stops animation on being played by the NPC identified by their key.
</Word>
<Word name="osNpcTouch">
void osNpcTouch(key npcKey, key objectKey, integer linkNum);
Only LINK_THIS and LINK_ROOT are valid for this function. Any other
of the LINK_* constants will be ignored and no touch takes place.
1. If linkNum is LINK_THIS then the prim with the key objectKey will
be touched.
2. If linkNum is LINK_ROOT or 0 then the root prim of the link set
will be touched, even if the root prim key is not objectKey
3. For any other value of linkNum a search will be made through
the linkset for a prim with that link number. If found that prim
will be touched. If no prim is found for that link number the
function fails silently and no touch takes place.
The touch is fired as if it came from an old client that does not
support face touch detection or (probably) one of the text clients
like Metabolt. Since there is no mouse the llDetectedTouch*
functions will return the defaults (See the LSL Wiki for full details)
llDetectedTouchBinormal TOUCH_INVALID_VECTOR
llDetectedTouchFace TOUCH_INVALID_FACE
llDetectedTouchNormal TOUCH_INVALID_VECTOR
llDetectedTouchPos TOUCH_INVALID_VECTOR
llDetectedTouchST TOUCH_INVALID_TEXCOORD
llDetectedTouchUV TOUCH_INVALID_TEXCOORD
If the prim is not found or would not allow a normal client to touch
it then this function fails silently.
</Word>
<Word name="osNpcWhisper">
void osNpcWhisper(key npc, int channel, string message);
Npc whispers message on the given channel.
</Word>
<Word name="osClearInertia">
void osClearInertia();
Clears the effect of osSetInertia* functions. Link set total mass,
center of mass and inertia will be the values estimated by default
from the link set parts.
</Word>
<Word name="osForceBreakAllLinks">
void osForceBreakAllLinks();
Identical to llBreakAllLinks() except that it doesn't require the
link permission to be granted.
</Word>
<Word name="osForceBreakLink">
void osForceBreakLink(integer link);
Identical to llBreakLink(integer link) except that it doesn't
require the link permission to be granted.
</Word>
<Word name="osForceCreateLink">
osForceCreateLink(key target, int parent);
Idential to llCreateLink() except that it doesn't require the
link permission to be granted.
</Word>
<Word name="osGetInertiaData">
list osGetInertiaData();
</Word>
<Word name="osGetInventoryDesc">
string osGetInventoryDesc(string name);
Returns a string that is the description of inventory item "name".
</Word>
<Word name="osGetLinkNumber">
integer osGetLinkNumber(string name);
Returns the link number of the prim or sitting avatar with name
"name" on the link set or -1 if the name is not found.
If names are not unique, the one with lower link number should be return.
Names "Object" and "Primitive" are ignored
</Word>
<Word name="osGetLinkPrimitiveParams">
list osGetLinkPrimitiveParams(integer linknumber, list rules);
Returns the primitive parameters for the linkset prim or prims
specified by linknumber. It is possible to use the linkset constants
(e.g. LINK_SET, LINK_ALL_CHILDREN) in place of a specific link number,
in which case the requested parameters of each relevant prim are
concatenated to the end of the list. Otherwise, the usage is identical
to llGetPrimitiveParams().
</Word>
<Word name="osGetPrimitiveParams">
list osGetPrimitiveParams(key prim, list rules);
Gets the parameters for the prim specified by prim_uuid
according to rules.
This function has the same behave as llGetPrimitiveParams
except you can specify target prim anywhere in the scene.
For general information about rules, see llGetPrimitiveParams
in SecondLife Wiki.
Check llGetPrimitiveParams implementation status to see the
differences from llGetPrimitiveParams.
If there is no prim_uuid prim in the scene, or the owner of the
target prim is differ from the owner of the scripted prim,
it will fail without error.
NOTE: As of OpenSimulator 0.7.1.1, this function doesn't work, results in
script error(#5560). It will able to do so on 0.7.2-dev or later.
</Word>
<Word name="osGetRezzingObject">
string osGetRezzingObject();
Get the key of the object that rezzed this object.
Will return NULL_KEY if rezzed by agent or otherwise unknown source.
Should only be reliable inside the on_rez event.
</Word>
<Word name="osIsUUID">
integer osIsUUID(string thing);
Returns 1 if the supplied string is a valid UUID, returns 0 otherwise.
</Word>
<Word name="osListenRegex">
integer osListenRegex(integer channelID, string name, string ID, string msg, integer regexBitfield);
Allows the server to filter listen events by regular expressions. name or message parameters can be
regular expressions, these are behaviours are controlled via the regexBitField parameter using the
constants OS_LISTEN_REGEX_NAME and OS_LISTEN_REGEX_MESSAGE.
If the regex strings are invalid, an error will be shouted on the debug channel.
</Word>
<Word name="osMessageAttachments">
void osMessageAttachments(key avatar, string message, list attachmentPoints, integer options);
Sends a specified message to the specified avatar's attachments on the specified attachment points.
Behaves as osMessageObject, without the sending script needing to know the attachment keys in advance.
</Word>
<Word name="osMessageObject">
void osMessageObject(key objectUUID, string message);
Where objectUUID = the UUID of the object you are messaging.
Where message = The String of data you want to send.
Sends a message to to object identified by the given UUID, a script
in the object must implement the dataserver function the dataserver
function is passed the ID of the calling function and a string message.
</Word>
<Word name="osSetInertia">
void osSetInertia(float mass, vector centerOfMass, vector principalInertiaScaled, rotation InertiaRot);
Allows creators to set the major physics dynamic proprieties, replacing the values estimated from the
linkset parts. Call osClearInertia to undo.
Mass - total mass of link set
centerOfMass - location of center of mass relative to root prim in local frame
principalInertiaScaled - moment of inertia relative to principal axis and center of mass,
Ixx, Iyy, Izz divided by mass so it can be changed independently
InertiaRot - rotation of the inertia, relative to local axis
</Word>
<Word name="osSetInertiaAsBox">
void osSetInertiaAsBox(float mass, vector boxSize, vector centerOfMass, rotation rot);
Allows creators to set the link set total mass, center of mass and moment of inertia.
Moment of inertia will be the one of a box of size boxSize, placed at the center of
mass and rotated by rot in the root prim local frame. Call osClearInertia to undo.
Mass - new total mass of link set
centerOfMass - new location of center of mass relative to root prim in local frame
boxSize - size of the box used to calculate the new inertia
rot - the rotation of that box in local frame
</Word>
<Word name="osSetInertiaAsCylinder">
void osSetInertiaAsCylinder(float mass, float radius, float length, vector centerOfMass, rotation rot);
Allows creators to set the link set total mass, center of mass and moment of inertia. Moment of
inertia will be the one of a cylinder of radius and length, placed at the center of mass and rotated
by rot in the root prim local frame. Call osClearInertia to undo.
Mass - new total mass of link set
centerOfMass - new location of center of mass relative to root prim in local frame
radius - radius of a cylinder used to calculate the new inertia
length - length of a cylinder used to calculate the new inertia
rot - rotation of the cylinder in the root prim local frame.
</Word>
<Word name="osSetInertiaAsSphere">
void osSetInertiaAsSphere(float mass, float radius, vector centerOfMass);
Allows creators to set the link set total mass, center of mass and
moment of inertia. Moment of inertia will be the one of a sphere of
radius radius, placed at the center of mass. Call osClearInertia to undo.
Mass - new total mass of link set
centerOfMass - new location of center of mass relative to root prim in local frame
radius - radius of a sphere used to calculate the new inertia
</Word>
<Word name="osSetPrimitiveParams">
void osSetPrimitiveParams(key prim, list rules);
Sets the parameters for the prim specified by prim_uuid according to rules.
This function has the same behave as llSetPrimitiveParams except you can
specify target prim anywhere in the scene.
For general information about rules, see llSetPrimitiveParams in
SecondLife Wiki. Check llSetPrimitiveParams implementation status to see
the differences from llSetPrimitiveParams.
If there is no prim_uuid prim in the scene, or the owner of the target prim
is differ from the owner of the scripted prim, it will fail without error.
NOTE: As of OpenSimulator 0.7.1.1, this function don't work, results in
script error (#5560). This is fixed on OpenSimulator 0.7.2 and later.
</Word>
<Word name="osSetProjectionParams">
void osSetProjectionParams(integer projection, key texture, float fov, float focus, float amb);
void osSetProjectionParams(key prim, integer projection, key texture, float fov, float focus, float amb);
2 Variations possible.
bool = TRUE / FALSE.
double = float.
</Word>
<Word name="osSetSpeed">
void osSetSpeed(string UUID, float SpeedModifier);
This allows for users to speed themselves up. It multiplies the running,
walking, rotating and flying of the avatar.
The default value for SpeedModifier is 1.0.
To be precise, it affects physical velocity. If you specify too large or
too small number for SpeedModifier, the target will be unmovable, showing
the following message in the region console:
[PHYSICS]: Got a NaN velocity from Scene in a Character
</Word>
<Word name="osTeleportObject">
integer osTeleportObject(key objectUUID, vector targetPos, rotation rot, int flags);
objectUUID - the id of the linkset to teleport
targetPos - target position
rot - a rotation
Flags:
OSTPOBJ_NONE it is just 0
OSTPOBJ_STOPATTARRGET object is stopped at destination
OSTPOBJ_STOPONFAIL stops at start point if tp fails (still does nothing)
OSTPOBJ_SETROT the rotation is the final object rotation, otherwise is a added rotation
</Word>
<Word name="osDrawEllipse">
string osDrawEllipse(string drawList, integer width, integer height);
Appends an Ellipse drawing command to the string provided in drawList
and returns the result. The ellipse is drawn with the current pen
size and color, with the specified width and height (in pixels),
centered on a point which is (width/2) pixels to the right of the
pen's current X position, and (height/2) pixels below the pen's
current Y position. After the ellipse is drawn, the width and height
values are added to the pen's X and Y position, respectively.
</Word>
<Word name="osDrawFilledEllipse">
string osDrawFilledEllipse(string drawList, integer width, integer height);
Appends an FillEllipse drawing command to the string provided in drawList
and returns the result.
The filled ellipse is drawn with the current pen size and color, with
the specified width and height (in pixels), centered on a point which is
(width/2) pixels to the right of the pen's current X position, and
(height/2) pixels below the pen's current Y position. After the filled
ellipse is drawn, the width and height values are added to the pen's X
and Y position, respectively.
</Word>
<Word name="osDrawFilledPolygon">
string osDrawFilledPolygon(string drawList, list xpoints, list ypoints);
Appends a FillPolygon drawing command to the string provided in drawList
and returns the result. This fills in the interior of the specified polygon.
The polygon is drawn with the current pen size and filled with the
current color. So (x[0],y[0]),(x[1],y[1]),(x[2],y[2]) would be an example
of a polygon.
</Word>
<Word name="osDrawFilledRectangle">
string osDrawFilledRectangle(string drawList, integer width, integer height);
Appends a FillRectangle drawing command to the string provided in drawList
and returns the result.
The filled rectangle is drawn with the current pen size and color, at the
specified width and height (in pixels), with the upper left corner of the
rectangle placed at the pen's current position. After the rectangle is drawn,
the width and height values are added to the pen's X and Y position,
respectively (that is, the pen is positioned at the lower right corner of
the rectangle.
</Word>
<Word name="osDrawImage">
string osDrawImage(string drawList, integer width, integer height, string imageUrl);
Appends an Image drawing command to the string provided in drawList and returns
the result. Retrieves an image specified by the imageUrl parameter and draws it
at the specified height and width, with the upper left corner of the image placed
at the pen's current position. After the image is drawn, the width and height
values are added to the pen's X and Y position, respectively (that is, the pen's
current position is set to the lower right corner of the image).
If imageUrl points to an invalid location, an image type not supported by libgdi,
or a non-image MIME type, nothing is drawn. If either or both of the width or
height parameters are zero or negative, nothing is drawn, but the image is still
retrieved.
</Word>
<Word name="osDrawLine">
string osDrawLine(string drawList, integer startX, integer startY, integer endX, integer endY);
string osDrawLine(string drawList, integer endX, integer endY);
Depending on the form, appends a LineTo drawing command, or MoveTo and LineTo commands, to the
string provided in drawList and returns the result.
In the longer form, draws a line using the current pen size and color from to the coordinates
indicated by startX and startY to the coordinates indicated by endX and endY.
In the shorter form, draws a line using the current pen size and color from the pen's current
position to the coordinates indicated by endX and endY.
After the line is drawn, the pen's X and Y coordinates are set to endX and endY, respectively.
</Word>
<Word name="osDrawPolygon">
string osDrawPolygon(string drawList, list xpoints, list ypoints);
Appends a Polygon drawing command to the string provided in drawList
and returns the result. The polygon is drawn with the current pen
size and color on the x,y point pairs that comes from LSL list.
It will be converted into the drawing command
"Polygon x[0],y[0],x[1],y[1],x[2],y[2],...".
</Word>
<Word name="osDrawRectangle">
string osDrawRectangle(string drawList, integer width, integer height);
Appends a Rectangle drawing command to the string provided in drawList
and returns the result.
The outline of a rectangle is drawn with the current pen size and color,
at the specified width and height (in pixels), with the upper left
corner of the rectangle placed at the pen's current position. After the
rectangle is drawn, the width and height values are added to the pen's X
and Y position, respectively (that is, the pen is positioned at the
lower right corner of the rectangle.
</Word>
<Word name="osDrawResetTransform">
string osDrawResetTransform(string drawList);
</Word>
<Word name="osDrawRotationTransform">
string osDrawRotationTransform(string drawList, float x);
</Word>
<Word name="osDrawScaleTransform">
string osDrawScaleTransform(string drawList, float x, float y);
</Word>
<Word name="osDrawText">
string osDrawText(string drawList, string text);
Appends a Text drawing command to the string provided in drawList and returns
the result. The specified text will be drawn with the current pen color,
using the currently defined font, size and properties (which default to
regular 14-point Arial). The text will be drawn with the upper left corner of
the first glyph at the pen's current position (however, note that glyphs
within the font may be defined to extend to the left of their origin point).
If you need to include a semicolon in the text to be displayed, you will need
to directly manipulate the draw list string using the drawing commands rather
than the dynamic texture convenience functions, then specify an alternate data
delimiter in the extraParams parameter to the osSetDynamicTexture* functions.
The convenience functions (including osDrawImage) are hardcoded to terminate
each command with a semicolon. The text may or may not be antialiased,
depending on the system settings of the machine upon which the simulator is
running. Furthermore, if the system is configured to use LCD subpixel
antialiasing (e.g. ClearType), the text may have colored fringes on the smoothed
pixels, which may result in a less than optimum image.
Please note that the pen position is not updated after this call.
</Word>
<Word name="osDrawTranslationTransform">
string osDrawTranslationTransform(string drawList, float x, float y);
</Word>
<Word name="osGetDrawStringSize">
vector osGetDrawStringSize(string contentType, string text, string fontName, integer fontSize);
Returns a vector containing the horizontal and vertical dimensions in pixels of the specified
text, if drawn in the specified font and at the specified point size. The horizontal extent
is returned in the .x component of the vector, and the vertical extent is returned in .y.
The .z component is not used.
The contentType parameter should be "vector".
If the osSetFontSize() function has not been used, and neither the FontName nor FontProp
commands have been added to the draw list, specify "Arial" as the font name, and 14 as the font size.
</Word>
<Word name="osMovePen">
string osMovePen(string drawList, integer x, integer y);
Appends a MoveTo drawing command to the string provided in
drawList and returns the result.
This moves the pen's location to the coordinates specified
by the x and y parameters, without drawing anything.
</Word>
<Word name="osSetFontName">
string osSetFontName(string drawList, string fontName);
</Word>
<Word name="osSetFontSize">
string osSetFontSize(string drawList, integer fontSize);
Appends a FontSize drawing command to the string provided in
drawList and returns the result.
Sets the size of the font used by subsequent osDrawTextText()
calls. The fontSize parameter represents the font height in points.
Please note that the font height is given in points, not in
pixels. The resulting size of the font in pixels may vary
depending on the system settings, specifically the display
system's "dots per inch" metric. A system set to 96dpi will
produce differently sized text than a system set to 120dpi. If
precise text size is required, consider using the
osGetDrawStringSize() function to help calculate the proper
fontSize value to use.
If a negative fontSize parameter is specified, any text
subsequently added will be displayed upside down and to the
right of the point of origin.
Please note that the pen position is not updated after this call.
</Word>
<Word name="osSetPenCap">
string osSetPenCap(string drawList, string direction, string type);
*** This method works only on Windows for now. libgdi+ has a
fake implementation and will not draw it. ***
Appends a PenCap drawing command to the string provided in drawList
and returns the result. This sets the pen's start or/and end cap to
either "diamond", "arrow", "round", or default "flat" shape.
It can set them in the "end" or "start" of the line, or "both".
Possible values are (case insensitive):
Type:
"arrow"
"diamond"
"round"
"flat"
Direction:
"start"
"end"
"both"
</Word>
<Word name="osSetPenColor">
string osSetPenColor(string drawList, string color);
Appends a PenColor drawing command to the string provided in drawList
and returns the result.
This sets the pen's drawing color to either the specified named .NET color
or to a 32-bit color value (formatted as eight hexadecimal digits in
the format aarrggbb, representing the eight-bit alpha, red, green and
blue channels).
For full opacity, use an alpha value of FF (e.g. FFFF0000 for red);
for varying degrees of transparency, reduce the alpha value
(e.g. 800000FF for semi-transparent blue).
The color names and hexadecimal color representations are not case-sensitive.
</Word>
<Word name="osSetPenSize">
string osSetPenSize(string drawList, integer penSize);
Appends a PenSize drawing command to the string provided in drawList
and returns the result.
This sets the pen size to a square of penSize pixels by penSize pixels.
If penSize is an odd number, the pen will be exactly centered on the
coordinates provided in the various drawing commands; if it is an even
number, it will be centered slightly higher and to the left of the
actual coordinates.
</Word>
<Word name="osSetDynamicTextureData">
string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, integer timer);
Renders a dynamically created texture on the prim containing the script and returns the UUID of the newly created texture.
If you use this feature, you have to turn on any cache. If not, you'll see complete white texture. Flotsam cache performs
better than cenome cache(default).
</Word>
<Word name="osSetDynamicTextureDataBlend">
string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, integer timer, integer alpha);
</Word>
<Word name="osSetDynamicTextureDataBlendFace">
string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, integer blend, integer disp, integer timer, integer alpha, integer face);
Returns UUID of the generated texture. Intended to be used with subsequent calls to osSetDynamicTextureXXXX functions in order to modify the texture.
</Word>
<Word name="osSetDynamicTextureDataFace">
string osSetDynamicTextureDataFace(string dynamicID, string contentType, string data, string extraParams, int timer, int face);
</Word>
<Word name="osSetDynamicTextureURL">
string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, integer timer);
Renders a web texture on the prim containing the script and returns the UUID of the newly created texture.
If you use this feature, you have to turn on any cache. If not, you'll see complete white texture. Flotsam cache
performs better than cenome cache(default).
</Word>
<Word name="osSetDynamicTextureURLBlend">
string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, integer timer, integer alpha);
</Word>
<Word name="osSetDynamicTextureURLBlendFace">
string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, integer blend, integer disp, integer timer, integer alpha, integer face);
</Word>
<Word name="osGetNotecard">
string osGetNotecard(string name);
This function directly reads the entire contents of a notecard if
it exists within the task inventory, and dumps it into a string.
It skips the dataserver event, thereby reducing code complexity.
</Word>
<Word name="osGetNotecardLine">
string osGetNotecardLine(string name, integer line);
This function directly reads a line of text from the
specified notecard, if it exists within the task inventory,
and returns the text as a string. It skips the dataserver
event, thereby reducing code complexity.
</Word>
<Word name="osGetNumberOfNotecardLines">
integer osGetNumberOfNotecardLines(string name);
This function directly reads how many lines a notecard
has if the specified notecard exists within the task
inventory, bypassing the dataserver event to reduce
code complexity.
</Word>
<Word name="osMakeNotecard">
void osMakeNotecard(string notecardName, list contents);
void osMakeNotecard(string notecardName, string contents);
Creates a notecard with text in the prim that contains the
script. Contents can be either a list or a string.
</Word>
<Word name="osRequestSecureURL">
void osRequestSecureURL(list options);
Requests one HTTPS:// url (opensim version 0.9 or over)
Option supported : "allowXss" - Add 'Access-Control-Allow-Origin: *' to response header
</Word>
<Word name="osRequestURL">
void osRequestURL(list options);
Requests one HTTP:// url (opensim version 0.9 or over)
Option supported : "allowXss" - Add 'Access-Control-Allow-Origin: *' to response header
</Word>
<Word name="osParcelJoin">
void osParcelJoin(vector pos1, vector pos2);
Joins two adjacent parcels within the same region.
</Word>
<Word name="osParcelSubdivide">
void osParcelSubdivide(vector pos1, vector pos2);
Subdivides a parcel into two adjacent parcels within the same region.
</Word>
<Word name="osSetParcelDetails">
void osSetParcelDetails(vector pos, list rules);
This function is the counterpart to llGetParcelDetails.
Currently PARCEL_DETAILS_NAME, PARCEL_DETAILS_DESC,
PARCEL_DETAILS_OWNER, PARCEL_DETAILS_GROUP,
PARCEL_DETAILS_CLAIMDATE are implemented.
Note that the threat levels for PARCEL_DETAILS_NAME
and PARCEL_DETAILS_DESC are "High", and those for
PARCEL_DETAILS_OWNER, PARCEL_DETAILS_GROUP and
PARCEL_DETAILS_CLAIMDATE are "VeryHigh".
</Word>
<Word name="osGetTerrainHeight">
float osGetTerrainHeight(integer x, integer y);
</Word>
<Word name="osSetTerrainHeight">
integer osSetTerrainHeight(integer x, integer y, float val);
</Word>
<Word name="osSetTerrainTexture">
void osSetTerrainTexture(integer level, key texture);
Set the terrain texture of the estate to the texture
given as key. The level can be 0, 1, 2 or 3.
</Word>
<Word name="osSetTerrainTextureHeight">
void osSetTerrainTextureHeight(integer corner, float low, float high);
Set the terrain texture height of the estate. The level can be 0, 1, 2 or 3.
The values low and high are float values for the altitude measured in meters.
</Word>
<Word name="osTerrainFlush">
void osTerrainFlush();
Function updates terrain changes to OpenSimulator database.
This should be called after all the terrain-changes have
been done to update Terrain Data.
</Word>
<Word name="osGetCurrentSunHour">
float osGetCurrentSunHour();
Returns a float value of the current sun hour (24 hour clock). Hour 0 is sunrise.
</Word>
<Word name="osGetSunParam">
float osGetSunParam(string param);
</Word>
<Word name="osGetWindParam">
float osGetWindParam(string plugin, string param);
Gets the value of param property for plugin module.
</Word>
<Word name="osSetEstateSunSettings">
void osSetEstateSunSettings(integer sunFixed, float sunHour);
This function allows for an estate owner or manager to change
the sun settings for the entire estate.
</Word>
<Word name="osSetRegionSunSettings">
void osSetRegionSunSettings(integer useEstateSun, integer sunFixed, float sunHour);
Sets the Sun parameters for the Region.
The useEstateSun flag enables/disables synchronization with the Sun settings for the Estate.
sunFixed determines whether the Sun will remain fixed in place or proceed through its cycle.
sunHour determines the time of day the Sun will be set to.
</Word>
<Word name="osSetRegionWaterHeight">
void osSetRegionWaterHeight(float height);
Sets the water height for the current region.
</Word>
<Word name="osSetSunParam">
void osSetSunParam(string param, float value);
</Word>
<Word name="osSetWindParam">
void osSetWindParam(string plugin, string param, float value);
Sets value of param property for plugin module.
See http://opensimulator.org/wiki/OsSetWindParam for the available parameters.
</Word>
<Word name="osWindActiveModelPluginName">
string osWindActiveModelPluginName();
Gets active wind plugin name, specified by "wind_plugin"
in OpenSim.ini ("SimpleRandomWind" or "ConfigurableWind").
</Word>
<Word name="osCheckODE">
integer osCheckODE();
That it checks if physics engine is legacy ODE
and returns 1 ( TRUE ) it is, or 0 ( FALSE ) if not.
</Word>
<Word name="osGetGridCustom">
string osGetGridCustom(string key);
Returns the value of the GridInfo key as a string.
</Word>
<Word name="osGetGridGatekeeperURI">
string osGetGridGatekeeperURI();
Returns the current grid's Gatekeeper URI as a string.
</Word>
<Word name="osGetGridHomeURI">
string osGetGridHomeURI();
Returns the current grid's home URI as a string.
</Word>
<Word name="osGetGridLoginURI">
string osGetGridLoginURI();
Returns the current grid's login URI as a string.
</Word>
<Word name="osGetGridName">
string osGetGridName();
Returns the current grid's name as a string.
</Word>
<Word name="osGetGridNick">
string osGetGridNick();
Returns the current grid's nickname as a string.
</Word>
<Word name="osGetMapTexture">
key osGetMapTexture();
Returns the UUID of the map texture of the current region.
</Word>
<Word name="osGetPhysicsEngineName">
string osGetPhysicsEngineName();
This function returns a string containing the name
and version number of the physics engine.
</Word>
<Word name="osGetPhysicsEngineType">
string osGetPhysicsEngineType();
This function returns a string containing the name of the Physics Engine.
</Word>
<Word name="osGetRegionMapTexture">
key osGetRegionMapTexture(string regionName);
This function retrieves the UUID of the texture used to
represent the named region on the world map, and returns it.
Using this function, you can place the map texture directly
onto a prim.
</Word>
<Word name="osGetRegionSize">
vector osGetRegionSize();
Returns the size of the region in meters.
Usually this function returns 256x256. However, when called
in a var/mega region it returns the size of the entire simulator.
</Word>
<Word name="osGetRegionStats">
list osGetRegionStats();
Returns a list of float values representing a number of region
statistics (many of the values shown in the "Stats Bar" of
LL-based clients). Provides similar functionality to llGetRegionFPS()
and llGetRegionTimeDilation(), but returns 21 statistics simultaneously.
</Word>
<Word name="osGetScriptEngineName">
string osGetScriptEngineName();
Returns the name of the script engine which is currently enabled on the server.
</Word>
<Word name="osGetSimulatorMemory">
integer osGetSimulatorMemory();
</Word>
<Word name="osGetSimulatorVersion">
string osGetSimulatorVersion();
This function returns a string containing the current simulator version.
</Word>
<Word name="osLoadedCreationDate">
string osLoadedCreationDate();
This function returns a string containing the date that a sim
was first created. An example of the string returned is
"Monday, December 07, 2009". It will return empty string if the
region hasn't been created by oar import, or the region
uses SQLite for region database.
</Word>
<Word name="osLoadedCreationID">
string osLoadedCreationID();
This function returns a string containing the UUID that a
sim was originally created with.
It will return empty string if the region hasn't been created
by oar import, or the region uses SQLite as region database.
</Word>
<Word name="osLoadedCreationTime">
string osLoadedCreationTime();
This function returns a string containing the time that a sim
was first created. An example of the string returned is "2:06:48 AM".
It will return empty string if the region hasn't been created
by oar import, or the region uses SQLite for region database.
</Word>
<Word name="osConsoleCommand">
integer osConsoleCommand(string command);
This function allows an LSL script to directly execute a command
to opensim's console. Even if the function is available, only
administrators/gods can successfully execute it.
In addition, one can further restrict this function to only
certain administrators/gods. See Threat level for more information
on how to do this.
If the script owner does have the necessary permissions to call
this function, then they can do anything someone with direct access
to the command console could do, such as changing the
avatar passwords, deleting sims, changing the terrain, etc.
This command represents the highest security threat of any OSSL
function, giving it a threat level of Severe.
Do not use or allow this function unless you are absolutely
sure of what you're doing!
</Word>
<Word name="osRegionNotice">
void osRegionNotice(string msg);
Sends a region notice to the entire current region.
</Word>
<Word name="osRegionRestart">
integer osRegionRestart(float seconds);
Restarts a region after a specified timeout. Only estate managers
and administrators can successfully execute this function.
</Word>
<Word name="osSetParcelMediaURL">
void osSetParcelMediaURL(string url);
Sets the Media URL for the parcel the scripted object is in.
</Word>
<Word name="osSetParcelSIPAddress">
void osSetParcelSIPAddress(string SIPAddress);
</Word>
<Word name="osSetPrimFloatOnWater">
void osSetPrimFloatOnWater(integer float);
</Word>
<Word name="osGrantScriptPermissions">
void osGrantScriptPermissions(key allowed_key, string function);
Dynamically allow ossl execution to owner/creator/group by function name.
</Word>
<Word name="osRevokeScriptPermissions">
void osRevokeScriptPermissions(key revoked_key, string function);
Dynamically allow/disallow ossl execution to owner/creator/group by function name.
</Word>
<Word name="osCollisionSound">
void osCollisionSound(string impact_sound, double impact_volume);
Sets collision sound to impact_sound with specified volume.
</Word>
<Word name="osDie">
float osDie(key objectUUID);
Deletes an object depending on the target uuid.
Note : Only allow osDie() on objects rezzed by the
script prim Group (linkset) or on it self.
</Word>
<Word name="osFormatString">
string osFormatString(string format,list params);
Return the string with parameters substituted into it. These parameters
need to be incrementing numbers, starting at zero, and surrounded by
single accolades (also known as curly brackets).
</Word>
<Word name="osKey2Name">
string osKey2Name(key id);
Returns the avatar's name, based on their UUID.
</Word>
<Word name="osList2Double">
float osList2Double(list src, integer index);
This function converts a value in the specified index of the list src
to the double data type. However, OSSL does not have a double data type.
</Word>
<Word name="osMatchString">
list osMatchString(string src, string pattern, integer start);
This function returns a list containing the matches from the given string.
</Word>
<Word name="osMax">
float osMax(Double a, Double b);
Returns the larger of two numbers. Wraps to system Math.Max()
</Word>
<Word name="osMin">
float osMin(Double a, Double b);
Returns the smaller of two numbers. Wraps to the system Math.Min() function.
</Word>
<Word name="osParseJSON">
Hashtable osParseJSON(string JSON);
</Word>
<Word name="osParseJSONNew">
osParseJSONNew(string JSON);
Returns osd deserialized JSON to object.
</Word>
<Word name="osReplaceString">
string osReplaceString(string src, string pattern, string replace, int count, int start);
This function is for regular expression-based string replacement. The count parameter
specifies the total number of replacements to make where -1 makes all possible replacements.
</Word>
<Word name="osRegexIsMatch">
integer osRegexIsMatch(string input, string pattern);
Returns 1 if the input string matches the regular expression pattern.
</Word>
<Word name="osSetContentType">
void osSetContentType(key id, string type);
Sets an arbitrary content return type for an llRequestUrl().
</Word>
<Word name="osSetStateEvents">
void osSetStateEvents(integer events);
</Word>
<Word name="osUnixTimeToTimestamp">
string osUnixTimeToTimestamp(integer epoch);
This function allows an input Unix time to be converted to an llGetTimeStamp()
format. Please note that there will be no second fractions. This is because
the implementation works with seconds only.
</Word>
<Word name="osVolumeDetect">
void osVolumeDetect(integer detect);
</Word>
</Words>
<Words icon="Events" name="Appendix B. Events" color="#00A0A0" slcolor="#004D80">
Every state must have at least one handler. You can choose to
handle an event by defining one of the the reserved
event handlers named here.
<Word name="at_target" args="integer tnum,vector targetpos,vector ourpos">
at_target(integer tnum, vector targetpos, vector ourpos);
This event handler is triggered when the scripted object comes within
a defined range of the target position targetpos
(defined by the llTarget function call).
</Word>
<Word name="at_rot_target" args="integer number,rotation target_rotation,rotation our_rotation">
at_rot_target(integer number, rotation target_rotation, rotation our_rotation);
This event is triggered when a script comes within a defined
angle of a target rotation. The range is set by a call
to llRotTarget.
</Word>
<Word name="attach" args="key attached">
attach(key attached);
This event is triggered whenever a object with this script is
attached or detached from an avatar. If it is attached,
attached is the key of the avatar it is attached to, otherwise
attached is NULL_KEY.
</Word>
<Word name="changed" args="integer change">
changed(integer change);
Triggered when various events change the object. The change
argument will be a bitfield of change constants.
</Word>
<Word name="collision" args="integer total_number">
collision(integer total_number);
This event is raised while another object is colliding with
the object the script is attached to. The number of
detected objects is passed to the script. Information on
those objects may be gathered via the llDetected* library
functions.
(Collisions are also generated if a user walks into an object.)
</Word>
<Word name="collision_end" args="integer total_number">
collision_end(integer total_number);
This event is raised when another object stops colliding with
the object the script is attached to. The number of
detected objects is passed to the script. Information on those
objects may be gathered via the llDetected* library
functions.
(Collisions are also generated if a user walks into an object.)
</Word>
<Word name="collision_start" args="integer total_number">
collision_start(integer total_number);
This event is raised when another object begins to collide with
the object the script is attached to. The number of
detected objects is passed to the script. Information on
those objects may be gathered via the llDetected* library
functions.
(Collisions are also generated if a user walks into an object.)
</Word>
<Word name="control" args="key name, integer levels, integer edges">
control(key name, integer levels, integer edges);
Once a script has the ability to grab control inputs from the avatar,
this event will be used to pass the commands
into the script. The levelsand edgesare bitfields
of control constsants.
</Word>
<Word name="dataserver" args="key requested, string data">
dataserver(key requested, string data);
This event is triggered when the requested data is returned
to the script. Data may be requested by the
llRequestAgentData, the llRequestInventoryData,
and the llGetNotecardLine function calls.
</Word>
<Word name="email" args="string time, string address, string subject, string body, integer remaining">
email(string time, string address, string subject, string body, integer remaining);
This event is triggered when an email sent to this script arrives.
The remaining tells how many more emails are known as still pending.
</Word>
<Word name="http_request" args="key request_id, string method, string body">
http_request(key request_id, string method, string body);
Triggered when task receives an HTTP request.
<Argument name="request_id">HTTP request id for response use, and function response identification.</Argument>
<Argument name="method">GET, POST, PUT</Argument>
<Argument name="body">Contents of the request.</Argument>
</Word>
<Word name="http_response" args="key request_id,integer status,list metadata,string body">
http_response(key request_id, integer status, list metadata, string body);
This event handler is invoked when an HTTP response is received for
a pending llHTTPRequest request or if a pending request fails or times out.
</Word>
<Word name="land_collision" args="vector position">
land_collision(vector position);
This event is raised when the object the script is attached
to is colliding with the ground.
</Word>
<Word name="land_collision_end" args="vector position">
land_collision_end(vector position);
This event is raised when the object the script is attached
to stops colliding with the ground.
</Word>
<Word name="land_collision_start" args="vector position">
land_collision_start(vector position);
This event is raised when the object the script is attached
to begins to collide with the ground.
</Word>
<Word name="link_message" args="integer sender_number, integer number, string message, key id">
link_message(integer sender_number, integer number, string message, key id);
Triggered when object receives a link message via llMessageLinked
library function call.
</Word>
<Word name="listen" args="integer channel,string name,key id,string message">
listen(integer channel, string name, key id, string message);
This event is raised whenever a chat message matching the
constraints passed in the llListen command is heard.
The nameand id of the speaker as well as the messageare passed
in as parameters. Channel 0 is the public
chat channel that all avatars see as chat text.
Channels 1 through 2,147,483,648 are private channels that are not
sent to avatars but other scripts can listen on those channels.
</Word>
<Word name="money" args="key giver,integer amount">
money(key giver, integer amount);
This event is triggered when user giver has given an amount
of Linden dollars to the object.
</Word>
<Word name="moving_end">
moving_end(void);
Triggered whenever a object with this script stops moving.
</Word>
<Word name="moving_start">
moving_start(void);
Triggered whenever a object with this script starts moving.
</Word>
<Word name="no_sensor">
no_sensor(void);
This event is raised when sensors are active
(via the llSensor library call) but are not sensing anything.
</Word>
<Word name="not_at_rot_target">
not_at_rot_target(void);
When a target is set via the llRotTarget library call,
but the script is outside the specified angle this event is raised.
</Word>
<Word name="not_at_target">
not_at_target(void);
When a target is set via the llTarget library call,
but the script is outside the specified range this event is raised.
</Word>
<Word name="object_rez" args="key id">
object_rez(key id);
Triggered when object rez-es in another object from its
inventory via the llRezObject api. The id is the globally
unique key for the object.
</Word>
<Word name="on_rez" args="integer start_param">
on_rez(integer start_param);
Triggered whenever a object is rez-ed from inventory
or by another object. The start_paramis the parameter
passed in from the call to llRezObject.
</Word>
<Word name="path_update" args="integer Type, list Reserved" status="beta">
path_update(integer Type, list Reserved)
This event is called to inform the script of changes within the object's path-finding status.
<Argument name="Type">One of the PU* (Path Update) constants.</Argument>
</Word>
<Word name="remote_data" args="integer event_type,key channel,key message_id,string sender,integer idata,string sdata">
remote_data(integer event_type, key channel, key message_id, string sender, integer idata, string sdata);
Triggered by various XML-RPC calls with event_type specifying the type of data.
</Word>
<Word name="run_time_permissions" args="integer permissions">
run_time_permissions(integer permissions);
Scripts need permission from either the owner or the avatar
they wish to act on before they perform certain
functions, such as debiting money from their owners account,
triggering an animation on an avatar, or capturing
control inputs. The llRequestPermissions library
function is used to request these permissions and the various
permissions integer constants can be supplied.
The integer returned to this event handler contains the current set
of permissions flags, so if permissionseqal 0 then no permissions are set.
</Word>
<Word name="sensor" args="integer total_number">
sensor(integer total_number);
This event is raised whenever objects matching the constraints
of the llSensor command are detected.
The number of detected objects is passed to the script
in the total_number parameter. Information on those
objects may be gathered via the llDetected* library functions.
</Word>
<Word name="state_entry">
state_entry(void);
The state_entry event occurs whenever a new state is entered,
including program start, and is always the first event handled.
</Word>
<Word name="state_exit">
state_exit(void);
The state_exit event occurs whenever the state command
is used to transition to another state. It is handled
before the new states state_entry event.
</Word>
<Word name="timer">
timer(void);
This event is raised at regular intervals set by the
llSetTimerEvent library function.
</Word>
<Word name="touch" args="integer total_number">
touch(integer total_number);
This event is raised while a user is touching the object
the script is attached to. The number of touching objects is
passed to the script in the total_number parameter.
Information on those objects may be gathered via the
llDetected* library functions.
</Word>
<Word name="touch_end" args="integer total_number">
touch_end(integer total_number);
This event is raised when a user stops touching the object
the script is attached to. The number of touching
objects is passed to the script in the total_number parameter.
Information on those objects may be gathered
via the llDetected* library functions.
</Word>
<Word name="touch_start" args="integer total_number">
touch_start(integer total_number);
This event is raised when a user first touches the object the script is
attached to. The number of touching objects is passed to the script in
the total_number parameter. Information on those objects may be gathered
via the llDetected() library functions.
</Word>
<Word name="transaction_result" args="key kID, integer iSuccess, string sText">
transaction_result(key RequestID, integer Success, string Text)
Triggered by llTransferMoney() function.
<Argument name="RequestID">The key returned by an llTransferMoney call to identify the specific request.</Argument>
<Argument name="Success">Boolean value, indicating success of the transfer</Argument>
<Argument name="Message">Message which depends on the result of the transaction. If iSuccess is true, this will contain &lt;destination_id&gt;,&lt;amount&gt;</Argument>
</Word>
</Words>
<Words icon="Constants" name="Appendix C. Constants" color="#0000A0" slcolor="#1A1A80">
To ease scripting, many useful constants are defined by LSL.
<WordsSubsection name="C.1. Boolean Constants">
The boolean constants represent the values for TRUE and FALSE.
LSL represents booleans as integer values 1
and 0 respectively. Since there is no boolean type these
constants act as a scripting aid usually employed for
testing variables which conceptually represent boolean values.
<Word name="TRUE">
An integer constant for boolean comparisons. Has the value '1'.
</Word>
<Word name="FALSE">
An integer constant for boolean comparisons. Has the value '0'.
</Word>
</WordsSubsection>
<WordsSubsection name="C.2. Status Constants">
The status constants are used in the llSetStatus and llGetStatus
library calls. These constants can be bitwise ORed
together when calling the library functions to set the same
value to more than one status flag
Status Constants
<Word name="STATUS_BLOCK_GRAB" value="64">
Controls whether the object can be grabbed.
A grab is the default action when in third person, and is
available as the hand tool in build mode.
This is useful for physical objects that you don't want other
people to be able to trivially disturb.
The default if FALSE
</Word>
<Word name="STATUS_BLOCK_GRAB_OBJECT" value="1024">Prevent click-and-drag movement on all prims in the object.</Word>
<Word name="STATUS_BOUNDS_ERROR" value="1002">Argument(s) passed to function had a bounds error.</Word>
<Word name="STATUS_CAST_SHADOWS" value="" />
<Word name="STATUS_DIE_AT_EDGE" value="">
Controls whether the object is returned to the owners
inventory if it wanders off the edge of the world. It is
useful to set this status TRUE for things like bullets
or rockets. The default is TRUE
</Word>
<Word name="STATUS_INTERNAL_ERROR" value="1999">.An internal error occurred.</Word>
<Word name="STATUS_MALFORMED_PARAMS" value="1000"> Function was called with malformed parameters.</Word>
<Word name="STATUS_NOT_FOUND" value="1003">.Object or other item was not found.</Word>
<Word name="STATUS_NOT_SUPPORTED" value="1004">Feature not supported.</Word>
<Word name="STATUS_OK" value="0">Result of function call was success.</Word>
<Word name="STATUS_PHYSICS" value="">
Controls whether the object moves physically.
This controls the same flag that the ui checkbox for
Physical controls. The default is FALSE.
</Word>
<Word name="STATUS_PHANTOM" value="">
Controls whether the object collides or not.
Setting the value to TRUE makes the object non-colliding with
all objects. It is a good idea to use this for most objects
that move or rotate, but are non-physical. It is also
useful for simulating volumetric lighting. The default is FALSE.
</Word>
<Word name="STATUS_RETURN_AT_EDGE" value="" />
<Word name="STATUS_ROTATE_X" value=""></Word>
<Word name="STATUS_ROTATE_Y" value=""></Word>
<Word name="STATUS_ROTATE_Z" value="">
Controls whether the object can physically rotate around
the specific axis or not. This flag has no meaning
for non-physical objects. Set the value to FALSE
if you want to disable rotation around that axis. The
default is TRUE for a physical object.
A useful example to think about when visualizing
the effect is a sit-and-spin device. They spin around the
Z axis (up) but not around the X or Y axis.
</Word>
<Word name="STATUS_SANDBOX" value="">
Controls whether the object can cross region boundaries
and move more than 20 meters from its creation
point. The default if FALSE.
</Word>
<Word name="STATUS_TYPE_MISMATCH" value="1001">Argument(s) passed to function had a type mismatch.</Word>
<Word name="STATUS_WHITELIST_FAILED" value="2001">Whitelist Failed.</Word>
</WordsSubsection>
<WordsSubsection name="C.3. Object Type Constants">
These constants can be combined using the binary | operator and are used in the llSensor and related calls.
Object Type Constants
<Word name="ACTIVE">
Objects in world that are running a script or
currently pysically moving.
</Word>
<Word name="AGENT">Objects in world that are agents.</Word>
<Word name="AGENT_BY_LEGACY_NAME" value="0x1"></Word>
<Word name="AGENT_BY_USERNAME" value="0x10"></Word>
<Word name="PASSIVE">Static in-world objects.</Word>
<Word name="SCRIPTED">
Scripted in-world objects.
</Word>
</WordsSubsection>
<WordsSubsection name="C.4. Permission Constants">
The permission constants are used for passing values
to llRequestPermissions, determing the value of
llGetPermissions, and explicitly passed to the
run_time_permissions event. For many of the basic library
functions to work, a specific permission must be enabled.
The permission constants can be ored together to be
used in conjunction.
Permission Constants
<Word name="PERMISSION_ATTACH" value="">
If this permission is enabled, the object can successfully
call llAttachToAvatar to attach to the given avatar.
</Word>
<Word name="PERMISSION_CHANGE_LINKS" value="">
If this permission is enabled, the object can successfully
call llCreateLink, llBreakLink, and
llBreakAllLinks to change links to other objects.
</Word>
<Word name="PERMISSION_CONTROL_CAMERA" value="" />
<Word name="PERMISSION_DEBIT" value="">
If this permission is enabled, the object can successfully
call llGiveMoney to debit the owners account.
</Word>
<Word name="PERMISSION_CHANGE_JOINTS" value="">
(not yet implemented)
</Word>
<Word name="PERMISSION_CHANGE_PERMISSIONS" value="">
(not yet implemented)
</Word>
<Word name="PERMISSION_OVERRIDE_ANIMATIONS" value="0x8000" />
<Word name="PERMISSION_RELEASE_OWNERSHIP" value="">
(not yet implemented)
</Word>
<Word name="PERMISSION_REMAP_CONTROLS" value="">
(not yet implemented)
</Word>
<Word name="PERMISSION_TAKE_CONTROLS" value="">
If this permission enabled, the object can successfully
call the llTakeControls libray call.
</Word>
<Word name="PERMISSION_TELEPORT" value="0x1000" />
<Word name="PERMISSION_TRACK_CAMERA" value="" />
<Word name="PERMISSION_TRIGGER_ANIMATION" value="">
If this permission is enabled, the object can successfully
call llStartAnimation for the avatar that owns this
object.
</Word>
<Word name="PERMISSION_RETURN_OBJECTS" value="65536"></Word>
</WordsSubsection>
<WordsSubsection name="C.5. Inventory Constants">
These constants can be used to refer to a specific inventory
type in calls to llGetInventoryNumber
andllGetInventoryName.
Inventory Constants
<Word name="INVENTORY_ALL" value="" />
<Word name="INVENTORY_ANIMATION" value="" />
<Word name="INVENTORY_BODYPART" value="" />
<Word name="INVENTORY_CLOTHING" value=""></Word>
<Word name="INVENTORY_GESTURE" value="" />
<Word name="INVENTORY_LANDMARK" value=""></Word>
<Word name="INVENTORY_NOTECARD" value=""></Word>
<Word name="INVENTORY_NONE" value="" />
<Word name="INVENTORY_OBJECT" value=""></Word>
<Word name="INVENTORY_SCRIPT" value=""></Word>
<Word name="INVENTORY_SOUND" value=""></Word>
<Word name="INVENTORY_TEXTURE" value=""></Word>
</WordsSubsection>
<WordsSubsection name="C.6. Attachment Constants">
These constants are used to refer to attachment points
in calls to llAttachToAvatar.
Attachment Constants
<Word name="ATTACH_AVATAR_CENTER">
Attach to the avatar&apos;s geometric centre.
</Word>
<Word name="ATTACH_BACK">
Attach to the avatar back.
</Word>
<Word name="ATTACH_BELLY">
Attach to the avatar belly.
</Word>
<Word name="ATTACH_CHEST">
Attach to the avatar chest.
</Word>
<Word name="ATTACH_CHIN">
Attach to the avatar chin.
</Word>
<Word name="ATTACH_HEAD">
Attach to the avatar head.
</Word>
<Word name="ATTACH_LEAR">
Attach to the avatar left ear.
</Word>
<Word name="ATTACH_LEYE">
Attach to the avatar left eye.
</Word>
<Word name="ATTACH_LFOOT">
Attach to the avatar left foot.
</Word>
<Word name="ATTACH_LHAND">
Attach to the avatar left hand.
</Word>
<Word name="ATTACH_LHIP">
Attach to the avatar left hip.
</Word>
<Word name="ATTACH_LLARM">
Attach to the avatar left lower arm.
</Word>
<Word name="ATTACH_LLLEG">
Attach to the avatar lower left leg.
</Word>
<Word name="ATTACH_LEFT_PEC">
Attach to the avatar left pectoral.
</Word>
<Word name="ATTACH_LSHOULDER">
Attach to the avatar left shoulder.
</Word>
<Word name="ATTACH_LULEG">
Attach to the avatar lower upper leg.
</Word>
<Word name="ATTACH_MOUTH">
Attach to the avatar mouth.
</Word>
<Word name="ATTACH_NECK">
Attach to the avatar&apos;s neck.
</Word>
<Word name="ATTACH_NOSE">
Attach to the avatar nose.
</Word>
<Word name="ATTACH_PELVIS">
Attach to the avatar pelvis.
</Word>
<Word name="ATTACH_RUARM">
Attach to the avatar right upper arm.
</Word>
<Word name="ATTACH_RLARM">
Attach to the avatar right lower arm.
</Word>
<Word name="ATTACH_LUARM">
Attach to the avatar left upper arm.
</Word>
<Word name="ATTACH_REAR">
Attach to the avatar right ear.
</Word>
<Word name="ATTACH_REYE">
Attach to the avatar right eye.
</Word>
<Word name="ATTACH_RFOOT">
Attach to the avatar right foot.
</Word>
<Word name="ATTACH_RHAND">
Attach to the avatar right hand.
</Word>
<Word name="ATTACH_RHIP">
Attach to the avatar right hip.
</Word>
<Word name="ATTACH_RLLEG">
Attach to the avatar right lower leg.
</Word>
<Word name="ATTACH_RIGHT_PEC">
Attach to the avatar right pectoral.
</Word>
<Word name="ATTACH_RSHOULDER">
Attach to the avatar right shoulder.
</Word>
<Word name="ATTACH_RULEG">
Attach to the avatar right upper leg.
</Word>
<Word name="ATTACH_HUD_BOTTOM"></Word>
<Word name="ATTACH_HUD_BOTTOM_LEFT"></Word>
<Word name="ATTACH_HUD_BOTTOM_RIGHT"></Word>
<Word name="ATTACH_HUD_CENTER_1"></Word>
<Word name="ATTACH_HUD_CENTER_2"></Word>
<Word name="ATTACH_HUD_TOP_CENTER"></Word>
<Word name="ATTACH_HUD_TOP_LEFT"></Word>
<Word name="ATTACH_HUD_TOP_RIGHT"></Word>
</WordsSubsection>
<WordsSubsection name="C.7. Land Constants">
These constants are only used in calls to llModifyLand.
The constants are equivalent to the similarly labelled
user interface elements for editing land in the viewer.
Land Constants
<Word name="LAND_LARGE_BRUSH">
Use a large brush size.
</Word>
<Word name="LAND_LEVEL">
Action to level the land.
</Word>
<Word name="LAND_LOWER">
Action to lower the land.
</Word>
<Word name="LAND_MEDIUM_BRUSH">
Use a medium brush size.
</Word>
<Word name="LAND_NOISE" />
<Word name="LAND_RAISE">
Action to raise the land.
</Word>
<Word name="LAND_REVERT" />
<Word name="LAND_SMALL_BRUSH">
Use a small brush size.
</Word>
<Word name="LAND_SMOOTH" />
</WordsSubsection>
<WordsSubsection name="C.8. Link Constants">
These constants are used in calls to llSetLinkColor and
llMessageLinked.
Link Constants
<Word name="LINK_ALL_CHILDREN">
This targets every object except the root in the linked set.
</Word>
<Word name="LINK_ALL_OTHERS">
This targets every object in the linked set except
the object with the script.
</Word>
<Word name="LINK_ROOT">
This targets the root of the linked set.
</Word>
<Word name="LINK_SET">
This targets every object in the linked set.
</Word>
<Word name="LINK_THIS" />
</WordsSubsection>
<WordsSubsection name="C.9. Control Constants">
These constants are used in llTakeControls as well
as the control event handler.
Control Constants
<Word name="CONTROL_FWD">
Test for the avatar move forward control.
</Word>
<Word name="CONTROL_BACK">
Test for the avatar move back control.
</Word>
<Word name="CONTROL_LEFT">
Test for the avatar move left control.
</Word>
<Word name="CONTROL_RIGHT">
Test for the avatar move right control.
</Word>
<Word name="CONTROL_ROT_LEFT">
Test for the avatar rotate left control.
</Word>
<Word name="CONTROL_ROT_RIGHT">
Test for the avatar rotate right control.
</Word>
<Word name="CONTROL_UP">
Test for the avatar move up control.
</Word>
<Word name="CONTROL_DOWN">
Test for the avatar move down control.
</Word>
<Word name="CONTROL_LBUTTON">
Test for the avatar left button control.
</Word>
<Word name="CONTROL_ML_LBUTTON">
Test for the avatar left button control while in mouse look.
</Word>
</WordsSubsection>
<WordsSubsection name="C.10. Change Constants">
These constants are used in the changed event handler.
Change Constants
<Word name="CHANGED_ALLOWED_DROP">The object inventory has changed because an item was added through the llAllowInventoryDrop interface.</Word>
<Word name="CHANGED_COLOR">The object colour has changed.</Word>
<Word name="CHANGED_INVENTORY">The object inventory has changed.</Word>
<Word name="CHANGED_LINK">The object has linked or its links were broken.</Word>
<Word name="CHANGED_MEDIA" />
<Word name="CHANGED_OWNER" />
<Word name="CHANGED_REGION" />
<Word name="CHANGED_REGION_START" />
<Word name="CHANGED_SCALE">The object scale has changed.</Word>
<Word name="CHANGED_SHAPE">The object shape has changed, e.g., a box to a cylinder.</Word>
<Word name="CHANGED_TELEPORT" />
<Word name="CHANGED_TEXTURE">The texture offset, scale rotation, or simply the object texture has changed.</Word>
</WordsSubsection>
<WordsSubsection name="C.11. Type Constants">
These constants are used to determine the variable type
stored in a heterogenous list. The value returned from
llGetListEntryType can be used for comparison against
these constants.
Type Constants
<Word name="TYPE_INTEGER">The list entry is an integer.</Word>
<Word name="TYPE_FLOAT">The list entry is a float.</Word>
<Word name="TYPE_STRING">The list entry is a string.</Word>
<Word name="TYPE_KEY">The list entry is a key.</Word>
<Word name="TYPE_VECTOR">The list entry is a vector.</Word>
<Word name="TYPE_ROTATION">The list entry is a rotation.</Word>
<Word name="TYPE_INVALID">The list entry is invalid.</Word>
</WordsSubsection>
<WordsSubsection name="C.12. Agent Info Constants">
Each of these constants represents a bit in the integer
returned from the llGetAgentInfo function and can be used
in an expression to determine the specified information
about an agent.
Agent Info Constants
<Word name="AGENT_ALWAYS_RUN" value="" />
<Word name="AGENT_ATTACHMENTS" value="">The agent has attachments.</Word>
<Word name="AGENT_AUTOPILOT" value="0x2000"></Word>
<Word name="AGENT_AWAY" value="" />
<Word name="AGENT_BUSY" value="" />
<Word name="AGENT_CROUCHING" value="" />
<Word name="AGENT_FLYING" value="">The agent is flying.</Word>
<Word name="AGENT_IN_AIR" value="" />
<Word name="AGENT_MOUSELOOK" value="" />
<Word name="AGENT_ON_OBJECT" value="" />
<Word name="AGENT_SITTING" value="" />
<Word name="AGENT_SCRIPTED" value="">The agent has scripted attachments.</Word>
<Word name="AGENT_TYPING" value="" />
<Word name="AGENT_WALKING" value="" />
</WordsSubsection>
<WordsSubsection name="C.13. Texture Animation Constants">
These constants are used in the llSetTextureAnim api to
control the animation mode.
Texture Animation Constants
<Word name="ANIM_ON">
Texture animation is on.
</Word>
<Word name="LOOP">
Loop the texture animation.
</Word>
<Word name="PING_PONG">
play animation going forwards, then backwards.
</Word>
<Word name="REVERSE">
Play animation in reverse direction.
</Word>
<Word name="ROTATE">
Animate texture rotation.
</Word>
<Word name="SCALE">
Animate the texture scale.
</Word>
<Word name="SMOOTH">
slide in the X direction, instead of playing separate frames.
</Word>
</WordsSubsection>
<WordsSubsection name="C.14. Particle System Constants">
These constants are used in calls to the llParticleSystem
api to specify parameters.
Particle System Parameters
<Word name="PSYS_PART_BOUNCE_MASK" value="">
Particles bounce off of a plane at the objects Z height.
</Word>
<Word name="PSYS_PART_EMISSIVE_MASK" value="">
The particle glows.
</Word>
<Word name="PSYS_PART_END_ALPHA" value="">
a float which determines the ending alpha of the object.
</Word>
<Word name="PSYS_PART_END_COLOR" value="">
a vector &lt;r, g, b&gt; which determines the ending
color of the object.
</Word>
<Word name="PSYS_PART_END_SCALE" value="">
a vector &lt;sx, sy, z&gt;, which is the ending
size of the particle billboard in meters (z is ignored).
</Word>
<Word name="PSYS_PART_FLAGS" value="">
Each particle that is emitted by the particle system is
simulated based on the following flags. To use
multiple flags, bitwise or (|) them together.
PSYS_PART_FLAGS Values
</Word>
<Word name="PSYS_PART_FOLLOW_SRC_MASK" value="">
The particle position is relative to the source objects position.
</Word>
<Word name="PSYS_PART_FOLLOW_VELOCITY_MASK" value="">
The particle orientation is rotated so the vertical
axis faces towards the particle velocity.
</Word>
<Word name="PSYS_PART_INTERP_COLOR_MASK" value="">
Interpolate both the color and alpha from the start
value to the end value.
</Word>
<Word name="PSYS_PART_INTERP_SCALE_MASK" value="">
Interpolate the particle scale from the start value
to the end value.
</Word>
<Word name="PSYS_PART_MAX_AGE" value="">
age in seconds of a particle at which it dies.
</Word>
<Word name="PSYS_PART_START_ALPHA" value="">
a float which determines the starting alpha of the object.
</Word>
<Word name="PSYS_PART_START_COLOR">
a vector &lt;r, g, b&gt; which determines the starting colour of the object.
</Word>
<Word name="PSYS_PART_START_SCALE" value="">
a vector &lt;sx, sy, z&gt;,
which is the starting size of the particle billboard
in meters (z is ignored).
</Word>
<Word name="PSYS_PART_TARGET_LINEAR_MASK" value="" />
<Word name="PSYS_PART_TARGET_POS_MASK" value="">
The particle heads towards the location of the target
object as defined by PSYS_SRC_TARGET_KEY.
</Word>
<Word name="PSYS_PART_WIND_MASK" value="">
Particles have their velocity damped towards the wind velocity.
</Word>
<Word name="PSYS_SRC_ACCEL" value="">
A vector &lt;x, y, z&gt; which is the acceleration to apply on particles.
</Word>
<Word name="PSYS_SRC_BURST_RATE" value="">
how often to release a particle burst (float seconds).
</Word>
<Word name="PSYS_SRC_ANGLE_BEGIN" value="">
Area in radians specifying where particles
will NOT be created (for ANGLE patterns)
</Word>
<Word name="PSYS_SRC_ANGLE_END" value="">
Area in radians filled with particles
(for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN,
acts as PSYS_SRC_ANGLE_BEGIN itself,
and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END)
</Word>
<Word name="PSYS_SRC_INNERANGLE" value="">
specifies the inner angle of the arc created
by the PSYS_PART_SRC_PATTERN_ANGLE or
PSYS_PART_SRC_PATTERN_ANGLE_CONE source pattern.
The area specified will not have particles
in it..
</Word>
<Word name="PSYS_SRC_BURST_PART_COUNT" value="">
how many particles to release in a burst.
</Word>
<Word name="PSYS_SRC_BURST_RADIUS" value="">
what distance from the center of the object
to create the particles.
</Word>
<Word name="PSYS_SRC_BURST_SPEED_MIN" value="">
minimum speed that a particle should be moving.
</Word>
<Word name="PSYS_SRC_BURST_SPEED_MAX" value="">
maximum speed that a particle should be moving.
</Word>
<Word name="PSYS_SRC_MAX_AGE" value="">
how long this particle system should last,
0.0 menas forever.
</Word>
<Word name="PSYS_SRC_OMEGA" value="">
Sets the angular velocity to rotate the axis
that SRC_PATTERN_ANGLE and
SRC_PATTERN_ANGLE_CONE use..
</Word>
<Word name="PSYS_SRC_OUTERANGLE" value="">
specifies the outer angle of the arc created
by the PSYS_PART_SRC_PATTERN_ANGLE or
PSYS_PART_SRC_PATTERN_ANGLE_CONE source pattern.
The area between the outer and inner angle
will be filled with particles..
</Word>
<Word name="PSYS_SRC_PATTERN" value="">
The pattern which is used to generate particles.
Use one of the following values:
PSYS_SRC_PATTERN Values
</Word>
<Word name="PSYS_SRC_PATTERN_ANGLE" value="" />
<Word name="PSYS_SRC_PATTERN_ANGLE_CONE" value="" />
<Word name="PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY" value="" />
<Word name="PSYS_SRC_PATTERN_DROP" value="" />
<Word name="PSYS_SRC_PATTERN_EXPLODE" value="" />
<Word name="PSYS_SRC_TARGET_KEY" value="">
the key of a target object to move towards
if PSYS_PART_TARGET_POS_MASK is enabled.
</Word>
<Word name="PSYS_SRC_TEXTURE" value="">
an asset name for the texture to use for the particles.
</Word>
</WordsSubsection>
<WordsSubsection name="C.15. Agent Data Constants">
These constants are used in calls to the
llRequestAgentData api to collect information about
an agent which will
be provided in the dataserver event.
<Word name="DATA_BORN">
The date the agent was born returned in ISO 8601 format of YYYY-MM-DD.
</Word>
<Word name="DATA_NAME">
The name of the agent.
</Word>
<Word name="DATA_ONLINE">
"1" for online "0" for offline.
</Word>
<Word name="DATA_PAYINFO" value="8" />
<Word name="DATA_RATING">
Returns the agent ratings as a comma separated string
of six integers. They are:
1. Positive rated behavior
2. Negative rated behavior
3. Positive rated appearance
4. Negative rated appearance
5. Positive rated building
6. Negative rated building
</Word>
<Word name="DATA_SIM_POS" />
<Word name="DATA_SIM_RATING" />
<Word name="DATA_SIM_STATUS" />
</WordsSubsection>
<WordsSubsection name="C.16. Float Constants">
LSL provides a small collection of floating point
constants for use in float arithmetic.
These constants are usually
employed while performing trigonometric calculations,
but are sometimes useful for other applications such as
specifying arc radians to sensor or particle system functions.
Float Constants
<Word name="DEG_TO_RAD">
0.01745329 - Number of radians per degree.
You can use this to convert degrees to radians by multiplying
the degrees by this number.
</Word>
<Word name="PI">
3.14159265 - The radians of a hemicircle.
</Word>
<Word name="PI_BY_TWO">
1.57079633 - The radians of a quarter circle.
</Word>
<Word name="RAD_TO_DEG">
57.2957795 - Number of degrees per radian.
You can use this number to convert radians to degrees by
multiplying the radians by this number.
</Word>
<Word name="SQRT2">
1.41421356 - The square root of 2.
</Word>
<Word name="TWO_PI">
6.28318530 - The radians of a circle.
</Word>
</WordsSubsection>
<WordsSubsection name="C.17. Key Constant">
There is only one key constant which acts as an invalid key: NULL_KEY.
<Word name="TEXTURE_BLANK"></Word>
<Word name="TEXTURE_DEFAULT"></Word>
<Word name="TEXTURE_PLYWOOD"></Word>
<Word name="TEXTURE_TRANSPARENT"></Word>
<Word name="TEXTURE_MEDIA"></Word>
<Word name="NULL_KEY" />
</WordsSubsection>
<WordsSubsection name="C.18. Miscellaneous Integer Constants">
There is one uncategorized integer constant
which is used in some of the texturing and coloring api: ALL_SIDES
<Word name="ALL_SIDES" />
</WordsSubsection>
<WordsSubsection name="C.19. Miscellaneous String Constants">
There is one uncategorized string constant
which is used in the dataserver event: EOF
<Word name="EOF" />
</WordsSubsection>
<WordsSubsection name="C.20. Vector Constants">
There is only one vector constant which
acts as a zero vector: ZERO_VECTOR = &lt;0,0,0&gt;.
<Word name="TOUCH_INVALID_TEXCOORD" type="vector" value="&lt;-1.0, -1.0, 0.0&gt;"></Word>
<Word name="ZERO_VECTOR" />
</WordsSubsection>
<WordsSubsection name="C.21. Rotation Constant">
There is only one rotation constant
which acts as a zero rotation: ZERO_ROTATION = &lt;0,0,0,1&gt;.
<Word name="ZERO_ROTATION" />
</WordsSubsection>
<WordsSubsection name="C.22. Vehicle Parameters">
Parameters
<Word name="VEHICLE_HOVER_EFFICIENCY" />
<Word name="VEHICLE_HOVER_TIMESCALE" />
<Word name="VEHICLE_LINEAR_MOTOR_OFFSET" />
<Word name="VEHICLE_LINEAR_FRICTION_TIMESCALE">
A vector of timescales for exponential
decay of the vehicles linear velocity along its preferred axes of
motion (at, left, up).
Range = [0.07, inf) seconds for each element of the vector.
</Word>
<Word name="VEHICLE_ANGULAR_FRICTION_TIMESCALE">
A vector of timescales for exponential
decay of the vehicles angular velocity about its preferred axes of
motion (at, left, up).
Range = [0.07, inf) seconds for each element of the vector.
</Word>
<Word name="VEHICLE_LINEAR_MOTOR_DIRECTION">
The direction and magnitude (in preferred frame)
of the vehicles linear motor. The vehicle will accelerate
(or decelerate if necessary) to match its velocity to its motor.
Range of magnitude = [0, 30] meters/second.
</Word>
<Word name="VEHICLE_LINEAR_MOTOR_TIMESCALE">
The timescale for exponential approach to full linear motor velocity.
</Word>
<Word name="VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE">
The timescale for exponential decay of the linear motors magnitude.
</Word>
<Word name="VEHICLE_ANGULAR_MOTOR_DIRECTION">
The direction and magnitude (in preferred frame)
of the vehicles angular motor.The vehicle will accelerate
(or decelerate if necessary) to match its velocity to its motor.
</Word>
<Word name="VEHICLE_ANGULAR_MOTOR_TIMESCALE">
The timescale for exponential approach to full angular motor velocity.
</Word>
<Word name="VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE">
The timescale for exponential decay of the angular motors magnitude.
</Word>
<Word name="VEHICLE_HOVER_HEIGHT">
The height (above the terrain or water, or global)
at which the vehicle will try to hover.
</Word>
<Word name="VEHICLE_BUOYANCY">
A slider between minimum (0.0) and maximum anti-gravity (1.0).
</Word>
<Word name="VEHICLE_LINEAR_DEFLECTION_EFFICIENCY">
A slider between minimum (0.0) and maximum (1.0)
deflection of linear velocity. That is, its a simple
scalar for modulating the strength of linear deflection.
</Word>
<Word name="VEHICLE_LINEAR_DEFLECTION_TIMESCALE">
The timescale for exponential success of linear
deflection deflection. It is another way to specify how much
time it takes for the vehicles linear velocity
to be redirected to its preferred axis of motion.
</Word>
<Word name="VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY">
A slider between minimum (0.0) and maximum (1.0)
deflection of angular orientation. That is, its a simple
scalar for modulating the strength of angular
deflection such that the vehicles preferred axis of motion
points toward its real velocity.
</Word>
<Word name="VEHICLE_ANGULAR_DEFLECTION_TIMESCALE">
The timescale for exponential success of linear
deflection deflection. Its another way to specify the strength
of the vehicles tendency to reorient itself so
that its preferred axis of motion agrees with its true velocity.
</Word>
<Word name="VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY">
A slider between minimum (0.0 = wobbly) and
maximum (1.0 = firm as possible) stability of the vehicle to
keep itself upright.
</Word>
<Word name="VEHICLE_VERTICAL_ATTRACTION_TIMESCALE">
The period of wobble, or timescale for
exponential approach, of the vehicle to rotate such that its preferred
"up" axis is oriented along the worlds "up" axis.
</Word>
<Word name="VEHICLE_BANKING_EFFICIENCY">
A slider between anti (-1.0), none (0.0),
and maxmum (1.0) banking strength.
</Word>
<Word name="VEHICLE_BANKING_MIX">
A slider between static (0.0) and dynamic (1.0)
banking. "Static" means the banking scales only with the
angle of roll, whereas "dynamic" is a term
that also scales with the vehicles linear speed.
</Word>
<Word name="VEHICLE_BANKING_TIMESCALE">
The timescale for banking to exponentially
approach its maximum effect. This is another way to scale the
strength of the banking effect, however it affects the
term that is proportional to the difference between what
the banking behavior is trying to do, and what the
vehicle is actually doing.
</Word>
<Word name="VEHICLE_REFERENCE_FRAME">
A rotation of the vehicles preferred axes of
motion and orientation (at, left, up) with respect to the vehicles
local frame (x, y, z).
</Word>
</WordsSubsection>
<WordsSubsection name="C.23. Vehicle Flags">
Flags
<Word name="VEHICLE_FLAG_CAMERA_DECOUPLED" />
<Word name="VEHICLE_FLAG_MOUSELOOK_BANK" />
<Word name="VEHICLE_FLAG_MOUSELOOK_STEER" />
<Word name="VEHICLE_FLAG_NO_FLY_UP">
Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP
</Word>
<Word name="VEHICLE_FLAG_NO_DEFLECTION_UP">
This flag prevents linear deflection parallel to world z-axis.
This is useful for preventing ground vehicles
with large linear deflection, like bumper cars,
from climbing their linear deflection into the sky.
</Word>
<Word name="VEHICLE_FLAG_LIMIT_ROLL_ONLY">
For vehicles with vertical attractor
that want to be able to climb/dive, for instance,
airplanes that want to use the banking feature.
</Word>
<Word name="VEHICLE_FLAG_HOVER_WATER_ONLY">
Ignore terrain height when hovering.
</Word>
<Word name="VEHICLE_FLAG_HOVER_TERRAIN_ONLY">
Ignore water height when hovering.
</Word>
<Word name="VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT">
Hover at global height.
</Word>
<Word name="VEHICLE_FLAG_HOVER_UP_ONLY">
Hover doesnt push down. Use this flag for hovering vehicles
that should be able to jump above their hover
height.
</Word>
<Word name="VEHICLE_FLAG_LIMIT_MOTOR_UP">
Prevents ground vehicles from motoring into the sky.
</Word>
</WordsSubsection>
<WordsSubsection name="C.24. Vehicle Types">
Types
<Word name="VEHICLE_TYPE_AIRPLANE">
Uses linear deflection for lift, no hover, and banking to turn.
// very little friction along forward-back axis
llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, &lt;200, 10, 5&gt; );
// uniform angular friction
llSetVehicleFloatParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, 20 );
// linear motor
llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 2 );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 );
// angular motor
llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 4 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 8 );
// no hover
llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 );
llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0.5 );
llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 1000 );
llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0 );
// linear deflection
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.5 );
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 0.5 );
// angular deflection
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 1.0 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 2.0 );
// vertical attractor
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.9 );
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2 );
// banking
llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 1 );
llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.7 );
llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 2 );
// default rotation of local frame
llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, &lt;0, 0, 0, 1&gt; );
// remove these flags
llRemoveVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP
| VEHICLE_FLAG_HOVER_WATER_ONLY
| VEHICLE_FLAG_HOVER_TERRAIN_ONLY
| VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT
| VEHICLE_FLAG_HOVER_UP_ONLY
| VEHICLE_FLAG_LIMIT_MOTOR_UP );
// set these flags
llSetVehicleFlags( VEHICLE_FLAG_LIMIT_ROLL_ONLY );
</Word>
<Word name="VEHICLE_TYPE_BALLOON">
Hover, and friction, but no deflection.
// uniform linear friction
llSetVehicleFloatParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, 5 );
// uniform angular friction
llSetVehicleFloatParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, 10 );
// linear motor
llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 5 );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 );
// angular motor
llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 6 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 10 );
// hover
llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 5 );
llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0.8 );
llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 10 );
llSetVehicleFloatParam( VEHICLE_BUOYANCY, 1 );
// no linear deflection
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 5 );
// no angular deflection
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 5 );
// no vertical attractor
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1 );
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1000 );
// no banking
llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.7 );
llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 5 );
// default rotation of local frame
llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, &lt;0, 0, 0, 1&gt; );
// remove all flags
llRemoveVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP
| VEHICLE_FLAG_HOVER_WATER_ONLY
| VEHICLE_FLAG_LIMIT_ROLL_ONLY
| VEHICLE_FLAG_HOVER_TERRAIN_ONLY
| VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT
| VEHICLE_FLAG_HOVER_UP_ONLY
| VEHICLE_FLAG_LIMIT_MOTOR_UP );
</Word>
<Word name="VEHICLE_TYPE_BOAT">
Hovers over water with lots of friction and some anglar deflection.
// least for forward-back, most friction for up-down
llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, &lt;10, 3, 2&gt; );
// uniform angular friction (setting it as a scalar rather than a vector)
llSetVehicleFloatParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, 10 );
// linear motor wins after about five seconds, decays after about a minute
llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 5 );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 );
// angular motor wins after four seconds, decays in same amount of time
llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 4 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 4 );
// hover
llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 );
llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0.5 );
llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 2.0 );
llSetVehicleFloatParam( VEHICLE_BUOYANCY, 1 );
// halfway linear deflection with timescale of 3 seconds
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.5 );
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 3 );
// angular deflection
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.5 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 5 );
// somewhat bounscy vertical attractor
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5 );
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 5 );
// weak negative damped banking
llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, -0.3 );
llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.8 );
llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 1 );
// default rotation of local frame
llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, &lt;0, 0, 0, 1&gt; );
// remove these flags
llRemoveVehicleFlags( VEHICLE_FLAG_HOVER_TERRAIN_ONLY
| VEHICLE_FLAG_LIMIT_ROLL_ONLY
| VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT);
// set these flags
llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP
| VEHICLE_FLAG_HOVER_WATER_ONLY
| VEHICLE_FLAG_HOVER_UP_ONLY
| VEHICLE_FLAG_LIMIT_MOTOR_UP );
</Word>
<Word name="VEHICLE_TYPE_CAR">
Another vehicle that bounces along the ground but needs
the motors to be driven from external controls or
timer events.
// most friction for left-right, least for up-down
llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, &lt;100, 2, 1000&gt; );
// no angular friction
llSetVehicleVectorParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, &lt;1000, 1000, 1000&gt; );
// linear motor wins after about a second, decays after about a minute
llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 1 );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 );
// angular motor wins after a second, decays in less time than that
llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.8 );
// no hover
llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 );
llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 1000 );
llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0 );
// maximum linear deflection with timescale of 2 seconds
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1 );
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 2 );
// no angular deflection
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 10 );
// critically damped vertical attractor
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1 );
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 10 );
// weak negative critically damped banking
llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, -0.2 );
llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 1 );
llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 1 );
// default rotation of local frame
llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, &lt;0, 0, 0, 1&gt; );
// remove these flags
llRemoveVehicleFlags( VEHICLE_FLAG_HOVER_WATER_ONLY
| VEHICLE_FLAG_HOVER_TERRAIN_ONLY
| VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT);
// set these flags
llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP
| VEHICLE_FLAG_LIMIT_ROLL_ONLY
| VEHICLE_FLAG_HOVER_UP_ONLY
| VEHICLE_FLAG_LIMIT_MOTOR_UP );
</Word>
<Word name="VEHICLE_TYPE_NONE" />
<Word name="VEHICLE_TYPE_SLED">
Simple vehicle that bumps along the ground,
and likes to move along its local x-axis.
// most friction for left-right, least for up-down
llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, &lt;30, 1, 1000&gt; );
// no angular friction
llSetVehicleVectorParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, &lt;1000, 1000, 1000&gt; );
// no linear motor
llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 1000 );
llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 120 );
// no angular motor
llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, &lt;0, 0, 0&gt; );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1000 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 120 );
// no hover (but with timescale of 10 sec if enabled)
llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 );
llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 10 );
llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 10 );
llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0 );
// maximum linear deflection with timescale of 1 second
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1 );
llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1 );
// no angular deflection
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 10 );
// no vertical attractor (doesnt mind flipping over)
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1 );
llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1000 );
// no banking
llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 0 );
llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 1 );
llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 10 );
// default rotation of local frame
llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, &lt;0, 0, 0, 1&gt; );
// remove these flags
llRemoveVehicleFlags( VEHICLE_FLAG_HOVER_WATER_ONLY
| VEHICLE_FLAG_HOVER_TERRAIN_ONLY
| VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT
| VEHICLE_FLAG_HOVER_UP_ONLY );
// set these flags (the limit_roll flag will have no effect
// until banking is enabled, if ever)
llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP
| VEHICLE_FLAG_LIMIT_ROLL_ONLY
| VEHICLE_FLAG_LIMIT_MOTOR_UP );
</Word>
</WordsSubsection>
<WordsSubsection name="C.25. Character constants">
<Word name="AVOID_CHARACTERS" type="integer" value="1"></Word>
<Word name="AVOID_DYNAMIC_OBSTACLES" type="integer" value="2"></Word>
<Word name="AVOID_NONE" type="integer" value="0"></Word>
<Word name="CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES" type="integer" value="14">If set to false, character will not attempt to catch up on lost time when pathfinding performance is low, potentially providing more reliable movement (albeit while potentially appearing to be more stuttery). Default is true to match pre-existing behavior.</Word>
<Word name="CHARACTER_AVOIDANCE_MODE" type="integer" value="5" status="beta">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.</Word>
<Word name="CHARACTER_CMD_JUMP" type="integer" value="0x01" status="beta">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.</Word>
<Word name="CHARACTER_CMD_SMOOTH_STOP" type="integer" value="2" status="beta" />
<Word name="CHARACTER_CMD_STOP" type="integer" value="0x00" status="beta">Stops any current pathfinding operation.</Word>
<Word name="CHARACTER_DESIRED_SPEED" type="integer" value="1" status="beta">Speed of pursuit in meters per second.</Word>
<Word name="CHARACTER_DESIRED_TURN_SPEED" type="integer" value="12" status="beta">The character&apos;s maximum speed while turning--note that this is only loosely enforced (i.e., a character may turn at higher speeds under certain conditions).</Word>
<Word name="CHARACTER_LENGTH" type="integer" value="3" status="beta">Set collision capsule length - cannot be less than two times the radius.</Word>
<Word name="CHARACTER_MAX_ACCEL" type="integer" value="8" status="beta">The character&apos;s maximum acceleration rate.</Word>
<Word name="CHARACTER_MAX_DECEL" type="integer" value="9" status="beta">The character&apos;s maximum deceleration rate.</Word>
<Word name="CHARACTER_MAX_SPEED" type="integer" value="13" status="beta">The character&apos;s maximum speed.</Word>
<Word name="CHARACTER_MAX_TURN_RADIUS" type="integer" value="10" status="beta">The character&apos;s turn radius when travelling at CHARACTER_MAX_TURN_SPEED.</Word>
<Word name="CHARACTER_ORIENTATION" type="integer" value="4" status="beta">Valid options are: VERTICAL, HORIZONTAL.</Word>
<Word name="CHARACTER_RADIUS" type="integer" value="2" status="beta">Set collision capsule radius.</Word>
<Word name="CHARACTER_STAY_WITHIN_PARCEL" type="integer" value="15">Takes a boolean parameter. If TRUE, the character cannot voluntarilly leave the parcel, but can return to it.</Word>
<Word name="CHARACTER_TYPE" type="integer" value="6" status="beta">Specifies which walk-ability coefficient will be used by this character.</Word>
<Word name="CHARACTER_TYPE_A" type="integer" value="0" status="beta" />
<Word name="CHARACTER_TYPE_B" type="integer" value="1" status="beta" />
<Word name="CHARACTER_TYPE_C" type="integer" value="2" status="beta" />
<Word name="CHARACTER_TYPE_D" type="integer" value="3" status="beta" />
<Word name="CHARACTER_TYPE_NONE" type="integer" value="4" status="beta" />
<Word name="FORCE_DIRECT_PATH" type="integer" value="1" status="beta">Makes character navigate in a straight line toward pos. May be set to TRUE or FALSE.</Word>
<Word name="GET_NAV_POINT_RADIUS" type="integer" value="0" status="beta" />
<Word name="PATROL_PAUSE_AT_WAYPOINTS" type="integer" value="0" status="beta" />
<Word name="PURSUIT_GOAL_TOLERANCE" type="integer" value="5" />
<Word name="TRAVERSAL_TYPE" type="integer" value="7" status="beta">One of TRAVERSAL_TYPE_FAST, TRAVERSAL_TYPE_SLOW, and TRAVERSAL_TYPE_NONE.</Word>
<Word name="TRAVERSAL_TYPE_FAST" type="integer" value="1" status="beta" />
<Word name="TRAVERSAL_TYPE_NONE" type="integer" value="2" status="beta" />
<Word name="TRAVERSAL_TYPE_SLOW" type="integer" value="0" status="beta" />
<Word name="WANDER_PAUSE_AT_WAYPOINTS" type="integer" value="0"></Word>
<Word name="PURSUIT_FUZZ_FACTOR" type="integer" value="3" status="beta">Selects a random destination near the offset.</Word>
<Word name="PURSUIT_INTERCEPT" type="integer" value="4" status="beta">Define whether the character attempts to predict the target's location.</Word>
<Word name="PURSUIT_OFFSET" type="integer" value="1" status="beta">Go to a position offset from the target.</Word>
<Word name="REQUIRE_LINE_OF_SIGHT" type="integer" value="2">Define whether the character needs a line-of-sight to give chase.</Word>
<Word name="HORIZONTAL" type="integer" value="1" />
<Word name="VERTICAL" type="integer" value="0"></Word>
</WordsSubsection>
<WordsSubsection name="C.26 JSON constants">
<Word name="JSON_APPEND" type="integer" value="-1"/>
<Word name="JSON_ARRAY" type="string" value="">U+FDD2</Word>
<Word name="JSON_DELETE" type="string" value="U+FFD8"></Word>
<Word name="JSON_FALSE" type="string" value="">U+FDD7</Word>
<Word name="JSON_INVALID" type="string" value="">U+FDD0</Word>
<Word name="JSON_NULL" type="string" value="">U+FDD5</Word>
<Word name="JSON_NUMBER" type="string" value="">U+FDD3</Word>
<Word name="JSON_OBJECT" type="string" value="">U+FDD1</Word>
<Word name="JSON_STRING" type="string" value="">U+FDD4</Word>
<Word name="JSON_TRUE" type="string" value="">>U+FDD6</Word>
</WordsSubsection>
<WordsSubsection name="C.27 Parcel Return constants">
<Word name="ERR_GENERIC" type="integer" value="-1"></Word>
<Word name="ERR_MALFORMED_PARAMS" type="integer" value="-3"></Word>
<Word name="ERR_PARCEL_PERMISSIONS" type="integer" value="-2"></Word>
<Word name="ERR_RUNTIME_PERMISSIONS" type="integer" value="-4"></Word>
<Word name="ERR_THROTTLED" type="integer" value="-5"></Word>
<Word name="OBJECT_RETURN_PARCEL" type="integer" value="1"></Word>
<Word name="OBJECT_RETURN_PARCEL_OWNER" type="integer" value="2"></Word>
<Word name="OBJECT_RETURN_REGION" type="integer" value="4"></Word>
</WordsSubsection>
<WordsSubsection name="C.99. Miscellaneous constants.">
Constants that do not fit into any of the previously defined categories.
<Word name="AGENT_LIST_PARCEL" />
<Word name="AGENT_LIST_PARCEL_OWNER" />
<Word name="AGENT_LIST_REGION" />
<Word name="CAMERA_ACTIVE" />
<Word name="CAMERA_BEHINDNESS_ANGLE" />
<Word name="CAMERA_BEHINDNESS_LAG" />
<Word name="CAMERA_DISTANCE" />
<Word name="CAMERA_FOCUS" />
<Word name="CAMERA_FOCUS_LAG" />
<Word name="CAMERA_FOCUS_LOCKED" />
<Word name="CAMERA_FOCUS_OFFSET" />
<Word name="CAMERA_FOCUS_THRESHOLD" />
<Word name="CAMERA_PITCH" />
<Word name="CAMERA_POSITION" />
<Word name="CAMERA_POSITION_LAG" />
<Word name="CAMERA_POSITION_LOCKED" />
<Word name="CAMERA_POSITION_THRESHOLD" />
<Word name="CLICK_ACTION_BUY">
When the prim is touched, the buy dialog is opened
</Word>
<Word name="CLICK_ACTION_OPEN_MEDIA">
When the prim is touched, the web media dialog is opened"
</Word>
<Word name="CLICK_ACTION_NONE">
Performs the default action: when the prim is touched, touch events are triggered"
</Word>
<Word name="CLICK_ACTION_OPEN">
When the prim is touched, the object inventory dialog is opened
</Word>
<Word name="CLICK_ACTION_PAY">
When the prim is touched, the pay dialog is opened
</Word>
<Word name="CLICK_ACTION_PLAY">
When the prim is touched, html-on-a-prim is enabled?
</Word>
<Word name="CLICK_ACTION_SIT">
When the prim is touched, the avatar sits upon it
</Word>
<Word name="CLICK_ACTION_TOUCH">
When the prim is touched, touch events are triggered"
</Word>
<Word name="CONTENT_TYPE_ATOM">"application/atom+xml"</Word>
<Word name="CONTENT_TYPE_FORM">"application/x-www-form-urlencoded"</Word>
<Word name="CONTENT_TYPE_HTML">"text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise.</Word>
<Word name="CONTENT_TYPE_JSON">"application/json"</Word>
<Word name="CONTENT_TYPE_LLSD">"application/llsd+xml"</Word>
<Word name="CONTENT_TYPE_RSS">"application/rss+xml"</Word>
<Word name="CONTENT_TYPE_TEXT">"text/plain"</Word>
<Word name="CONTENT_TYPE_XHTML">"application/xhtml+xml"</Word>
<Word name="CONTENT_TYPE_XML">"application/xml"</Word>
<Word name="DEBUG_CHANNEL">
DEBUG_CHANNEL is an integer constant that, when passed to
llSay, llWhisper, or llShout as a channel parameter,
will print text to the Script Warning/Error Window.
It has the value '2147483647'.
</Word>
<Word name="DENSITY">Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents)</Word>
<Word name="ESTATE_ACCESS_ALLOWED_AGENT_ADD" value="4">Add the agent to this estate's Allowed Residents list.</Word>
<Word name="ESTATE_ACCESS_ALLOWED_AGENT_REMOVE" value="8">Remove the agent from this estate's Allowed Residents list.</Word>
<Word name="ESTATE_ACCESS_ALLOWED_GROUP_ADD" value="16">Add the group to this estate's Allowed groups list.</Word>
<Word name="ESTATE_ACCESS_ALLOWED_GROUP_REMOVE" value="32">Remove the group from this estate's Allowed groups list.</Word>
<Word name="ESTATE_ACCESS_BANNED_AGENT_ADD" value="64">Add the agent to this estate's Banned residents list.</Word>
<Word name="ESTATE_ACCESS_BANNED_AGENT_REMOVE" value="128">Remove the agent from this estate's Banned residents list.</Word>
<Word name="FRICTION">Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0</Word>
<Word name="GRAVITY_MULTIPLIER" value="8">Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0</Word>
<Word name="HTTP_BODY_MAXLENGTH" />
<Word name="HTTP_BODY_TRUNCATED" />
<Word name="HTTP_CUSTOM_HEADER" value="5">Usage: 'HTTP_CUSTOM_HEADER, string, string'. Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache".</Word>
<Word name="HTTP_METHOD" />
<Word name="HTTP_MIMETYPE" />
<Word name="HTTP_PRAGMA_NO_CACHE" type="integer" value="6">Allows enabling/disbling of the "Pragma: no-cache" header.</Word>
<Word name="HTTP_VERBOSE_THROTTLE"></Word>
<Word name="HTTP_VERIFY_CERT" value="3" />
<Word name="KFM_CMD_PAUSE" value="2">For use with KFM_COMMAND.</Word>
<Word name="KFM_CMD_PLAY" value="0">For use with KFM_COMMAND.</Word>
<Word name="KFM_CMD_STOP" value="1">For use with KFM_COMMAND.</Word>
<Word name="KFM_COMMAND" value="0"></Word>
<Word name="KFM_DATA" value="2"></Word>
<Word name="KFM_FORWARD" value="0">For use with KFM_MODE.</Word>
<Word name="KFM_LOOP" value="1">For use with KFM_MODE.</Word>
<Word name="KFM_MODE" value="1"></Word>
<Word name="KFM_PING_PONG" value="2">For use with KFM_MODE.</Word>
<Word name="KFM_REVERSE" value="2">For use with KFM_MODE.</Word>
<Word name="KFM_ROTATION" value="1">For use with KFM_DATA.</Word>
<Word name="KFM_TRANSLATION" value="2">For use with KFM_DATA.</Word>
<Word name="LIST_STAT_GEOMETRIC_MEAN" />
<Word name="LIST_STAT_MAX" />
<Word name="LIST_STAT_MEAN" />
<Word name="LIST_STAT_MEDIAN" />
<Word name="LIST_STAT_MIN" />
<Word name="LIST_STAT_NUM_COUNT" />
<Word name="LIST_STAT_RANGE" />
<Word name="LIST_STAT_STD_DEV" />
<Word name="LIST_STAT_SUM" />
<Word name="LIST_STAT_SUM_SQUARES" />
<Word name="OBJECT_ATTACHED_POINT" value="19">Gets the attachment point to which the object is attached.</Word>
<Word name="OBJECT_CHARACTER_TIME" value="17"></Word>
<Word name="OBJECT_CREATOR" value="8">Gets the object's creator key.
If id is an avatar, a NULL_KEY is returned.
</Word>
<Word name="OBJECT_DESC" value="">Gets the object's description.
If id is an avatar, an empty string is returned.
</Word>
<Word name="OBJECT_GROUP" value="">Gets the prims's group key.
If id is an avatar, a NULL_KEY is returned.
</Word>
<Word name="OBJECT_NAME" value="">Gets the object's name.</Word>
<Word name="OBJECT_OWNER" value="">Gets an object's owner's key.
If id is group owned, a NULL_KEY is returned.
</Word>
<Word name="OBJECT_PATHFINDING_TYPE" type="integer" value="20">Returns the pathfinding setting of any object in the region. It returns an integer matching one of the OPT_* constants.</Word>
<Word name="OBJECT_PHANTOM" type="integer" value="22">Returns boolean, detailing if phantom is enabled or disabled on the object.
If id is an avatar or attachment, 0 is returned.</Word>
<Word name="OBJECT_PHYSICS" type="integer" value="21">Returns boolean, detailing if physics is enabled or disabled on the object.
If id is an avatar or attachment, 0 is returned.</Word>
<Word name="OBJECT_POS" value="">Gets the object's position in region coordinates.</Word>
<Word name="OBJECT_ROOT" type="integer" value="18">Gets the id of the root prim of the object requested.</Word>
<Word name="OBJECT_ROT" value="">Gets the object's rotation.</Word>
<Word name="OBJECT_TEMP_ON_REZ" type="integer" value="23">Returns boolean, detailing if temporary is enabled or disabled on the object.</Word>
<Word name="OBJECT_VELOCITY" value="">Gets the object's velocity.</Word>
<Word name="OBJECT_STREAMING_COST" value="15"></Word>
<Word name="OBJECT_PHYSICS_COST" value="16"></Word>
<Word name="OBJECT_SERVER_COST" value="14"></Word>
<Word name="OBJECT_PRIM_EQUIVALENCE" value="13"></Word>
<Word name="OBJECT_RUNNING_SCRIPT_COUNT" value="9" />
<Word name="OBJECT_SCRIPT_MEMORY" value="11" />
<Word name="OBJECT_SCRIPT_TIME" value="12" />
<Word name="OBJECT_TOTAL_SCRIPT_COUNT" value="10" />
<Word name="OBJECT_UNKNOWN_DETAIL" value="-1" />
<Word name="OPT_AVATAR" type="integer" value="1">Returned for avatars.</Word>
<Word name="OPT_CHARACTER" type="integer" value="2">Returned for pathfinding characters.</Word>
<Word name="OPT_EXCLUSION_VOLUME" type="integer" value="6">Returned for exclusion volumes.</Word>
<Word name="OPT_LEGACY_LINKSET" type="integer" value="0">Returned for movable obstacles, movable phantoms, physical, and volumedetect objects.</Word>
<Word name="OPT_MATERIAL_VOLUME" type="integer" value="5">Returned for material volumes.</Word>
<Word name="OPT_OTHER" type="integer" value="-1">Returned for attachments, Linden trees, and grass.</Word>
<Word name="OPT_STATIC_OBSTACLE" type="integer" value="4">Returned for static obstacles.</Word>
<Word name="OPT_WALKABLE" type="integer" value="3">Returned for walkable objects.</Word>
<Word name="MASK_BASE" />
<Word name="MASK_EVERYONE" />
<Word name="MASK_GROUP" />
<Word name="MASK_NEXT" />
<Word name="MASK_OWNER" />
<Word name="PARCEL_COUNT_GROUP" value="2" />
<Word name="PARCEL_COUNT_OTHER" value="3" />
<Word name="PARCEL_COUNT_OWNER" value="1" />
<Word name="PARCEL_COUNT_SELECTED" value="4" />
<Word name="PARCEL_COUNT_TEMP" value="5" />
<Word name="PARCEL_COUNT_TOTAL" value="0" />
<Word name="PARCEL_DETAILS_AREA" value="4" />
<Word name="PARCEL_DETAILS_DESC" value="1" />
<Word name="PARCEL_DETAILS_GROUP" value="3" />
<Word name="PARCEL_DETAILS_ID" value="5" />
<Word name="PARCEL_DETAILS_NAME" value="0" />
<Word name="PARCEL_DETAILS_OWNER" value="2" />
<Word name="PARCEL_DETAILS_SEE_AVATARS" value="6">The parcel's avatar visibility setting. (1 char.).</Word>
<Word name="PARCEL_FLAG_ALLOW_CREATE_OBJECTS" />
<Word name="PARCEL_FLAG_ALLOW_DAMAGE" />
<Word name="PARCEL_FLAG_ALLOW_FLY" />
<Word name="PARCEL_FLAG_ALLOW_LANDMARK" />
<Word name="PARCEL_FLAG_ALLOW_SCRIPTS" />
<Word name="PARCEL_FLAG_ALLOW_TERRAFORM" />
<Word name="PARCEL_FLAG_LOCAL_SOUND_ONLY" />
<Word name="PARCEL_FLAG_USE_ACCESS_GROUP" />
<Word name="PARCEL_FLAG_USE_ACCESS_LIST" />
<Word name="PARCEL_FLAG_USE_BAN_LIST" />
<Word name="PARCEL_FLAG_USE_LAND_PASS_LIST" />
<Word name="PARCEL_FLAG_ALLOW_GROUP_SCRIPTS" value="0x2000000" />
<Word name="PARCEL_FLAG_RESTRICT_PUSHOBJECT" value="0x200000" />
<Word name="PARCEL_MEDIA_COMMAND_AGENT" />
<Word name="PARCEL_MEDIA_COMMAND_AUTO_ALIGN" />
<Word name="PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS" />
<Word name="PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY" />
<Word name="PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY" />
<Word name="PARCEL_MEDIA_COMMAND_DESC" value="12">
Use this to get or set the parcel media description.
</Word>
<Word name="PARCEL_MEDIA_COMMAND_LOOP_SET" value="13">
Used to get or set the parcel's media looping variable.
</Word>
<Word name="PARCEL_MEDIA_COMMAND_PAUSE" />
<Word name="PARCEL_MEDIA_COMMAND_PLAY" />
<Word name="PARCEL_MEDIA_COMMAND_LOOP" />
<Word name="PARCEL_MEDIA_COMMAND_SIZE" value="11">
Use this to get or set the parcel media pixel resolution.
</Word>
<Word name="PARCEL_MEDIA_COMMAND_STOP" />
<Word name="PARCEL_MEDIA_COMMAND_TEXTURE" />
<Word name="PARCEL_MEDIA_COMMAND_TIME" />
<Word name="PARCEL_MEDIA_COMMAND_TYPE" value="10">
Use this to get or set the parcel media MIME type (e.g. "text/html").
</Word>
<Word name="PARCEL_MEDIA_COMMAND_UNLOAD" />
<Word name="PARCEL_MEDIA_COMMAND_URL" />
<Word name="PAY_DEFAULT" />
<Word name="PAY_HIDE" />
<Word name="PAYMENT_INFO_ON_FILE" value="1" />
<Word name="PAYMENT_INFO_USED" value="2" />
<Word name="PERM_ALL" />
<Word name="PERM_COPY" />
<Word name="PERM_MODIFY" />
<Word name="PERM_MOVE" />
<Word name="PERM_TRANSFER" />
<Word name="PRIM_BUMP_BARK" />
<Word name="PRIM_BUMP_BLOBS" />
<Word name="PRIM_BUMP_BRICKS" />
<Word name="PRIM_BUMP_BRIGHT" />
<Word name="PRIM_BUMP_CHECKER" />
<Word name="PRIM_BUMP_CONCRETE" />
<Word name="PRIM_BUMP_DARK" />
<Word name="PRIM_BUMP_DISKS" />
<Word name="PRIM_BUMP_GRAVEL" />
<Word name="PRIM_BUMP_LARGETILE" />
<Word name="PRIM_BUMP_NONE" />
<Word name="PRIM_BUMP_SHINY" />
<Word name="PRIM_BUMP_SIDING" />
<Word name="PRIM_BUMP_STONE" />
<Word name="PRIM_BUMP_STUCCO" />
<Word name="PRIM_BUMP_SUCTION" />
<Word name="PRIM_BUMP_TILE" />
<Word name="PRIM_BUMP_WEAVE" />
<Word name="PRIM_BUMP_WOOD" />
<Word name="PRIM_CAST_SHADOWS" />
<Word name="PRIM_COLOR" />
<Word name="PRIM_DESC" />
<Word name="PRIM_GLOW">
PRIM_GLOW is used to get or set the glow status of the face.
</Word>
<Word name="PRIM_FLEXIBLE" />
<Word name="PRIM_FULLBRIGHT" />
<Word name="PRIM_HOLE_DEFAULT" />
<Word name="PRIM_HOLE_CIRCLE" />
<Word name="PRIM_HOLE_SQUARE" />
<Word name="PRIM_HOLE_TRIANGLE" />
<Word name="PRIM_LINK_TARGET" />
<Word name="PRIM_MATERIAL" />
<Word name="PRIM_MATERIAL_FLESH" />
<Word name="PRIM_MATERIAL_GLASS" />
<Word name="PRIM_MATERIAL_LIGHT" />
<Word name="PRIM_MATERIAL_METAL" />
<Word name="PRIM_MATERIAL_PLASTIC" />
<Word name="PRIM_MATERIAL_RUBBER" />
<Word name="PRIM_MATERIAL_STONE" />
<Word name="PRIM_MATERIAL_WOOD" />
<Word name="PRIM_MEDIA_ALT_IMAGE_ENABLE" value="0" status="Unimplemented">Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type.</Word>
<Word name="PRIM_MEDIA_AUTO_LOOP" value="4">Boolean. Gets/Sets whether auto-looping is enabled.</Word>
<Word name="PRIM_MEDIA_AUTO_PLAY" value="5">Boolean. Gets/Sets whether the media auto-plays when a Resident can view it.</Word>
<Word name="PRIM_MEDIA_AUTO_SCALE" value="6">Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture.</Word>
<Word name="PRIM_MEDIA_AUTO_ZOOM" value="7">Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media.</Word>
<Word name="PRIM_MEDIA_CONTROLS" value="1">Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI.</Word>
<Word name="PRIM_MEDIA_CONTROLS_MINI" value="1">Mini web navigation controls; does not include an address bar.</Word>
<Word name="PRIM_MEDIA_CONTROLS_STANDARD" value="0">Standard web navigation controls.</Word>
<Word name="PRIM_MEDIA_CURRENT_URL" value="2">String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum.</Word>
<Word name="PRIM_MEDIA_FIRST_CLICK_INTERACT" value="8">Boolean. Gets/Sets whether the first click interaction is enabled.</Word>
<Word name="PRIM_MEDIA_HEIGHT_PIXELS" value="10">Integer. Gets/Sets the height of the media in pixels.</Word>
<Word name="PRIM_MEDIA_HOME_URL" value="3">String. Gets/Sets the home URL for the chosen face. 1024 characters maximum.</Word>
<Word name="PRIM_MEDIA_PERM_ANYONE" value="4"></Word>
<Word name="PRIM_MEDIA_PERM_GROUP" value="2"></Word>
<Word name="PRIM_MEDIA_PERM_NONE" value="0"></Word>
<Word name="PRIM_MEDIA_PERM_OWNER" value="1"></Word>
<Word name="PRIM_MEDIA_PERMS_CONTROL" value="14">Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER</Word>
<Word name="PRIM_MEDIA_PERMS_INTERACT" value="13">Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER</Word>
<Word name="PRIM_MEDIA_WHITELIST" value="12">String. Gets/Sets the whitelist as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first.</Word>
<Word name="PRIM_MEDIA_WHITELIST_ENABLE" value="11">Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST.</Word>
<Word name="PRIM_MEDIA_WIDTH_PIXELS" value="9">Integer. Gets/Sets the width of the media in pixels.</Word>
<Word name="PRIM_NAME" />
<Word name="PRIM_OMEGA"></Word>
<Word name="PRIM_PHANTOM" />
<Word name="PRIM_PHYSICS" />
<Word name="PRIM_PHYSICS_MATERIAL" value="31"></Word>
<Word name="PRIM_PHYSICS_SHAPE_CONVEX" value="2">Use the convex hull of the prim shape for physics (this is the default for mesh objects).</Word>
<Word name="PRIM_PHYSICS_SHAPE_NONE" value="1">Ignore this prim in the physics shape. NB: This cannot be applied to the root prim.</Word>
<Word name="PRIM_PHYSICS_SHAPE_PRIM" value="0">Use the normal prim shape for physics (this is the default for all non-mesh objects).</Word>
<Word name="PRIM_PHYSICS_SHAPE_TYPE" value="30">Allows you to set the physics shape type of a prim via lsl. Permitted values are:
PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX
</Word>
<Word name="PRIM_POINT_LIGHT" />
<Word name="PRIM_POS_LOCAL"></Word>
<Word name="PRIM_POSITION" value="" />
<Word name="PRIM_ROTATION" value="" />
<Word name="PRIM_ROT_LOCAL"></Word>
<Word name="PRIM_SCULPT_FLAG_INVERT" value="64">Render inside out (inverts the normals).</Word>
<Word name="PRIM_SCULPT_FLAG_MIRROR" value="128">Render an X axis mirror of the sculpty.</Word>
<Word name="PRIM_SHINY_HIGH" />
<Word name="PRIM_SHINY_LOW" />
<Word name="PRIM_SHINY_MEDIUM" />
<Word name="PRIM_SHINY_NONE" />
<Word name="PRIM_SIZE" />
<Word name="PRIM_SLICE" />
<Word name="PRIM_TEMP_ON_REZ" />
<Word name="PRIM_TEXGEN" />
<Word name="PRIM_TEXGEN_DEFAULT" />
<Word name="PRIM_TEXGEN_PLANAR" />
<Word name="PRIM_TEXTURE" />
<Word name="PRIM_TEXT" />
<Word name="PRIM_TYPE" />
<Word name="PRIM_TYPE_BOX" />
<Word name="PRIM_TYPE_CYLINDER" />
<Word name="PRIM_TYPE_PRISM" />
<Word name="PRIM_TYPE_SPHERE" />
<Word name="PRIM_TYPE_TORUS" />
<Word name="PRIM_TYPE_TUBE" />
<Word name="PRIM_TYPE_RING" />
<Word name="PRIM_TYPE_SCULPT" />
<Word name="PRIM_SCULPT_TYPE_MASK" />
<Word name="PRIM_SCULPT_TYPE_CYLINDER" />
<Word name="PRIM_SCULPT_TYPE_PLANE" />
<Word name="PRIM_SCULPT_TYPE_SPHERE" />
<Word name="PRIM_SCULPT_TYPE_TORUS" />
<Word name="PROFILE_NONE">Disables profiling</Word>
<Word name="PROFILE_SCRIPT_MEMORY">Enables memory profiling</Word>
<Word name="PU_EVADE_HIDDEN" type="integer" value="0x07">Triggered when an llEvade character thinks it has hidden from its pursuer.</Word>
<Word name="PU_EVADE_SPOTTED" type="integer" value="0x08">Triggered when an llEvade character switches from hiding to running</Word>
<Word name="PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED" type="integer" value="10"></Word>
<Word name="PU_FAILURE_INVALID_GOAL" type="integer" value="0x03" status="beta">Goal is not on the navigation-mesh and cannot be reached.</Word>
<Word name="PU_FAILURE_INVALID_START" type="integer" value="0x02" status="beta">Character cannot navigate from the current location - e.g., the character is off the navmesh or too high above it.</Word>
<Word name="PU_FAILURE_NO_NAVMESH" type="integer" value="0x09" status="beta">This is a fatal error reported to a character when there is no navmesh for the region. This usually indicates a server failure and users should file a bug report and include the time and region in which they received this message.</Word>
<Word name="PU_FAILURE_NO_VALID_DESTINATION" type="integer" value="0x06" status="beta">There's no good place for the character to go - e.g., it is patrolling and all the patrol points are now unreachable.</Word>
<Word name="PU_FAILURE_OTHER" type="integer" value="1000000" status="beta" />
<Word name="PU_FAILURE_TARGET_GONE" type="integer" value="0x05" status="beta">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.</Word>
<Word name="PU_FAILURE_PARCEL_UNREACHABLE" type="integer" value="11"></Word>
<Word name="PU_FAILURE_UNREACHABLE" type="integer" value="0x04" status="beta">Goal is no longer reachable for some reason - e.g., an obstacle blocks the path.</Word>
<Word name="PU_GOAL_REACHED" type="integer" value="0x01" status="beta">Character has reached the goal and will stop or choose a new goal (if wandering).</Word>
<Word name="PU_SLOWDOWN_DISTANCE_REACHED" type="integer" value="0x00" status="beta">Character is near current goal.</Word>
<Word name="PUBLIC_CHANNEL">
PUBLIC_CHANNEL is an integer constant that, when passed to
llSay, llWhisper, or llShout as a channel parameter,
will print text to the publicly heard chat channel. Has the value '0'.
</Word>
<Word name="RC_DATA_FLAGS" value="2" />
<Word name="RC_DETECT_PHANTOM" value="1" />
<Word name="RC_GET_LINK_NUM" value="4" />
<Word name="RC_GET_NORMAL" value="1" />
<Word name="RC_GET_ROOT_KEY" value="2" />
<Word name="RC_MAX_HITS" value="3" />
<Word name="RC_REJECT_AGENTS" value="1" />
<Word name="RC_REJECT_LAND" value="8" />
<Word name="RC_REJECT_NONPHYSICAL" value="4" />
<Word name="RC_REJECT_PHYSICAL" value="2" />
<Word name="RC_REJECT_TYPES" value="2" />
<Word name="RCERR_CAST_TIME_EXCEEDED" value="-3" />
<Word name="RCERR_SIM_PERF_LOW" value="-2" />
<Word name="RCERR_UNKNOWN" value="-1" />
<Word name="REGION_FLAG_ALLOW_DAMAGE" />
<Word name="REGION_FLAG_ALLOW_DIRECT_TELEPORT" />
<Word name="REGION_FLAG_BLOCK_FLY" />
<Word name="REGION_FLAG_BLOCK_TERRAFORM" />
<Word name="REGION_FLAG_DISABLE_COLLISIONS" />
<Word name="REGION_FLAG_DISABLE_PHYSICS" />
<Word name="REGION_FLAG_FIXED_SUN" />
<Word name="REGION_FLAG_RESTRICT_PUSHOBJECT" value="4194304" />
<Word name="REGION_FLAG_SANDBOX" />
<Word name="REMOTE_DATA_CHANNEL" />
<Word name="REMOTE_DATA_REPLY" />
<Word name="REMOTE_DATA_REQUEST" />
<Word name="RESTITUTION" value="4">Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0</Word>
<Word name="SIM_STAT_PCT_CHARS_STEPPED" type="integer" value="0">Returns the % of pathfinding characters skipped each frame, averaged over the last minute.</Word>
<Word name="STRING_TRIM" />
<Word name="STRING_TRIM_HEAD" />
<Word name="STRING_TRIM_TAIL" />
<Word name="TOUCH_INVALID_FACE" />
<Word name="TOUCH_INVALID_VECTOR" />
<Word name="URL_REQUEST_DENIED" />
<Word name="URL_REQUEST_GRANTED" />
</WordsSubsection>
</Words>
<Words name="Deprecated" color="#000000" slcolor="#000000">
<Word name="llMakeExplosion" />
<Word name="llMakeFire" />
<Word name="llMakeFountain" />
<Word name="llMakeSmoke" />
<Word name="llPointAt" />
<Word name="llRefreshPrimURL" />
<Word name="llReleaseCamera" />
<Word name="llRemoteDataSetRegion" />
<Word name="llRemoteLoadScript" />
<Word name="llSetPrimURL" />
<Word name="llSound" />
<Word name="llSoundPreload" />
<Word name="llStopPointAt" />
<Word name="llTakeCamera" />
<Word name="llXorBase64Strings" />
<Word name="llXorBase64StringsCorrect" />
</Words>
<Words name="Removed" color="#000000" slcolor="#000000">
<Word name="llGodLikeRezObject" />
<Word name="llSetInventoryPermMask" />
<Word name="llSetObjectPermMask" />
</Words>
<Words icon="Enum" name="Names" color="#A0A0A0" slcolor="#003300">
<Word name="aim_l_bow" />
<Word name="aim_r_bazooka" />
<Word name="aim_r_handgun" />
<Word name="aim_r_rifle" />
<Word name="angry_fingerwag" />
<Word name="angry_tantrum" />
<Word name="away" />
<Word name="backflip" />
<Word name="blowkiss" />
<Word name="bow" />
<Word name="brush" />
<Word name="busy" />
<Word name="clap" />
<Word name="courtbow" />
<Word name="crouch" />
<Word name="crouchwalk" />
<Word name="dance1" />
<Word name="dance2" />
<Word name="dance3" />
<Word name="dance4" />
<Word name="dance5" />
<Word name="dance6" />
<Word name="dance7" />
<Word name="dance8" />
<Word name="dead" />
<Word name="drink" />
<Word name="express_afraid" />
<Word name="express_afraid_emote" />
<Word name="express_anger" />
<Word name="express_anger_emote" />
<Word name="express_bored" />
<Word name="express_bored_emote" />
<Word name="express_cry" />
<Word name="express_cry_emote" />
<Word name="express_disdain" />
<Word name="express_embarrassed" />
<Word name="express_embarrassed_emote" />
<Word name="express_frown" />
<Word name="express_kiss" />
<Word name="express_laugh" />
<Word name="express_laugh_emote" />
<Word name="express_open_mouth" />
<Word name="express_repulsed" />
<Word name="express_repulsed_emote" />
<Word name="express_sad" />
<Word name="express_sad_emote" />
<Word name="express_shrug" />
<Word name="express_shrug_emote" />
<Word name="express_smile" />
<Word name="express_surprise" />
<Word name="express_surprise_emote" />
<Word name="express_tongue_out" />
<Word name="express_toothsmile" />
<Word name="express_wink" />
<Word name="express_wink_emote" />
<Word name="express_worry" />
<Word name="express_worry_emote" />
<Word name="falldown" />
<Word name="female_walk" />
<Word name="fist_pump" />
<Word name="fly" />
<Word name="flyslow" />
<Word name="hello" />
<Word name="hold_l_bow" />
<Word name="hold_r_bazooka" />
<Word name="hold_r_handgun" />
<Word name="hold_r_rifle" />
<Word name="hold_throw_r" />
<Word name="hover" />
<Word name="hover_down" />
<Word name="hover_up" />
<Word name="impatient" />
<Word name="jump " />
<Word name="jumpforjoy" />
<Word name="kick_roundhouse_r" />
<Word name="kissmybutt" />
<Word name="land" />
<Word name="laugh_short" />
<Word name="motorcycle_sit" />
<Word name="musclebeach" />
<Word name="no_head" />
<Word name="no_unhappy" />
<Word name="nyanya" />
<Word name="peace" />
<Word name="point_me" />
<Word name="point_you" />
<Word name="prejump" />
<Word name="punch_l" />
<Word name="punch_onetwo" />
<Word name="punch_r" />
<Word name="rps_countdown" />
<Word name="rps_paper" />
<Word name="rps_rock" />
<Word name="rps_scissors" />
<Word name="run" />
<Word name="salute" />
<Word name="shoot_l_bow" />
<Word name="shout" />
<Word name="sit" />
<Word name="sit_female" />
<Word name="sit_generic" />
<Word name="sit_ground" />
<Word name="sit_to_stand" />
<Word name="sleep" />
<Word name="smoke_idle" />
<Word name="smoke_inhale" />
<Word name="smoke_throw_down" />
<Word name="snapshot" />
<Word name="soft_land" />
<Word name="stand" />
<Word name="stand_1" />
<Word name="stand_2" />
<Word name="stand_3" />
<Word name="stand_4" />
<Word name="standup" />
<Word name="stretch" />
<Word name="stride" />
<Word name="surf" />
<Word name="sword_strike_r" />
<Word name="talk" />
<Word name="throw_r" />
<Word name="tryon_shirt" />
<Word name="turn_180" />
<Word name="turnback_180" />
<Word name="turnleft" />
<Word name="turnright" />
<Word name="type" />
<Word name="walk" />
<Word name="whisper" />
<Word name="whistle" />
<Word name="wink_hollywood" />
<Word name="yes_happy" />
<Word name="yes_head" />
<Word name="yoga_float" />
</Words>
</Conf>