Funções LSL — Referência Rápida

Uma lista compacta de funções comuns da Linden Scripting Language com descrições de uma linha.

Dica: Passe o cursor sobre os nomes das funções no seu IDE para ver assinaturas completas e constantes.

Toque e Interação

FunçãoO que faz
llDetectedKey(i)Obtém a chave (UUID) do i-ésimo tocador/colisor detectado.
llDetectedName(i)Nome do agente/objeto detectado no índice i.
llDetectedType(i)Campo de bits descrevendo o que foi detectado (AGENT, ACTIVE, PASSIVE...).
llDetectedTouchFace(i)Índice da face tocada; -1 se desconhecido.
llDetectedTouchUV(i)Coordenadas de toque UV na face.
llGetOwner()Retorna a chave do proprietário do objeto.
llGetOwnerKey(id)Chave do proprietário de um avatar/objeto por chave.
llGiveInventory(dst, name)Envia um item de inventário para um usuário ou objeto.
llDialog(av, msg, buttons, chan)Mostra um diálogo para um avatar com botões; escuta no canal.
llTextBox(av, msg, chan)Solicita entrada de texto de um avatar via diálogo.

Movimento e Física

FunçãoO que faz
llSetPos(pos)Move o prim (em coordenadas da região); limitado para anexos.
llSetRot(rot)Define a rotação local do prim.
llSetRegionPos(pos)Teletransporta o objeto dentro dos limites da região (não físico).
llMoveToTarget(pos, tau)Aplica uma força de mola suave para mover em direção a uma posição.
llStopMoveToTarget()Para o movimento iniciado por llMoveToTarget.
llLookAt(rot, strength, damping)Aplica forças para orientar o objeto em direção a uma rotação.
llSetStatus(flag, on)Habilita/desabilita flags de física (PHYSICS, TEMP_ON_REZ...).
llSetForce(force, local)Aplica uma força contínua a um objeto físico.
llApplyImpulse(imp, local)Aplica um impulso instantâneo.
llSetVelocity(v, local)Define a velocidade (físico) ou "empurra" (não físico).

Objeto e Prim

FunçãoO que faz
llGetLinkNumber()Retorna o número do link do prim atual.
llGetLinkName(link)Nome de um link específico em um conjunto de links.
llGetNumberOfPrims()Total de prims no conjunto de links (ou 1 se não vinculado).
llSetLinkAlpha(link, alpha, face)Define a transparência para a(s) face(s) de um link.
llSetLinkColor(link, color, face)Define a cor para a(s) face(s) de um link.
llSetTexture(texture, face)Aplica uma textura por nome/UUID a uma face.
llScaleTexture(u, v, face)Escala as repetições da textura.
llOffsetTexture(u, v, face)Desloca o mapeamento da textura.
llRotateTexture(angle, face)Rotaciona a textura em uma face.
llSetPrimitiveParams(params)Define parâmetros do prim em massa (tamanho, oco, caminho, etc.).

Avatar e Anexo

FunçãoO que faz
llRequestPermissions(id, perms)Pede permissões a um avatar (animar, pegar controles...).
llTakeControls(controls, accept, pass_on)Escuta entradas de teclas do avatar quando anexado/sentado.
llSetAlpha(alpha, face)Define a transparência do prim (também anexos).
llStartAnimation(name)Inicia uma animação embutida ou personalizada no avatar.
llStopAnimation(name)Para uma animação em execução.
llAttachToAvatar(point)Anexa o objeto a um ponto de anexo do avatar.
llDetachFromAvatar()Desanexa o objeto do avatar.
llRequestAgentData(id, data)Solicita informações do agente (status online, etc.).

Comunicação

FunçãoO que faz
llSay(chan, msg)Conversa no canal (0 = chat público, alcance 20m).
llShout(chan, msg)Conversa mais alto (alcance 100m).
llWhisper(chan, msg)Conversa baixo (alcance 10m).
llRegionSay(chan, msg)Entrega para toda a região no canal.
llOwnerSay(msg)Mensagem privada para o proprietário do objeto.
llInstantMessage(id, msg)Envia uma MI direta para um avatar/chave.
llMessageLinked(link, num, str, key)Envia uma mensagem entre scripts em um conjunto de links.
llListen(chan, name, id, msg)Registra um ouvinte para chat em um canal.
llListenRemove(handle)Para um ouvinte definido anteriormente.

