TrinityReclusive Posted November 16, 2019 Share Posted November 16, 2019 Ok I have a Box that emits a particle fog. The script in to works and sending the off/ on command works. I am trying to get a button on my hud i made to send the Turn On command to The Box. Here is the Box Script: integer channel = -200; string offMessage = "Fog Off"; string onMessage = "Fog On"; // 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 = TRUE; // Go from start to end size integer wind = FALSE; // Particles effected by wind integer followSource = TRUE; // Particles follow the source integer followVel = TRUE; // 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_ANGLE_CONE; // 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 = 6.8; // Life of each particle <-- invrease that value for larger fog float maxSpeed = 0.5; // Max speed each particle is spit out at float minSpeed = 0.5; // Min speed each particle is spit out at string texture = "4bdbb6c7-5819-b19e-be6d-38f96228fe68"; // Texture used for particles, default used if blank float startAlpha = 0.01; // Start alpha (transparency) value float endAlpha = 0.03; // End alpha (transparency) value vector startColor = <0, 0.5, 0>; // Start color of particles <R,G,B> vector endColor = <0, 0.5, 0>; // End color of particles <R,G,B> (if interpColor == TRUE) vector startSize = <1, 1, 1>; // Start size of particles vector endSize = <2.0,2.0,0.0>; // End size of particles (if interpSize == TRUE) vector push = <0.,0.,0.>; // Force pushed on particles // System paramaters float rate = .5; // How fast (rate) to emit particles float radius = 3; // Radius to emit particles for BURST pattern //////////////////////////////////////////////////////////////////// integer count = 30; // How many particles to emit per BURST <-- increase that value for more tense fog //////////////////////////////////////////////////////////////////// float outerAngle = 1.57; // Outer angle for all ANGLE patterns float innerAngle = 1.58; // Inner angle for all ANGLE patterns vector omega = <0,0,1>; // 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; 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_ANGLE_BEGIN,innerAngle, PSYS_SRC_ANGLE_END,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(); llListen(channel, "", llGetOwner(), offMessage); } listen(integer channel, string name, key id, string message) { state off; //Switch to the off state } } state off { state_entry() { llParticleSystem([]); //Stop making particles llListen(channel, "", llGetOwner(), onMessage); } listen(integer channel, string name, key id, string message) { state default; } } AND Here Is What I Have on The Hud Button: default { state_entry() { llSay(-200,"Fog On"); } touch_start(integer total_number) { llSay(-200, "Fog On."); } } Wants Wrong Because it does not Trigger The Box Script.. I have try to figure this out but confused. Thanks for any help. Link to comment Share on other sites More sharing options...
Rolig Loon Posted November 16, 2019 Share Posted November 16, 2019 Scripting is all about logic. Approach this as if you were giving directions to a small child ... a dim-witted one but one who will do exactly what you say. If you tell it to only turn the fog on when it hears you say "Fog On", it's going to ignore you if you say "Fog On." And if you never say "Fog Off" it won't turn it off either. 3 Link to comment Share on other sites More sharing options...
Wulfie Reanimator Posted November 16, 2019 Share Posted November 16, 2019 (edited) Please, when posting code, click the little <> icon just above the text box. It'll open a little pop-up where you're supposed to put your code. You can do this multiple times to have clearly separate blocks of code, for example: code and code Edit: I actually didn't know you could just select and convert. Edited November 16, 2019 by Wulfie Reanimator Link to comment Share on other sites More sharing options...
KT Kingsley Posted November 16, 2019 Share Posted November 16, 2019 Also, if you've already pasted the code as plain text you can select it and then click the <> icon to convert it. 1 1 Link to comment Share on other sites More sharing options...
TrinityReclusive Posted November 16, 2019 Author Share Posted November 16, 2019 Well i got If figure out and works now just great thanks for the input. Have a Great SL Day. 1 Link to comment Share on other sites More sharing options...
Kyrah Abattoir Posted November 17, 2019 Share Posted November 17, 2019 Sooo what was the error? Link to comment Share on other sites More sharing options...
Suzi Ah Posted November 17, 2019 Share Posted November 17, 2019 3 hours ago, Kyrah Abattoir said: Sooo what was the error? Look carefully at the very first comment from Rolig, all is revealed and answered most carefully and elegantly. Link to comment Share on other sites More sharing options...
Nova Convair Posted November 17, 2019 Share Posted November 17, 2019 It can't work because it listens only to the owner and not to a hud. 😎 1 Link to comment Share on other sites More sharing options...
Kyrah Abattoir Posted November 17, 2019 Share Posted November 17, 2019 4 hours ago, Suzi Ah said: Look carefully at the very first comment from Rolig, all is revealed and answered most carefully and elegantly. Hehe I didn't actually read the script, I thought her post was just an example. My bad Link to comment Share on other sites More sharing options...
Erwin Solo Posted November 22, 2019 Share Posted November 22, 2019 You're getting good advice, but if you want to learn more broadly than just making this script work, you might visit Jopsy Pendragon's Particle Laboratory. Follow the huge purple arrow and take the hot air balloon from landing point http://maps.secondlife.com/secondlife/Teal/182/75/22 Link to comment Share on other sites More sharing options...
TrinityReclusive Posted March 25 Author Share Posted March 25 Resolved Link to comment Share on other sites More sharing options...
Recommended Posts
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