Kilt Editor
Revision as of 03:56, 13 June 2010 by Brangus Weir (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
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.
<lsl>
// This sets all flexis in your link set to the parameters you program here.
// 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(); }
} </lsl>