Tempo e Sensores

FunçãoO que faz
llSetTimerEvent(sec)Aciona o evento timer() em um intervalo.
llGetTime()Segundos desde o último reset do script.
llResetTime()Reseta o timer do script.
llSensor(name, id, type, range, arc)Varredura de sensor ativa para coisas/avatares.
llSensorRepeat(name, id, type, range, arc, rate)Chamadas de sensor repetitivas.
llSensorRemove()Para um sensor repetitivo ativo.
llVolumeDetect(on)Torna o prim fantasma mas aciona eventos de colisão.

Inventário e Dados

FunçãoO que faz
llGetInventoryNumber(type)Quantos itens de um tipo estão no prim.
llGetInventoryName(type, i)Nome do i-ésimo item de inventário do tipo dado.
llGiveInventoryList(dst, folder, list)Envia uma pasta de itens de inventário.
llGetNotecardLine(name, line)Lê assincronamente uma linha de um notecard.
llGetNumberOfNotecardLines(name)Obtém o total de linhas em um notecard (assíncrono).
llCreateLink(target, parent)Vincula dois objetos que você possui.
llBreakLink(link)Desvincula um prim de um conjunto de links.
llGetObjectDetails(id, params)Recupera vários detalhes (nome, proprietário, pos...).

Matemática, Strings e Listas

FunçãoO que faz
llVecMag(v)Magnitude de um vetor.
llVecNorm(v)Vetor normalizado.
llRot2Euler(r)Converte rotação de quaternion para ângulos de Euler.
llEuler2Rot(v)Ângulos de Euler para rotação de quaternion.
llRound(x)Arredonda para o inteiro mais próximo.
llList2String(list, i)Obtém um elemento de uma lista como string.
llList2Integer(list, i)Obtém um elemento como inteiro.
llListFindList(src, sub)Encontra o índice de uma sub-lista em uma lista.
llParseString2List(str, delims, spacers)Divide texto em uma lista.
llDumpList2String(list, sep)Junta uma lista em uma string.

Ambiente e Região

FunçãoO que faz
llGetPos()Posição atual do objeto.
llGetRot()Rotação atual.
llGetRegionName()Nome da região atual (sim).
llGetRegionCorner()Coordenadas globais do canto da grade da região.
llGetEnv(var)Lê valores do ambiente (ex: "owner", "agent_limit").
llSetEnvironment(pos, list)Modifica ambiente da parcela/região (requer experiência).
llRequestURL()Solicita uma URL HTTP-in para o script.
llReleaseURL(url)Libera uma URL HTTP-in.

HTTP e Rede

FunçãoO que faz
llHTTPRequest(url, params, body)Faz uma solicitação HTTP(S) de saída.
llHTTPResponse(req, status, body)Envia resposta para uma solicitação HTTP-in de entrada.
llEmail(address, subj, msg)Envia e-mail a partir do objeto.
llGetFreeURLs()Quantas URLs HTTP-in você ainda pode solicitar.
llRequestSecureURL()Solicita URL HTTP-in HTTPS (quando suportado).

Som e Mídia

FunçãoO que faz
llPlaySound(name, volume)Toca um som uma vez no prim.
llLoopSound(name, volume)Repete um som em loop.
llStopSound()Para o som tocando atualmente.
llPreloadSound(name)Sugere ao visualizador para armazenar um som em cache.
llSetSoundQueueing(on)Enfileira múltiplos disparos de som suavemente.

Script e Estado

FunçãoO que faz
llResetScript()Reseta o script atual (estado volta ao padrão).
llSetMemoryLimit(bytes)Tenta definir limite de memória para o script.
llGetScriptName()Retorna o nome do script em execução.
llGetFreeMemory()Bytes de memória livre do script restantes.
llSetRemoteScriptAccessPin(pin)Permite carregamento remoto via pin.
llRemoteLoadScriptPin(id, name, pin, running, start_param)Carrega um script em outro prim via pin.

