Ephraim Kappler
Reprobate
Join date: 9 Jul 2007
Posts: 1,946
|
09-30-2009 00:59
One object goes: llSay(-20090929,"Whatever");
But the other object doesn't appear to be paying attention: list particle_parameters; float SystemSafeSet; float SystemAge;
StartParticles() { llParticleSystem([ PSYS_PART_START_SCALE, <0.015,0.015,FALSE>, PSYS_PART_END_SCALE, <1,1,FALSE>, PSYS_PART_START_COLOR, <0.3,0.3,0.3>, PSYS_PART_END_COLOR, <0.8,0.8,0.8>, PSYS_PART_START_ALPHA, (float) 0.05, PSYS_PART_END_ALPHA, (float) 0, PSYS_PART_MAX_AGE, (float) 1, PSYS_SRC_MAX_AGE, SystemSafeSet, PSYS_SRC_BURST_PART_COUNT, (integer) 20, PSYS_SRC_BURST_RATE, (float) 0.01, PSYS_SRC_PATTERN, (integer) 4, PSYS_SRC_BURST_SPEED_MIN, (float) 0.25, PSYS_SRC_BURST_SPEED_MAX, (float) 1.5, PSYS_SRC_ANGLE_BEGIN, (float) 0.9 * PI, PSYS_SRC_ANGLE_END, (float) 1.1 * PI, PSYS_SRC_OMEGA, <0,0,0>, PSYS_SRC_ACCEL, <1.5,0,1.5>, PSYS_PART_FLAGS, (integer)( 0 | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_EMISSIVE_MASK | PSYS_PART_FOLLOW_VELOCITY_MASK ) ]); llSleep(SystemAge); SystemSafeSet = 0.00; }
default { state_entry() { SystemSafeSet = 0.00; SystemAge = 1.5; llListen(-20090929, "", NULL_KEY, ""); } listen( integer channel, string name, key id, string message ) { if (message == "Whatever") StartParticles(); } }
Any ideas what's wrong here?
|
Ee Maculate
Owner of Fourmile Castle
Join date: 11 Jan 2007
Posts: 919
|
09-30-2009 01:39
Replacing the Startparticles() call with an llSay shows that it hears the other object fine, so that's a red herring. The problem is in the particle generator.
|
Ee Maculate
Owner of Fourmile Castle
Join date: 11 Jan 2007
Posts: 919
|
09-30-2009 01:41
Ah.. the particles are there but are almost invisible!
PSYS_PART_START_ALPHA, (float) 0.05, PSYS_PART_END_ALPHA, (float) 0,
If you change both to 1 you will see them!
|
Ephraim Kappler
Reprobate
Join date: 9 Jul 2007
Posts: 1,946
|
09-30-2009 01:55
Thanks Ee, but I have an almost exactly similar particle system operating in another Hud-controlled object I made sometime back. The effect is subtle - something like breath on a frosty morning - but it is certainly visible thanks to the emmissive mask: list particle_parameters; float SystemSafeSet; float SystemAge;
StartParticles()
{ SystemSafeSet = SystemAge; llParticleSystem([ PSYS_PART_START_SCALE, <0.15,0.15,FALSE>, PSYS_PART_END_SCALE, <0.5,0.5,FALSE>, PSYS_PART_START_COLOR, <0.35,0.35,0.25>, PSYS_PART_END_COLOR, <0.75,0.75,0.75>, PSYS_PART_START_ALPHA, (float) 0.04, PSYS_PART_END_ALPHA, (float)0.0, PSYS_SRC_BURST_PART_COUNT, (integer) 15, PSYS_SRC_BURST_RATE, (float) 0.1, PSYS_PART_MAX_AGE, (float) 1, PSYS_SRC_MAX_AGE, SystemSafeSet, PSYS_SRC_PATTERN, (integer)10, PSYS_SRC_BURST_SPEED_MIN, (float)0.1, PSYS_SRC_BURST_SPEED_MAX, (float)0.25, PSYS_SRC_ANGLE_BEGIN, (float)0.05*PI, PSYS_SRC_ANGLE_END, (float)0.0*PI, PSYS_SRC_ACCEL, <0.25,0.0,0.125>, 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_BOUNCE_MASK ) ]); llSleep(SystemAge); SystemSafeSet = 0.00; } default { changed(integer change) { if(change & CHANGED_OWNER) { llResetScript(); } } state_entry() { SystemSafeSet = 0.00; SystemAge = 1.5; llListen(-291009, "", NULL_KEY, ""); } listen(integer channel, string name, key id, string message) { if (llGetOwnerKey(id) != llGetOwner()) return; else if (message == "Breathe") StartParticles(); } }
The only significant difference between the two systems is that this 'breath' version resets at the beginning and ties the listen to the owner, which I don't want in this instance.
|
Ephraim Kappler
Reprobate
Join date: 9 Jul 2007
Posts: 1,946
|
SystemSafeSet = SystemAge, Dolt!
10-01-2009 03:51
Just for the record, in case other scriptily challenged individuals pull this thread up for reference in the archived future: I neglected to declare 'SystemSafeSet = SystemAge;' in the problematic script. Of course it's there in the working example but why the hell would I want to look at that when I could spend all day bouncing my head off the desk?
|