Funciones LSL — Referencia Rápida
Una lista compacta de funciones de Linden Scripting Language de uso común con descripciones de una línea.
Consejo: Pase el cursor sobre los nombres de las funciones en su IDE para ver firmas completas y constantes.
Toque e Interacción
| Función | Qué hace |
|---|---|
llDetectedKey(i) | Obtiene la clave (UUID) del i-ésimo tocador/colisionador detectado. |
llDetectedName(i) | Nombre del agente/objeto detectado en el índice i. |
llDetectedType(i) | Campo de bits que describe lo detectado (AGENT, ACTIVE, PASSIVE...). |
llDetectedTouchFace(i) | Índice de la cara tocada; -1 si se desconoce. |
llDetectedTouchUV(i) | Coordenadas UV del toque en la cara. |
llGetOwner() | Devuelve la clave del propietario del objeto. |
llGetOwnerKey(id) | Clave del propietario de un avatar/objeto por clave. |
llGiveInventory(dst, name) | Envía un artículo de inventario a un usuario u objeto. |
llDialog(av, msg, buttons, chan) | Muestra un diálogo a un avatar con botones; escucha en el canal. |
llTextBox(av, msg, chan) | Solicita al avatar una entrada de texto mediante un diálogo. |
Movimiento y Física
| Función | Qué hace |
|---|---|
llSetPos(pos) | Mueve el prim (en coordenadas de región); limitado para adjuntos. |
llSetRot(rot) | Establece la rotación local del prim. |
llSetRegionPos(pos) | Teletransporta el objeto dentro de los límites de la región (no físico). |
llMoveToTarget(pos, tau) | Aplica una fuerza de resorte suave para mover hacia una posición. |
llStopMoveToTarget() | Detiene el movimiento iniciado por llMoveToTarget. |
llLookAt(rot, strength, damping) | Aplica fuerzas para orientar el objeto hacia una rotación. |
llSetStatus(flag, on) | Habilita/deshabilita banderas de física (PHYSICS, TEMP_ON_REZ...). |
llSetForce(force, local) | Aplica una fuerza continua a un objeto físico. |
llApplyImpulse(imp, local) | Aplica un impulso instantáneo. |
llSetVelocity(v, local) | Establece la velocidad (físico) o "empuja" (no físico). |
Objeto y Prim
| Función | Qué hace |
|---|---|
llGetLinkNumber() | Devuelve el número de enlace del prim actual. |
llGetLinkName(link) | Nombre de un enlace específico en un conjunto de enlaces. |
llGetNumberOfPrims() | Total de prims en el conjunto de enlaces (o 1 si no está enlazado). |
llSetLinkAlpha(link, alpha, face) | Establece la transparencia para la(s) cara(s) de un enlace. |
llSetLinkColor(link, color, face) | Establece el color para la(s) cara(s) de un enlace. |
llSetTexture(texture, face) | Aplica una textura por nombre/UUID a una cara. |
llScaleTexture(u, v, face) | Escala las repeticiones de la textura. |
llOffsetTexture(u, v, face) | Desplaza el mapeo de la textura. |
llRotateTexture(angle, face) | Rota la textura en una cara. |
llSetPrimitiveParams(params) | Establece parámetros del prim en masa (tamaño, hueco, ruta, etc.). |
Avatar y Adjunto
| Función | Qué hace |
|---|---|
llRequestPermissions(id, perms) | Pide permisos a un avatar (animar, tomar controles...). |
llTakeControls(controls, accept, pass_on) | Escucha entradas de teclas del avatar cuando está adjunto/sentado. |
llSetAlpha(alpha, face) | Establece la transparencia del prim (también adjuntos). |
llStartAnimation(name) | Inicia una animación incorporada o personalizada en el avatar. |
llStopAnimation(name) | Detiene una animación en ejecución. |
llAttachToAvatar(point) | Adjunta el objeto a un punto de anclaje del avatar. |
llDetachFromAvatar() | Separa el objeto del avatar. |
llRequestAgentData(id, data) | Solicita información del agente (estado en línea, etc.). |
Comunicación
| Función | Qué hace |
|---|---|
llSay(chan, msg) | Chatea en el canal (0 = chat público, rango 20m). |
llShout(chan, msg) | Chatea más fuerte (rango 100m). |
llWhisper(chan, msg) | Chatea en voz baja (rango 10m). |
llRegionSay(chan, msg) | Entrega a toda la región en el canal. |
llOwnerSay(msg) | Mensaje privado al propietario del objeto. |
llInstantMessage(id, msg) | Envía un IM directo a un avatar/clave. |
llMessageLinked(link, num, str, key) | Envía un mensaje entre scripts en un conjunto de enlaces. |
llListen(chan, name, id, msg) | Registra un oyente para chat en un canal. |
llListenRemove(handle) | Detiene un oyente establecido previamente. |
Tiempo y Sensores
| Función | Qué hace |
|---|---|
llSetTimerEvent(sec) | Activa el evento timer() en un intervalo. |
llGetTime() | Segundos desde el último reinicio del script. |
llResetTime() | Reinicia el temporizador del script. |
llSensor(name, id, type, range, arc) | Escaneo de sensor activo para cosas/avatares. |
llSensorRepeat(name, id, type, range, arc, rate) | Llamadas de sensor repetitivas. |
llSensorRemove() | Detiene un sensor repetitivo activo. |
llVolumeDetect(on) | Hace que el prim sea fantasma pero active eventos de colisión. |
Inventario y Datos
| Función | Qué hace |
|---|---|
llGetInventoryNumber(type) | Cuántos artículos de un tipo hay en el prim. |
llGetInventoryName(type, i) | Nombre del i-ésimo artículo de inventario del tipo dado. |
llGiveInventoryList(dst, folder, list) | Envía una carpeta de artículos de inventario. |
llGetNotecardLine(name, line) | Lee asincrónicamente una línea de una tarjeta de notas. |
llGetNumberOfNotecardLines(name) | Obtiene el total de líneas en una tarjeta de notas (asincrónico). |
llCreateLink(target, parent) | Enlaza dos objetos que posees. |
llBreakLink(link) | Desenlaza un prim de un conjunto de enlaces. |
llGetObjectDetails(id, params) | Recupera varios detalles (nombre, propietario, pos...). |
Matemáticas, Cadenas y Listas
| Función | Qué hace |
|---|---|
llVecMag(v) | Magnitud de un vector. |
llVecNorm(v) | Vector normalizado. |
llRot2Euler(r) | Convierte rotación de cuaternión a ángulos de Euler. |
llEuler2Rot(v) | Ángulos de Euler a rotación de cuaternión. |
llRound(x) | Redondea al entero más cercano. |
llList2String(list, i) | Obtiene un elemento de una lista como cadena. |
llList2Integer(list, i) | Obtiene un elemento como entero. |
llListFindList(src, sub) | Encuentra el índice de una sublista en una lista. |
llParseString2List(str, delims, spacers) | Divide texto en una lista. |
llDumpList2String(list, sep) | Une una lista en una cadena. |
Entorno y Región
| Función | Qué hace |
|---|---|
llGetPos() | Posición actual del objeto. |
llGetRot() | Rotación actual. |
llGetRegionName() | Nombre de la región actual (sim). |
llGetRegionCorner() | Coordenadas de esquina de la cuadrícula global de la región. |
llGetEnv(var) | Lee valores del entorno (ej. "owner", "agent_limit"). |
llSetEnvironment(pos, list) | Modifica entorno de parcela/región (se requiere experiencia). |
llRequestURL() | Solicita una URL HTTP-in para el script. |
llReleaseURL(url) | Libera una URL HTTP-in. |
HTTP y Redes
| Función | Qué hace |
|---|---|
llHTTPRequest(url, params, body) | Realiza una solicitud HTTP(S) saliente. |
llHTTPResponse(req, status, body) | Envía respuesta a una solicitud HTTP-in entrante. |
llEmail(address, subj, msg) | Envía correo electrónico desde el objeto. |
llGetFreeURLs() | Cuántas URL HTTP-in aún puede solicitar. |
llRequestSecureURL() | Solicita URL HTTP-in HTTPS (cuando sea compatible). |
Sonido y Medios
| Función | Qué hace |
|---|---|
llPlaySound(name, volume) | Reproduce un sonido una vez en el prim. |
llLoopSound(name, volume) | Repite un sonido en bucle. |
llStopSound() | Detiene el sonido que se está reproduciendo. |
llPreloadSound(name) | Sugiere al visor que almacene en caché un sonido. |
llSetSoundQueueing(on) | Pone en cola múltiples disparadores de sonido suavemente. |
Script y Estado
| Función | Qué hace |
|---|---|
llResetScript() | Reinicia el script actual (el estado vuelve al predeterminado). |
llSetMemoryLimit(bytes) | Intenta establecer el límite de memoria para el script. |
llGetScriptName() | Devuelve el nombre del script en ejecución. |
llGetFreeMemory() | Bytes de memoria libre del script restantes. |
llSetRemoteScriptAccessPin(pin) | Permite la carga remota mediante pin. |
llRemoteLoadScriptPin(id, name, pin, running, start_param) | Carga un script en otro prim mediante pin. |
Dinero y Comercio
| Función | Qué hace |
|---|---|
llSetPayPrice(default, quicklist) | Establece valores del botón de pago en el objeto. |
llRequestPermissions(id, PERMISSION_DEBIT) | Solicita permiso para tomar dinero. |
llTransferLindenDollars(id, amount) | Inicia una transferencia de L$ (requiere permiso de débito). |
Partículas
| Función | Qué hace |
|---|---|
llParticleSystem(params) | Inicia/detiene efectos de partículas usando una lista de parámetros. |
llLinkParticleSystem(link, params) | Partículas en un enlace específico en un conjunto de enlaces. |
llMakeSmoke(alpha, scale, glow) | Ayudante heredado para hacer humo (estilo obsoleto). |
Dataserver y Asincronía
| Función | Qué hace |
|---|---|
llRequestInventoryData(name) | Solicita la clave de un activo; resultado vía evento dataserver. |
llRequestAgentData(id, data) | Información del agente (en línea, fecha nacimiento…); resultado asincrónico. |
llRequestUsername(id) | Obtiene nombre de usuario (asincrónico) desde una clave. |
llRequestDisplayName(id) | Obtiene nombre para mostrar (asincrónico). |
Texto y Flotante
| Función | Qué hace |
|---|---|
llSetText(text, color, alpha) | Texto flotante sobre el prim. |
llSetLinkPrimitiveParamsFast(link, params) | Cambios rápidos de parámetros en masa; bueno para actualizaciones frecuentes. |
Teletransporte y Sentarse
| Función | Qué hace |
|---|---|
llSitTarget(offset, rot) | Define dónde se sienta un avatar en el prim. |
llUnSit(av) | Levanta a un avatar del objeto. |
llTeleportAgent(av, sim, pos, look) | Teletransporta a un avatar (necesita experiencia y permisos). |
llTeleportAgentGlobalCoords(av, global, look) | Teletransporta vía coordenadas globales (requiere experiencia). |
OSSL (Extensiones OpenSimulator)
| Función | Qué hace |
|---|---|
osTeleportAgent(...) | Teletransporta un avatar especificado a una región/posición (requiere permisos). |
osTeleportOwner(...) | Teletransporta al propietario del objeto a una ubicación objetivo. |
osTeleportAgentHome(key) | Envía un avatar de vuelta a su ubicación de hogar. |
osMessageObject(key, msg) | Envía un mensaje directo a otro objeto por UUID. |
osRegionSayTo(key, chan, msg) | Envía chat a un avatar específico en cualquier parte de la región. |
osSetDynamicTextureData(params, data) | Renderiza imagen/texto dinámico en el prim usando datos (ej. comandos de dibujo). |
osSetDynamicTextureDataFace(params, data, face) | Igual que arriba, pero apunta a una cara específica. |
osSetDynamicTextureURL(url, params) | Aplica imagen desde una URL como textura dinámica. |
osSetDynamicTextureURLFace(url, params, face) | Textura dinámica basada en URL en una sola cara. |
osNpcCreate(first, last, pos, clone) | Crea un NPC en una posición (opcionalmente clonado de un avatar). |
osNpcRemove(key) | Elimina un NPC por UUID. |
osNpcMoveToTarget(key, pos, speed) | Mueve un NPC hacia una posición objetivo. |
osNpcSay(key, msg) | Hace que un NPC hable en el chat. |
osAvatarName2Key(name) | Resuelve "Nombre Apellido" (o nombre de usuario único) a un UUID. |
osKey2Name(key) | Obtiene el nombre de un avatar desde UUID. |
osGetAgents() | Devuelve una lista de UUIDs de avatares actualmente en la región. |
osGetGridName() | Devuelve el nombre de la grid (ej. "OSGrid"). |
osGetGridGatekeeperURI() | Obtiene la URI del gatekeeper de la grid para Hypergrid. |
osGetRegionSize() | Devuelve el vector de tamaño de la región (soporta varregions). |
osFormatString(fmt, args...) | Ayudante de formato de cadena estilo printf. |
Nota: Las funciones OSSL requieren permisos específicos de estado ("ThreatLevel") y pueden estar deshabilitadas en su grid. Consulte con el propietario de su grid/estado si una llamada devuelve un error.
Notas
- Esta es una lista compacta; LSL tiene muchas más funciones y constantes.
- Algunas funciones requieren permisos específicos, derechos de parcela o una Experiencia.
- Las llamadas asincrónicas devuelven resultados en eventos como
dataserver,http_response,timer, etc.