I'm writing a script that calls out a touch() and a listen().
Under the touch(), if certain integers are set, llPlaySound (9secs) and a particle fuction (ParticleStart()) are called. Depending on the integer set, a 'llSetTimerEvent() is added to to the particle function. I have the llSetTimerEvent set for 2 different times:
CODE
touch_start(integer num_detected)
{
if (running==TRUE)
{
running=FALSE;
llPlaySound("C1a", vol);
{
if(sustain == TRUE)
{
llMessageLinked( LINK_ALL_OTHERS, 1, "Loopr", llGetKey() );
{
{if (off == TRUE)
ParticleStart();}
{if(always == FALSE)
llSetTimerEvent(30);}
}
}
else if(sustain == FALSE)
{
{
{if (off == TRUE)
ParticleStart();}
{if (always == FALSE)
llSetTimerEvent(9);}
}
}
}
}
else
{
running=TRUE;
llPlaySound("C1a", vol);
{
if(sustain == TRUE)
{
llMessageLinked( LINK_ALL_OTHERS, 1, "Loopr", llGetKey() );
{
{if (off == TRUE)
ParticleStart();}
{if(always == FALSE)
llSetTimerEvent(30);}
}
}
else if(sustain == FALSE)
{
{
{if (off == TRUE)
ParticleStart();}
{if(always == FALSE)
llSetTimerEvent(9);}
}
}
}
}
}
Under the listen(), with a chat command, I call out my ParticleStart() with no llSetTimerEvent (and with the correct integers set) to let the particles emit indefinitely until I give it a chat command to stop.
All is fine and dandy until I change the integer states and let the path go into one of the llSetTimerEvents under touch().
Once a llSetTimerEvent has been called (under touch()), it seems that the script (or prim - I'm lost at this point) is stuck using that exact call and adds it to the next time I call ParticleStart() by itself with a chat command.
I have to reset the script to clear "something" that is causing the last llSetTimerEvent to add itself to my function call.
Any and all help will be greatly appreciated trying to figure this out. Thanx

The timer() is a call for llParticleSystem([])
