jeudi 20 décembre 2007

llDialog

Tout d'abord je rappelle que ce soir il y a un cours à l'ecole de SL à 21h30
http://slurl.com/secondlife/Terra%20Bordeaux/153/67/25/

Voici une fonction très simple d'utilisation et très puissante. Elle permet aussi de rendre les scripts un peu conviviaux.
La fonction llDialog permet d'afficher un menu avec un ensemble de bouton. Lorsque l'on appui sur le bouton le script va "dire" le nom du bouton sur le channel il ne reste plus que à écouter le nom du bouton pour faire l'action, ici on fera changer la couleur de l'objet.
Important, la fonction doit être couplé avec un listen car si votre script "n'écoute pas" sur un channel la dialog pour dire ce qu'elle veut ^^
Maintenant les paramètres :
D’abord qui l'utilise sa key
Le libellé du menu
une list avec la list des boutons
et un channel
Il est recommandé d'utilisé une variable pour déterminer le channel et ainsi être sure de ne pas se mélanger. On verra dans d'autres script que c'est aussi utile pour la sécurité



// Une list est une variable dans laquelle on peut mettre des variable de tout type
// ici des string correspondant au nom des bouton
// une list commence et se termine par un crochet et
// chaque élément est séparé par des virgules
list bouton=["rouge","vert","bleu"];

default
{
state_entry()
{
// on défini le channel commun du listen et de la dialog
integer channel=1;

// ecoute le channel pour le proprio
llListen(channel,"",llGetOwner(),"");

// la fonction du jour !
llDialog(llGetOwner(),"Choisissez la couleur",bouton, channel);
}
listen(integer channel, string name, key id, string message)
{
// mets la couleur désiré en fonction du message
if(message=="rouge") llSetColor(<1,0,0>,ALL_SIDES);
if(message=="vert") llSetColor(<0,1,0>,ALL_SIDES);
if(message=="bleu") llSetColor(<1,0,0>,ALL_SIDES);
}

}

Aucun commentaire: