Constants Reference
All LSL constants and their TypeScript equivalents. Auto-generated from source.
324 constants across 28 groups
Booleans
Standard boolean values. LSL uses integer 1/0 for TRUE/FALSE; the transpiler converts these to native TypeScript booleans.
| LSL Constant | TypeScript Equivalent |
|---|---|
TRUE |
true |
FALSE |
false |
Null Values
Sentinel values representing 'nothing.' NULL_KEY is the zero UUID used for missing objects or agents, and EOF signals end-of-data when reading notecards.
| LSL Constant | TypeScript Equivalent |
|---|---|
NULL_KEY |
"00000000-0000-0000-0000-000000000000" |
EOF |
"" |
Vectors & Rotations
Identity and sentinel values for 3D math. ZERO_VECTOR and ZERO_ROTATION are the most common defaults for position and orientation parameters.
| LSL Constant | TypeScript Equivalent |
|---|---|
ZERO_VECTOR |
Vector3.ZERO |
ZERO_ROTATION |
Quaternion.IDENTITY |
TOUCH_INVALID_TEXCOORD |
new Vector3(-1, -1, 0) |
PRIM_ROTATION |
8 |
TYPE_VECTOR |
5 |
TYPE_ROTATION |
6 |
Math Constants
Standard mathematical constants for trigonometry and angle conversion. Use DEG_TO_RAD and RAD_TO_DEG to convert between degrees and radians.
| LSL Constant | TypeScript Equivalent |
|---|---|
PI |
Math.PI |
TWO_PI |
(Math.PI * 2) |
PI_BY_TWO |
(Math.PI / 2) |
DEG_TO_RAD |
(Math.PI / 180) |
RAD_TO_DEG |
(180 / Math.PI) |
SQRT2 |
Math.SQRT2 |
Link Targets
Specify which prims in a linked object receive a message or property change. Used with llSetLinkPrimitiveParams, llMessageLinked, and similar functions.
| LSL Constant | TypeScript Equivalent |
|---|---|
LINK_SET |
LINK_SET |
LINK_ROOT |
LINK_ROOT |
LINK_THIS |
LINK_THIS |
LINK_ALL_OTHERS |
LINK_ALL_OTHERS |
LINK_ALL_CHILDREN |
LINK_ALL_CHILDREN |
Face / Side
Constants for targeting prim faces. ALL_SIDES applies an operation (color, texture, glow) to every face of a prim at once.
| LSL Constant | TypeScript Equivalent |
|---|---|
ALL_SIDES |
-1 |
Status Flags
Bitmask flags passed to llSetStatus/llGetStatus to control an object's physical behavior — physics, phantom, rotation locks, and edge behavior.
| LSL Constant | TypeScript Equivalent |
|---|---|
STATUS_PHYSICS |
0x01 |
STATUS_ROTATE_X |
0x02 |
STATUS_ROTATE_Y |
0x04 |
STATUS_ROTATE_Z |
0x08 |
STATUS_PHANTOM |
0x10 |
STATUS_SANDBOX |
0x20 |
STATUS_BLOCK_GRAB |
0x40 |
STATUS_DIE_AT_EDGE |
0x80 |
STATUS_RETURN_AT_EDGE |
0x100 |
STATUS_CAST_SHADOWS |
0x200 |
STATUS_BLOCK_GRAB_OBJECT |
0x400 |
Agent Types
Filter flags for llSensor and llSensorRepeat. Combine with bitwise OR to detect avatars (AGENT), moving objects (ACTIVE), static objects (PASSIVE), or scripted objects (SCRIPTED).
| LSL Constant | TypeScript Equivalent |
|---|---|
AGENT |
1 |
ACTIVE |
2 |
PASSIVE |
4 |
SCRIPTED |
8 |
Other
| LSL Constant | TypeScript Equivalent |
|---|---|
AGENT_BY_LEGACY_NAME |
1 |
AGENT_BY_USERNAME |
0x10 |
Permission Flags
Bitmask values requested via llRequestPermissions. Each flag grants a specific capability such as animating the avatar, taking controls, or debiting money.
| LSL Constant | TypeScript Equivalent |
|---|---|
PERMISSION_DEBIT |
0x02 |
PERMISSION_TAKE_CONTROLS |
0x04 |
PERMISSION_TRIGGER_ANIMATION |
0x10 |
PERMISSION_ATTACH |
0x20 |
PERMISSION_CHANGE_LINKS |
0x80 |
PERMISSION_TRACK_CAMERA |
0x400 |
PERMISSION_CONTROL_CAMERA |
0x800 |
PERMISSION_TELEPORT |
0x1000 |
PERMISSION_OVERRIDE_ANIMATIONS |
0x8000 |
Changed Flags
Bitmask values passed to the changed() event handler indicating what aspect of the object or environment changed.
| LSL Constant | TypeScript Equivalent |
|---|---|
CHANGED_INVENTORY |
0x01 |
CHANGED_COLOR |
0x02 |
CHANGED_SHAPE |
0x04 |
CHANGED_SCALE |
0x08 |
CHANGED_TEXTURE |
0x10 |
CHANGED_LINK |
0x20 |
CHANGED_ALLOWED_DROP |
0x40 |
CHANGED_OWNER |
0x80 |
CHANGED_REGION |
0x100 |
CHANGED_TELEPORT |
0x200 |
CHANGED_REGION_START |
0x400 |
CHANGED_MEDIA |
0x800 |
Inventory Types
Integer type codes identifying items in an object's inventory. Used with llGetInventoryType, llGetInventoryName, and inventory iteration loops.
| LSL Constant | TypeScript Equivalent |
|---|---|
INVENTORY_NONE |
-1 |
INVENTORY_ALL |
-1 |
INVENTORY_TEXTURE |
0 |
INVENTORY_SOUND |
1 |
INVENTORY_LANDMARK |
3 |
INVENTORY_CLOTHING |
5 |
INVENTORY_OBJECT |
6 |
INVENTORY_NOTECARD |
7 |
INVENTORY_SCRIPT |
10 |
INVENTORY_BODYPART |
13 |
INVENTORY_ANIMATION |
20 |
INVENTORY_GESTURE |
21 |
INVENTORY_SETTING |
56 |
Attach Points
Numeric IDs for avatar attachment slots — body joints, HUD positions, and accessories. Used with llAttachToAvatar and llDetectedLinkNumber.
| LSL Constant | TypeScript Equivalent |
|---|---|
ATTACH_CHEST |
1 |
ATTACH_HEAD |
2 |
ATTACH_LSHOULDER |
3 |
ATTACH_RSHOULDER |
4 |
ATTACH_LHAND |
5 |
ATTACH_RHAND |
6 |
ATTACH_LFOOT |
7 |
ATTACH_RFOOT |
8 |
ATTACH_BACK |
9 |
ATTACH_PELVIS |
10 |
ATTACH_MOUTH |
11 |
ATTACH_CHIN |
12 |
ATTACH_LEAR |
13 |
ATTACH_REAR |
14 |
ATTACH_LEYE |
15 |
ATTACH_REYE |
16 |
ATTACH_NOSE |
17 |
ATTACH_RUARM |
18 |
ATTACH_RLARM |
19 |
ATTACH_LUARM |
20 |
ATTACH_LLARM |
21 |
ATTACH_RHIP |
22 |
ATTACH_RULEG |
23 |
ATTACH_RLLEG |
24 |
ATTACH_LHIP |
25 |
ATTACH_LULEG |
26 |
ATTACH_LLLEG |
27 |
ATTACH_BELLY |
28 |
ATTACH_LEFT_PEC |
29 |
ATTACH_RIGHT_PEC |
30 |
ATTACH_HUD_CENTER_2 |
31 |
ATTACH_HUD_TOP_RIGHT |
32 |
ATTACH_HUD_TOP_CENTER |
33 |
ATTACH_HUD_TOP_LEFT |
34 |
ATTACH_HUD_CENTER_1 |
35 |
ATTACH_HUD_BOTTOM_LEFT |
36 |
ATTACH_HUD_BOTTOM |
37 |
ATTACH_HUD_BOTTOM_RIGHT |
38 |
ATTACH_NECK |
39 |
ATTACH_AVATAR_CENTER |
40 |
Channels
Predefined chat channel numbers. PUBLIC_CHANNEL (0) is visible to all nearby avatars; DEBUG_CHANNEL is the script error/warning channel.
| LSL Constant | TypeScript Equivalent |
|---|---|
PUBLIC_CHANNEL |
0 |
DEBUG_CHANNEL |
0x7FFFFFFF |
Click Actions
Define what happens when a user clicks an object — touch, sit, buy, pay, open, play media. Set via llSetClickAction.
| LSL Constant | TypeScript Equivalent |
|---|---|
CLICK_ACTION_NONE |
0 |
CLICK_ACTION_TOUCH |
0 |
CLICK_ACTION_SIT |
1 |
CLICK_ACTION_BUY |
2 |
CLICK_ACTION_PAY |
3 |
CLICK_ACTION_OPEN |
4 |
CLICK_ACTION_PLAY |
5 |
CLICK_ACTION_OPEN_MEDIA |
6 |
Texture Animation
Bitmask flags for llSetTextureAnim controlling how a texture animates — scrolling, rotating, scaling, ping-pong, or smooth interpolation.
| LSL Constant | TypeScript Equivalent |
|---|---|
ANIM_ON |
0x01 |
LOOP |
0x02 |
REVERSE |
0x04 |
PING_PONG |
0x08 |
SMOOTH |
0x10 |
ROTATE |
0x20 |
SCALE |
0x40 |
Particle System
Parameter keys and flag masks for llParticleSystem. Keys select which property to set (color, scale, speed, pattern); flags control particle behavior (emissive, wind, bounce).
| LSL Constant | TypeScript Equivalent |
|---|---|
PSYS_PART_FLAGS |
0 |
PSYS_PART_START_COLOR |
1 |
PSYS_PART_START_ALPHA |
2 |
PSYS_PART_END_COLOR |
3 |
PSYS_PART_END_ALPHA |
4 |
PSYS_PART_START_SCALE |
5 |
PSYS_PART_END_SCALE |
6 |
PSYS_PART_MAX_AGE |
7 |
PSYS_SRC_ACCEL |
8 |
PSYS_SRC_PATTERN |
9 |
PSYS_SRC_TEXTURE |
12 |
PSYS_SRC_BURST_RATE |
13 |
PSYS_SRC_BURST_PART_COUNT |
15 |
PSYS_SRC_BURST_RADIUS |
16 |
PSYS_SRC_BURST_SPEED_MIN |
17 |
PSYS_SRC_BURST_SPEED_MAX |
18 |
PSYS_SRC_MAX_AGE |
19 |
PSYS_SRC_TARGET_KEY |
20 |
PSYS_SRC_OMEGA |
21 |
PSYS_SRC_ANGLE_BEGIN |
22 |
PSYS_SRC_ANGLE_END |
23 |
PSYS_SRC_PATTERN_DROP |
1 |
PSYS_SRC_PATTERN_EXPLODE |
2 |
PSYS_SRC_PATTERN_ANGLE |
4 |
PSYS_SRC_PATTERN_ANGLE_CONE |
8 |
PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY |
16 |
PSYS_PART_INTERP_COLOR_MASK |
0x001 |
PSYS_PART_INTERP_SCALE_MASK |
0x002 |
PSYS_PART_BOUNCE_MASK |
0x004 |
PSYS_PART_WIND_MASK |
0x008 |
PSYS_PART_FOLLOW_SRC_MASK |
0x010 |
PSYS_PART_FOLLOW_VELOCITY_MASK |
0x020 |
PSYS_PART_TARGET_POS_MASK |
0x040 |
PSYS_PART_TARGET_LINEAR_MASK |
0x080 |
PSYS_PART_EMISSIVE_MASK |
0x100 |
PSYS_PART_RIBBON_MASK |
0x400 |
Prim Parameters
Parameter keys for llSetPrimitiveParams / llGetPrimitiveParams. Each key selects a property (type, material, texture, color, glow, light, flexi) and expects specific trailing arguments.
| LSL Constant | TypeScript Equivalent |
|---|---|
PRIM_TYPE |
9 |
PRIM_MATERIAL |
2 |
PRIM_PHYSICS |
3 |
PRIM_TEMP_ON_REZ |
4 |
PRIM_PHANTOM |
5 |
PRIM_POSITION |
6 |
PRIM_SIZE |
7 |
PRIM_TEXTURE |
17 |
PRIM_COLOR |
18 |
PRIM_BUMP_SHINY |
19 |
PRIM_FULLBRIGHT |
20 |
PRIM_FLEXIBLE |
21 |
PRIM_TEXGEN |
22 |
PRIM_POINT_LIGHT |
23 |
PRIM_GLOW |
25 |
PRIM_TEXT |
26 |
PRIM_NAME |
27 |
PRIM_DESC |
28 |
PRIM_LINK_TARGET |
34 |
PRIM_TYPE_BOX |
0 |
PRIM_TYPE_CYLINDER |
1 |
PRIM_TYPE_PRISM |
2 |
PRIM_TYPE_SPHERE |
3 |
PRIM_TYPE_TORUS |
4 |
PRIM_TYPE_TUBE |
5 |
PRIM_TYPE_RING |
6 |
PRIM_TYPE_SCULPT |
7 |
PRIM_PHYSICS_SHAPE_PRIM |
0 |
PRIM_PHYSICS_SHAPE_NONE |
1 |
PRIM_PHYSICS_SHAPE_CONVEX |
2 |
PRIM_MATERIAL_STONE |
0 |
PRIM_MATERIAL_METAL |
1 |
PRIM_MATERIAL_GLASS |
2 |
PRIM_MATERIAL_WOOD |
3 |
PRIM_MATERIAL_FLESH |
4 |
PRIM_MATERIAL_PLASTIC |
5 |
PRIM_MATERIAL_RUBBER |
6 |
PRIM_MATERIAL_LIGHT |
7 |
Media on a Prim
Constants for llSetPrimMediaParams / llGetPrimMediaParams (MOAP). Configure URLs, auto-play, dimensions, permissions, and controls for web content rendered on a prim face.
| LSL Constant | TypeScript Equivalent |
|---|---|
PRIM_MEDIA_ALT_IMAGE_ENABLE |
0 |
PRIM_MEDIA_ALT_IMAGE |
1 |
PRIM_MEDIA_CURRENT_URL |
2 |
PRIM_MEDIA_HOME_URL |
3 |
PRIM_MEDIA_AUTO_PLAY |
4 |
PRIM_MEDIA_AUTO_LOOP |
5 |
PRIM_MEDIA_AUTO_SCALE |
6 |
PRIM_MEDIA_AUTO_ZOOM |
7 |
PRIM_MEDIA_FIRST_CLICK_INTERACT |
8 |
PRIM_MEDIA_WIDTH_PIXELS |
9 |
PRIM_MEDIA_HEIGHT_PIXELS |
10 |
PRIM_MEDIA_WHITELIST_ENABLE |
11 |
PRIM_MEDIA_WHITELIST |
12 |
PRIM_MEDIA_PERMS_INTERACT |
13 |
PRIM_MEDIA_PERMS_CONTROL |
14 |
PRIM_MEDIA_CONTROLS |
15 |
PRIM_MEDIA_CONTROLS_STANDARD |
0 |
PRIM_MEDIA_CONTROLS_MINI |
1 |
PRIM_MEDIA_PERM_NONE |
0x0 |
PRIM_MEDIA_PERM_OWNER |
0x1 |
PRIM_MEDIA_PERM_GROUP |
0x2 |
PRIM_MEDIA_PERM_ANYONE |
0x4 |
Control Flags
Bitmask flags received in the control() event after llTakeControls. Each flag corresponds to a movement or mouse input from the avatar.
| LSL Constant | TypeScript Equivalent |
|---|---|
CONTROL_FWD |
0x01 |
CONTROL_BACK |
0x02 |
CONTROL_LEFT |
0x04 |
CONTROL_RIGHT |
0x08 |
CONTROL_ROT_LEFT |
0x100 |
CONTROL_ROT_RIGHT |
0x200 |
CONTROL_UP |
0x10 |
CONTROL_DOWN |
0x20 |
CONTROL_LBUTTON |
0x10000000 |
CONTROL_ML_LBUTTON |
0x40000000 |
HTTP
Parameter keys for llHTTPRequest options list. Set the HTTP method, MIME type, body length limit, certificate verification, custom headers, and caching.
| LSL Constant | TypeScript Equivalent |
|---|---|
HTTP_METHOD |
0 |
HTTP_MIMETYPE |
1 |
HTTP_BODY_MAXLENGTH |
2 |
HTTP_VERIFY_CERT |
3 |
HTTP_BODY_TRUNCATED |
0 |
HTTP_VERBOSE_THROTTLE |
4 |
HTTP_CUSTOM_HEADER |
5 |
HTTP_PRAGMA_NO_CACHE |
6 |
Pay / Money
Constants for llSetPayPrice controlling the pay dialog buttons. PAY_HIDE removes a button; PAY_DEFAULT shows the system default amount.
| LSL Constant | TypeScript Equivalent |
|---|---|
PAY_HIDE |
-1 |
PAY_DEFAULT |
-2 |
String Trim
Flags for llStringTrim specifying which end(s) of a string to trim. Combine HEAD and TAIL with bitwise OR, or use STRING_TRIM for both.
| LSL Constant | TypeScript Equivalent |
|---|---|
STRING_TRIM_HEAD |
0x01 |
STRING_TRIM_TAIL |
0x02 |
STRING_TRIM |
0x03 |
JSON
Type tags and control values for llJsonGetValue, llJsonSetValue, and llJsonValueType. Used to navigate, query, and modify JSON data stored as strings.
| LSL Constant | TypeScript Equivalent |
|---|---|
JSON_VALUE_TYPE_UNDEF |
-1 |
JSON_OBJECT |
-2 |
JSON_ARRAY |
-3 |
JSON_NUMBER |
-4 |
JSON_STRING |
-5 |
JSON_NULL |
-6 |
JSON_TRUE |
-7 |
JSON_FALSE |
-8 |
JSON_DELETE |
-9 |
JSON_INVALID |
⊗ |
JSON_APPEND |
-1 |
Object Details
Parameter keys for llGetObjectDetails. Each constant selects a specific property (name, position, owner, physics cost, etc.) to retrieve about any object by key.
| LSL Constant | TypeScript Equivalent |
|---|---|
OBJECT_NAME |
1 |
OBJECT_DESC |
2 |
OBJECT_POS |
3 |
OBJECT_ROT |
4 |
OBJECT_VELOCITY |
5 |
OBJECT_OWNER |
6 |
OBJECT_GROUP |
7 |
OBJECT_CREATOR |
8 |
OBJECT_RUNNING_SCRIPT_COUNT |
9 |
OBJECT_TOTAL_SCRIPT_COUNT |
10 |
OBJECT_SCRIPT_MEMORY |
11 |
OBJECT_SCRIPT_TIME |
12 |
OBJECT_PRIM_EQUIVALENCE |
13 |
OBJECT_SERVER_COST |
14 |
OBJECT_STREAMING_COST |
15 |
OBJECT_PHYSICS_COST |
16 |
OBJECT_CHARACTER_TIME |
17 |
OBJECT_ROOT |
18 |
OBJECT_ATTACHED_POINT |
19 |
OBJECT_PATHFINDING_TYPE |
20 |
OBJECT_PHYSICS |
21 |
OBJECT_PHANTOM |
22 |
OBJECT_TEMP_ON_REZ |
23 |
OBJECT_RENDER_WEIGHT |
24 |
OBJECT_HOVER_HEIGHT |
25 |
OBJECT_BODY_SHAPE_TYPE |
26 |
OBJECT_LAST_OWNER_ID |
27 |
OBJECT_CLICK_ACTION |
28 |
OBJECT_OMEGA |
29 |
OBJECT_PRIM_COUNT |
30 |
OBJECT_TOTAL_INVENTORY_COUNT |
31 |
OBJECT_REZZER_KEY |
32 |
OBJECT_GROUP_TAG |
33 |
OBJECT_TEMP_ATTACHED |
34 |
OBJECT_ATTACHED_SLOTS_AVAILABLE |
35 |
OBJECT_CREATION_TIME |
36 |
OBJECT_SELECT_COUNT |
37 |
OBJECT_SIT_COUNT |
38 |
OBJECT_ANIMATED_COUNT |
39 |
Data Types
Type codes returned by llGetListEntryType identifying the data type of a list element — integer, float, string, key, vector, or rotation.
| LSL Constant | TypeScript Equivalent |
|---|---|
TYPE_INTEGER |
1 |
TYPE_FLOAT |
2 |
TYPE_STRING |
3 |
TYPE_KEY |
4 |
TYPE_INVALID |
0 |
NPC Flags (OSSL)
OpenSimulator-specific flags for osNpcCreate and osNpcMoveTo controlling NPC ownership, movement mode (fly/walk/run), and sensor visibility.
| LSL Constant | TypeScript Equivalent |
|---|---|
OS_NPC_CREATOR_OWNED |
1 |
OS_NPC_SENSE_AS_AGENT |
2 |
OS_NPC_NO_FLY |
3 |
OS_NPC_NOT_OWNED |
4 |
OS_NPC_RUNNING |
5 |
OS_NPC_LAND_AT_TARGET |
6 |
OS_NPC_FLY |
7 |
Parcel Media
Command constants for llParcelMediaCommandList controlling parcel-level media playback — play, pause, stop, loop, and configuration of URL, type, and size.
| LSL Constant | TypeScript Equivalent |
|---|---|
PARCEL_MEDIA_COMMAND_STOP |
0 |
PARCEL_MEDIA_COMMAND_PAUSE |
1 |
PARCEL_MEDIA_COMMAND_PLAY |
2 |
PARCEL_MEDIA_COMMAND_LOOP |
3 |
PARCEL_MEDIA_COMMAND_TEXTURE |
4 |
PARCEL_MEDIA_COMMAND_URL |
5 |
PARCEL_MEDIA_COMMAND_TIME |
6 |
PARCEL_MEDIA_COMMAND_AGENT |
7 |
PARCEL_MEDIA_COMMAND_UNLOAD |
8 |
PARCEL_MEDIA_COMMAND_AUTO_ALIGN |
9 |
PARCEL_MEDIA_COMMAND_TYPE |
10 |
PARCEL_MEDIA_COMMAND_SIZE |
11 |
PARCEL_MEDIA_COMMAND_DESC |
12 |