Scripting Documentation/fr

A propos des scripts OpenSimulator
Un ingrédient important de la simulation des mondes virtuels est le scripting. Les scripts permettent d'ajouter des actions à des " entités " dans le monde, comme faire en sorte qu'une porte réagisse à un toucher et s'ouvre. Depuis la version 0.9.1.0, vous pouvez choisir entre l'ancien moteur de script XEngine ou le nouveau YEngine. Les moteurs de script se chargent de la compilation des scripts et ils contrôlent leur exécution. Un script n'est pas un programme complet, c'est un ensemble de blocs de code appelés lorsqu'un événement précis se produit, comme un toucher  sur une porte. Beaucoup de ces événements se produisent à des instants critiques, donc ces blocs devraient être petits et rapides pour réduire l'impact sur le reste de la simulation. YEngine permet à des traitements longs de se produire avec un impact moindre sur la simulation, mais cela va se produire avec une priorité plus faible. Le langage de script d'OpenSimulator prend en charge un sous-ensemble du langage de script Second Life de Linden Labs (LSL) en plus de ses propres extensions (OSSL).

Type de chaîne dans OpenSimulator
. '''La plupart des fonctions de chaînes OpenSimulator LSL/OSSL ne sont sûres qu'avec les caractères qui peuvent être représentés par un seul char .net (UTF-16). Cela signifie des chaînes avec des caractères du plan multilingue de base à l'exclusion des caractères de combinaison.''' C'est-à-dire les caractères Unicode jusqu'à U+FFF0, sauf : Ce n'est que dans ce cas qu'une certaine compatibilité avec SL est possible. Les chaînes d'OpenSimulator sont codées en interne comme des chaînes .net qui sont fondamentalement des tableaux de caractères UTF-16. Un caractère unicode peut être représenté par plus d'un de ces chars, mais la plupart des fonctions de chaînes .net et mono ignorent cela et supposent simplement que tous les caractères sont des chars utf16 uniques. Par exemple llStringLength renvoie le nombre de chars .net sur la chaîne, pas nécessairement le nombre réel de ses caractères. Les fonctions qui prennent un index ou des arguments de position dans la chaîne, les utilisent comme un index du tableau de chars et donc cela peut pointer vers le milieu d'un caractère complexe. Dans ce cas, certaines de ces fonctions peuvent même créer des chaînes de caractères avec des caractères invalides. Les fonctions de chaînes de caractères SL supportent la plupart des fois des caractères à 2 chars, donc une compatibilité complète n'est pas possible sans rompre la compatibilité avec les anciennes versions d'OpenSimulator. Seulement dans ce cas, une certaine compatibilité avec SL est possible. Le support des caractères multiples a également un coût élevé en termes de performance. LSL (Langage de script Linden) OSSL (Langage de script d'OpenSimulator)
 * U+0300..U+036F (caractères de combinaison -- lettres diacritiques utilisées en français : â-ä-é-è-ê-ë-ï-î-ô-ö-ù-û-ü-ÿ-ç-æ-œ)
 * U+1AB0..U+1AFF (caractères de combinaison -- diacritiques étendus)
 * U+1DC0..U+1DFF (caractères de combinaison)
 * U+20D0..U+20FF (caractères de combinaison)
 * U+D800..U+DFFF (réservé aux plans supérieurs qui codent en utilisant 2 caractères)
 * U+FE20..U+FE2F

Configuration des scripts
Il existe un certain nombre de paramètres qui peuvent être ajustés pour les scripts, tels que ceux qui activent les commandes OSSL ou augmentent les limites de certaines fonctions de script. Par exemple, les écoutes (Listen).

Pour une installation standalone ou sur une petite grille, les paramètres de script par défaut devraient convenir. Voir Configuring Scripting pour avoir des informations sur la configuration de ces paramètres.

Comment utiliser les scripts dans OpenSimulator ?
Si vous n'avez jamais écrit de script en LSL, jetez un coup d'oeil au wiki LSL pour apprendre les bases du scripting. Si vous avez (un peu) d'expérience dans l'écriture ou l'édition de scripts en LSL, la procédure est identique à celle de SL. Problèmes connus :
 * Les messages d'erreur concernant les erreurs de script sont souvent cryptiques, et ont tendance à être longs.
 * La syntaxe et l'exécution des scripts peuvent dépendre du moteur utilisé, ancien XEngine ou YEngine.
 * Lors de téléportations ou de le passage d'une région utilisant YEngine vers une région utilisant le XEngine, l'état du script (comme les valeurs modifiées des variables globales) est perdu. Cela ne devrait pas poser de problème dans le sens inverse.

