Difference between revisions of "Kilt Editor"

From Second Life Wiki
Jump to: navigation, search
Line 1: Line 1:
can I edit this now?
+
{{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.
 +
 
 +
 
 +
<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>

Revision as of 04:56, 13 June 2010

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>