07-11-2018, 02:30 AM
string CONTROLLER_ID = "shower";
integer AUTO_START = TRUE;
list particle_parameters=[];
list target_parameters=[];
default {
state_entry() {
particle_parameters = [
PSYS_SRC_TEXTURE, "827a1c53-3c10-f488-bcc1-03954fd39b52",
PSYS_PART_START_SCALE, <0.3,0.3,0>,
PSYS_PART_END_SCALE, <0.3,0.3,0>,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_PART_END_COLOR, <1,1,1>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 1.0,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RATE, 0.0,
PSYS_PART_MAX_AGE, 3.0,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_PATTERN, 8,
PSYS_SRC_BURST_SPEED_MIN, 1.0,
PSYS_SRC_BURST_SPEED_MAX, 1.0,
PSYS_SRC_BURST_RADIUS, 0.0,
PSYS_SRC_ANGLE_BEGIN, 0.0,
PSYS_SRC_ANGLE_END, 0.1,
PSYS_SRC_OMEGA, <0,0,0>,
PSYS_SRC_ACCEL, <0,0,0>,
// PSYS_SRC_TARGET_KEY,
// llGetLinkKey(llGetLinkNum() + 1),
PSYS_PART_FLAGS, (integer)( 0
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
// | PSYS_PART_FOLLOW_VELOCITY_MASK
// | PSYS_PART_WIND_MASK
// | PSYS_PART_BOUNCE_MASK
// | PSYS_PART_FOLLOW_SRC_MASK
// | PSYS_PART_TARGET_POS_MASK
// | PSYS_PART_TARGET_LINEAR_MASK
)
];
if ( AUTO_START ) llParticleSystem( particle_parameters );
}
link_message( integer sibling, integer num, string mesg, key target_key ) {
if ( mesg != CONTROLLER_ID ) {
return;
} else if ( num == 0 ) {
llParticleSystem( [ ] );
llStopSound();
} else if ( num == 1 ) {
llParticleSystem( particle_parameters + target_parameters );
llLoopSound("7b9a5297-5336-86d1-6294-f827a89673ac", 0.6);
} else if ( num == 2 ) {
target_parameters = [ PSYS_SRC_TARGET_KEY, target_key ];
llParticleSystem( particle_parameters + target_parameters );
} else {}
}
}
integer AUTO_START = TRUE;
list particle_parameters=[];
list target_parameters=[];
default {
state_entry() {
particle_parameters = [
PSYS_SRC_TEXTURE, "827a1c53-3c10-f488-bcc1-03954fd39b52",
PSYS_PART_START_SCALE, <0.3,0.3,0>,
PSYS_PART_END_SCALE, <0.3,0.3,0>,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_PART_END_COLOR, <1,1,1>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 1.0,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RATE, 0.0,
PSYS_PART_MAX_AGE, 3.0,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_PATTERN, 8,
PSYS_SRC_BURST_SPEED_MIN, 1.0,
PSYS_SRC_BURST_SPEED_MAX, 1.0,
PSYS_SRC_BURST_RADIUS, 0.0,
PSYS_SRC_ANGLE_BEGIN, 0.0,
PSYS_SRC_ANGLE_END, 0.1,
PSYS_SRC_OMEGA, <0,0,0>,
PSYS_SRC_ACCEL, <0,0,0>,
// PSYS_SRC_TARGET_KEY,
// llGetLinkKey(llGetLinkNum() + 1),
PSYS_PART_FLAGS, (integer)( 0
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
// | PSYS_PART_FOLLOW_VELOCITY_MASK
// | PSYS_PART_WIND_MASK
// | PSYS_PART_BOUNCE_MASK
// | PSYS_PART_FOLLOW_SRC_MASK
// | PSYS_PART_TARGET_POS_MASK
// | PSYS_PART_TARGET_LINEAR_MASK
)
];
if ( AUTO_START ) llParticleSystem( particle_parameters );
}
link_message( integer sibling, integer num, string mesg, key target_key ) {
if ( mesg != CONTROLLER_ID ) {
return;
} else if ( num == 0 ) {
llParticleSystem( [ ] );
llStopSound();
} else if ( num == 1 ) {
llParticleSystem( particle_parameters + target_parameters );
llLoopSound("7b9a5297-5336-86d1-6294-f827a89673ac", 0.6);
} else if ( num == 2 ) {
target_parameters = [ PSYS_SRC_TARGET_KEY, target_key ];
llParticleSystem( particle_parameters + target_parameters );
} else {}
}
}