From Second Life Wiki
ResetOtherScript
llResetOtherScript
Description
Fonction: llResetOtherScript( string nom );
Réinitialise le script nom
| • string
| nom
| –
| un script de l'inventaire
|
|
Sur une réinitialisation du script...
- La fonction actuellement exécutée est quittée sans autre exécution ou renvoi de donnée.
- Toutes les variables globales reprennent leur valeur par défaut
- La queue des évènements est vidée et les évènements à répétition sont supprimés.
- L’état par défault et devient l’état actif.
- Si le script à un évènement state_entry il est alors exécuté.
Inconvénients
- Si nom n'est pas dans l'inventaire de la prim ou n'est pas un script alors une erreur se produit sur le canal DEBUG_CHANNEL.
Exemples
integer menu_channel = -2345;
default
{
state_entry(){
llListen(menu_channel, "", "", "");
}
touch_start(integer total_number){
llDialog(llDetectedKey(0), "Réinitialiser le script ?", ["Yes", "No"], menu_channel);
}
listen(integer channel, string name, key id, string message){
if (message == "Yes"){
llSay(0, "Script en cours de réinitialisation...");
llResetOtherScript("Database_script"); // Le script dans être dans la même prim et n’a pas besoin d’être actif.
} else
llSay(0, "Opération annulée");
}
}