// Balloon Generator
// (c) JPvdGiessen IT Consultancy
// http://www.giessenict.nl/index.php/nl/opensimulator/opensimulator-scripts

// You are free:

// * to Share — to copy, distribute and transmit the work
// * to Remix — to adapt the work

// Under the following conditions:

// Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

// Attribute this work:
// What does “Attribute this work” mean?
// The page you came from contained embedded licensing metadata, including how the creator wishes to be attributed for re-use. You can use the HTML here to cite the work.
// Doing so will also include metadata on your page so that others can find the original work as well.

// * For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.
// * Any of the above conditions can be waived if you get permission from the copyright holder.
// * Nothing in this license impairs or restricts the author’s moral rights.
// http://creativecommons.org/licenses/by-nc-sa/3.0/nl/

MakeParticles() //This is the function that actually starts the particle system.
{
llParticleSystem( [
PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0),
PSYS_PART_START_SCALE, <0.5, 0.5, FALSE>,
PSYS_PART_END_SCALE, <0.8, 0.8, FALSE>,
PSYS_PART_START_COLOR, <llFrand(1.0),llFrand(1.0),llFrand(1.0)>,
PSYS_PART_END_COLOR, <llFrand(1.0),llFrand(1.0),llFrand(1.0)>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 1.0,
PSYS_SRC_BURST_PART_COUNT, 5, // was 10
PSYS_SRC_BURST_RATE, 8, // was 0.8
PSYS_PART_MAX_AGE, 60.0, // was 50.0
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE , // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=CONE,
PSYS_SRC_BURST_SPEED_MIN, 0.1,
PSYS_SRC_BURST_SPEED_MAX, 00.8,
PSYS_SRC_BURST_RADIUS, 3,
PSYS_SRC_ANGLE_BEGIN, 0,
PSYS_SRC_ANGLE_END, 0.5,
PSYS_SRC_OMEGA, <00.00, 00.00, 00.2>,
PSYS_SRC_ACCEL, < 00.00, 00.00, 00.02>,
PSYS_PART_FLAGS, (integer) ( 1
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_WIND_MASK
)
]);

}

default
{
state_entry()
{
llSay(0, “On”) ;
llSetTimerEvent(3.0);
MakeParticles(); //Start making particles
}

touch_start( integer num ) //Turn particles off when touched
{
state off; //Switch to the off state
}
timer()
{
MakeParticles();
}
}

state off
{
state_entry()
{
llSay(0, “Off”) ;
llParticleSystem([]); //Stop making particles
}

touch_start( integer num ) //Turn particles back on when touched
{
state default;
}
}

~~~

Add this texture to contents