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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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

FunctionWhat 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)

FunctionWhat 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.