Fonctions LSL — Référence Rapide

Une liste compacte des fonctions Linden Scripting Language couramment utilisées avec des descriptions d'une ligne.

Astuce : Survolez les noms de fonctions dans votre IDE pour voir les signatures complètes et les constantes.

Toucher et Interaction

FonctionCe qu'elle fait
llDetectedKey(i)Obtient la clé (UUID) du i-ème toucheur/collisionneur détecté.
llDetectedName(i)Nom de l'agent/objet détecté à l'index i.
llDetectedType(i)Champ de bits décrivant ce qui a été détecté (AGENT, ACTIVE, PASSIVE...).
llDetectedTouchFace(i)Index de la face touchée ; -1 si inconnu.
llDetectedTouchUV(i)Coordonnées UV de toucher sur la face.
llGetOwner()Retourne la clé du propriétaire de l'objet.
llGetOwnerKey(id)Clé du propriétaire d'un avatar/objet par clé.
llGiveInventory(dst, name)Envoie un article d'inventaire à un utilisateur ou objet.
llDialog(av, msg, buttons, chan)Affiche un dialogue à un avatar avec des boutons ; écoute sur le canal.
llTextBox(av, msg, chan)Demande à un avatar une entrée de texte via dialogue.

Mouvement et Physique

FonctionCe qu'elle fait
llSetPos(pos)Déplace la primitive (en coordonnées régionales) ; limité pour les attachements.
llSetRot(rot)Définit la rotation locale de la primitive.
llSetRegionPos(pos)Téléporte l'objet dans les limites de la région (non physique).
llMoveToTarget(pos, tau)Applique une force de ressort douce pour aller vers une position.
llStopMoveToTarget()Arrête le mouvement initié par llMoveToTarget.
llLookAt(rot, strength, damping)Applique des forces pour orienter l'objet vers une rotation.
llSetStatus(flag, on)Active/désactive les drapeaux physiques (PHYSICS, TEMP_ON_REZ...).
llSetForce(force, local)Applique une force continue à un objet physique.
llApplyImpulse(imp, local)Applique une impulsion instantanée.
llSetVelocity(v, local)Définit la vélocité (physique) ou "pousse" (non physique).

Objet et Primitive

FonctionCe qu'elle fait
llGetLinkNumber()Retourne le numéro de lien de la primitive actuelle.
llGetLinkName(link)Nom d'un lien spécifique dans un ensemble de liens.
llGetNumberOfPrims()Total des primitives dans l'ensemble (ou 1 si non lié).
llSetLinkAlpha(link, alpha, face)Définit la transparence pour la/les face(s) d'un lien.
llSetLinkColor(link, color, face)Définit la couleur pour la/les face(s) d'un lien.
llSetTexture(texture, face)Applique une texture par nom/UUID à une face.
llScaleTexture(u, v, face)Mise à l'échelle des répétitions de texture.
llOffsetTexture(u, v, face)Décale le mappage de texture.
llRotateTexture(angle, face)Fait tourner la texture sur une face.
llSetPrimitiveParams(params)Définit les paramètres de primitive en masse (taille, creux, chemin, etc.).

Avatar et Attachement

FonctionCe qu'elle fait
llRequestPermissions(id, perms)Demande des permissions à un avatar (animer, prendre contrôles...).
llTakeControls(controls, accept, pass_on)Écoute les entrées de touches de l'avatar quand attaché/assis.
llSetAlpha(alpha, face)Définit la transparence de la primitive (attachements aussi).
llStartAnimation(name)Démarre une animation intégrée ou personnalisée sur l'avatar.
llStopAnimation(name)Arrête une animation en cours.
llAttachToAvatar(point)Attache l'objet à un point d'attache de l'avatar.
llDetachFromAvatar()Détache l'objet de l'avatar.
llRequestAgentData(id, data)Demande des infos sur l'agent (statut en ligne, etc.).

Communication

FonctionCe qu'elle fait
llSay(chan, msg)Chat sur le canal (0 = chat public, portée 20m).
llShout(chan, msg)Chat plus fort (portée 100m).
llWhisper(chan, msg)Chat doucement (portée 10m).
llRegionSay(chan, msg)Livre à toute la région sur le canal.
llOwnerSay(msg)Message privé au propriétaire de l'objet.
llInstantMessage(id, msg)Envoie un IM direct à un avatar/clé.
llMessageLinked(link, num, str, key)Envoie un message entre scripts dans un ensemble de liens.
llListen(chan, name, id, msg)Enregistre un écouteur pour le chat sur un canal.
llListenRemove(handle)Arrête un écouteur précédemment défini.

