Second Life Copybot
Candle Fire w/Smoke - Printable Version

+- Second Life Copybot (https://secondlifecopybot.com)
+-- Forum: SECOND LIFE PRODUCTS (https://secondlifecopybot.com/forum-1.html)
+--- Forum: SCRIPTS (https://secondlifecopybot.com/forum-1022.html)
+---- Forum: SCRIPTS (https://secondlifecopybot.com/forum-8.html)
+----- Forum: PARTICLES (https://secondlifecopybot.com/forum-52.html)
+----- Thread: Candle Fire w/Smoke (/thread-1024.html)



Candle Fire w/Smoke - steadymobbin - 02-28-2013

PHP Code:
// Candle Flame w/Smoke Update by Saxanagalior for http://hackschool.info integer lighted = TRUE; float height = 1.0; fire() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <1.0, 0.5, 0.0>, PSYS_PART_END_COLOR, <1.0, 1.0, 0.0>, PSYS_PART_START_SCALE, <0.06, 0.08, 0.06> * height, PSYS_PART_END_SCALE, <0.04, 0.08, 0.06> * height, PSYS_PART_MAX_AGE, 0.3 * height, PSYS_SRC_BURST_RATE, 0.02, PSYS_SRC_BURST_PART_COUNT, 10, PSYS_SRC_BURST_RADIUS, 0.07, PSYS_SRC_BURST_SPEED_MIN, 0.1, PSYS_SRC_BURST_SPEED_MAX, 0.5, PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 0.1 ]); } smoke() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_FOLLOW_VELOCITY_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <0.2, 0.2, 0.2>, PSYS_PART_END_COLOR, <0.4, 0.4, 0.4>, PSYS_PART_START_SCALE, <0.06, 0.08, 0.06> * height, PSYS_PART_END_SCALE, <0.04, 0.08, 0.06> * height, PSYS_SRC_ACCEL, <0.0, 0.0, 0.5>, PSYS_PART_MAX_AGE, 2.0 * height, PSYS_SRC_BURST_RATE, 0.2, PSYS_SRC_BURST_PART_COUNT, 10, PSYS_SRC_BURST_RADIUS, 0.07, PSYS_SRC_BURST_SPEED_MIN, 0.1, PSYS_SRC_BURST_SPEED_MAX, 0.5, PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 0.1 ]); llSleep(1.5); llParticleSystem([]); } default { state_entry() { fire(); } on_rez(integer start_param) { llResetScript(); } touch_start(integer num_detected) { integer i = 0; do { if (lighted) { smoke(); lighted = FALSE; } else { fire(); lighted = TRUE; } ++i; } while (i < num_detected); } }