// Reducing Script // // Kimm Paulino // Written for Stewart Bosatsu, Sept 2010 integer TIMER_STEPS = 18; float REDUCING_STEPS = 20; // If this >= TIMER_STEPS then prim will disappear float TIMER_INTERVAL = 2.0; // In seconds integer gCount; vector gReducingFactor; default { on_rez (integer start_param) { llResetScript(); } state_entry() { gCount = 0; vector size = llGetScale(); float scaling = 1.0 / REDUCING_STEPS; gReducingFactor = size * scaling; } touch_start(integer total_number) { llSetTimerEvent (TIMER_INTERVAL); } timer () { // Reduce the size by 1/TIMER_STEPS % each time gCount ++; if (gCount > TIMER_STEPS) { // disable and quit llSetTimerEvent (0.0); llDie(); return; } // Reduce prim vector size = llGetScale(); size = size - gReducingFactor; llSetScale (size); } }