Temps et Capteurs

FonctionCe qu'elle fait
llSetTimerEvent(sec)Déclenche l'événement timer() à un intervalle.
llGetTime()Secondes depuis la dernière réinitialisation du script.
llResetTime()Réinitialise le minuteur du script.
llSensor(name, id, type, range, arc)Scan de capteur actif pour choses/avatars.
llSensorRepeat(name, id, type, range, arc, rate)Appels de capteur répétitifs.
llSensorRemove()Arrête un capteur répétitif actif.
llVolumeDetect(on)Rend la primitive fantôme mais déclenche des événements de collision.

Inventaire et Données

FonctionCe qu'elle fait
llGetInventoryNumber(type)Combien d'articles d'un type sont dans la primitive.
llGetInventoryName(type, i)Nom du i-ème article d'inventaire du type donné.
llGiveInventoryList(dst, folder, list)Envoie un dossier d'articles d'inventaire.
llGetNotecardLine(name, line)Lit de manière asynchrone une ligne d'une notecard.
llGetNumberOfNotecardLines(name)Obtient le total de lignes dans une notecard (asynchrone).
llCreateLink(target, parent)Lie deux objets que vous possédez ensemble.
llBreakLink(link)Délie une primitive d'un ensemble de liens.
llGetObjectDetails(id, params)Récupère divers détails (nom, propriétaire, pos...).

Maths, Chaînes et Listes

FonctionCe qu'elle fait
llVecMag(v)Magnitude d'un vecteur.
llVecNorm(v)Vecteur normalisé.
llRot2Euler(r)Convertit la rotation quaternion en angles d'Euler.
llEuler2Rot(v)Angles d'Euler vers rotation quaternion.
llRound(x)Arrondit à l'entier le plus proche.
llList2String(list, i)Obtient un élément d'une liste sous forme de chaîne.
llList2Integer(list, i)Obtient un élément sous forme d'entier.
llListFindList(src, sub)Trouve l'index de sous-liste dans une liste.
llParseString2List(str, delims, spacers)Divise le texte en une liste.
llDumpList2String(list, sep)Joint la liste en une chaîne.

Environnement et Région

FonctionCe qu'elle fait
llGetPos()Position actuelle de l'objet.
llGetRot()Rotation actuelle.
llGetRegionName()Nom de la région actuelle (sim).
llGetRegionCorner()Coordonnées de coin de grille globale de la région.
llGetEnv(var)Lit les valeurs d'environnement (ex : "owner", "agent_limit").
llSetEnvironment(pos, list)Modifie l'environnement parcelle/région (expérience requise).
llRequestURL()Demande une URL HTTP-in pour le script.
llReleaseURL(url)Libère une URL HTTP-in.

HTTP et Réseaux

FonctionCe qu'elle fait
llHTTPRequest(url, params, body)Effectue une requête HTTP(S) sortante.
llHTTPResponse(req, status, body)Envoie une réponse à une requête HTTP-in entrante.
llEmail(address, subj, msg)Envoie un e-mail depuis l'objet.
llGetFreeURLs()Combien d'URL HTTP-in vous pouvez encore demander.
llRequestSecureURL()Demande une URL HTTP-in HTTPS (si supporté).

Son et Média

FonctionCe qu'elle fait
llPlaySound(name, volume)Joue un son une fois sur la primitive.
llLoopSound(name, volume)Joue un son en boucle.
llStopSound()Arrête le son en cours de lecture.
llPreloadSound(name)Suggère au visualiseur de mettre un son en cache.
llSetSoundQueueing(on)Mettre en file d'attente plusieurs déclencheurs sonores en douceur.

Script et État

