Jump to content

Giyua

Resident
  • Posts

    20
  • Joined

  • Last visited

Reputation

0 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello i'm wondering if it's possible in SL to build a sort of auto packer to pack items into a single prim. Like have one prim linked to the other so that whatever is placed into one prim gets automatically sent the the other prim which would be the packer.
  2. How would I be able to make them only activate upon teleport? I managed to get one working but it's still auto active
  3. Oh I have no idea how to do that. Hopefully someone is willing to help
  4. i'm unsure of where to make this change in them
  5. Hello i would like to be able to make these scripts work on teleport and not be auto activated. I want them to activate upon teleport. I've tried to do it myself but it turns the little box red anytime i try // For classes/tutorials/tricks, visit the Particle Labratory in Teal // Values marked with (*) are defaults. // SECTION ONE: APPEARANCE -- These settings affect how each particle LOOKS. integer glow = TRUE; // TRUE or FALSE(*) vector startColor = <6,5,2>; // RGB color, black<0,0,0> to white<1,1,1>(*) vector endColor = <4,3,4>; // float startAlpha = 1.0; // 0.0 to 1.0(*), lower = more transparent float endAlpha = 1.0; // vector startSize = <0.2,0.2,0>; // <0.04,0.04,0>(min) to <10,10,0>(max>, <1,1,0>(*) vector endSize = <0.1,0.1,0>; // (Z part of vector is discarded) string texture = "TRU POOFER BALLOONS"; // Texture used for particles. Texture must be in prim's inventory. // SECTION TWO: FLOW -- These settings affect how Many, how Quickly, and for how Long particles are created. // Note, integer count = 3; // Number of particles created per burst, 1(*) to 4096 float rate = 0.2; // Delay between bursts of new particles, 0.0 to 60, 0.1(*) float age = 5.0; // How long each particle lives, 0.1 to 60, 10.0(*) float life = 0.0; // When to stop creating new particles. never stops if 0.0(*) // SECTION THREE: PLACEMENT -- Where are new particles created, and what direction are they facing? float radius = 2.0; // 0.0(default) to 64? Distance from Emitter where new particles are created. float innerAngle = PI; // "spread", for all ANGLE patterns, 0(default) to PI float outerAngle = 0.0; // "tilt", for ANGLE patterns, 0(default) to TWO_PI, can use PI_BY_TWO or PI as well. integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE; // Choose one of the following: // PSYS_SRC_PATTERN_EXPLODE (sends particles in all directions) // PSYS_SRC_PATTERN_DROP (ignores minSpeed and maxSpeed. Don't bother with count>1 ) // PSYS_SRC_PATTERN_ANGLE_CONE (set innerangle/outerange to make rings/cones of particles) // PSYS_SRC_PATTERN_ANGLE (set innerangle/outerangle to make flat fanshapes of particles) vector omega = <0,0,0>; // How much to rotate the emitter around the <X,Y,Z> axises. <0,0,0>(*) // Warning, there's no way to RESET the emitter direction once you use Omega!! // You must attach the script to a new prim to clear the effect of omega. // SECTION FOUR: MOVEMENT -- How do the particles move once they're created? integer followSource = FALSE; // TRUE or FALSE(*), Particles move as the emitter moves, (TRUE disables radius!) integer followVel = FALSE; // TRUE or FALSE(*), Particles rotate towards their direction integer wind = FALSE; // TRUE or FALSE(*), Particles get blown away by wind in the sim integer bounce = FALSE; // TRUE or FALSE(*), Make particles bounce on Z altitude of emitter float minSpeed = 0.1; // 0.01 to ? Min speed each particle is spit out at, 1.0(*) float maxSpeed = 0.1; // 0.01 to ? Max speed each particle is spit out at, 1.0(*) vector push = <0,0,-0.1>; // Continuous force pushed on particles, use small settings for long lived particles key target = "self"; // Select a target for particles to arrive at when they die // can be "self" (emitter), "owner" (you), "" or any prim/persons KEY. // SECTION FIVE: Ama's "Create Short Particle Settings List" integer enableoutput = TRUE; // If this is TRUE, clicking on your emitter prim will cause it to speak // very terse "shorthand" version of your particle settings. You can cut'n'paste // this abbreviated version into a call to llParticleSystem([ ]); in another script. // Pros: Takes up far less scripting space, letting you focus on the rest of your code. // Cons: makes tune your settings afterwards rather awkward // === Don't muck about below this line unless you're comfortable with the LSL scripting language ==== // Script variables integer pre = 2; //Adjust the precision of the generated list. integer flags; list sys; integer type; vector tempVector; rotation tempRot; string tempString; integer i; string float2String(float in) { return llGetSubString((string)in,0,pre - 7); } 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(startColor != endColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK; if(startSize != endSize) 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; sys = [ 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 ]; float newrate = rate; if(newrate == 0.0) newrate=.01; if( (age/rate)*count < 4096) llParticleSystem(sys); else { llInstantMessage(llGetOwner(),"Your particle system creates too many concurrent particles."); llInstantMessage(llGetOwner(),"Reduce count or age, or increate rate."); llParticleSystem( [ ] ); } } integer onoff; default { state_entry() { onoff=0; updateParticles(); } touch_start(integer num) { if( enableoutput == TRUE ) { if( onoff ) llResetScript(); onoff++; llParticleSystem( [ ] ); return; } if(1) return; // Comment out this line to enable this function llWhisper(0,"...Generating List..."); for (i=1;i<42;i+=2) { type = llGetListEntryType(sys,i); if(type == TYPE_FLOAT) { tempString = float2String(llList2Float(sys,i)); sys = llDeleteSubList(sys,i,i); sys = llListInsertList(sys,[tempString],i); } else if(type == TYPE_VECTOR) { tempVector = llList2Vector(sys,i); tempString = "<" + float2String(tempVector.x) + "," + float2String(tempVector.y) + "," + float2String(tempVector.z) + ">"; sys = llDeleteSubList(sys,i,i); sys = llListInsertList(sys,[tempString],i); } else if(type == TYPE_ROTATION) { tempRot = llList2Rot(sys,i); tempString = "<" + float2String(tempRot.x) + "," + float2String(tempRot.y) + "," + float2String(tempRot.z) + "," + float2String(tempRot.s) + ">"; sys = llDeleteSubList(sys,i,i); sys = llListInsertList(sys,[tempString],i); } else if(type == TYPE_STRING || type == TYPE_KEY) { tempString = "\"" + llList2String(sys,i) + "\""; sys = llDeleteSubList(sys,i,i); sys = llListInsertList(sys,[tempString],i); } } i = llListFindList(sys,[20,""]); if(i != -1) sys = llDeleteSubList(sys,i,i+1); llWhisper(0,"[" + llList2CSV(llList2List(sys,0,22)) + ","); llWhisper(0,llList2CSV(llList2List(sys,23,-1)) + "]"); } }// END // integer effectFlags=0; integer running=TRUE; /////////////////////////////////////////////////////// // Color Secelection Variables /////////////////////////////////////////////////////// // Interpolate between startColor and endColor integer colorInterpolation = TRUE; // Starting color for each particle vector startColor = <1, .7, 0.>; // Ending color for each particle vector endColor = <1, .7, 0>; // Starting Transparency for each particle (1.0 is solid) float startAlpha = 1.0; // Ending Transparency for each particle (0.0 is invisible) float endAlpha = 0.0; // Enables Absolute color (true) ambient lighting (false) integer glowEffect = TRUE; /////////////////////////////////////////////////////// // Size & Shape Selection Variables /////////////////////////////////////////////////////// // Interpolate between startSize and endSize integer sizeInterpolation = TRUE; // Starting size of each particle vector startSize = <0.1, 0.1, 0.0>; // Ending size of each particle vector endSize = <0.1, 0.1, 0.0>; // Turns particles to face their movement direction integer followVelocity = TRUE; // Texture the particles will use ("" for default) string texture = ""; /////////////////////////////////////////////////////// // Timing & Creation Variables Variables /////////////////////////////////////////////////////// // Lifetime of one particle (seconds) float particleLife = 3.0; // Lifetime of the system 0.0 for no time out (seconds) float SystemLife = 0.0; // Number of seconds between particle emissions float emissionRate = 0.001; // Number of particles to releast on each emission integer partPerEmission = 5; /////////////////////////////////////////////////////// // Angular Variables /////////////////////////////////////////////////////// // The radius used to spawn angular particle patterns float radius = .5; // Inside angle for angular particle patterns float innerAngle = 1; // Outside angle for angular particle patterns float outerAngle = 90; // Rotational potential of the inner/outer angle vector omega = <1.0, 1.0, 0.0>; /////////////////////////////////////////////////////// // Movement & Speed Variables /////////////////////////////////////////////////////// // The minimum speed a particle will be moving on creation float minSpeed = 0.0; // The maximum speed a particle will be moving on creation float maxSpeed = 0.1; // Global acceleration applied to all particles vector acceleration = <0.0, 0.0, 0.0>; // If true, particles will be blown by the current wind integer windEffect = FALSE; // if true, particles 'bounce' off of the object's Z height integer bounceEffect = FALSE; // If true, particles spawn at the container object center integer followSource = FALSE; // If true, particles will move to expire at the target //integer followTarget = TRUE; // Desired target for the particles (any valid object/av key) // target Needs to be set at runtime key target = ""; /////////////////////////////////////////////////////// //As yet unimplemented particle system flags /////////////////////////////////////////////////////// integer randomAcceleration = FALSE; integer randomVelocity = FALSE; integer particleTrails = FALSE; /////////////////////////////////////////////////////// // Pattern Selection /////////////////////////////////////////////////////// // Uncomment the pattern call you would like to use // Drop parcles at the container objects' center //integer pattern = PSYS_SRC_PATTERN_DROP; // Burst pattern originating at objects' center integer pattern = PSYS_SRC_PATTERN_EXPLODE; // Uses 2D angle between innerAngle and outerAngle //integer pattern = PSYS_SRC_PATTERN_ANGLE; // Uses 3D cone spread between innerAngle and outerAngle //integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE; // //integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY; setParticles() { // Here is where to set the current target // llGetKey() targets this script's container object // llGetOwner() targets the owner of this script // Feel free to insert any other valid key target=""; // The following block of if statements is used to construct the mask if(colorInterpolation) effectFlags = effectFlags|PSYS_PART_INTERP_COLOR_MASK; if(sizeInterpolation) effectFlags = effectFlags|PSYS_PART_INTERP_SCALE_MASK; if(windEffect) effectFlags = effectFlags|PSYS_PART_WIND_MASK; if(bounceEffect) effectFlags = effectFlags|PSYS_PART_BOUNCE_MASK; if(followSource) effectFlags = effectFlags|PSYS_PART_FOLLOW_SRC_MASK; if(followVelocity) effectFlags = effectFlags|PSYS_PART_FOLLOW_VELOCITY_MASK; if(target!="") effectFlags = effectFlags|PSYS_PART_TARGET_POS_MASK; if(glowEffect) effectFlags = effectFlags|PSYS_PART_EMISSIVE_MASK; //Uncomment the following selections once they've been implemented // if(randomAcceleration) effectFlags = effectFlags|PSYS_PART_RANDOM_ACCEL_MASK; // if(randomVelocity) effectFlags = effectFlags|PSYS_PART_RANDOM_VEL_MASK; // if(particleTrails) effectFlags = effectFlags|PSYS_PART_TRAIL_MASK; llParticleSystem([ PSYS_PART_FLAGS, effectFlags, PSYS_SRC_PATTERN, pattern, PSYS_PART_START_COLOR, startColor, PSYS_PART_END_COLOR, endColor, PSYS_PART_START_ALPHA, startAlpha, PSYS_PART_END_ALPHA, endAlpha, PSYS_PART_START_SCALE, startSize, PSYS_PART_END_SCALE, endSize, PSYS_PART_MAX_AGE, particleLife, PSYS_SRC_ACCEL, acceleration, PSYS_SRC_TEXTURE, texture, PSYS_SRC_BURST_RATE, emissionRate, PSYS_SRC_INNERANGLE, innerAngle, PSYS_SRC_OUTERANGLE, outerAngle, PSYS_SRC_BURST_PART_COUNT, partPerEmission, PSYS_SRC_BURST_RADIUS, radius, PSYS_SRC_BURST_SPEED_MIN, minSpeed, PSYS_SRC_BURST_SPEED_MAX, maxSpeed, PSYS_SRC_MAX_AGE, SystemLife, PSYS_SRC_TARGET_KEY, target, PSYS_SRC_OMEGA, omega ]); } default { state_entry() { running=TRUE; llSetText("Running", <1.0, 1.0, 1.0>, 0.5); setParticles(); } touch_start(integer num_detected) { if(running==TRUE) { running=FALSE; llSetText("Stopped", <1.0, 1.0, 1.0>, 0.5); llParticleSystem([]); } else { running=TRUE; llSetText("Running", <1.0, 1.0, 1.0>, 0.5); setParticles(); } } } // END // 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, (key)"0bce6a58-d472-b3c8-a677-66478ef7cdea", PSYS_PART_START_SCALE, <0.3, 0.3, FALSE>, PSYS_PART_END_SCALE, <0.3, 0.3, FALSE>, PSYS_PART_START_COLOR, <1.00,1.00,1.00>, PSYS_PART_END_COLOR, <1.00,1.00,1.00>, PSYS_PART_START_ALPHA, (float) 1.0, PSYS_PART_END_ALPHA, (float) 1.0, // Production Parameters: PSYS_SRC_BURST_PART_COUNT, (integer) 1, PSYS_SRC_BURST_RATE, (float) 1.5, PSYS_PART_MAX_AGE, (float) 8.0, // PSYS_SRC_MAX_AGE, (float) 0.00, // Placement Parameters: PSYS_SRC_PATTERN, (integer) 8, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=CONE, // Placement Parameters (for any non-DROP pattern): PSYS_SRC_BURST_SPEED_MIN, (float) 00.4, PSYS_SRC_BURST_SPEED_MAX, (float) 00.6, PSYS_SRC_BURST_RADIUS, (float) 00.5, // Placement Parameters (only for ANGLE & CONE patterns): PSYS_SRC_ANGLE_BEGIN, (float) 0.40 * PI, PSYS_SRC_ANGLE_END, (float) 0.00 * PI, // PSYS_SRC_OMEGA, <00.00, 00.00, 00.00>, // After-Effect & Influence Parameters: PSYS_SRC_ACCEL, < 00.00, 00.00, - 00.1>, // PSYS_SRC_TARGET_KEY, (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. } } }
  6. is there a way i can fix it?
  7. I have a starter script for this but we seem to cant figure out the error. Any help is appricated // Advanced Letter Rezzer Script key gUser; // User who interacted with the object integer gListener; // Listener handle vector gRezOffset = <0.5, 0, 0>; // Change this based on the average width of your letters and desired spacing rotation gRezRotOffset = ZERO_ROTATION; // Adjust if you need a specific rotation offset for the letters float gCleanupMessageChannel = -9876.0; // A unique channel for cleanup messages cleanup() { // Inform all previously rezzed letters to delete themselves llRegionSay(gCleanupMessageChannel, "cleanup"); } rezLetter(string letter, vector pos, rotation rot) { vector rezPos = llGetPos() + pos; // Calculate the world position for the rez rotation rezRot = llGetRot() * rot; // Calculate the world rotation for the rez llRezObject(letter, rezPos, ZERO_VECTOR, rezRot, 0); // Rez the object } default { touch_start(integer total_number) { gUser = llDetectedKey(0); llListenRemove(gListener); gListener = llListen(0, "", gUser, ""); llTextBox(gUser, "Enter the word:", 0); } listen(integer channel, string name, key id, string message) { if (channel == 0 && id == gUser) { cleanup(); // Clean up any previously rezzed letters vector curPos = <0, 0, 0>; // Starting position for the first letter integer i; for (i = 0; i < llStringLength(message); ++i) { string letter = llGetSubString(message, i, i); if (llGetInventoryType(letter) != INVENTORY_NONE) { // Only rez the letter if it exists in the inventory rezLetter(letter, curPos, gRezRotOffset); curPos += gRezOffset; // Move position for the next letter } } } else if (channel == gCleanupMessageChannel && message == "cleanup") { llDie(); // Delete this object when cleanup message is received } } on_rez(integer start_param) { // Set up the listener for cleanup messages llListen(gCleanupMessageChannel, "", NULL_KEY, ""); } } https://prnt.sc/HiKkFe1PoTcy
  8. If anyone could help me build this. I seem to not be able to do this correctly with the given examples
  9. Yea but i want it to not count any scripts but count everything else
  10. This didn't work for me. It till tried to count my vendor script and makes it not work
  11. as the title says. I've been trying to figure it out but i can't seem to get it right. integer itemcount; CountItems() { itemcount = llGetInventoryNumber( INVENTORY_ALL ); --itemcount; } SetHover() { llSetText( (string)itemcount + " items.", <1,1,1>,1); } default { state_entry() { CountItems(); SetHover(); } changed(integer change) { if (change & CHANGED_INVENTORY) { llResetScript(); } } }
  12. I will try this thank you
  13. Hello all I have created my own mesh letters and i'm wondering if there is a script for rezzing them. Like you would click the rezzed box - type in your word - the word rezzes from the letters in the box. How would i be able to do this?
  14. i'm not sure how to do this/ it gave me an error
  15. Hello is there any way i can make this particle script trigger when I teleport? integer keystate = 0 ; integer glow = FALSE; // Make the particles glow integer bounce = FALSE; // Make particles bounce on Z plane of object integer interpColor = TRUE; // Go from start to end color integer interpSize = TRUE; // Go from start to end size integer wind = TRUE; // Particles effected by wind integer followSource = FALSE; // Particles follow the source integer followVel = FALSE; // Particles turn to velocity direction integer pattern = PSYS_SRC_PATTERN_EXPLODE; // 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 = 2.6; // Life of each particle float maxSpeed = 1; // Max speed each particle is spit out at float minSpeed = 0.75; // Min speed each particle is spit out at string texture = "4f714019-c1cf-6b16-994f-44b217022f1a"; // Texture used for particles, default used if blank float startAlpha = 0.8; // Start alpha (transparency) value float endAlpha = 0.0; // End alpha (transparency) value vector startColor = <0,0.4,0.9>; // Start color of particles <R,G,B> vector endColor = <0,0.4,0.9>; // End color of particles <R,G,B> (if interpColor == TRUE) vector startSize = <0.01,0.01,0.0>; // Start size of particles vector endSize = <2.0,2.0,0.0>; // End size of particles (if interpSize == TRUE) vector push = <.2,0,3>; // Force pushed on particles // System paramaters float rate = 0.45; // How fast (rate) to emit particles float radius = 0.0; // Radius to emit particles for BURST pattern integer count = 20; // How many particles to emit per BURST float outerAngle = 0; // Outer angle for all ANGLE patterns float innerAngle = 0.15; // Inner angle for all ANGLE patterns vector omega = <0,0,0>; // Rotation of ANGLE patterns around the source float life = 0; // Life in seconds for the system to make particles integer flags; list sys; integer type; vector tempVector; rotation tempRot; string tempString; integer i; 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; sys = [ 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, 10, PSYS_SRC_TEXTURE, texture, PSYS_PART_START_ALPHA, startAlpha, PSYS_PART_END_ALPHA, endAlpha ]; llParticleSystem(sys); } default { state_entry() { keystate = 0 ; updateParticles() ; } }
×
×
  • Create New...