LSL Functions — Quick Reference
A compact list of commonly used Linden Scripting Language functions with one-line descriptions.
Tip: Hover your cursor over function names in your IDE to see full signatures and constants.
Touch & Interaction
| Function | What it does | 
|---|---|
llDetectedKey(i) | Gets the key (UUID) of the i-th detected toucher/collider. | 
llDetectedName(i) | Name of the detected agent/object at index i. | 
llDetectedType(i) | Bitfield describing what was detected (AGENT, ACTIVE, PASSIVE...). | 
llDetectedTouchFace(i) | Face index touched; -1 if unknown. | 
llDetectedTouchUV(i) | UV touch coordinates on the face. | 
llGetOwner() | Returns the key of the object’s owner. | 
llGetOwnerKey(id) | Owner key of an avatar/object by key. | 
llGiveInventory(dst, name) | Sends an inventory item to a user or object. | 
llDialog(av, msg, buttons, chan) | Shows a dialog to an avatar with buttons; listens on channel. | 
llTextBox(av, msg, chan) | Prompts an avatar for text input via dialog. | 
Movement & Physics
| Function | What it does | 
|---|---|
llSetPos(pos) | Moves the prim (in region coordinates); limited for attachments. | 
llSetRot(rot) | Sets local rotation of the prim. | 
llSetRegionPos(pos) | Teleports the object within region bounds (non-physical). | 
llMoveToTarget(pos, tau) | Applies a soft spring force to move toward a position. | 
llStopMoveToTarget() | Stops movement started by llMoveToTarget. | 
llLookAt(rot, strength, damping) | Applies forces to orient the object toward a rotation. | 
llSetStatus(flag, on) | Enables/disables physics flags (PHYSICS, TEMP_ON_REZ...). | 
llSetForce(force, local) | Applies a continuous force to a physical object. | 
llApplyImpulse(imp, local) | Applies an instantaneous impulse. | 
llSetVelocity(v, local) | Sets velocity (physical) or “pushes” (non-physical). | 
Object & Prim
| Function | What it does | 
|---|---|
llGetLinkNumber() | Returns the current prim’s link number. | 
llGetLinkName(link) | Name of a specific link in a linkset. | 
llGetNumberOfPrims() | Total prims in the linkset (or 1 if unlinked). | 
llSetLinkAlpha(link, alpha, face) | Sets transparency for a link’s face(s). | 
llSetLinkColor(link, color, face) | Sets color for a link’s face(s). | 
llSetTexture(texture, face) | Applies a texture by name/UUID to a face. | 
llScaleTexture(u, v, face) | Scales texture repeats. | 
llOffsetTexture(u, v, face) | Offsets texture mapping. | 
llRotateTexture(angle, face) | Rotates texture on a face. | 
llSetPrimitiveParams(params) | Bulk set prim parameters (size, hollow, path, etc.). | 
Avatar & Attachment
| Function | What it does | 
|---|---|
llRequestPermissions(id, perms) | Ask an avatar for permissions (animate, take controls...). | 
llTakeControls(controls, accept, pass_on) | Listen for avatar key inputs when attached/seated. | 
llSetAlpha(alpha, face) | Sets prim transparency (attachments too). | 
llStartAnimation(name) | Starts a built-in or custom animation on the avatar. | 
llStopAnimation(name) | Stops a running animation. | 
llAttachToAvatar(point) | Attaches object to an avatar attachment point. | 
llDetachFromAvatar() | Detaches the object from the avatar. | 
llRequestAgentData(id, data) | Requests agent info (online status, etc.). | 
Communication
| Function | What it does | 
|---|---|
llSay(chan, msg) | Chats on channel (0 = public chat, 20m range). | 
llShout(chan, msg) | Chats louder (100m range). | 
llWhisper(chan, msg) | Chats quietly (10m range). | 
llRegionSay(chan, msg) | Delivers to the whole region on channel. | 
llOwnerSay(msg) | Private message to the object owner. | 
llInstantMessage(id, msg) | Sends a direct IM to an avatar/key. | 
llMessageLinked(link, num, str, key) | Sends a message between scripts in a linkset. | 
llListen(chan, name, id, msg) | Registers a listener for chat on a channel. | 
llListenRemove(handle) | Stops a previously set listener. | 
Timing & Sensors
| Function | What it does | 
|---|---|
llSetTimerEvent(sec) | Triggers the timer() event at an interval. | 
llGetTime() | Seconds since last reset of script. | 
llResetTime() | Resets the script timer. | 
llSensor(name, id, type, range, arc) | Active sensor scan for things/avatars. | 
llSensorRepeat(name, id, type, range, arc, rate) | Repeating sensor calls. | 
llSensorRemove() | Stops an active repeating sensor. | 
llVolumeDetect(on) | Makes prim phantom but triggers collision events. | 
Inventory & Data
| Function | What it does | 
|---|---|
llGetInventoryNumber(type) | How many items of a type are in the prim. | 
llGetInventoryName(type, i) | Name of the i-th inventory item of given type. | 
llGiveInventoryList(dst, folder, list) | Sends a folder of inventory items. | 
llGetNotecardLine(name, line) | Asynchronously reads a line from a notecard. | 
llGetNumberOfNotecardLines(name) | Gets total lines in a notecard (async). | 
llCreateLink(target, parent) | Links two objects you own together. | 
llBreakLink(link) | Unlinks a prim from a linkset. | 
llGetObjectDetails(id, params) | Retrieves various details (name, owner, pos...). | 
Math, Strings & Lists
| Function | What it does | 
|---|---|
llVecMag(v) | Magnitude of a vector. | 
llVecNorm(v) | Normalized vector. | 
llRot2Euler(r) | Converts quaternion rotation to Euler angles. | 
llEuler2Rot(v) | Euler angles to quaternion rotation. | 
llRound(x) | Rounds to nearest integer. | 
llList2String(list, i) | Gets an element of a list as string. | 
llList2Integer(list, i) | Gets an element as integer. | 
llListFindList(src, sub) | Finds sub-list index in a list. | 
llParseString2List(str, delims, spacers) | Splits text into a list. | 
llDumpList2String(list, sep) | Joins list into a string. | 
Environment & Region
| Function | What it does | 
|---|---|
llGetPos() | Current position of the object. | 
llGetRot() | Current rotation. | 
llGetRegionName() | Name of the current region (sim). | 
llGetRegionCorner() | Global grid corner coordinates of the region. | 
llGetEnv(var) | Reads environment values (e.g., "owner", "agent_limit"). | 
llSetEnvironment(pos, list) | Modifies parcel/region environment (experience perms required). | 
llRequestURL() | Requests an HTTP-in URL for the script. | 
llReleaseURL(url) | Releases an HTTP-in URL. | 
HTTP & Networking
| Function | What it does | 
|---|---|
llHTTPRequest(url, params, body) | Makes an outgoing HTTP(S) request. | 
llHTTPResponse(req, status, body) | Sends response to an inbound HTTP-in request. | 
llEmail(address, subj, msg) | Sends email from the object. | 
llGetFreeURLs() | How many HTTP-in URLs you can still request. | 
llRequestSecureURL() | Requests HTTPS HTTP-in URL (when supported). | 
Sound & Media
| Function | What it does | 
|---|---|
llPlaySound(name, volume) | Plays a sound once on the prim. | 
llLoopSound(name, volume) | Loops a sound. | 
llStopSound() | Stops currently playing sound. | 
llPreloadSound(name) | Hints the viewer to cache a sound. | 
llSetSoundQueueing(on) | Queue multiple sound triggers smoothly. | 
Script & State
| Function | What it does | 
|---|---|
llResetScript() | Resets the current script (state re-enters default). | 
llSetMemoryLimit(bytes) | Attempts to set memory limit for the script. | 
llGetScriptName() | Returns the running script’s name. | 
llGetFreeMemory() | Bytes of free script memory remaining. | 
llSetRemoteScriptAccessPin(pin) | Allows remote loading via pin. | 
llRemoteLoadScriptPin(id, name, pin, running, start_param) | Loads a script into another prim by pin. | 
Money & Commerce
| Function | What it does | 
|---|---|
llSetPayPrice(default, quicklist) | Sets pay button values on the object. | 
llRequestPermissions(id, PERMISSION_DEBIT) | Requests permission to take money. | 
llTransferLindenDollars(id, amount) | Initiates an L$ transfer (requires debit permission). | 
Particles
| Function | What it does | 
|---|---|
llParticleSystem(params) | Starts/stops particle effects using a parameter list. | 
llLinkParticleSystem(link, params) | Particles on a specific link in a linkset. | 
llMakeSmoke(alpha, scale, glow) | Legacy helper to make smoke (deprecated style). | 
Dataserver & Async
| Function | What it does | 
|---|---|
llRequestInventoryData(name) | Asks for an asset’s key; result via dataserver event. | 
llRequestAgentData(id, data) | Agent info (online, born date…); result async. | 
llRequestUsername(id) | Gets username (async) from a key. | 
llRequestDisplayName(id) | Gets display name (async). | 
Text & Hover
| Function | What it does | 
|---|---|
llSetText(text, color, alpha) | Floating hover text above the prim. | 
llSetLinkPrimitiveParamsFast(link, params) | Fast bulk param changes; good for frequent updates. | 
Teleport & Sit
| Function | What it does | 
|---|---|
llSitTarget(offset, rot) | Defines where an avatar sits on the prim. | 
llUnSit(av) | Unsits an avatar from the object. | 
llTeleportAgent(av, sim, pos, look) | Teleports an avatar (needs experience & perms). | 
llTeleportAgentGlobalCoords(av, global, look) | Teleports via global coords (experience required). | 
OSSL (OpenSimulator Extensions)
| Function | What it does | 
|---|---|
osTeleportAgent(...) | Teleports a specified avatar to a region/position (permissions required). | 
osTeleportOwner(...) | Teleports the object owner to a target location. | 
osTeleportAgentHome(key) | Sends an avatar back to their home location. | 
osMessageObject(key, msg) | Sends a direct message to another object by UUID. | 
osRegionSayTo(key, chan, msg) | Sends chat to a specific avatar anywhere in-region. | 
osSetDynamicTextureData(params, data) | Renders dynamic image/text onto the prim using data (e.g., drawing commands). | 
osSetDynamicTextureDataFace(params, data, face) | Same as above, but targets a specific face. | 
osSetDynamicTextureURL(url, params) | Applies image from a URL as a dynamic texture. | 
osSetDynamicTextureURLFace(url, params, face) | URL-based dynamic texture on a single face. | 
osNpcCreate(first, last, pos, clone) | Creates an NPC at a position (optionally cloned from an avatar). | 
osNpcRemove(key) | Deletes an NPC by UUID. | 
osNpcMoveToTarget(key, pos, speed) | Moves an NPC toward a target position. | 
osNpcSay(key, msg) | Makes an NPC speak in chat. | 
osAvatarName2Key(name) | Resolves “First Last” (or single username) to a UUID. | 
osKey2Name(key) | Gets an avatar’s name from UUID. | 
osGetAgents() | Returns a list of avatar UUIDs currently in the region. | 
osGetGridName() | Returns the grid’s name (e.g., “OSGrid”). | 
osGetGridGatekeeperURI() | Gets the grid’s gatekeeper URI for Hypergrid. | 
osGetRegionSize() | Returns the region size vector (supports varregions). | 
osFormatString(fmt, args...) | printf-style string formatting helper. | 
Note: OSSL functions require specific estate permissions (“ThreatLevel”) and may be disabled on your grid. Check with your grid/estate owner if a call returns an error.
Notes
- This is a compact list; LSL has many more functions and constants.
 - Some functions require specific permissions, parcel rights, or an Experience.
 - Async calls return results in events like 
dataserver,http_response,timer, etc.