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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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

Face / Side

Constants for targeting prim faces. ALL_SIDES applies an operation (color, texture, glow) to every face of a prim at once.

LSL ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript Equivalent
AGENT 1
ACTIVE 2
PASSIVE 4
SCRIPTED 8

Other

LSL ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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 ConstantTypeScript 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