Plus paisible, calme et zen que la précédente.
Mes bonnes résolutions 2011 : et si je refaisais un ou deux (voire même trois) petits tutos de LSL ??
Donc commençons l'année par mettre en pratique les bonnes résolutions : un petit tuto pour la réalisation d'un onliner tout simple....
Un quoi ?? Un objet qui dit si quelqu'un est connecté ou non. On en voit souvent dans les boutiques qui nous disent si le propriétaire est là ou non.
Comme toujours le script sera simple avec juste cette fonctionnalité... A vous de l'améliorer en ajoutant plein d'autres choses....
Objectifs : un objet qui dit si une personne est connectée et passe au vert dans ce cas... rouge sinon, avec un message au-dessus si des fois on n'avait pas compris.
Fonctions qui seront utiles :
- llSetColor : pour changer la couleur de notre objet
- llSetText : pour mettre le texte au dessus
- llRequestAgentData : LA fonction... celle qui est le point central de ce script et qui fait appelle au DataServer
Marche a suivre :
- Créer une prim, dans mon cas une sphère
- Dans l'onglet inventaire : nouveau script
- Ouvrir et saisir le code suivant. Les explications en dessous...
Script :
vector ROUGE = <1.0,>;
vector VERT = <0.0,>;
float delay = 10.0;
key avatar = "XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; //le UUID de la personne
string name "Deirdre"; // le nom de la personne
key query;
integer etat= 0; // 0 : offline ---- 1 : online
default{
state_entry()
{
llSetColor(ROUGE, ALL_SIDES );
llSetText( name +"\nOFFLINE", <1.0,1.0,1.0>, 1.0);
llSetTimerEvent(delay);
}
timer(){
query = llRequestAgentData(avatar, DATA_ONLINE);
}
dataserver(key queryid, string data){
if (query == queryid ){
if (data == (string)1) {
llSetColor(VERT, ALL_SIDES );
llSetText(name +"\nONLINE", <1.0,1.0,1.0>, 1.0);
etat = 1;
}
else {
llSetColor(ROUGE, ALL_SIDES );
llSetText(name +"\nOFFLINE", <1.0,1.0,1.0>, 1.0);
etat = 0;
}
}
}
}
analyse du code :
- ROUGE et VERT : deux constantes pour les couleurs de la boule
- delay : le script lance un vérifie si la personne est online ou non toutes les 10.0 sec... changer la valeur pour modifier ce temps. Un temps trop court crée plus de lag.
- avatar : la clé, le UUID de l'avatar sur lequel le script est basé
- name : son nom
- query : variable qui sert pour le dataserver
- etat : vaut 0 si la personne est offline et 1 sinon
Et voila, c'est tout pour aujourd'hui.
Aucun commentaire:
Enregistrer un commentaire