OpenSim Tutorial : Cours de LSL - Module 5
La vritable puissance de LSL rside dans le fait qu'il permet un objet de communiquer et d'interagir avec le reste du monde. Traiter de tout ce qu'il est possible de faire ncessiterait un ouvrage spar mais les sections venir devraient vous permettre de dmarrer.
Le chat
Dans notre premier exemple, nous montrions qu'un objet peut discuter avec le reste du monde l'aide de la fonction llSay. Elle permet de communiquer avec les personnes proches de l'objet, mais assure aussi une communication locale entre objets.
Le script qui prcde est un simple rcepteur de chat qui donne les bases d'un chat script. Il se contente de rpter tout ce que dit le propritaire de l'objet. Lorsque le script dmarre, llListen configure l'objet listen de sorte que l'objet puisse couter pour discuter. llListen permet de filtrer ce que vous voulez couter par le canal de chat, le nom, l'UUID et le message.
Dans l'exemple, le script coute sur le canal 0, c'est--dire le canal de chat public sur lequel discutent tous les avatars. Il existe quelques milliards de canaux de chat afin que les objets puissent discuter entre eux sans craindre la collision des messages. Les paramtres de nom et de message restent vides dans ce cas, le script coute donc tous les noms et tous les messages. llGetOwner renvoie l'UUID du propritaire, aussi, dans ce cas, le script finit par couter le chat public du propritaire du script.
Lorsque le script " entend " quelque chose qui rponde aux critres tablis dans llListen, l'vnement listen est dclench. Dans ce cas, nous passons simplement le message entendu par llSay.
La discussion envoye avec llSay peut tre entendue dans un rayon de 20 mtres ; la discussion peut aussi tre envoye avec llWhisper (10 mtres) ou llShout (100 mtres).
Pour maintenir la discussion prive, vous pouvez aussi employer llOwnerSay : seul le propritaire de l'objet pourra entendre le dialogue.
IM
Il arrive que l'on veuille envoyer un message une personne qui ne se trouve pas dans un rayon visible par Whisper, Say ou Shout ou encore que l'on veuille maintenir le message priv. La manire la plus simple consiste utiliser un message instantan [IM]. Les IM peuvent tre entendus n'importe o dans Logicamp mais uniquement par le destinataire concern. Pour envoyer un IM vous devez connatre l'UUID du destinataire
Si le rsident est dconnect, le message est enregistr jusqu' ce qu'il se connecte. Attention, les objets ne peuvent pas envoyer d'IM d'autres objets.
Capteurs
Les capteurs permettent de recueillir des informations sur les avatars et les objets proches du vtre. Configurer un capteur, c'est un peu comme configurer une coute pour une discussion. Lorsque llSensor est appel, les paramtres filtrent les rsultats et, s'il y a des concordances, appellent un vnement sensor. La principale diffrence rside dans le fait que, mme si llListen est continu, llSensor constitue une requte unique. Le script suivant illustre l'emploi d'un capteur.
Remarques :
La vitesse de rptition du senseur est affecte par la " dilatation temporelle " (lag) de la rgion.
Dans plusieurs situations, la fonction llVolumeDetect consomme moins de ressources que la fonction llSensorRepeat
Si dtection prend la valeur TRUE, l'objet devient fantme et dclenche les vnements collision_start et collision_end lorsque qu'un autre objet commence ou arrte de l'interpntrer
|