Jump to content

how can I stop this script by set time


MiaoK
 Share

You are about to reply to a thread that has been inactive for 3964 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

integer glow = TRUE;
integer bounce = FALSE;
integer interpColor = TRUE;
integer interpSize = TRUE;
integer wind = TRUE;
integer followSource = FALSE;
integer followVel = TRUE;

integer pattern = PSYS_SRC_PATTERN_EXPLODE;

key target = "";

float age = 3;
float maxSpeed = 0.3;
float minSpeed = 0.1;
string texture;
float startAlpha = 10.6;
float endAlpha = 0.05;
vector startColor = <.9,.4,.1>;
vector endColor = <.99,.50,.21>;
vector startSize = <.9,.2,0>;
vector endSize = <.4,.4,0>;
vector push = <0,0,1>;

float rate = 0.10;
float radius = 1.01;
integer count = 20;
float outerAngle = 0;
float innerAngle = 1.55;
vector omega = <0,0,0>;
float life = 0;

integer flags;

updateParticles() {
	flags = 0;
	if (target == "owner") target = llGetOwner();
	if (target == "self") target = llGetKey();
	if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
	if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
	if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
	if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
	if (wind) flags = flags | PSYS_PART_WIND_MASK;
	if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
	if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
	if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

	llParticleSystem([  PSYS_PART_MAX_AGE,age,
		PSYS_PART_FLAGS,flags,
		PSYS_PART_START_COLOR, startColor,
		PSYS_PART_END_COLOR, endColor,
		PSYS_PART_START_SCALE,startSize,
		PSYS_PART_END_SCALE,endSize,
		PSYS_SRC_PATTERN, pattern,
		PSYS_SRC_BURST_RATE,rate,
		PSYS_SRC_ACCEL, push,
		PSYS_SRC_BURST_PART_COUNT,count,
		PSYS_SRC_BURST_RADIUS,radius,
		PSYS_SRC_BURST_SPEED_MIN,minSpeed,
		PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
		PSYS_SRC_TARGET_KEY,target,
		PSYS_SRC_INNERANGLE,innerAngle,
		PSYS_SRC_OUTERANGLE,outerAngle,
		PSYS_SRC_OMEGA, omega,
		PSYS_SRC_MAX_AGE, life,
		PSYS_SRC_TEXTURE, texture,
		PSYS_PART_START_ALPHA, startAlpha,
		PSYS_PART_END_ALPHA, endAlpha
			]);
}

default {
	state_entry() {
		updateParticles();
	}
}// END //

 I've fine a pretty good fire.

How to stop this thing?

How can I stop this until 12 second?

Link to comment
Share on other sites

it does work! Thanks! 

but I have a mixed probelm 

actually I've already set a time before

how can I let script and item disappear togather?

