Difference between revisions of "Kilt Editor"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{LSL Header}}
{{LSL Header}}


Having spent too many hours editing the parameters of 35 flexi-prims on a kilt, no being pleased with the result and starting all over again, it finally occured to me to write this little guy.
Having spent too many hours editing the parameters of 35 flexi-prims on a kilt, and still not being pleased with the result, and starting all over again, it finally occured to me to write this little guy.




<lsl>
<source lang="lsl2">
// This sets all flexis in your link set to the parameters you program here.
// This sets all flexis in your link set to the parameters you program here.
// Note this will chage the params of EVERY flexi in your link set - so if you add
// tassles and junk, do that after you are happy with the basic skirt!
// You only need to put this into the root prim, and touch the link set,  
// You only need to put this into the root prim, and touch the link set,  
// or save or reset the script -Brangus Weir
// or save or reset the script -Brangus Weir
Line 51: Line 53:
     }
     }
}
}
</lsl>
</source>

Latest revision as of 22:19, 24 January 2015

Having spent too many hours editing the parameters of 35 flexi-prims on a kilt, and still not being pleased with the result, and starting all over again, it finally occured to me to write this little guy.


// This sets all flexis in your link set to the parameters you program here.
// Note this will chage the params of EVERY flexi in your link set - so if you add 
// tassles and junk, do that after you are happy with the basic skirt!
// You only need to put this into the root prim, and touch the link set, 
// or save or reset the script -Brangus Weir

integer gSoftness = 1;
float gGravity =    0.3;
float gDrag =       1.0;
float gWind =       0.0;
float gTension =    0.6;
float gForceX =     0.0;
float gForceY =     0.0;
float gForceZ =     0.0;

// DO NOT EDIT BELOW HERE

setParams() {
    llOwnerSay("soft: " + (string) gSoftness + " grav: " + (string) gGravity
        + " drag: " + (string) gDrag + " wind: " + (string) gWind
        + " tens: " + (string) gTension + " Force: <" + (string) gForceX + ","
        + (string) gForceY + "," + (string) gForceZ + ">");
    list primparam = [];
    integer i = llGetNumberOfPrims();
    integer prims = 0;
    for (; i >= 0; --i) { // test each prim in link set
        primparam = llGetLinkPrimitiveParams(i,[PRIM_FLEXIBLE]);
        if (llList2Integer(primparam,0)) { // this is a flexi
            llSetLinkPrimitiveParams( i,
                [PRIM_FLEXIBLE, TRUE, gSoftness, gGravity, gDrag, gWind, gTension,
                < gForceX, gForceY, gForceZ > ]);
            prims++;  // count the prims changed 
        } 
    }
    llOwnerSay( (string) prims + " prims were set.");
}

default {
    on_rez(integer x) {
        setParams();     
    } 
    state_entry() {
        setParams(); 
    }
    touch_start(integer total_number) {
        setParams();   
    }
}