Statut du système de script
Tableaux de statut / Tableaux relatifs aux fonctions LSL et OSSL, aux constantes et au matériel connexe.

Aperçu du statut LSL/OSSL

LSL OSSL
 * Situation des fonctions LSL
 * Situation des constantes LSL
 * Situation des évènements LSL
 * Situation des types LSL
 * Fonctions OSSL avec exemples
 * Constantes OSSL

Ressources supplémentaires pour les scripts (LSL)
De nombreuses questions concernant les scripts et les outils de scripting ont été posées dernièrement. Nous vous présentons ici une variété de liens vers des ressources qui aideront la plupart des gens à utiliser les scripts LSL.

Matériels spécifiques à OpenSimulator :

 * Fonctions OSSL avec exemples - Un bon moyen de commencer à se documenter sur les scripts OSSL.
 * Bibliothèque de scripts OSSL Bibliothèque de scripts qui utilisent les fonctions OSSL.

Liens suggérés pour les wikis LSL :

 * wiki.secondlife.com

Consultez les didacticiels, les exemples et les bibliothèques de scripts.

Outils d'édition LSL locaux hors du viewer et surligneurs de syntaxe
Note : la plupart ne supportent pas les fonction OS.

TOUT EDITEUR (pas de fonction OS)
 * Github de LSLeditor
 * Dans ce dépôt, vous pouvez trouver la grammaire syntaxique, la coloration syntaxique et les fichiers snippet pour le Linden Scripting Language (LSL) de Second Life pour différents types de logiciels.

EDITEUR LSL (pas de fonction OS)
 * LSLeditor SourceForge
 * Site de l'auteur original avec sa dernière version de LSLeditor (lien cassé)
 * Editeur LSL pour Windows10 (à partir de la version WhiteCoreDev 2.56 Oct 2017) (lien cassé)
 * Maintenant un projet Open Source. La nouvelle version date de février 2012 (Ver.2.44.2). Un outil précieux et facile à installer.

LSL Plus (pas de fonction OS)
 * LSLplus
 * Plugin open source Eclipse. Mises à jour régulières. Pas aussi rapide à installer que LSLEditor, mais très bon outil.

Notepad++ (Fonctions os supportées avec ladd-on UDF )
 * Notepad Plus Plus
 * LSL and OS functions UDF
 * Notepad++ OSSL-LSL Syntax avec autocomplétion et coloration syntaxique de Phoenix LSL Präprozessor et oslogfile.(lien cassé)
 * Éditeur pour Windows uniquement, avec des capacités améliorées et prenant en charge la plupart des langues. Très puissant et riche en fonctionnalités.

KATE (pas de fonction OS)
 * Page d'accueil de Kate
 * Editeur de texte libre et open source, supportant de nombreux langages de script et de programmation. Cela inclut LSL.

Sublime Text 2 (Fonctions os*/wl*/mod* supportées par le bundle ci-dessous)
 * Sublime Text 2.
 * Ensemble LSL/OSSL pour Sublime Text 2 (à partir du dépôt github de Makopoppo)
 * Complétions et coloration syntaxique des fonctions/événements/constantes LSL/OSSL et thème de l'apparence de l'éditeur dans le monde.
 * Pour utiliser la fonctionnalité OSSL, utilisez ".ossl" comme extension de votre fichier script.
 * Il est actuellement compatible avec LL v3.4.1 et OpenSimulator v0.7.4+ (master r/21068).

FS2LSL Editeur graphique (LSL OSSL)
 * GitHub FS2LSL Éditeur graphique(lien cassé)
 * Éditeur de texte gratuit et open source, éditeur graphique de scripts LSL/OSSL En ligne-Hors ligne pour navigateur WEB ou Windows (Programmation pour débutants)

D'autres éditeurs sont répertoriés sur http://wiki.secondlife.com/wiki/LSL_Alternate_Editors

Mise en évidence de la syntaxe

 * Page d'accueil du projet GeSHi
 * Version la plus récente de GeSHI à télécharger
 * Fichier de référence GeSHi LSL inclut osFunctions & mis à jour (lien cassé)
 * Référence supplémentaire sur MediaWiki: GeSHi - Coloration syntaxique pour WIKI et forums

