« 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
Ligne 92 : Ligne 92 :
{
{
     state_entry()
     state_entry()
     {|-
     {
|rowspan="7"|<source lang="ada">
       ecoute = llListen(canal,"","","");
       ecoute = llListen(canal,"","","");
       llSetTimerEvent(30.0);
       llSetTimerEvent(30.0);

Version du 5 octobre 2017 à 05:18

/*
Script Acryline Erin 2017
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/  
*/
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;
           state inscriptFR;              
        }
        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();
    }
}