integer glow = TRUE;integer bounce = FALSE;integer interpColor = TRUE;integer interpSize = TRUE;integer wind = TRUE;integer followSource = FALSE;integer followVel = TRUE;integer countNumber;integer ON;integer giOn;integer pattern = PSYS_SRC_PATTERN_EXPLODE;key target = "";float age = 3;float maxSpeed = 0.3;float minSpeed = 0.1;string texture;float startAlpha = 10.6;float endAlpha = 0.05;vector startColor = <.9,.4,.1>;vector endColor = <.99,.50,.21>;vector startSize = <.9,.2,0>;vector endSize = <.4,.4,0>;vector push = <0,0,1>;float rate = 0.10;float radius = 1.01;integer count = 20;float outerAngle = 0;float innerAngle = 1.55;vector omega = <0,0,0>;float life = 0;integer flags;updateParticles() {    flags = 0;    if (target == "owner") target = llGetOwner();    if (target == "self") target = llGetKey();    if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;    if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;    if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;    if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;    if (wind) flags = flags | PSYS_PART_WIND_MASK;    if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;    if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;    if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;    llParticleSystem([  PSYS_PART_MAX_AGE,age,        PSYS_PART_FLAGS,flags,        PSYS_PART_START_COLOR, startColor,        PSYS_PART_END_COLOR, endColor,        PSYS_PART_START_SCALE,startSize,        PSYS_PART_END_SCALE,endSize,        PSYS_SRC_PATTERN, pattern,        PSYS_SRC_BURST_RATE,rate,        PSYS_SRC_ACCEL, push,        PSYS_SRC_BURST_PART_COUNT,count,        PSYS_SRC_BURST_RADIUS,radius,        PSYS_SRC_BURST_SPEED_MIN,minSpeed,        PSYS_SRC_BURST_SPEED_MAX,maxSpeed,        PSYS_SRC_TARGET_KEY,target,        PSYS_SRC_INNERANGLE,innerAngle,        PSYS_SRC_OUTERANGLE,outerAngle,        PSYS_SRC_OMEGA, omega,        PSYS_SRC_MAX_AGE, life,        PSYS_SRC_TEXTURE, texture,        PSYS_PART_START_ALPHA, startAlpha,        PSYS_PART_END_ALPHA, endAlpha            ]);}default {                touch_start(integer total_number)    {            updateParticles();                    llSetTimerEvent(1); //Turns timer ON and OFF        giOn = 1;    }            timer()    {        ++countNumber;        llSay(0, (string)countNumber);        if (countNumber%10 == 0)        {            llSay(0,"almost finished");        }        if(countNumber == 11)        {            giOn= !giOn;            llSetAlpha(giOn, ALL_SIDES);        }        if(countNumber >= 12)        {            countNumber = 0;            llSetTimerEvent(0.0);            state extinguish;            llParticleSystem([]);        }            }}    state extinguish    {        state_entry()        {            llSay(0, "New compfire click get it!");        }        touch_start(integer total_number)        {            llSetAlpha(!giOn, ALL_SIDES);            state default;        }}// END //

 

Link to comment
Share on other sites

integer glow = TRUE;integer bounce = FALSE;integer interpColor = TRUE;integer interpSize = TRUE;integer wind = TRUE;integer followSource = FALSE;integer followVel = TRUE;integer countNumber;integer ON;integer giOn;integer pattern = PSYS_SRC_PATTERN_EXPLODE;key target = "";float age = 3;float maxSpeed = 0.3;float minSpeed = 0.1;string texture;float startAlpha = 10.6;float endAlpha = 0.05;vector startColor = <.9,.4,.1>;vector endColor = <.99,.50,.21>;vector startSize = <.9,.2,0>;vector endSize = <.4,.4,0>;vector push = <0,0,1>;float rate = 0.10;float radius = 1.01;integer count = 20;float outerAngle = 0;float innerAngle = 1.55;vector omega = <0,0,0>;float life = 0;integer flags;updateParticles() {    flags = 0;    if (target == "owner") target = llGetOwner();    if (target == "self") target = llGetKey();    if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;    if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;    if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;    if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;    if (wind) flags = flags | PSYS_PART_WIND_MASK;    if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;    if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;    if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;    llParticleSystem([  PSYS_PART_MAX_AGE,age,        PSYS_PART_FLAGS,flags,        PSYS_PART_START_COLOR, startColor,        PSYS_PART_END_COLOR, endColor,        PSYS_PART_START_SCALE,startSize,        PSYS_PART_END_SCALE,endSize,        PSYS_SRC_PATTERN, pattern,        PSYS_SRC_BURST_RATE,rate,        PSYS_SRC_ACCEL, push,        PSYS_SRC_BURST_PART_COUNT,count,        PSYS_SRC_BURST_RADIUS,radius,        PSYS_SRC_BURST_SPEED_MIN,minSpeed,        PSYS_SRC_BURST_SPEED_MAX,maxSpeed,        PSYS_SRC_TARGET_KEY,target,        PSYS_SRC_INNERANGLE,innerAngle,        PSYS_SRC_OUTERANGLE,outerAngle,        PSYS_SRC_OMEGA, omega,        PSYS_SRC_MAX_AGE, life,        PSYS_SRC_TEXTURE, texture,        PSYS_PART_START_ALPHA, startAlpha,        PSYS_PART_END_ALPHA, endAlpha            ]);}default {                touch_start(integer total_number)    {            updateParticles();                    llSetTimerEvent(1); //Turns timer ON and OFF        giOn = 1;    }            timer()    {        ++countNumber;        llSay(0, (string)countNumber);        if (countNumber%10 == 0)        {            llSay(0,"almost finished");        }        if(countNumber == 11)        {            giOn= !giOn;            llSetAlpha(giOn, ALL_SIDES);        }        if(countNumber >= 12)        {            countNumber = 0;            llSetTimerEvent(0.0);            state extinguish;            llParticleSystem([]);        }            }}    state extinguish    {        state_entry()        {            llSay(0, "New compfire click get it!");        }        touch_start(integer total_number)        {            llSetAlpha(!giOn, ALL_SIDES);            state default;        }}// END //

 now only item disappear and fire script won't stop

Link to comment
Share on other sites

That's because you added the line that says

llParticleSystem ([]);

after the line that sends script execution to state extinguish instead of putting it before. Your script will never execute the command to stop particles.  :smileywink:

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3964 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...