Prometheus Deckard
Registered User
Join date: 24 May 2005
Posts: 23
|
12-10-2005 20:36
Anyone have a particle scripts which has the particles circle you? Using angles and stuff =P. (Not all that good at scripting =( >.<  Thanks in advance
|
Senuka Harbinger
A-Life, one bit at a time
Join date: 24 Oct 2005
Posts: 491
|
12-10-2005 23:54
From: Prometheus Deckard Anyone have a particle scripts which has the particles circle you? Using angles and stuff =P. (Not all that good at scripting =( >.<  Thanks in advance Very simple to do. I reccomend checking out the particle labratory (don't have a link for it, sorry), and grabbing the free particle engine that's in the scripting library. I have two of these kinds of systems used on my homestead (see sig) that could easily be adapted to an avatar.
_____________________
My SLExchange shopTypos are forgiven; desecrating the english language with reckless abandon and necrophilic acts is not. The function is working perfectly fine. It's just not working the way you wanted it to work.
|
Prometheus Deckard
Registered User
Join date: 24 May 2005
Posts: 23
|
12-11-2005 12:39
Heh, might look at it later, although don't really have time right now to get on the game O.o Just want to see the script and turn it over in my mind =P So if anyone has a copy of it, or can tell me the paramaters it needs that would be great =D
|
AJ DaSilva
woz ere
Join date: 15 Jun 2005
Posts: 1,993
|
12-11-2005 15:30
Okay. There's two there, I'll post both. Here's the first: // Jopsy's No-Frills Particle Script v2 // All settings below are 'defaults integer mode; default { state_entry() { llParticleSystem( [ // Appearance Settings PSYS_PART_START_SCALE,(vector) <1,1,0>, // Start Size, (minimum .04, max 10.0?) PSYS_PART_END_SCALE, (vector) <1,1,0>, // End Size, requires *_INTERP_SCALE_MASK PSYS_PART_START_COLOR,(vector) <1,1,1>, // Start Color, (RGB, 0 to 1) PSYS_PART_END_COLOR, (vector) <1,1,1>, // EndC olor, requires *_INTERP_COLOR_MASK PSYS_PART_START_ALPHA,(float) 1.0, // startAlpha (0 to 1), PSYS_PART_END_ALPHA, (float) 1.0, // endAlpha (0 to 1) PSYS_SRC_TEXTURE, (string) "", // name of a 'texture' in emitters inventory // Flow Settings, keep (age/rate)*count well below 4096 !!! PSYS_SRC_BURST_PART_COUNT,(integer) 1, // # of particles per burst PSYS_SRC_BURST_RATE, (float) 0.1, // delay between bursts PSYS_PART_MAX_AGE, (float) 10, // how long particles live PSYS_SRC_MAX_AGE, (float) 0.0, // turns emitter off after 15 minutes. (0.0 = never) // Placement Settings PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_DROP, // _PATTERN can be: *_EXPLODE, *_DROP, *_ANGLE,or *_ANGLE_CONE PSYS_SRC_BURST_RADIUS,(float) 0.0, // How far from emitter new particles start, PSYS_SRC_INNERANGLE, (float) 0.0, // aka 'spread' (0 to 2*PI), PSYS_SRC_OUTERANGLE, (float) 0.0, // aka 'tilt' (0(up), PI(down) to 2*PI), PSYS_SRC_OMEGA, (vector) <0,0,0>, // how much to rotate around x,y,z per burst, // Movement Settings PSYS_SRC_ACCEL,(vector) <0,0,0>, // aka gravity or push, ie <0,0,-1.0> = down PSYS_SRC_BURST_SPEED_MIN,(float) 1.0, // Minimum velocity for new particles PSYS_SRC_BURST_SPEED_MAX,(float) 1.0, // Maximum velocity for new particles //PSYS_SRC_TARGET_KEY,(key) llGetOwner(), // key of a target, requires *_TARGET_POS_MASK // for *_TARGET try llGetKey(), or llGetOwner(), or llDetectedKey(0) even. :) PSYS_PART_FLAGS, // Remove the leading // from the options you want enabled: //PSYS_PART_EMISSIVE_MASK | // particles glow //PSYS_PART_BOUNCE_MASK | // particles bounce up from emitter's 'Z' altitude //PSYS_PART_WIND_MASK | // particles get blown around by wind //PSYS_PART_FOLLOW_VELOCITY_MASK | // particles rotate towards where they're going //PSYS_PART_FOLLOW_SRC_MASK | // particles move as the emitter moves //PSYS_PART_INTERP_COLOR_MASK | // particles change color depending on *_END_COLOR //PSYS_PART_INTERP_SCALE_MASK | // particles change size using *_END_SCALE //PSYS_PART_TARGET_POS_MASK | // particles home on *_TARGET key 0 // Unless you understand binary arithmetic, leave this 0 here. :) ] ); } touch_start(integer num) { if (mode++) llResetScript(); // 2nd time touched? start over else llParticleSystem([ ]); // 1st time touched? Turn particles off. } }
|
AJ DaSilva
woz ere
Join date: 15 Jun 2005
Posts: 1,993
|
12-11-2005 15:31
And the second: // Jopsy's Particle System Template v3 // -- inspired/derived from Ama Omega's 3-6-2004 // // DEFAULT settings are commented at the end of each line, eg: // varibletype SETTINGNAME = Sample-Setting; // default-setting // // For more on particles, visit the Particle Labratory in Teal! // type SETTING_NAME = sample value; // default value mySetParticles() { // Part-1 - APPEARANCE - Settings for how each particle LOOKS vector START_SCALE = < 0.1, 0.9, 0.0 >; // < 1.0, 1.0, 0.0 > vector END_SCALE = < 0.9, 0.1, 0.0 >; // < 1.0, 1.0, 0.0 > vector START_COLOR = < 0.9, 0.8, 0.1 >; // < 1.0, 1.0, 1.0 > vector END_COLOR = < 0.4, 0.0, 0.0 >; // < 1.0, 1.0, 1.0 > float START_ALPHA = 1.0; // 1.00 float END_ALPHA = 0.0; // 1.00 integer INTERP_COLOR = TRUE; // FALSE integer INTERP_SCALE = TRUE; // FALSE integer EMISSIVE = TRUE; // FALSE string TEXTURE = ""; // "" // START/END: refers to the lifespan of each particle. // SCALE: particle height/width, from 0.04 to 10.0. (no depth) // ALPHA: sets transparency, from invis = 0.0 to opaque = 1.0 // START_ALPHA is ignored if it is less than END_ALPHA // COLOR: vectors <Red,Green,Blue>, each 0.00 to 1.00 // INTERP_COLOR: enables/disables END_COLOR and END_ALPHA // INTERP_SCALE: enables/disables END_SCALE // EMISSIVE: enables/diables particle 'glow' // TEXTURE: name of a texture in the emitter-prim's inventory // Part-2 - FLOW - These settings affect how Many, how Quickly, // and for how Long particles are present float AGE = 5.00; // 10.00 float RATE = 0.03; // 0.10 integer COUNT = 1; // 1 float LIFE = 0.0; // 0.0 // AGE: How many seconds each particle lives, 0.1 to 60 // RATE: Seconds between particle bursts, 0.0 to 60 // COUNT: Number of particles per burst, 1 to 4096 // LIFE Number of seconds to wait before shutting off, 0.0 never stops // Part-3 - 3 PLACEMENT -- Where are new particles created, and what // direction are they facing? integer PATTERN = PSYS_SRC_PATTERN_ANGLE; // required float RADIUS = 0.00; // 0.00 float ANGLE_BEGIN = 0.10; // 0.00 float ANGLE_END = 0.10; // 0.00 vector OMEGA = < 0.00, 0.00, 1.00 >; // < 0.00, 0.00, 0.00 > // PATTERN: has no default, must be set to one of the following: // PSYS_SRC_PATTERN_EXPLODE sends particles in all directions // PSYS_SRC_PATTERN_DROP ignores minSpeed and maxSpeed. (Use // COUNT=1) // PSYS_SRC_PATTERN_ANGLE_CONE use innerangle/outerange to make // rings/cones // PSYS_SRC_PATTERN_ANGLE use innerangle/outerangle to make flat // wedges // RADIUS: distance between emitter and each new particle, 0.0 to 64? // ANGLE_BEGIN: for both ANGLE patterns, 0 to PI(3.14159) // ANGLE_END: for both for ANGLE patterns, 0 to PI. // OMEGA: How much to rotate the emitter around the <X,Y,Z> axises // after each burst. Set OMEGA to all 0's to reset/disable it.
// Part-4 - MOVEMENT - How do the particles move once they're created? integer FOLLOW_SRC = FALSE; // FALSE integer FOLLOW_VELOCITY = TRUE; // FALSE integer WIND = TRUE; // FALSE integer BOUNCE = TRUE; // FALSE float SPEED_MIN = 0.70; // 1.00 float SPEED_MAX = 1.20; // 1.00 vector ACCEL = < 0.00, 0.00, -0.40 >; // < 0.00, 0.00, 0.00 > integer TARGET_POS = FALSE; // FALSE key TARGET = llGetKey(); // llGetKey(); // FOLLOW_SRC: moves particles when emitter moves. TRUE disables RADIUS! // FOLLOW_VELOCITY: Particles rotate towards their heading // WIND: Sim's Wind will push particles // BOUNCE: Make particles bounce above the Z altitude of emitter // SPEED_MIN: 0.01 to ?, slowest speed of new particles, 1.0(*) // SPEED_MAX: 0.01 to ?, fastest speed of new particle, 1.0(*) // ACCEL: a continuous force pushed on particles, // use SMALL settings for long lived particles // TARGET_POS: If FALSE(*), TARGET value is ignored. // TARGET: Select a target for particles to arrive at when they die // key TARGET = llGetKey(); // particles return to the emitter // key TARGET = llGetOwner(); // particles home in on owner // You can have another object llSay(999,llGetKey); // and grab the key with this object by using the listen() // event handler. list particle_parameters = [ PSYS_PART_FLAGS,( ( EMISSIVE * PSYS_PART_EMISSIVE_MASK ) | ( BOUNCE * PSYS_PART_BOUNCE_MASK ) | ( INTERP_COLOR * PSYS_PART_INTERP_COLOR_MASK ) | ( INTERP_SCALE * PSYS_PART_INTERP_SCALE_MASK ) | ( WIND * PSYS_PART_WIND_MASK ) | ( FOLLOW_SRC * PSYS_PART_FOLLOW_SRC_MASK ) | ( FOLLOW_VELOCITY * PSYS_PART_FOLLOW_VELOCITY_MASK ) | ( TARGET_POS * PSYS_PART_TARGET_POS_MASK ) ), PSYS_PART_START_COLOR, START_COLOR, PSYS_PART_END_COLOR, END_COLOR, PSYS_PART_START_ALPHA, START_ALPHA, PSYS_PART_END_ALPHA, END_ALPHA, PSYS_PART_START_SCALE, START_SCALE, PSYS_PART_END_SCALE, END_SCALE, PSYS_SRC_PATTERN, PATTERN, PSYS_SRC_BURST_PART_COUNT, COUNT, PSYS_SRC_BURST_RATE, RATE, PSYS_PART_MAX_AGE, AGE, PSYS_SRC_ACCEL, ACCEL, PSYS_SRC_BURST_RADIUS, RADIUS, PSYS_SRC_BURST_SPEED_MIN, SPEED_MIN, PSYS_SRC_BURST_SPEED_MAX, SPEED_MAX, PSYS_SRC_TARGET_KEY, TARGET, PSYS_SRC_ANGLE_BEGIN, ANGLE_BEGIN, PSYS_SRC_ANGLE_END, ANGLE_END, PSYS_SRC_OMEGA, OMEGA, PSYS_SRC_MAX_AGE, LIFE, PSYS_SRC_TEXTURE, TEXTURE ]; llParticleSystem( particle_parameters ); // Turns on the particle hose! if ( (AGE/RATE)*COUNT > 4096) { llSay( 0, "Your emitter creates too many particles!"); llSay( 0, "Please decrease AGE and COUNT and/or increase RATE."); llSay( 0, "Give a hoot, don't pollute!"); } else { llSay( 0, "This emitter produces " + (string)((integer)((AGE/RATE)*COUNT)) + " concurrent particles." ); } }
default { state_entry() { mySetParticles(); // llSetTimerEvent(60); // uncomment to set auto-off for 60 seconds } timer() { llSetTimerEvent(0); // Turn off the alarm clock llParticleSystem( [ ] ); // Turn off the particles // updateParticles(); // Or use this to update/change the particle // system } touch(integer i) { mySetParticles(); // touch to reset/turn on the particles // llSetTimerEvent(60); // reset the alarm clock } }
|
AJ DaSilva
woz ere
Join date: 15 Jun 2005
Posts: 1,993
|
12-11-2005 15:34
I've not tried, but I'm guessing that if you're feeling lazy you could have a prim orbiting you with a really simple particle script in it. 
|
JackBurton Faulkland
PorkChop Express
Join date: 3 Sep 2005
Posts: 478
|
12-13-2005 10:15
I have a particle Generator that i made set up on my land that i use to teach people about particles. Catch me online and i will give ya a tutorial.
_____________________
You know what Jack Burton always says... what the hell?
|