stateName[0] = "Activate"; stateTimeoutValue[0] = 0.1; stateTransitionOnTimeout[0] = "Ready"; stateSound[0] = LightningZapSound; stateName[1] = "Ready"; stateTransitionOnTriggerDown[1]= "Fire"; stateAllowImageChange[1] = true; stateEmitter[1] = LightningAmbientEmitter; stateEmitterTime[1] = 600; stateName[2] = "Fire"; stateTransitionOnTimeout[2] = "Fire"; stateTransitionOnTriggerUp[2] = "Ready"; stateTimeoutValue[2] = 0.1; stateFire[2] = true; stateAllowImageChange[2] = false; stateScript[2] = "onFire"; stateWaitForTimeout[2] = false; stateSound[2] = LightningZapSound;};
make the timeout values even lower like 0.01
As far as i can see, that should be working.By changing the timeout, it should not of made it fully automatic, which makes me think that your doing something silly. You are restarting blockland after each change, right?
if(%obj.lst[%this] > getSimTime()) { return; } %obj.lst[%this] = getSimTime() + 1000;
Took one look at the script, delete this under function LightningImage::onFire(%this, %obj, %slot)Code: [Select] if(%obj.lst[%this] > getSimTime()) { return; } %obj.lst[%this] = getSimTime() + 1000;Come on, that was obvious. You should have posted anything related to time in the script. I assumed that you would have at least looked through the script before asking for help.