« Scripts OSSL - Inscription dans un groupe » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
(Page créée avec « <gallery> Fichier:Atelier llDetectedGroup 001.png </gallery> <source lang="ada"> /* Script Acryline Erin 2017 Licence : Attribution - Partage dans les Mêmes Conditions 3... »)
 
Aucun résumé des modifications
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 5 : Ligne 5 :
/*
/*
Script Acryline Erin 2017
Script Acryline Erin 2017
Inscription dans un groupe
Version 1
Licence  : Attribution - Partage dans les Mêmes Conditions 3.0 France (CC BY-SA 3.0 FR)
Licence  : Attribution - Partage dans les Mêmes Conditions 3.0 France (CC BY-SA 3.0 FR)
https://creativecommons.org/licenses/by-sa/3.0/fr/   
https://creativecommons.org/licenses/by-sa/3.0/fr/   
Vous devez avoir le droit d'utiliser des scripts et la fonction osInviteToGroup
Ce script cherche si l'utilisateur est dans le groupe de la primitive
qui contient le script.
Si l'utilisateur n'est pas dans le groupe et qu'il veut s'inscrire, le script fait l'enregistrement.
Le script est bilingue : français et anglais.
*/
*/
integer ecoute;
integer ecoute;
integer canal;
integer canal;
Ligne 55 : Ligne 64 :
           llListenRemove(ecoute);   
           llListenRemove(ecoute);   
           flag =0;
           flag =0;
           state inscriptFR;            
           if(msg =="Français") state inscriptFR;  
          if (msg =="English") state inscriptEN;         
         }
         }
         fermer();
         fermer();
Ligne 92 : Ligne 102 :
{
{
     state_entry()
     state_entry()
     {|-
     {
|rowspan="7"|<source lang="ada">
       ecoute = llListen(canal,"","","");
       ecoute = llListen(canal,"","","");
       llSetTimerEvent(30.0);
       llSetTimerEvent(30.0);
Ligne 114 : Ligne 123 :
}
}
</source>
</source>
[[Catégorie:Scripts LSL]]

Version actuelle datée du 15 décembre 2017 à 20:18

/*
Script Acryline Erin 2017
Inscription dans un groupe
Version 1
Licence  : Attribution - Partage dans les Mêmes Conditions 3.0 France (CC BY-SA 3.0 FR)
https://creativecommons.org/licenses/by-sa/3.0/fr/  

Vous devez avoir le droit d'utiliser des scripts et la fonction osInviteToGroup
Ce script cherche si l'utilisateur est dans le groupe de la primitive
qui contient le script.
Si l'utilisateur n'est pas dans le groupe et qu'il veut s'inscrire, le script fait l'enregistrement.
Le script est bilingue : français et anglais.
*/

integer ecoute;
integer canal;
integer flag=0;
key user;
integer groupe;

fermer()
{
   llSetTimerEvent(0.0);
   llListenRemove(ecoute);
   flag =0;
}

default
{
    touch_start(integer nbr)
    {
        if(!flag)
        {
            flag =1;    
            canal =(integer)llFrand(100000);
            ecoute = llListen(canal,"","","");
            user = llDetectedKey(0);
            groupe = llDetectedGroup(0);
            llSetTimerEvent(30.0);
            llDialog(user, "\nChoisissez votre langue.\nChoose your language.", ["Français", "English" ] , canal);
        }
    }

    listen(integer chan, string name, key id, string msg)
    {
       string phrase ;
       if(msg =="Français")
        {
          phrase="Bonjour ! Vous êtes déjà dans le groupe.";
        } 
        if (msg =="English")
        {
          phrase="Hello !You are already in the group.";
        } 
        if(groupe)
        {
           llSay(0,phrase); 
        } else {
           llSetTimerEvent(0.0);
           llListenRemove(ecoute);  
           flag =0;
           if(msg =="Français") state inscriptFR; 
           if (msg =="English") state inscriptEN;           
        }
        fermer();
    }
   timer()
    {
       fermer();
    }
}

state inscriptFR
{
    state_entry()
    {
       ecoute = llListen(canal,"","","");
       llSetTimerEvent(30.0);
       llDialog(user, "\nBonjour ! Vous n'êtes pas dans le groupe,\nvoulez-vous vous y inscrire ?", ["Oui", "Non" ] , canal);  
    }
    listen(integer chan, string name, key id, string msg)
    {
       if(msg=="Non")
        {
          llSay(0,"D'accord, au revoir!");          
        }
        if(msg =="Oui")
        {
            osInviteToGroup( user) ; 
        }
        llSetTimerEvent(0.0);
        llListenRemove(ecoute);
        llResetScript();
    }
}

state inscriptEN
{
    state_entry()
    {
       ecoute = llListen(canal,"","","");
       llSetTimerEvent(30.0);
       llDialog(user,  "\nHello ! You are not in the  group, \nwould you like to register?", ["Yes", "No" ] , canal);  
    }
    listen(integer chan, string name, key id, string msg)
    {
       if(msg=="No")
        {
           llSay(0,"Okay goodbye!");        
        }
        if(msg =="Yes")
        {
            osInviteToGroup( user) ;
        }
        llSetTimerEvent(0.0);
        llListenRemove(ecoute);
        llResetScript();
    }
}