Un sensor et un listen en même temps?

Répondre
Partager Rechercher
Bonjour all.
Après m'être arraché les cheveux pendant plusieurs heures, je me tourne vers vous:
Comment lancer un sensor un et liste n en même temps?
Un sensor qui réagit au message du chat par exemple.
C'est possible?
Merci d'avance.
Citation :
Publié par bestmomo
Pas compris la question
En gros si tu veut je cherche a démarrer ou a arrêter un sensor grâce a une commande de chat.
Ah !!!

Un truc comme ça alors :

Code PHP:

float range 10.0;
float interval 5.0;

default
{
    
state_entry()
    {
        
llListen(0""llGetOwner(), "");
    }
    
listen(integer channelstring namekey idstring message)
    {
        if(
message == "GO") {
            
llSensorRepeat(""""AGENTrangePIinterval);
            
llOwnerSay("Sensor actif");}
        else if(
message == "STOP") {
            
llSensorRemove();
            
llOwnerSay("Sensor inactif");}
    }
    
sensor(integer total_number)
    {
        
llOwnerSay("J'ai trouvé " + (string)total_number " avatars");
    }

Citation :
Publié par maxo234
...
Merci est. Je me sent idiot tout a coup moi qui tentait d'imbriquer tout ça dans divers états...
Tu peux; c'est plus élégant mais un peu plus lourd à écrire:
Code:
float range = 10.0;
float interval = 5.0;

default
{
    state_entry()
    {
        llListen(0, "", llGetOwner(), "GO");
        llOwnerSay("Sensor inactif");
    }
    listen(integer channel, string name, key id, string message)
    {
        state detecte;
    }
}

state detecte{
     state_entry()
    {
        llListen(0, "", llGetOwner(), "STOP");
llSensorRepeat("", "", AGENT, range, PI, interval);
       llOwnerSay("Sensor actif");
    }
    
    listen(integer channel, string name, key id, string message)
    {
        state default;
    }

       sensor(integer total_number)
    {
        llOwnerSay("J'ai trouvé " + (string)total_number + " avatars");
    }
}
Le gros avantage est de pouvoir filtrer les listen sur le mot clé correspondant à l'état.
Citation :
Publié par Elenia Boucher
Le gros avantage est de pouvoir filtrer les listen sur le mot clé correspondant à l'état.
On peut aussi faire deux filtres sans passer par les états :

Code PHP:

        llListen(0""llGetOwner(), "GO");
        
llListen(0""llGetOwner(), "STOP"); 
Citation :
Publié par bestmomo
On peut aussi faire deux filtres sans passer par les états :

Code PHP:

        llListen(0""llGetOwner(), "GO");
        
llListen(0""llGetOwner(), "STOP"); 
tut tut tut ça marche pas ça: le 2éme listen supplante le 1er. J'ai essayé ça ne marche pas, et c'est indiqué dans le wiki.
Citation :
Publié par Elenia Boucher
tut tut tut ça marche pas ça: le 2éme listen supplante le 1er. J'ai essayé ça ne marche pas, et c'est indiqué dans le wiki.
Fais l'essai
Exact; pourtant j'avais essayé et ça marchait pas.
Reste que cela n'offre pas grand intérêt puisqu'on est obligé de les différencier dans le listen avec des if. Enfin si: moins de lag puisque seul les mots clés déclencheront le listen. Il faudrait donc le faire systématiquement pour une écoute sur le canal 0, pour quelques mots clés bien sur.
Je fais souvent ça quand il a besoin que de deux ou trois mots clés pour le listen.
Mais Elenia qui s'attaque à une bielle en marche et butte sur un multi listen, ca me sidère...
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés