Scripts OSSL - Inscription dans un groupe
<source lang="ada"> /* 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/
- /
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(); }
} </source>