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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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ção | O 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.