hair..........
splash()
{
llTriggerSound("splash", 1.0);
llParticleSystem([
PSYS_PART_FLAGS,
PSYS_PART_EMISSIVE_MASK |
PSYS_PART_INTERP_COLOR_MASK |
PSYS_PART_INTERP_SCALE_MASK,
PSYS_PART_START_COLOR, <.5,.5,1>,
PSYS_PART_END_COLOR, <1,1,1>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 0.0,
PSYS_PART_START_SCALE, <1, 1, 0.0>,
PSYS_PART_END_SCALE, <0.1, 0.1, 0.0>,
PSYS_PART_MAX_AGE, 1.0,
PSYS_SRC_PATTERN,
PSYS_SRC_PATTERN_ANGLE_CONE,
PSYS_SRC_INNERANGLE, 0.0,
PSYS_SRC_OUTERANGLE, PI/4,
PSYS_SRC_BURST_RATE, 0.1,
PSYS_SRC_BURST_PART_COUNT, 100,
PSYS_SRC_BURST_SPEED_MAX, 20.0,
PSYS_SRC_BURST_SPEED_MIN, 5.0,
PSYS_SRC_ACCEL, <0,0,-9.8>,
PSYS_SRC_MAX_AGE, 0.3
]);
//llSleep(0.5);
llSetHoverHeight(-0.5, TRUE, 0.7);
}
integer up = TRUE;
default
{
state_entry()
{
llSetTimerEvent(0.1);
}
land_collision_start(vector uhyeah)
{
llStopHover();
}
land_collision_end(vector uhyeah2)
{
llSetTimerEvent(0.1);
}
timer()
{
vector pos = llGetPos();
if(up)
{
if(llWater(ZERO_VECTOR) > (pos.z - 0.5))
{
splash();
up = FALSE;
}
}
else
{
if(llWater(ZERO_VECTOR) < (pos.z - 0.5))
{
llStopHover();
up =TRUE;
}
}
}
}