Jump to content

Purrrwicca

Resident
  • Posts

    10
  • Joined

  • Last visited

Posts posted by Purrrwicca

  1. I have a question :catindifferent: I found this leaf emitter script for free online.  Is there any way to use multiple leaf textures?

    I have this added in my firefly script;

    // random texture selection
    {




    integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
    float rand = llFrand(number);
    integer choice = (integer)rand;
    string name = llGetInventoryName(INVENTORY_TEXTURE, choice);

     

    // texture selection ends here

     

    Here is the script I found;

    //// -> TEMPLATE CHANGED FOR FALLING LEAVES - by Haplo Voss - 11/2/2010 <-

    //// You are free to use this script as you please, so long as you include this line:
    //** The original 'free' version of this script came from THE PARTICLE LABORATORY. **//

    // SETUP: Drop one optional particle texture and this script into a prim.
    // Particles should start automatically. (Reset) the script if you insert a
    // particle texture later on. Add one or more CONTROLLER TEMPLATES to any
    // prims in the linked object to control when particles turn ON and OFF.

    // Customize the particle_parameter values below to create your unique
    // particle effect and click SAVE. Values are explained along with their
    // min/max and default values further down in this script.


    string CONTROLLER_ID = "A"; // See comments at end regarding CONTROLLERS.
    integer AUTO_START = TRUE; // Optionally FALSE only if using CONTROLLERS.

    list particle_parameters=[]; // stores your custom particle effect, defined below.
    list target_parameters=[]; // remembers targets found using TARGET TEMPLATE scripts.

    default {
    state_entry() {
    particle_parameters = [ // start of particle settings
    // Texture Parameters:
    PSYS_SRC_TEXTURE, "leaf",
    PSYS_PART_START_SCALE, <.4,.4, FALSE>, PSYS_PART_END_SCALE, <.5,.5, FALSE>,
    PSYS_PART_START_COLOR, <1,1,1>, PSYS_PART_END_COLOR, <1,1,1>,
    PSYS_PART_START_ALPHA, (float)0.5, PSYS_PART_END_ALPHA, (float)1.0,

    // Production Parameters:
    PSYS_SRC_BURST_PART_COUNT, (integer)5,
    PSYS_SRC_BURST_RATE, (float) 25.00,
    PSYS_PART_MAX_AGE, (float)15.0,
    PSYS_SRC_MAX_AGE,(float) 0.0,

    // Placement Parameters:
    PSYS_SRC_PATTERN, (integer)2, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE,

    // Placement Parameters (for any non-DROP pattern):
    PSYS_SRC_BURST_SPEED_MIN, (float)0.5, PSYS_SRC_BURST_SPEED_MAX, (float)0.0,
    PSYS_SRC_BURST_RADIUS, 5.0,

    // Placement Parameters (only for ANGLE & CONE patterns):
    PSYS_SRC_ANGLE_BEGIN, (float) .25*PI, PSYS_SRC_ANGLE_END, (float)0.0*PI,
    // PSYS_SRC_OMEGA, <0,0,0>,

    // After-Effect & Influence Parameters:
    PSYS_SRC_ACCEL, <0.0,0.0,-.8>,
    // PSYS_SRC_TARGET_KEY, llGetLinkKey(llGetLinkNum() + 1),

    PSYS_PART_FLAGS, (integer)( 0 // Texture Options:
    | PSYS_PART_INTERP_COLOR_MASK
    | PSYS_PART_INTERP_SCALE_MASK
    | PSYS_PART_EMISSIVE_MASK
    // | PSYS_PART_FOLLOW_VELOCITY_MASK
    // After-effect & Influence Options:
    | PSYS_PART_WIND_MASK
    // | PSYS_PART_BOUNCE_MASK
    // | PSYS_PART_FOLLOW_SRC_MASK
    // | PSYS_PART_TARGET_POS_MASK
    // | PSYS_PART_TARGET_LINEAR_MASK
    )
    //end of particle settings
    ];

    if ( AUTO_START ) llParticleSystem( particle_parameters );

    }

    link_message( integer sibling, integer num, string mesg, key target_key ) {
    if ( mesg != CONTROLLER_ID ) { // this message isn't for me. Bail out.
    return;
    } else if ( num == 0 ) { // Message says to turn particles OFF:
    llParticleSystem( [ ] );
    } else if ( num == 1 ) { // Message says to turn particles ON:
    llParticleSystem( particle_parameters + target_parameters );
    } else if ( num == 2 ) { // Turn on, and remember and use the key sent us as a target:
    target_parameters = [ PSYS_SRC_TARGET_KEY, target_key ];
    llParticleSystem( particle_parameters + target_parameters );
    } else { // bad instruction number
    // do nothing.
    }
    }

    }


    //============================= About Parameters =============================
    // There are 22-ish NAMED attributes that affect a particle display.
    // To customize a display you give each a VALUE.
    // For example: PSYS_PART_START_COLOR is a named attribute,
    // and <1.0, 0.5, 0.0> is a color VALUE (orange, in this case).
    //
    // As long as your 'names' and 'values' are paired up properly, they can
    // be in any order! Any you omit a pair, it reverts to a default value.

    //============================= Texture Parameters =============================
    //
    // TEXTURE, can be an "Asset UUID" key copied from a texture
    // that you have full permissions to, or the name of
    // a texture in the prim's inventory.
    //
    // SCALE, (size) 0.0 to 4.0 meters wide, by 0.0 to 4.0 meters tall. (default 1x1)
    // Textures are FLAT, so the 'z' part of the vector is ignored.
    // Values smaller than 0.04x0.04 may not get rendered at all.
    // Tiny particles vanish if the viewer is not near them.
    //
    // BEGIN_SCALE sets particle start size.
    // END_SCALE (end size) is ignored, if the INTERP_SCALE_MASK option is disabled.
    //
    // COLOR, < RED, GREEN, BLUE > from <0.00,0.00,0.00> (black) to <1.00,1.00,1.00> (white/default)
    // ALPHA, 1.0 = 100% visible(default), 0.0 = invisible. Less than 0.1 might not get seen.
    // START_COLOR and START_ALPHA set the color and transparency of newly created particles.
    // END_COLOR and END_ALPHA are ignored, if the INTERP_COLOR_MASK option is disabled.


    //============================= Production Parameters =============================
    //
    // BURST_PART_COUNT: quantity of particles per burst, 1 to 4096 (default 1),
    //
    // BURST_RATE: seconds to delay between particle bursts. 0.0 to 30.0 (default 0.1)
    //
    // PART_MAX_AGE: particle lifespan in seconds, 0.00 to 30.0 (default=10.0)
    // PART_MAX_AGE less than 0.5 might not be visible.
    //
    // The default total number of particles that can be seen is 4096, if one or more
    // emitters try to create more than that, many will not be seen, and it may cause
    // viewer lag. Use as few particles as you can for your effect:
    // AGE/RATE * COUNT will tell you approximately how many particles your emitter creates.
    //
    // SRC_MAX_AGE: emitter auto shut-off timer. 1.0 to 60.0 seconds. 0.0 = never stop. (default)


    //============================= Placement Parameters =============================
    //
    // PATTERN:
    // DROP, ignores all other placement settings.
    // EXPLODE, spray particles in all directions
    // ANGLE, sprays a flat "fan" shape defined by ANGLE_BEGIN and END values
    // CONE, sprays "ring" or "cone" shapes defined by ANGLE_BEGIN and END values
    //
    // RADIUS: 0.0 to 50.0? distance from emitter to create new particles
    // (RADIUS is disabled with DROP pattern and the FOLLOW_SRC & TARGET_LINEAR options)
    //
    // SPEED: 0.00 to 50.0? Sets min/max starting velocities for non-drop patterns. (default: 1.0)
    //
    // ANGLE_BEGIN & END: 0.00*PI (up) to 1.00*PI (down), (Only for ANGLE & CONE patterns)
    // (Values work much like the Sphere-prim's DIMPLE attributes.) (defaults: 0.0)
    //
    // OMEGA: <x,y,z> Sets how much to rotate angle/cone spray direction after
    // every burst. 0.0 to PI? (default: <0,0,0>)

    //======================== After-Effects & Influence Parameters ================
    //
    // ACCEL, x,y,z 0.0 to 50.0? sets a constant force, (affects all patterns)
    // Causes particles to drift up/down or in a compass direction.
    // Use ACCEL to create the illusion of (anti-)gravity or a directional wind.
    // (ineffective with TARGET_LINEAR option)
    //
    // TARGET_KEY, "key", (requires the TARGET option be enabled).
    // "key" can be a variety of many different things:
    // llGetOwner()
    // llGetKey() target self
    // llGetLinkKey(1) target parent prim
    // llGetLinkKey(llGetLinkNum() + 1) target next prim in link set
    //
    // WARNING: New copies of objects get new keys, you can't simply paste
    // a prim's key into your script and expect it to always work. Visit
    // the Particle Laboratory's section on TARGETS for a variety of ways
    // to dynamically find your target's key. There are different 'best ways'
    // depending on if your target is linked to your emitter or not.


    //============================= About Options =============================
    //
    // Each option may be ON/ENABLED (no leading // )
    // or OFF/DISABLED (by putting a // in front of it.)
    // Options are combined together in a special way, (using the | symbol).
    // This creates one single Parameter for PSYS_PART_FLAGS.


    //============================= Texture Options =============================
    //
    // EMISSIVE: identical to "full bright" setting on prims
    //
    // FOLLOW_VELOCITY: particle texture 'tilts' towards the direction it's moving
    //
    // INTERP_COLOR: causes particle COLOR and ALPHA(transparency) to change over it's lifespan
    //
    // INTERP_SCALE: causes particle SCALE(size) to change over it's lifespan


    //======================== After-Effects & Influences Options ================
    //
    // BOUNCE: particles bounce up from the z-altitude of emitter, and cannot fall below it.
    //
    // WIND: the sim's wind will push particles around
    //
    // FOLLOW_SRC: makes particles move (but not rotate) if their emitter moves, (disables RADIUS)
    //
    // TARGET_POS: causes particles to arrive at a some target at end of of their lifespan.
    //
    // TARGET_LINEAR: forces particles to form into an even line from emitter to target
    // and forces a DROP-like pattern and disables effects of WIND and ACCEL

     

    //========================================================================
    //======================== USING CONTROL TEMPLATES =======================
    //
    // Want to control when your particles turn ON and OFF? You can!
    //
    // Drop one (or more) of the CONTROL TEMPLATES from the particle laboratory
    // into your object containing this script. That's it!

    // Your controls should be effective immediately. (Some controllers can be
    // adjusted and tuned, open them and read the USAGE notes to see.)
    //
    // One control template can control several particle templates in the
    // same object. (keep in mind that each prim can only have ONE
    // particle effect active at a time).
    //
    // The 'particle_effect_name' value must be the same in both the control
    // and particle template to work. You can change that value and have
    // a controller for one effect, and a different controller for a different
    // effect in the same object.
    //


    //======================================== END ============

     

    >^..^<

  2. Is there any way to keep my fish from swimming through the glass of my aquarium?  They are wandering fish I purchased online and the scripts in the fish are no mod.  I need them to detect the glass.  I have tried every way to make the glass phisical but the fish keep swimming through it.  I also tried a start and end script but it confused the swimming of the fish.  I am so stuck! 

     

    >^..^<

  3. Is there a way to make paw print or foot prints flat to the ground? Not at an angle?

     

    integer Step = 0;
    // Mask Flags - set to TRUE to enable
    integer glow = TRUE; // Make the particles glow
    integer bounce = FALSE; // Make particles bounce on Z plan of object
    integer interpColor = TRUE; // Go from start to end color
    integer interpSize = FALSE; // Go from start to end size
    integer wind = FALSE; // Particles effected by wind
    integer followSource = FALSE; // Particles follow the source
    integer followVel = FALSE; // Particles turn to velocity direction

    // Choose a pattern from the following:
    // PSYS_SRC_PATTERN_EXPLODE
    // PSYS_SRC_PATTERN_DROP
    // PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
    // PSYS_SRC_PATTERN_ANGLE_CONE
    // PSYS_SRC_PATTERN_ANGLE
    integer pattern = PSYS_SRC_PATTERN_DROP;

    // Select a target for particles to go towards
    // "" for no target, "owner" will follow object owner
    // and "self" will target this object
    // or put the key of an object for particles to go to
    key target = "";

    // Particle paramaters
    float age = 133; // Life of each particle
    float maxSpeed = .1; // Max speed each particle is spit out at
    float minSpeed = .1; // Min speed each particle is spit out at
    string texture = "59f587f3-f9ad-cb73-57b2-eb3de678f2d6"; // Texture used for particles, default used if blank
    float startAlpha = 1.0; // Start alpha (transparency) value
    float endAlpha = 0.0; // End alpha (transparency) value
    vector startColor = <0,0,0>; // Start color of particles <R,G,B>
    vector endColor = <0,0,0>; // End color of particles <R,G,B> (if interpColor == TRUE)
    vector startSize = <.4,.2,.7>; // Start size of particles
    vector endSize = <.4,.4,.7>; // End size of particles (if interpSize == TRUE)
    vector push = <0,0,0.0>; // Force pushed on particles

    // System paramaters
    float rate = .3; // How fast (rate) to emit particles
    float radius = .1; // Radius to emit particles for BURST pattern
    integer count = 1; // How many particles to emit per BURST
    float outerAngle = 1.54; // Outer angle for all ANGLE patterns
    float innerAngle = 1.55; // Inner angle for all ANGLE patterns
    vector omega = <0,0,10>; // Rotation of ANGLE patterns around the source
    float life = 0; // Life in seconds for the system to make particles

    // Script variables
    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;
    vector C;
    if(Step==0)
    C = <0,0,0>;
    else if(Step==1)
    C = <0,0,0>;
    else if(Step==2)
    C = <0,0,0>;
    else if(Step==3)
    C = <0,0,0>;
    else if(Step==4)
    C = <0,0,0>;
    else if(Step==5)
    C = <0,0,0>;
    else if(Step==6)
    C = <0,0,0>;
    Step++;
    if(Step==7) Step = 0;
    llParticleSystem([ PSYS_PART_MAX_AGE,age,
    PSYS_PART_FLAGS,flags,
    PSYS_PART_START_COLOR, C,
    PSYS_PART_END_COLOR, C,
    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();
    llSetTimerEvent(.6);
    }

    timer()
    {
    string anim = llGetAnimation(llGetOwner());
    if ((anim == "Walking") || (anim == "Running") || (anim == "Turning Left") || (anim == "Turning Right") || (anim == "CrouchWalking"))
    {
    updateParticles();
    }
    else
    {
    llParticleSystem([]);
    }
    }
    }

  4. I need a script that is menu driven from a central part of the house to tint only the outside view of windows in set's of 20 (20% 40% etc.), with door controls to lock and unlock the doors and options to add my TGA animated textures for weather on the inside of the windows.  I am online alot so IM if you need.

     

    >^..^<

×
×
  • Create New...