Le LSL de Second Life

Ce site est consacré principalement au langage LSL de Second Life...

« Retour aux scripts


Des listes illimitées ?


Gérer de façon dynamique des données dans SL n'est pas de tout repos parce qu'il n'existe pas de système de gestion de base de données et que les scripts sont limités à 64ko

Il existe toutefois une astuce pour générer des scripts actifs. En gros ça consiste à envoyer avec llGiveInventory un script dans une autre primitive, ce script est évidemment non actif mais on renvoie avec llRemoteLoadScriptPin et le bon pin et cette fois le script est actif. Avec ce système on peut générer de façon dynamique tous les scripts dont nous avons besoin. Alors je me suis dit : ne pourrait-on pas créer des listes sans limitation de taille ? Pour le moment il ne s'agit que d'un système relativement simple aux possibilités limitées, mais il a le mérite de démontrer la faisabilité de ce type de solution.

Pour expérimenter ce système commencez par créer un objet formé de deux primitives liées. Dans la primitive enfant déposez ce script de dépôt :

Script de dépôt

Vous devez lui donner impérativement le nom module. Ce script ne fait pas grand chose, mais quelque chose d'essentiel. C'est lui qui renvoie les scripts module avec la fonction llRemoteLoadScriptPin. Dans la primitive parente placez le script manager :

Script manager

C'est le chef d'orchestre du système. Placez aussi le script module :

Script module

C'est le script chargé de mémoriser les informations. Il doit impérativement se nommer module. C'est lui qui a une capacité de duplication au fur et à mesure qu'on a besoin d'espace mémoire. Les scripts peuvent se situer dans n'importe quelle primitive d'un objet, la seule contrainte est de le script de dépôt doit se retrouver tout seul dans l'inventaire d'une primitive. Voici ce que permet le système :

Commandes :


Pour tester le système je vous propose un script qui effectue quelques manipulations :

Script de test

Il suffit de l'ajouter dans la primitive parente et de cliquer. Les informations arrivent dans le chat et dans le texte flottant.

Et voici un script d'exemple, un visitor list élémentaire :

Script d'exemple

Pour que ça fonctionne il faut mettre ce script dans la même primitive que le manager.


« Retour aux scripts