Love this script! Triggered by touch, but would like the trigger to be via link message....no idea how to do that. (Waving the white flag.) Any help greatly appreciated. //- Click to start / stop float MAX_RADIUS = 3.0; float RADIUS_INTERVAL = 0.200; // Modified values integer IS_ON = FALSE; float RADIUS = 2; string TEXTURE = "09792b7c-cd84-5145-43c8-0bc3b57e657b"; garden() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE_CONE, // Texture / Size / Alpha / Color PSYS_SRC_TEXTURE, TEXTURE, PSYS_PART_START_SCALE,<0.0500, 0.0500, 0.0000>, PSYS_PART_END_SCALE,<0.150, 0.150, 0.0000>, PSYS_PART_START_ALPHA,0.0100000, PSYS_PART_END_ALPHA,1.000000, PSYS_PART_START_COLOR, <1.0,1.0,1.0>, PSYS_PART_END_COLOR, <1.0,1.0,1.0>, // Flow PSYS_PART_MAX_AGE,3000.0000, PSYS_SRC_BURST_RATE,1.000000, PSYS_SRC_BURST_PART_COUNT,1, PSYS_SRC_MAX_AGE,0.000000, // Rez position PSYS_SRC_BURST_RADIUS,RADIUS, PSYS_SRC_INNERANGLE,0, PSYS_SRC_OUTERANGLE,180., PSYS_SRC_OMEGA,<0.00000, 0.00000, 4>, PSYS_SRC_BURST_SPEED_MIN,0.000000, PSYS_SRC_BURST_SPEED_MAX,0.000000 ]); } stop() { llParticleSystem([]); } default { state_entry() { if(IS_ON) { llSetTimerEvent(RADIUS_INTERVAL); garden(); } else { stop(); } } touch_start(integer num_detected) { if(IS_ON) { llSetTimerEvent(0.0); stop(); llWhisper(0, "off"); } else { llSetTimerEvent(RADIUS_INTERVAL); garden(); llWhisper(0, "on"); } IS_ON = !IS_ON; } timer() { integer max_inventory = llGetInventoryNumber(INVENTORY_TEXTURE); if(max_inventory > 0) { TEXTURE = llGetInventoryName(INVENTORY_TEXTURE, (integer)llFrand(max_inventory)); } RADIUS = llFrand(MAX_RADIUS); garden(); } } // END //