Divers:

 * Un environnement web simple, semblable à Scratch, pour créer du code LSL et apprendre aux enfants à créer des scripts LSL. (lien cassé)
 * AutoScript, générateur de code simple et rapide pour des choses simples (EN LIGNE)(lien cassé)
 * lslsnippets
 * Stockage hors site gratuit pour les scripts LSL jusqu'à 250k
 * Scripts SL gratuits (bibliothèque)
 * Scratch pour SecondLife (générateur de code script avec une belle interface - MISE À JOUR JUL.09.2009)
 * FS2LSL Flash Scratch to LSL (un générateur de code script de type Scratch riche en fonctionnalités)
 * Second Life Animated Texture Creator v0.4 - présenté par Peregrine Salon(lien cassé)
 * Freescripts - Plus de 1000 scriptsopens source ou dans le domaine public (bibliothèque)
 * Scriptastic - Outil de création de scripts basé sur des blocs (comme Scratch) rendant le script LSL suffisamment simple, même pour les enfants.
 * GitHub FS2LSL - FS2LSL Editeur de script LSL/OSSL en ligne ou hors ligne pour WEB ou Windows (Programmation pour débutants).(lien cassé)
 * Le générateur de script de Con Wylie - Générateur de script.
 * Générateur de particules LSL - Générateur de script pour le système de particules LSL.
 * MiceOnABeam - Outils et composants de script pour votre monde virtuel.
 * Autoscript - Générateur de script.
 * Grid URL Persister - Conçu pour faciliter le travail avec http-in.(lien cassé)
 * Easy Free Database - Conçu pour faciliter la sauvegarde des variables persistantes dans les scripts de Second Life et d'OpenSim.

Ressources supplémentaires pour le scripting (OSSL)
De nombreuses questions concernant les scripts et les outils de scripting ont été posées dernièrement. Nous vous présentons ici quelques liens vers des ressources qui aideront la plupart des gens à utiliser les scripts OSSL.


 * Fonctions OSSL avec exemples - Un bon moyen de commencer à se documenter sur les scripts OSSL.
 * Bibliothèque de scripts OSSL - Une bibliothèque de scripts qui utilisent les fonctions OSSL.
 * Propositions OSSL - Suggestions de fonctions OSSL particulières. Vous avez aussi une suggestion ? Ajoutez-la !
 * Commandes de dessin - Comment utiliser les fonctions de dessin de texture prises en charge par OSSL.
 * OSSL TextureDrawing - Détails des fonctions de dessin de texture OSSL.
 * Traduction de langues - Un script qui utilise la fonction d'analyse JSON pour appeler l'API de traduction de Google.
 * Forums OSGrid - Discussions sur LSL/OSSL, exemples, conseils, etc.
 * Exemples de scripts OSSL pour l'inventaire - Permet d'ajouter les scripts exemples de fonctions OSSL dans l'inventaire par défaut.

Comment contribuer
ScriptEngine est développé par de nombreux développeurs. Les nouveaux développeurs sont toujours les bienvenus. Si vous souhaitez contribuer, ne serait-ce qu'un tout petit peu, jetez un œil à la page OpenSim.Region.ScriptEngine. Il y a beaucoup d'activité de développeurs sur IRC (Support), n'hésitez pas à vous y rendre.
 * Standards OSSL - Un document de travail concernant les normes de nommage pour le langage de script d'OpenSimulator.
 * OpenSim.Region.ScriptEngine.Common - Comment créer votre propre moteur de script.
 * DotNet-Engine - Décrit certaines des parties ésotériques du moteur DotNet.

Exemples de scripts LSL

 * Une version Opensim pour llHTTPResponse
 * Changed_Event_Example
 * SetScope - Exemple d'utilisation de SetScope
 * DONTSITONME- ne t'assieds pas sur moi.
 * llParticleSystemExample
 * ModSendCommand
 * Rotation de prim
 * Particules
 * Public_Trampoline_Script
 * Assise et position
 * Boucle sonore
 * Texture en rotation douce
 * Tableau de présentation - Tableau de présentation simple qui défile à partir des textures d'inventaire.

Voir aussi

 * Moteur de script - Xengine Transition vers le moteur de script (Par Melanie_T), YEngine
 * Langages de script - Langages de script pris en charge
 * Statut LSL/OSSL - Statut et actualités de LSL et OSSL
 * Activation des fonctions OSSL - Comment activer les fonctions OSSL.
 * Threat level - Informations sur les niveaux de risque des fonctions OSSL.