FonctionCe qu'elle fait
llResetScript()Réinitialise le script actuel (l'état revient par défaut).
llSetMemoryLimit(bytes)Tente de définir la limite de mémoire pour le script.
llGetScriptName()Retourne le nom du script en cours d'exécution.
llGetFreeMemory()Octets de mémoire de script libre restants.
llSetRemoteScriptAccessPin(pin)Permet le chargement à distance via pin.
llRemoteLoadScriptPin(id, name, pin, running, start_param)Charge un script dans une autre primitive par pin.

Argent et Commerce

FonctionCe qu'elle fait
llSetPayPrice(default, quicklist)Définit les valeurs du bouton payer sur l'objet.
llRequestPermissions(id, PERMISSION_DEBIT)Demande la permission de prendre de l'argent.
llTransferLindenDollars(id, amount)Initie un transfert de L$ (requiert permission de débit).

Particules

FonctionCe qu'elle fait
llParticleSystem(params)Démarre/arrête les effets de particules avec une liste de paramètres.
llLinkParticleSystem(link, params)Particules sur un lien spécifique dans un ensemble de liens.
llMakeSmoke(alpha, scale, glow)Aide héritée pour faire de la fumée (style obsolète).

Dataserver et Asynchrone

FonctionCe qu'elle fait
llRequestInventoryData(name)Demande la clé d'un actif ; résultat via événement dataserver.
llRequestAgentData(id, data)Info agent (en ligne, date naissance…) ; résultat asynchrone.
llRequestUsername(id)Obtient le nom d'utilisateur (asynchrone) à partir d'une clé.
llRequestDisplayName(id)Obtient le nom d'affichage (asynchrone).

Texte et Flottant

FonctionCe qu'elle fait
llSetText(text, color, alpha)Texte flottant au-dessus de la primitive.
llSetLinkPrimitiveParamsFast(link, params)Changements rapides de paramètres en masse ; bon pour mises à jour fréquentes.

Téléportation et S'asseoir

FonctionCe qu'elle fait
llSitTarget(offset, rot)Définit où un avatar s'assoit sur la primitive.
llUnSit(av)Fait lever un avatar de l'objet.
llTeleportAgent(av, sim, pos, look)Téléporte un avatar (besoin d'expérience et perms).
llTeleportAgentGlobalCoords(av, global, look)Téléporte via coordonnées globales (expérience requise).

OSSL (Extensions OpenSimulator)

FonctionCe qu'elle fait
osTeleportAgent(...)Téléporte un avatar spécifié vers une région/position (permissions requises).
osTeleportOwner(...)Téléporte le propriétaire de l'objet vers un emplacement cible.
osTeleportAgentHome(key)Renvoie un avatar à son emplacement domicile.
osMessageObject(key, msg)Envoie un message direct à un autre objet par UUID.
osRegionSayTo(key, chan, msg)Envoie un chat à un avatar spécifique n'importe où dans la région.
osSetDynamicTextureData(params, data)Rend une image/texte dynamique sur la primitive via données (ex : commandes de dessin).
osSetDynamicTextureDataFace(params, data, face)Idem que ci-dessus, mais cible une face spécifique.
osSetDynamicTextureURL(url, params)Applique une image depuis une URL comme texture dynamique.
osSetDynamicTextureURLFace(url, params, face)Texture dynamique basée sur URL sur une seule face.
osNpcCreate(first, last, pos, clone)Crée un PNJ à une position (optionnellement cloné depuis un avatar).
osNpcRemove(key)Supprime un PNJ par UUID.
osNpcMoveToTarget(key, pos, speed)Déplace un PNJ vers une position cible.
osNpcSay(key, msg)Fait parler un PNJ dans le chat.
osAvatarName2Key(name)Résout "Prénom Nom" (ou nom d'utilisateur unique) en UUID.
osKey2Name(key)Obtient le nom d'un avatar depuis l'UUID.
osGetAgents()Retourne une liste d'UUID d'avatars actuellement dans la région.
osGetGridName()Retourne le nom de la grille (ex : "OSGrid").
osGetGridGatekeeperURI()Obtient l'URI du gatekeeper de la grille pour Hypergrid.
osGetRegionSize()Retourne le vecteur de taille de la région (supporte varregions).
osFormatString(fmt, args...)Aide au formatage de chaîne style printf.

Note : Les fonctions OSSL nécessitent des permissions de domaine spécifiques ("ThreatLevel") et peuvent être désactivées sur votre grille. Vérifiez avec le propriétaire de votre grille/domaine si un appel retourne une erreur.

Notes

  • Ceci est une liste compacte ; LSL a beaucoup plus de fonctions et constantes.
  • Certaines fonctions nécessitent des permissions spécifiques, des droits de parcelle ou une Expérience.
  • Les appels asynchrones retournent des résultats dans des événements comme dataserver, http_response, timer, etc.