Function Reference
Catalogued functions and compiler-recognized handlers. Generated from this source snapshot.
Reference source fingerprint: 9d283e430cca · Build metadata. This identifies the documentation inputs, not the deployed World or preview engine.
Coverage includes catalog entries and compiler-specific handlers, not the complete upstream LSL/OSSL library. Status describes translation mapping, not a tested World result. “resolver-only” means a recognized compiler handler without a curated catalog entry. Async badges follow the compiler’s emitted translation. See Appearance and compatibility for supported surface workflows and deployment guidance.
321 functions across 33 categories
Communication (10)
Object Manipulation (38)
script (8)
Physics (10)
Agent Interaction (18)
Effects & Sound (8)
Timer & Sleep (2)
Perception & Sensors (4)
sim (3)
Data & HTTP (3)
Math (26)
String (20)
List / Array (19)
Environment (4)
time (7)
world (1)
OSSL — NPC (9)
OSSL — Data (3)
OSSL — Terrain (3)
OSSL — Agent (5)
OSSL — Texture (1)
Media on a Prim (6)
Dialog / UI (4)
Inventory (10)
Economy / Money (4)
NPC — Combat & Hostility (6)
NPC — Steering Behaviors (2)
NPC — Spatial Queries (2)
Avatar Attachments (6)
Physics Extensions (13)
Terrain System (8)
VFX (Luminary) (3)
Compiler-managed functions (55)
Communication
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llSay |
this.say(channel, message) |
void |
SL | mapped | |
llWhisper |
this.whisper(channel, message) |
void |
SL | mapped | |
llShout |
this.shout(channel, message) |
void |
SL | mapped | |
llRegionSay |
this.world.regionSay(channel, message) |
void |
SL | mapped | |
llRegionSayTo |
this.world.regionSayTo(id, ch, msg) |
void |
SL | mapped | |
llListen async |
this.listen(channel, name, id, message) |
integer |
SL | mapped | |
llListenRemove |
handle.remove() |
void |
SL | mapped | Uses handle pattern instead of integer ID |
llInstantMessage |
this.world.instantMessage(av, msg) |
void |
SL | mapped | |
llOwnerSay |
this.ownerSay(message) |
void |
SL | mapped | Uses the owner-only chat command |
llMessageLinked |
this.sendLinkMessage(link, num, str, id) |
void |
SL | mapped | Broadcasts within container; supports LINK_SET, LINK_THIS, LINK_ROOT, LINK_ALL_OTHERS, LINK_ALL_CHILDREN |
Object Manipulation
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llSetPos |
this.object.setPosition(pos) |
void |
SL | mapped | Returns Promise, no 0.2s delay |
llGetPos async |
this.object.getPosition() |
vector |
SL | mapped | |
llSetRot |
this.object.setRotation(rot) |
void |
SL | mapped | |
llGetRot async |
this.object.getRotation() |
rotation |
SL | mapped | |
llSetScale |
this.object.setScale(scale) |
void |
SL | mapped | |
llGetScale async |
this.object.getScale() |
vector |
SL | mapped | |
llSetScriptState async |
await this.script.setState(name, run) |
void |
SL | mapped | ScriptManager builtin — the script table is Scripter-side, so there is no World terminal. Newly transpiled scripts await the state acknowledgement. With the matching paused-reply runtime, self-stop waits at the call until resumed; older compiled code must be retranspiled. This is not arbitrary instruction-level suspension. |
llGetNumberOfSides async |
this.object.getNumberOfSides() |
integer |
SL | mapped | Field census 2026-08-31: 3 sites in Elf Beach, previously unmapped. Heritage face-cycling scripts divide or modulo by this, so the host contract is that it NEVER returns 0 — see World#1564. |
llSetColor |
this.object.setColor(color, face) |
void |
SL | mapped | |
llSetAlpha |
this.object.setAlpha(alpha, face) |
void |
SL | mapped | |
llGetTexture async |
await this.object.getTexture(face) |
string |
SL | mapped | Requires the paired World texture-identity query. ALL_SIDES selects face 0; invalid/empty faces return NULL_KEY. World follows OpenSim identity exposure, without SL object-permission UUID masking. |
llSetTexture |
this.object.setTexture(texture, face) |
void |
SL | mapped | |
llSetText |
this.object.setText(text, color, alpha) |
void |
SL | mapped | |
llSetPrimitiveParams |
lslSetPrimParams(this.object, rules) |
void |
SL | mapped | SPECIAL_HANDLER emits the generated `lslSetPrimParams` helper, which walks the LSL PRIM_* rule list and dispatches discrete routed self-target calls (setColor/setTexture/setGlow/setScale/setPosition/setRotation/setText/setPrimType). Not dark-at-router — it decomposes into already-wired object methods (the prior `object.setMaterial` api field was drift; Clump #13 audit-correctness fix). |
llGetObjectName async |
this.object.name |
string |
SL | mapped | |
llGetObjectDesc async |
this.object.description |
string |
SL | mapped | |
llGetKey async |
this.object.id |
key |
SL | mapped | |
llGetCreator async |
this.object.creatorId |
key |
SL | mapped | |
llGetOwner async |
this.owner.id |
key |
SL | mapped | |
llGetNumberOfPrims async |
await this.object.getLinkCount() |
integer |
SL | mapped | The link count crosses the async worker/host boundary; SPECIAL_HANDLER emits await so numeric comparisons receive the resolved count rather than a Promise (#75). |
llGetLinkKey async |
this.object.getLinkKey(link) |
key |
SL | mapped | ADR-009: flat command. Served from local snapshot.linkKeys (ADR-008) without engine roundtrip. |
llGetLinkNumber async |
this.container.getLinkNumber() |
integer |
SL | mapped | ADR-058: Routed to host LinkSetRegistry |
osGetLinkNumber async |
await this.container.getLinkNumber() |
integer |
SL | mapped | OpenSim compatibility alias for llGetLinkNumber; served by the same container-local route. |
llGetLinkName async |
this.container.getLinkName(link) |
string |
SL | mapped | ADR-058: Routed to host LinkSetRegistry |
llSetLinkPrimitiveParams |
this.object.setLinkPrimitiveParams(link, rules) |
void |
SL | mapped | ADR-009 / ADR-058: flat command — link is the first argument. |
llGetLinkPrimitiveParams async |
this.object.getLinkPrimitiveParams(link, params) |
list |
SL | mapped | ADR-009: flat command. Returns Promise<unknown[]> — must await. Replaces a stub that ignored the link argument. |
llSetLinkTexture |
this.object.setLinkTexture(link, texture, face) |
void |
SL | mapped | ADR-009: closes BlackBoxScripter#5. Flat command — link is the first argument, not a sub-handle traversal. |
llSetLinkColor |
this.object.setLinkColor(link, color, face) |
void |
SL | mapped | Dedicated flat linked-prim command; preserves the target face's alpha. |
llSetLinkAlpha |
this.object.setLinkAlpha(link, alpha, face) |
void |
SL | mapped | Dedicated flat linked-prim command; preserves the target face's color. |
llGetLinkNumberOfSides async |
await this.object.getLinkNumberOfSides(link) |
integer |
SL | mapped | Uses the same >=1 host contract as llGetNumberOfSides after resolving the link target. |
llSetLinkTextureAnim |
this.object.setLinkTextureAnim(link, mode, face, sizeX, sizeY, start, length, rate) |
void |
SL | mapped | |
llSetTextureAnim |
this.object.setTextureAnim(mode, face, sizeX, sizeY, start, length, rate) |
void |
SL | mapped | |
llOffsetTexture |
this.object.offsetTexture(horizontal, vertical, face) |
void |
SL | mapped | |
llScaleTexture |
this.object.scaleTexture(horizontal, vertical, face) |
void |
SL | mapped | |
llRotateTexture |
this.object.rotateTexture(angle, face) |
void |
SL | mapped | Angle remains in LSL texture space; World owns the Babylon wAng sign conversion. |
llGetTextureOffset async |
await this.object.getTextureOffset(face) |
vector |
SL | mapped | |
llGetTextureScale async |
await this.object.getTextureScale(face) |
vector |
SL | mapped | |
llGetTextureRot async |
await this.object.getTextureRotation(face) |
float |
SL | mapped | Returns LSL-semantic radians, not Babylon Texture.wAng. |
script
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetScriptState async |
await this.script.getState(name) |
integer |
SL | mapped | ScriptManager builtin. Resolves inventory names only within the current object; returns FALSE for missing, paused, errored, or terminated scripts. |
llResetOtherScript |
this.resetOtherScript(name) |
void |
SL | mapped | ScriptManager builtin. Reloads the named same-object script under its stable logical id and preserves snapshots. Naming the current script uses the non-returning llResetScript control path. |
llGetFreeMemory |
this.unimplemented("llGetFreeMemory", [], "integer") |
integer |
SL | unmapped | Visible compatibility gap. The current fail-soft result is 0 with a warning; poqpoq has no per-script byte quota, so this is not measured free memory. |
llGetUsedMemory |
this.unimplemented("llGetUsedMemory", [], "integer") |
integer |
SL | unmapped | Visible compatibility gap. The current fail-soft result is 0 with a warning; it is not a measurement. poqpoq runs many SES script compartments in one worker heap, and browser memory APIs cannot synchronously attribute reachable bytes to one compartment. Do not substitute OpenSim's fixed 65,536-byte compatibility value without adopting that profile explicitly. |
llGetMemoryLimit |
this.unimplemented("llGetMemoryLimit", [], "integer") |
integer |
SL | unmapped | Visible compatibility gap. The current fail-soft result is 0 with a warning; no poqpoq per-script byte limit is defined. |
llSetMemoryLimit |
this.unimplemented("llSetMemoryLimit", [limit], "integer") |
integer |
SL | unmapped | Visible compatibility gap. The current fail-soft result is FALSE with a warning and does not change a limit. |
llGetSPMaxMemory |
this.unimplemented("llGetSPMaxMemory", [], "integer") |
integer |
SL | unmapped | Visible compatibility gap. The current fail-soft result is 0 with a warning. |
llResetScript |
this.reset() |
void |
SL | mapped | Posts world.resetScript to ScriptManager, then raises a private worker control signal so no later statement in the current handler executes. |
Physics
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llApplyImpulse |
this.object.applyImpulse(force, local) |
void |
SL | mapped | |
llApplyRotationalImpulse |
this.object.applyTorque(torque, local) |
void |
SL | mapped | Codegen emits this.object.applyTorque(...); router (Clump #13) maps it to PhysicsSystemLike.applyAngularImpulse — an instantaneous angular *impulse* (one-shot kick), distinct from the continuous setTorque. |
llSetForce |
this.object.applyForce(force, local) |
void |
SL | mapped | |
llGetVel async |
this.object.getVelocity() |
vector |
SL | mapped | ADR-010: now routes to PhysicsSystemLike.getVelocity. Returns Promise<Vec3> — must await. |
llSetBuoyancy |
this.object.setPhysics({ gravity: false }) |
void |
SL | partial | |
llMoveToTarget |
this.object.setPosition(target, { duration }) |
void |
SL | mapped | Uses animation options instead of tau |
llSetPhysicsMaterial |
this.object.setPhysics(config) |
void |
SL | mapped | |
llRotBetween |
Quaternion.between(from, to) |
rotation |
SL | mapped | Pure sandbox quaternion math. Handles parallel and antiparallel vectors without a host round trip. |
llRotLookAt |
this.object.rotLookAt(Quaternion.swapFrame(target), strength, damping) |
void |
SL | mapped | Distinct absolute-quaternion controller. The transpiler performs the ADR-149 LSL-to-Babylon frame conversion before routing; World persists the controller for observers and cold load. |
llStopLookAt |
this.object.stopLookAt() |
void |
SL | mapped |
Agent Interaction
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llDetectedKey |
detected[index].id |
key |
SL | mapped | Uses array index instead of function |
llDetectedName |
detected[index].name |
string |
SL | mapped | |
llDetectedPos |
detected[index].position |
vector |
SL | mapped | |
llDetectedRot |
detected[index].rotation |
rotation |
SL | mapped | |
llDetectedVel |
detected[index].velocity |
vector |
SL | mapped | |
llDetectedType |
detected[index].type |
integer |
SL | mapped | |
llGetAgentSize async |
await this.world.agent.getSize(id) |
vector |
SL | mapped | Routed via SPECIAL_HANDLER to AgentSystemLike.getSize (Clump #12). Returns Promise<Vector3>; ZERO_VECTOR when the host hasn't wired AgentSystemLike. poqpoq may approximate the bounding box — a missing impl is a loud ADR-013 gap, not a silent zero. |
llGetDisplayName async |
await this.world.agent.getDisplayName(id) |
string |
SL | mapped | Dedicated present-avatar/NPC lookup. Objects, departed agents and unknown keys return an empty string; no private account fields or invented fallback names. Requires the paired World terminal implementation. |
llKey2Name async |
await this.world.agent.getName(id) |
string |
SL | mapped | Returns only the public in-world name already rendered by World; never private account data. Avatar, NPC, and object keys are supported; an absent key returns an empty string. |
llName2Key async |
await this.world.agent.getId(name) |
key |
SL | mapped | Current-sim lookup only, matching LSL. Case-insensitive; accepts space or dot name forms and Resident-style single names. Returns NULL_KEY when absent. Only public in-world names are indexed. |
llGetOwnerKey async |
await this.world.agent.getOwnerKey(id) |
key |
SL | mapped | Returns an in-region object's owner. Avatar/NPC keys and absent keys return the input key, matching LSL's legacy failure behavior. |
llRequestPermissions |
this.requestPermissions(agent, perms) |
void |
SL | mapped | |
llGetPermissionsKey |
this.permissionsKey |
key |
SL | mapped | Answered inside the worker, synchronously — no host round trip. llRequestPermissions names the agent on the way out, so the worker latches it as pending and promotes it when the grant arrives (worker-entry calls __notePermissions BEFORE the run_time_permissions handlers, since that handler is where scripts read this). NOT carried by the permissions event, deliberately: LSL's signature is run_time_permissions(integer perm) and the grantor was never a parameter — #76 removed an `agent` argument the host had never sent. A zero mask (revoke) clears the key to NULL_KEY. |
llSitTarget |
this.object.setSitTarget(offset, rot) |
void |
SL | mapped | |
llAttachToAvatar |
this.world.attachToAvatar(point) |
void |
SL | mapped | |
llAttachToAvatarTemp |
this.world.attachToAvatarTemp(point) |
void |
SL | mapped | |
llDetachFromAvatar |
this.world.detachFromAvatar() |
void |
SL | mapped | |
llGetAttached async |
this.object.getAttached() |
integer |
SL | mapped |
Effects & Sound
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llParticleSystem |
this.object.particles(rules | descriptor) |
void |
SL | mapped | Shape-dispatched (ADR-014): array = frozen LSL rule list; object = poqpoq ParticleDescriptor (the open dialect) |
llPlaySound |
this.object.playSound(sound) |
void |
SL | mapped | |
llLoopSound |
this.object.loopSound(sound, volume) |
void |
SL | mapped | |
llStopSound |
this.object.stopSound() |
void |
SL | mapped | |
llTriggerSound |
this.object.triggerSound(sound, volume) |
void |
SL | mapped | ADR-160 Rail 1: fire-and-forget — not stopped by stopSound(), overlapping triggers allowed. Non-spatial (full volume at any distance) per poqpoq semantics. playSound(sound, { spatial: false }) routes to the same wire shape. |
llPreloadSound |
this.object.preloadSound(sound) |
void |
SL | mapped | ADR-160 Rail 1: warms the host audio-asset cache (fetch + decode) so a later play starts instantly. No playback. |
llSetLinkPrimitiveParamsFast |
this.object.setLinkPrimitiveParams(link, rules) |
void |
SL | mapped | ADR-009: flat command. Maps to the same wire shape as llSetLinkPrimitiveParams — the no-delay flag is implicit (all property changes are instant in poqpoq). |
llLinkParticleSystem |
this.object.setLinkParticles(link, rules) |
void |
SL | mapped | Preserves the frozen LSL particle-rule dialect and adds only link targeting. |
Timer & Sleep
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llSetTimerEvent |
this.setTimer(interval) |
void |
SL | mapped | Supports multiple named timers |
llSleep async |
await this.delay(seconds) |
void |
SL | mapped | Does NOT block other scripts (async) |
Perception & Sensors
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llSensor |
this.sensor(name, id, type, range, arc) |
void |
SL | mapped | |
llSensorRepeat |
this.sensorRepeat(name, id, type, range, arc, rate) |
void |
SL | mapped | |
llSensorRemove |
this.sensorRemove() |
void |
SL | mapped | |
llCastRay async |
await this.world.raycast(start, end, options) |
list |
SL | mapped | ADR-010: routed to PhysicsSystemLike.raycast. Returns Promise<RaycastHit[]> — must await. |
sim
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetRegionAgentCount async |
await this.world.sim.getAgentCount() |
integer |
SL | mapped | ADR-010 (sim-namespace amendment 2026-04-28): poqpoq runs one sim at a time — namespace is world.sim.* not world.region.*. Returns Promise<number>. |
llGetAgentList async |
await this.world.sim.getAgents(scope, options) |
list |
SL | mapped | ADR-010 (sim-namespace amendment): scope = AGENT_LIST_PARCEL/PARCEL_OWNER/REGION (LSL constants). poqpoq has no parcels — PARCEL scopes warn-once and fall back to sim-wide. Returns Promise<string[]> of UUIDs. |
llGetRegionName async |
await this.world.sim.getName() |
string |
SL | mapped | ADR-010 (sim-namespace amendment 2026-04-28): poqpoq runs one sim at a time — namespace is world.sim.* not world.region.*. Returns Promise<string>; empty string when host hasn't wired SimSystemLike (LSL NULL convention). |
Data & HTTP
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetNotecardLine async |
await this.world.getNotecardLine(name, line) |
key |
SL | mapped | |
llHTTPRequest async |
await this.world.http.get(url) |
key |
SL | mapped | Returns Promise, no callback |
llGetNumberOfNotecardLines async |
await this.world.getNumberOfNotecardLines(name) |
key |
SL | mapped | Async — returns key, triggers dataserver |
Math
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llVecDist |
v1.distanceTo(v2) |
float |
SL | mapped | |
llVecNorm |
v.normalize() |
vector |
SL | mapped | |
llVecMag |
v.length() |
float |
SL | mapped | |
llRot2Euler |
rot.toEuler() |
vector |
SL | mapped | |
llEuler2Rot |
Quaternion.fromEuler(v) |
rotation |
SL | mapped | |
llRot2Up |
lslRot2Axis(rot, 0, 0, 1) |
vector |
SL | mapped | Pure normalized-quaternion helper in LSL Z-up frame; accepts s or w scalar fields. |
llRot2Fwd |
lslRot2Axis(rot, 1, 0, 0) |
vector |
SL | mapped | Pure normalized-quaternion helper in LSL Z-up frame. |
llRot2Left |
lslRot2Axis(rot, 0, 1, 0) |
vector |
SL | mapped | Pure normalized-quaternion helper in LSL Z-up frame. |
llAxes2Rot |
Quaternion.fromAxisAngle(axis, angle) |
rotation |
SL | mapped | |
llFrand |
Math.random() * max |
float |
SL | mapped | |
llAbs |
Math.abs(val) |
integer |
SL | mapped | |
llFabs |
Math.abs(val) |
float |
SL | mapped | llAbs's float sibling. LSL needs both because LSL distinguishes integer from float; JS does not, so the emitted code is identical — which is why this row went missing while llAbs/llFloor/llCeil/llRound were all present. |
llFloor |
Math.floor(val) |
integer |
SL | mapped | |
llCeil |
Math.ceil(val) |
integer |
SL | mapped | |
llRound |
Math.round(val) |
integer |
SL | mapped | |
llSqrt |
Math.sqrt(val) |
float |
SL | mapped | |
llModPow |
lslModPow(base, exponent, modulus) |
integer |
SL | mapped | Exact bounded modular arithmetic follows the documented 2025 LSL profile, without forced delay. Modulus zero or one returns zero under the pinned optimizer profile. Reference-grid verification remains pending; older simulator behavior can differ. |
llLog |
lslLog(value) |
float |
SL | mapped | Generated LSL helper with binary32 input/output. NaN returns zero under the pinned optimizer compatibility profile. Native Math.log is unchanged. Reference-grid precision verification remains pending. |
llLog10 |
lslLog10(value) |
float |
SL | mapped | Generated LSL helper with binary32 input/output. NaN returns zero under the pinned optimizer compatibility profile. Native Math.log10 is unchanged. Reference-grid precision verification remains pending. |
llPow |
Math.pow(base, exp) |
float |
SL | mapped | |
llSin |
Math.sin(val) |
float |
SL | mapped | |
llCos |
Math.cos(val) |
float |
SL | mapped | |
llTan |
Math.tan(val) |
float |
SL | mapped | |
llAsin |
Math.asin(val) |
float |
SL | mapped | |
llAcos |
Math.acos(val) |
float |
SL | mapped | |
llAtan2 |
Math.atan2(y, x) |
float |
SL | mapped |
String
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGenerateKey |
this.generateKey() |
key |
SL | mapped | Synchronous, with no forced delay. UUID version is an implementation detail. Requires both the updated compiler and worker; recompile original LSL after deployment. The key does not create an object, grant permission or persist a record. Live reference-grid and World verification remain pending. |
llChar |
lslChar(codepoint) |
string |
SL | mapped | Zero returns empty text. Negative values, values above U+10FFFF, surrogate code points and U+FFFE/U+FFFF return U+FFFD. Follows the documented SL profile; pinned OpenSim admits U+FFFE/U+FFFF. Does not change UTF-16 string indexing or supply llOrd. Recompile original LSL after updating the compiler. |
llReplaceSubString |
lslReplaceSubString(src, pattern, replacement, count) |
string |
SL | partial | Pure compiler helper. Case-sensitive, non-overlapping matches in the original input; replacement text is literal. Empty patterns leave input unchanged. ADR-029 selects this substring profile; pinned OpenSim instead interprets regex patterns and replacement tokens. SL edge-case field verification remains pending. Recompile original LSL after updating the compiler. |
llStringLength |
str.length |
integer |
SL | mapped | |
llSubStringIndex |
str.indexOf(substr) |
integer |
SL | mapped | |
llGetSubString |
str.substring(start, end) |
string |
SL | mapped | |
llDeleteSubString |
str.slice(0, start) + str.slice(end + 1) |
string |
SL | mapped | |
llToLower |
str.toLowerCase() |
string |
SL | mapped | |
llToUpper |
str.toUpperCase() |
string |
SL | mapped | |
llStringToBase64 |
lslStringToBase64(str) |
string |
SL | mapped | Pure RFC 4648 encoding over LSL-cast UTF-8 bytes. |
llHash |
lslHash(value) |
integer |
SL | mapped | Valid supplementary characters contribute once. Malformed UTF-16 returns zero under the pinned OpenSim failure profile; not SL field-verified. Hashes can collide and are not suitable for authentication or security. Recompile original LSL after updating the compiler. |
llBase64ToString |
lslBase64ToString(str) |
string |
SL | mapped | Strict .NET 8/OpenSim Base64 shape; invalid input warns once and returns an empty string. |
llIntegerToBase64 |
lslIntegerToBase64(value) |
string |
SL | mapped | |
llBase64ToInteger |
lslBase64ToInteger(str) |
integer |
SL | mapped | OpenSim-compatible unrolled six-digit accumulator; invalid characters hard-fail to zero. |
llEscapeURL |
lslEscapeURL(str) |
string |
SL | mapped | |
llUnescapeURL |
lslUnescapeURL(str) |
string |
SL | mapped | Pinned to .NET 8 case-preserving invalid-escape behavior. |
llMD5String |
lslMD5String(str, nonce) |
string |
SL | mapped | Hashes the UTF-8 bytes of string + ':' + signed int32 nonce; lowercase digest. |
llSHA1String |
lslSHA1String(str) |
string |
SL | mapped | |
llParseString2List |
str.split(separator) |
list |
SL | mapped | |
llStringTrim |
str.trim() |
string |
SL | mapped |
List / Array
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetListLength |
arr.length |
integer |
SL | mapped | |
llList2String |
arr[index] |
string |
SL | mapped | TypeScript arrays are typed |
llList2Integer |
arr[index] |
integer |
SL | mapped | |
llGetListEntryType |
lslGetListEntryType(arr, index) |
integer |
SL | mapped | Uses OpenSim UUID content-sniffing for key values and structural vector/rotation detection. |
llList2Float |
arr[index] |
float |
SL | mapped | |
llList2Vector |
lslList2Vector(arr, index) |
vector |
SL | mapped | Supports negative indices; an absent or non-vector entry returns a fresh ZERO_VECTOR, matching LSL. |
llList2Rot |
lslList2Rot(arr, index) |
rotation |
SL | mapped | Supports negative indices; an absent or non-rotation entry returns a fresh ZERO_ROTATION, matching LSL. |
llListSort |
arr.sort() |
list |
SL | mapped | |
llList2List |
lslList2List(src, start, end) |
list |
SL | mapped | Inclusive or head-before-tail exclusion range. Negative bounds normalize once before clipping; fully underflowed ordinary ranges return empty. Extraction only: deletion/replacement have separate profiles (ADR-028). Recompile original LSL with an updated compiler. |
llList2ListStrided |
lslList2ListStrided(arr, start, end, stride) |
list |
SL | mapped | Inclusive indices, negative-index support, ascending whole-list scan, and stride < 1 clamped to 1. |
llList2ListSlice |
lslList2ListSlice(src, start, end, stride, sliceIndex) |
list |
SL | mapped | Follows documented SL examples: each included range starts its own stride; reversed bounds select head then tail. Stride < 1 becomes 1; negative slice indices count from the stride end. Differs from pinned OpenSim global alignment/full-range behavior (ADR-025). Recompile original LSL with an updated compiler. |
llListRandomize |
lslListRandomize(arr, stride) |
list |
SL | mapped | Fisher-Yates shuffle over stride-sized chunks; nondeterministic and not safe for constant folding. |
llListStatistics |
lslListStatistics(operation, arr) |
float |
SL | mapped | Uses the numeric subset; follows SL max-minus-min RANGE and even-population median averaging. Operation 100 is the OpenSim harmonic-mean extension. |
llListFindList |
lslListFindList(src, test) |
integer |
SL | mapped | Transpiled LSL compares vectors and rotations by exact component values and returns 0 for an empty search list. Integer/float and string/key distinctions inside lists remain incomplete because those types currently share JS representations (ADR-026). Native TypeScript array methods are unchanged. |
llList2CSV |
arr.join(',') |
string |
SL | mapped | |
llCSV2List |
lslCSV2List(str) |
list |
SL | mapped | |
llListInsertList |
arr.splice(pos, 0, ...items) |
list |
SL | mapped | |
llDeleteSubList |
arr.splice(start, count) |
list |
SL | mapped | |
llListReplaceList |
lslListReplaceList(dest, src, start, end) |
list |
SL | mapped | Existing emitted helper composes deletion and insertion with original-length start normalization. Published SL QA ordinary/exclusion cases pass; fully-underflowed replacement remains a separate unverified profile (#108 / ADR-028). The extraction-only fix does not change replacement. |
Environment
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetTimeOfDay async |
await this.world.environment.getTimeOfDay() |
float |
SL | mapped | ADR-010: routed to EnvironmentSystemLike.getTimeOfDay. Returns Promise<number>; 0 when the host hasn't wired EnvironmentSystemLike. |
llGetSunDirection async |
await this.world.environment.getSunDirection() |
vector |
SL | mapped | ADR-010: routed to EnvironmentSystemLike.getSunDirection. Returns Promise<Vector3>; zero vector when the host hasn't wired EnvironmentSystemLike. |
llSetRegionSunDirection |
this.world.environment.setSunDirection(dir) |
void |
SL | mapped | ADR-010: routed to EnvironmentSystemLike.setSunDirection. Faithful vector setter — sets the active sim's sun direction (poqpoq shows one sim at a time; sky/sun belong to it). Replaces the lossy setTimeOfDay(hour) mis-map that discarded azimuth. |
llSetParcelMusicURL |
this.world.environment.setParcelMusicURL(url) |
void |
SL | mapped | ADR-160 Rail 2: parcel ≙ sim (poqpoq has no parcels). Routes through the host's environment setMusic pipe — build permission enforced server-side, persisted with the instance, heard live by everyone in the sim. Empty url stops the music; the sim's current music volume is preserved. |
time
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetUnixTime |
Math.floor(Date.now() / 1000) |
integer |
SL | mapped | ADR-010 Pattern A: pure script-side resolution. The codegen emits the Math expression inline — no host roundtrip. SES sandbox endows Date.now() per ADR-006a. |
llGetTime |
this.getTime() |
float |
SL | mapped | Worker-local monotonic script clock. Starts with the script instance and is independent of host simulation and wall-clock time. |
llResetTime |
this.resetTime() |
void |
SL | mapped | Resets the same worker-local monotonic clock used by llGetTime. |
llGetAndResetTime |
this.getAndResetTime() |
float |
SL | mapped | Reads and resets the worker-local clock from one performance.now() sample. |
llGetDate |
new Date().toISOString().slice(0, 10) |
string |
SL | mapped | ADR-010 Pattern A. UTC by definition — toISOString() is specified as UTC, so no local-time getter may be substituted. Resolved via SPECIAL_HANDLERS; see the warning above this block. |
llGetGMTclock |
((Date.now() % 86400000) / 1000) |
float |
SL | mapped | ADR-010 Pattern A. The Unix epoch is itself midnight UTC, so the remainder against a 24h day IS the time of day — no calendar arithmetic. Returns a float, so sub-second precision survives. Resolved via SPECIAL_HANDLERS; see the warning above this block. |
llGetTimestamp |
new Date().toISOString().replace("Z", "000Z") |
string |
SL | mapped | ADR-010 Pattern A. LSL specifies SIX fractional digits; toISOString() emits three, so the milliseconds are zero-padded to microseconds rather than the string being reformatted — the extra digits are padding, not invented precision. Scripts that slice fixed offsets depend on the width. Resolved via SPECIAL_HANDLERS; see the warning above this block. |
world
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGround async |
await this.world.getGroundHeight(pos) |
float |
SL | mapped | ADR-010: routed to EnvironmentSystemLike.getGroundHeight. Returns Promise<number>. |
OSSL — NPC
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
osNpcCreate async |
this.world.npc.createLegacy(firstName, lastName, position, appearanceSource[, flags]) |
key |
OSSL | mapped | |
osNpcRemove async |
await this.world.npc.remove(npcId) |
void |
OSSL | mapped | |
osNpcMoveTo async |
await this.world.npc.moveTo(npcId, pos) |
void |
OSSL | mapped | Returns Promise |
osNpcSay |
await this.world.npc.say(npcId, message, channel) |
void |
OSSL | mapped | |
osNpcSit |
await this.world.npc.sit(npcId, targetId) |
void |
OSSL | mapped | UUID-targeted command acknowledgement; World seating terminal support is still pending. |
osNpcStand |
await this.world.npc.stand(npcId) |
void |
OSSL | mapped | UUID-targeted command acknowledgement; World seating terminal support is still pending. |
osNpcPlayAnimation |
await this.world.npc.playAnimation(npcId, anim) |
void |
OSSL | mapped | |
osNpcStopAnimation |
await this.world.npc.stopAnimation(npcId, anim) |
void |
OSSL | mapped | |
osNpcSetRot async |
await this.world.npc.setRotation(npcId, rot) |
void |
OSSL | mapped |
OSSL — Data
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
osGetNumberOfNotecardLines async |
await this.world.getNotecardLineCountDirect(name) |
integer |
OSSL | mapped | Returns an integer directly, without a dataserver event. Paired host required: -1 for unavailable/missing, 0 for present empty. An old or unwired host result rejects rather than silently becoming zero. |
osGetNotecard async |
await this.world.getNotecard(name) |
string |
OSSL | mapped | Clump #14 / ADR-012 (#31): remapped from the wrong `world.storage.get` (key-value store) to the notecard family — reads the whole named notecard from the prim's inventory via InventorySystemLike.getNotecard. Returns Promise<string>; '' when unwired or notecard absent. |
osParseJSON |
JSON.parse(str) |
string |
OSSL | mapped | Native JSON support |
OSSL — Terrain
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
osSetTerrainHeight |
this.world.environment.setTerrainTexture(pos, texId, radius) |
void |
OSSL | mapped | ADR-001 Layer 6 — Tier 3 permission required |
osGetTerrainTexture |
this.world.getGroundTexture(pos) |
key |
OSSL | mapped | ADR-001 — returns dominant textureId |
osSetTerrainTexture |
this.world.environment.setTerrainTexture(pos, texId, radius) |
void |
OSSL | mapped | ADR-001 Layer 6 — requires Tier 3 permission |
OSSL — Agent
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
osTeleportAgent async |
await this.world.agent.teleport(agent, regionName, position, lookAt) |
void |
OSSL | mapped | Routed via SPECIAL_HANDLER to AgentSystemLike.teleport (Clump #12). In poqpoq a teleport LOADS A NEW SIM — regionName is the destination sim's identity (omit for within-sim). The OpenSim grid-coordinate form has no poqpoq analog. Requires the agent's permission. |
osAvatarName2Key async |
await this.world.agent.getId(firstName + ' ' + lastName) |
key |
OSSL | mapped | Resolves against currently present public avatar/NPC names; poqpoq has no grid-wide account-directory route. Returns NULL_KEY when absent. |
osIsNpc async |
await this.world.agent.isNpc(id) |
integer |
OSSL | mapped | Returns LSL integer TRUE/FALSE and checks the live NPC registry. |
osGetAgents async |
await this.world.sim.getAgentNames() |
list |
OSSL | mapped | OpenSim-compatible name list (not UUID list), covering public names for avatars and NPCs in the active sim. |
osGetAgentIP |
'' |
string |
OSSL | partial | OpenSim classifies this as Severe and additionally requires the script owner's account to be a grid god before it exposes a present agent's remote IP address. poqpoq scripts have no grid-god authority and never receive raw client network addresses, so this deterministic empty result matches OpenSim's ordinary non-god path. The privileged OpenSim path is intentionally unavailable. The argument is still evaluated once. Reference-grid field confirmation remains pending. |
OSSL — Texture
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
osSetDynamicTextureURL |
this.object.setTexture(url, face) |
void |
OSSL | partial |
Media on a Prim
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llSetPrimMediaParams |
this.object.setMediaParams(face, rules) |
integer |
SL | mapped | Rules list uses PRIM_MEDIA_* constants |
llClearPrimMedia |
this.object.clearMedia(face) |
integer |
SL | mapped | |
llGetPrimMediaParams async |
this.object.getMediaParams(face, rules) |
list |
SL | mapped | Returns list of parameter values |
llSetLinkMedia |
this.object.setLinkMediaParams(link, face, params) |
integer |
SL | mapped | ADR-009: flat command (was getLink(n)?.X(...)). |
llClearLinkMedia |
this.object.clearLinkMedia(link, face) |
integer |
SL | mapped | ADR-009: flat command. |
llGetLinkMedia async |
this.object.getLinkMediaParams(link, face, params) |
list |
SL | mapped | ADR-009: flat command. Returns Promise<unknown[]> — must await. |
Dialog / UI
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llDialog |
this.world.dialog(av, msg, buttons, ch) |
void |
SL | mapped | |
llTextBox |
this.world.textBox(av, msg, ch) |
void |
SL | mapped | |
llLoadURL |
this.world.loadURL(av, msg, url) |
void |
SL | mapped | |
llMapDestination |
this.world.mapDestination(sim, pos, look) |
void |
SL | mapped |
Inventory
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGetInventoryNumber async |
this.container.getAssetCount(type) |
integer |
SL | mapped | |
llGetInventoryName async |
this.container.getAssetName(type, index) |
string |
SL | mapped | |
llGetInventoryType async |
this.container.getAssetType(name) |
integer |
SL | mapped | |
llGetInventoryKey async |
this.container.getAsset(name)?.id |
key |
SL | mapped | |
llGetInventoryCreator async |
this.container.getAssetCreator(name) |
key |
SL | mapped | |
llGetInventoryPermMask async |
this.container.getAssetPermMask(name, mask) |
integer |
SL | mapped | |
llAllowInventoryDrop |
this.object.allowInventoryDrop(flag) |
void |
SL | mapped | |
llGiveInventory |
this.world.giveInventory(dest, name) |
void |
SL | mapped | |
llGiveInventoryList |
this.world.giveInventoryList(dest, folder, items) |
void |
SL | mapped | |
llRemoveInventory |
this.container.removeAsset(name) |
void |
SL | mapped |
Economy / Money
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llGiveMoney |
this.world.giveMoney(target, amount) |
integer |
SL | mapped | |
llTransferLindenDollars async |
await this.world.transferLindenDollars(target, amount) |
key |
SL | mapped | Async — returns transaction key, triggers transaction_result |
llSetPayPrice |
this.world.setPayPrice(default, buttons) |
void |
SL | mapped | |
llGetBalance |
this.world.getBalance() |
integer |
SL | mapped |
NPC — Combat & Hostility
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.npc.damage |
this.world.npc.damage(npcId, damage, source?) |
— | poqpoq | mapped | Deal damage to an NPC; returns true if NPC was alive |
world.npc.isHostile |
this.world.npc.isHostile(npcId) |
— | poqpoq | mapped | Check whether an NPC is flagged as hostile |
world.npc.setHostile |
this.world.npc.setHostile(npcId, hostile) |
— | poqpoq | mapped | Toggle NPC hostility flag on/off |
world.npc.getNearestTarget |
this.world.npc.getNearestTarget(position, maxRange?) |
— | poqpoq | mapped | Find closest NPC target from a position; returns NpcTargetResult or null |
world.npc.getTargetsInRadius |
this.world.npc.getTargetsInRadius(position, maxRange) |
— | poqpoq | mapped | Get all NPC targets within radius; returns NpcTargetResult[] |
world.npc.respawn |
this.world.npc.respawn(npcId, position?) |
— | poqpoq | mapped | Respawn a dead NPC at original or specified position |
NPC — Steering Behaviors
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.npc.setSteering |
this.world.npc.setSteering(npcId, behaviors, maxSpeed?, maxForce?) |
— | poqpoq | mapped | Apply declarative steering behaviors (seek, flee, arrive, pursue, evade, wander, separation, cohesion, alignment, obstacleAvoidance, tether) |
world.npc.clearSteering |
this.world.npc.clearSteering(npcId) |
— | poqpoq | mapped | Remove all steering behaviors from an NPC |
NPC — Spatial Queries
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.npc.getPosition |
this.world.npc.getPosition(npcId) |
— | poqpoq | mapped | Get current NPC world position; returns Vec3 or null |
world.npc.getRotation |
this.world.npc.getRotation(npcId) |
— | poqpoq | mapped | Get current NPC rotation; returns Quat or null |
Avatar Attachments
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.avatar.equip |
this.world.avatar.equip(pointId) |
— | poqpoq | mapped | Equip item to a named attachment slot (25-slot system) |
world.avatar.unequip |
this.world.avatar.unequip(pointId) |
— | poqpoq | mapped | Remove item from a named attachment slot |
world.avatar.setAttachmentVisible |
this.world.avatar.setAttachmentVisible(pointId, visible) |
— | poqpoq | mapped | Show or hide an attachment slot without unequipping |
world.avatar.getAttachment |
this.world.avatar.getAttachment(pointId) |
— | poqpoq | mapped | Get attachment slot info (pointId, label, hasItem, itemId, visible) |
world.avatar.getAttachmentPoints |
this.world.avatar.getAttachmentPoints() |
— | poqpoq | mapped | List all available attachment slots and their current state |
world.avatar.adjustAttachment |
this.world.avatar.adjustAttachment(pointId, offset?, rotation?, scale?) |
— | poqpoq | mapped | Fine-tune attachment position, rotation, and scale on a slot |
Physics Extensions
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.physics.applyForce |
this.object.applyForce(force, local?) |
— | poqpoq | mapped | Apply continuous force to object; local flag for object-space |
world.physics.applyImpulse |
this.object.applyImpulse(impulse, local?) |
— | poqpoq | mapped | Apply single-frame impulse to object |
world.physics.setTorque |
this.object.setTorque(torque, local?) |
— | poqpoq | mapped | Apply rotational torque to object |
world.physics.pushObject |
this.world.pushObject(targetId, impulse, angularImpulse, local?) |
— | poqpoq | mapped | Push another object with linear and angular impulse |
world.physics.setStatus |
this.object.setStatus(flags, value) |
— | poqpoq | mapped | Set STATUS_PHYSICS, STATUS_PHANTOM, etc. flags on object |
world.physics.setDamage |
this.object.setDamage(damage) |
— | poqpoq | mapped | Set collision damage dealt by this object |
world.physics.volumeDetect |
this.object.volumeDetect(enabled) |
— | poqpoq | mapped | Enable phantom collision events without physical response |
world.physics.collisionFilter |
this.object.collisionFilter(name, id, accept) |
— | poqpoq | mapped | Accept or reject collisions by name/id pattern |
world.physics.setBuoyancy |
this.object.setBuoyancy(buoyancy) |
— | poqpoq | mapped | Set buoyancy factor (0 = full gravity, 1 = neutral, >1 = floats) |
world.physics.stopMoveToTarget |
this.object.stopMoveToTarget() |
— | poqpoq | mapped | Cancel an active moveToTarget animation |
world.physics.lookAt |
this.object.lookAt(target, strength, damping) |
— | poqpoq | mapped | Continuously orient object toward a target position |
world.physics.stopLookAt |
this.object.stopLookAt() |
— | poqpoq | mapped | Cancel an active lookAt constraint |
world.physics.setPhysicsShape |
this.object.setPhysicsShape(shapeType, params) |
— | poqpoq | mapped | Override physics collision shape (box, sphere, mesh, etc.) |
Terrain System
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.terrain.setInfluence |
this.object.setTerrainInfluence(config) |
— | poqpoq | mapped | Register this object as a terrain influence source (radius, falloff, texture, blend mode) |
world.terrain.getInfluence |
this.object.getTerrainInfluence() |
— | poqpoq | mapped | Get current terrain influence config for this object; returns config or null |
world.terrain.clearInfluence |
this.object.clearTerrainInfluence() |
— | poqpoq | mapped | Remove this object's terrain influence registration |
world.terrain.getGroundTexture |
this.world.getGroundTexture(position) |
— | poqpoq | mapped | Query dominant ground texture at a world position |
world.terrain.getInfluences |
this.world.getTerrainInfluences(position, radius?) |
— | poqpoq | mapped | Get all active terrain influences near a position |
world.terrain.getEvents |
this.world.getTerrainEvents(position, radius, maxAge?) |
— | poqpoq | mapped | Get recent terrain modification events (footprints, scorches, etc.) |
world.terrain.setTexture |
this.world.environment.setTerrainTexture(position, textureId, radius, intensity?) |
— | poqpoq | mapped | Paint terrain texture at a world position (requires Tier 3 permission) |
world.terrain.applyEffect |
this.world.environment.applyTerrainEffect(position, effect) |
— | poqpoq | mapped | Apply a transient terrain effect (TTL-based, e.g. scorch marks, frost) |
VFX (Luminary)
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
world.vfx.trigger |
this.world.vfx.trigger(archetype, position, options?) |
— | poqpoq | mapped | Trigger a named VFX archetype at a world position via Luminary |
world.vfx.getPalette |
this.world.vfx.getPalette(name) |
— | poqpoq | mapped | Retrieve a read-only VFX palette snapshot via Luminary |
world.vfx.registerArchetype |
this.world.vfx.registerArchetype(name, config) |
— | poqpoq | mapped | Register a custom VFX archetype in user: namespace via Luminary |
Compiler-managed functions
| LSL Function | poqpoq API | Return | Origin | Status | Notes |
|---|---|---|---|---|---|
llAngleBetween |
Compiler-managed translation; transpile LSL to inspect output |
float |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llAvatarOnSitTarget async |
Compiler-managed translation; transpile LSL to inspect output |
key |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llCollisionFilter |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedGrab |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedGroup |
Compiler-managed translation; transpile LSL to inspect output |
key |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedLinkNumber |
Compiler-managed translation; transpile LSL to inspect output |
integer |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedOwner |
Compiler-managed translation; transpile LSL to inspect output |
key |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedTouchBinormal |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedTouchFace |
Compiler-managed translation; transpile LSL to inspect output |
integer |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedTouchNormal |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedTouchPos |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedTouchST |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDetectedTouchUV |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDie |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llDumpList2String |
Compiler-managed translation; transpile LSL to inspect output |
string |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetAlpha async |
Compiler-managed translation; transpile LSL to inspect output |
float |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetAnimationList async |
Compiler-managed translation; transpile LSL to inspect output |
list |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetColor async |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetPermissions |
Compiler-managed translation; transpile LSL to inspect output |
integer |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetPrimitiveParams async |
Compiler-managed translation; transpile LSL to inspect output |
list |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetScriptName |
Compiler-managed translation; transpile LSL to inspect output |
string |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetStartParameter |
Compiler-managed translation; transpile LSL to inspect output |
integer |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGetStatus async |
Compiler-managed translation; transpile LSL to inspect output |
integer |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGroundNormal |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llGroundSlope |
Compiler-managed translation; transpile LSL to inspect output |
vector |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llInsertString |
Compiler-managed translation; transpile LSL to inspect output |
string |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llList2Key |
Compiler-managed translation; transpile LSL to inspect output |
key |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llLookAt |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llParseStringKeepNulls |
Compiler-managed translation; transpile LSL to inspect output |
list |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llPushObject |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llRezAtRoot |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llRezObject |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llSetClickAction |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llSetDamage |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llSetPhysicsShapeType |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llSetSitText |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llSetStatus |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llSetTorque |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llStartAnimation |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llStopAnimation |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llStopMoveToTarget |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llTargetOmega |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llUnSit |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llVolumeDetect |
Compiler-managed translation; transpile LSL to inspect output |
void |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
llWater |
Compiler-managed translation; transpile LSL to inspect output |
float |
SL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osGetNotecardLine async |
Compiler-managed translation; transpile LSL to inspect output |
string |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcGetPos async |
Compiler-managed translation; transpile LSL to inspect output |
vector |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcGetRot async |
Compiler-managed translation; transpile LSL to inspect output |
rotation |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcLoadAppearance |
Compiler-managed translation; transpile LSL to inspect output |
void |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcMoveToTarget async |
Compiler-managed translation; transpile LSL to inspect output |
void |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcSaveAppearance |
Compiler-managed translation; transpile LSL to inspect output |
key |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcShout |
Compiler-managed translation; transpile LSL to inspect output |
void |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcStopMoveToTarget |
Compiler-managed translation; transpile LSL to inspect output |
void |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcTouch |
Compiler-managed translation; transpile LSL to inspect output |
void |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |
osNpcWhisper |
Compiler-managed translation; transpile LSL to inspect output |
void |
OSSL | resolver-only | Recognized by the compiler; detailed API documentation and World/preview support need individual verification. |