Il arrive qu'à un moment de l'exécution d'un script la décision est prise de détruire l'objet ; ceci se fait par l'usage de l'instruction llDie().
Mais pendant la mise au point du script et/ou, on peut provoquer l'activation de cette instruction et perdre objet, script, tout quoi (llDie() n'envoie l'objet ni dans la poubelle, ni dans Lost And Found ; une vraie calamité!)
Ce petit script vous enseigne la technique à utiliser pendant la mise au point.

 

float fDelay = 15.0;

$Autodestruction()
{
//llDie();
//llSleep(5.0); //l'objet aura disparu avant d'arriver aux autres instructions
llOwnerSay("Fausse autodestruction en cours.");
integer iNbScripts = llGetInventoryNumber(INVENTORY_SCRIPT);
integer i;
if(iNbScripts > 1) //Si il y a +ieurs scripts dans cette prim
{
for(i = 1; i < iNbScripts; i++)
{
llResetOtherScript(llGetInventoryName(INVENTORY_SCRIPT, i));
}
llSleep(1.0); //Mieux vaut attendre un peu
}
llResetScript();
}

default
{
state_entry()
{
llOwnerSay("Dans " + (string)((integer)fDelay) + " secondes AUTODESTRUCTION!");
llSetTimerEvent(fDelay);
}

timer()
{
//llDie();
$Autodestruction();
}
}

 


Une fois terminée la mise au point, dé-commentez l'inscription llDie().