Dinheiro e Comércio

FunçãoO que faz
llSetPayPrice(default, quicklist)Define valores do botão de pagar no objeto.
llRequestPermissions(id, PERMISSION_DEBIT)Solicita permissão para debitar dinheiro.
llTransferLindenDollars(id, amount)Inicia uma transferência de L$ (requer permissão de débito).

Partículas

FunçãoO que faz
llParticleSystem(params)Inicia/para efeitos de partículas usando uma lista de parâmetros.
llLinkParticleSystem(link, params)Partículas em um link específico em um conjunto de links.
llMakeSmoke(alpha, scale, glow)Auxiliar legado para fazer fumaça (estilo obsoleto).

Dataserver e Assíncrono

FunçãoO que faz
llRequestInventoryData(name)Pede a chave de um ativo; resultado via evento dataserver.
llRequestAgentData(id, data)Info do agente (online, data nascimento…); resultado assíncrono.
llRequestUsername(id)Obtém nome de usuário (assíncrono) de uma chave.
llRequestDisplayName(id)Obtém nome de exibição (assíncrono).

Texto e Flutuante

FunçãoO que faz
llSetText(text, color, alpha)Texto flutuante acima do prim.
llSetLinkPrimitiveParamsFast(link, params)Mudanças rápidas de parâmetros em massa; bom para atualizações frequentes.

Teletransporte e Sentar

FunçãoO que faz
llSitTarget(offset, rot)Define onde um avatar senta no prim.
llUnSit(av)Levanta um avatar do objeto.
llTeleportAgent(av, sim, pos, look)Teletransporta um avatar (precisa de experiência e permissões).
llTeleportAgentGlobalCoords(av, global, look)Teletransporta via coordenadas globais (requer experiência).

OSSL (Extensões OpenSimulator)

FunçãoO que faz
osTeleportAgent(...)Teletransporta um avatar especificado para uma região/posição (requer permissões).
osTeleportOwner(...)Teletransporta o proprietário do objeto para um local alvo.
osTeleportAgentHome(key)Envia um avatar de volta para seu local de casa.
osMessageObject(key, msg)Envia uma mensagem direta para outro objeto por UUID.
osRegionSayTo(key, chan, msg)Envia chat para um avatar específico em qualquer lugar da região.
osSetDynamicTextureData(params, data)Renderiza imagem/texto dinâmico no prim usando dados (ex: comandos de desenho).
osSetDynamicTextureDataFace(params, data, face)Mesmo que acima, mas mira em uma face específica.
osSetDynamicTextureURL(url, params)Aplica imagem de uma URL como textura dinâmica.
osSetDynamicTextureURLFace(url, params, face)Textura dinâmica baseada em URL em uma única face.
osNpcCreate(first, last, pos, clone)Cria um NPC em uma posição (opcionalmente clonado de um avatar).
osNpcRemove(key)Deleta um NPC por UUID.
osNpcMoveToTarget(key, pos, speed)Move um NPC em direção a uma posição alvo.
osNpcSay(key, msg)Faz um NPC falar no chat.
osAvatarName2Key(name)Resolve "Nome Sobrenome" (ou usuário único) para um UUID.
osKey2Name(key)Obtém o nome de um avatar a partir do UUID.
osGetAgents()Retorna uma lista de UUIDs de avatares atualmente na região.
osGetGridName()Retorna o nome da grade (ex: "OSGrid").
osGetGridGatekeeperURI()Obtém a URI do gatekeeper da grade para Hypergrid.
osGetRegionSize()Retorna o vetor de tamanho da região (suporta varregions).
osFormatString(fmt, args...)Auxiliar de formatação de string estilo printf.

Nota: Funções OSSL requerem permissões específicas de estado ("ThreatLevel") e podem estar desativadas na sua grade. Verifique com o proprietário da sua grade/estado se uma chamada retornar erro.

Notas

  • Esta é uma lista compacta; LSL tem muito mais funções e constantes.
  • Algumas funções requerem permissões específicas, direitos de parcela ou uma Experiência.
  • Chamadas assíncronas retornam resultados em eventos como dataserver, http_response, timer, etc.