Menu sur on_rez

Répondre
Partager Rechercher
Bonjour,

Je me casse la tête depuis un bon moment pour obtenir un menu (par llDialog) automatiquement au rez d'un objet (on_rez) et ça ne marche pas. En revanche, ça fonctionne sur un touch_start mais il me faut alors cliquer sur l'objet, ce que je voudrais éviter... Ce problème est connu (ou a une solution) ?

Merci d'avance
on_rez ne marche que quand l'objet est rezzé sur le sol. L'evenement n'est pas déclenché
- si le script est réinitialisé
- si l'objet est attaché depuis le sol
- si le script est dans un état qui ne contient pas le on_rez
- si on se téléporte
Citation :
Publié par Nibb
on_rez ne marche que quand l'objet est rezzé sur le sol. L'evenement n'est pas déclenché
- si le script est réinitialisé
- si l'objet est attaché depuis le sol
- si le script est dans un état qui ne contient pas le on_rez
- si on se téléporte
Je fais pourtant tout ce qu'il y a de plus simple : prendre l'objet dans mon inventaire et le rezzer sur le sol... Faut-il faire une initialisation particulière ? Ce qui est curieux c'est que j'ai mis un llSay dans le on_rez qui affiche bien un messge de test, mais le llDialog qui se trouve après n'est pas pris en compte. Faut-il mettre une temporisation ?
Code:
default
{
    on_rez(integer param)
    {
         llDialog(llGetOwner(), "message", ["1", "2"], 123);
    }
}
Tu as du mettre llDetectedKey() comme key au lieu de llGetOwner() je me trompe pas ?
Si le llSay est executé, c'est que l'evenement est bien executé. Le probleme est avec le llDialog. Tu peux nous montrer ton script (mets des tags [PHP] et [/ PHP] autour du script)
Citation :
Publié par Nibb
Si le llSay est executé, c'est que l'evenement est bien executé. Le probleme est avec le llDialog. Tu peux nous montrer ton script (mets des tags [php] et [/ PHP] autour du script)
Merci ! Voilà le script. Il s'agit en fait d'une clé électronique que je veux donner à quelques amis de confiance pour mettre une alarme On ou Off... Pour le dialogue, j'ai utilisé l'excellent outil de Bestmomo (dialog.exe) où j'ai remplacé le :

touch_start(integer total_number)

par un :

on_rez(integer start_param)

pour que le menu arrive lorsque l'on pose la clé sur le sol à côté de l'alarme (j'ai prévu par la suite de détruire automatiquement la clé après un délai, mais nous n'en sommes pas là ). Donc, ça marche avec le touch_start mais rien ne se passe avec le on_rez, d'où mon problème...


Code PHP:

integer ecoute;
integer delai 60;
integer canal 72076379;
list 
menu0;

default{


    
on_rez(integer start_param){
        
// Creation des menus
        
menu0 = ["Turn On","Turn Off"];
        
// Ecoute
        
ecoute llListen(canal""NULL_KEY"");
        
// Dialogue
        
llDialog(llDetectedKey(0), "Choisir une action.\n(Vous avez"+(string)delai+" secondes !)"menu0canal);
        
// Timer
        
llSetTimerEvent(delai);
    }

    
listen(integer channelstring namekey idstring message){
        if (
message == "Turn On"){
            
// le code à exécuter pour On
        
}
        else if (
message == "Turn Off"){
            
// le code à exécuter pour Off
        
}
        
llSetTimerEvent(0.0);
        
llListenRemove(ecoute);
    }

    
timer(){
        
llSetTimerEvent(0.0);
        
llListenRemove(ecoute);
    }

Les fonctions llDetected... ne sont accessibles que dans les events touch... collision... sensor ... pas dans le on_rez

Remplace llDetectedKey(0) par llGetOwner().
Citation :
Publié par Pi78
Un grand merci à vous 3, le problème venait bien du llDetectKey... Argh ! Ca s'invente pas un truc vicelard comme ça
Tout le jeu du scripteur est de bien connaitre les trucs vicelards dont est farcis le LSL et de savoir les utiliser à bon escient ou les contourner.
Citation :
Publié par Elenia Boucher
Tout le jeu du scripteur est de bien connaitre les trucs vicelards dont est farcis le LSL et de savoir les utiliser à bon escient ou les contourner.
Hé oui, c'est comme pour tout, rien ne vaut l'expérience

Bestmomo, si tu nous lis, voilà un "warning" à mettre dans ton excellent guide du LSL
Répondre

Connectés sur ce fil

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