Let's talk growth and scripts!
Now first issue with growth is stuff needs to move if it's growing. Especially if it's a link set. If I were to place a ball on the floor and make it grow via script, it's lower portion would grow through the floor.
This can be fixed with an anchor. The anchor will be the root prim of whatever you're growing. Nearly every prim-breast rig uses an achor, it tends to be back and inside the collarbone of the breasts. This causes the breasts to grow out and down as you expand them. Your anchor should be small and invisible. It's there as a reference point and a place to put your scripts, nothing more.
Now, in the case of our ball growing on the floor, the anchor would ideally be placed directly beneath the center of the ball.
Now growing a rig, like the above, is kind of simple. You use llGetLinkPrimitiveParams to pull the PRIM_SIZE and PRIM_POS_LOCAL of every link except the root (because the root isn't moving resizing and it's an invisible little point of reference). Then you multiply those two values by whatever factor you're resizing by, and then you use llSetLinkprimitiveParamsFast and apply that shit to the prims in question.
Of course, llGetLinkPrimitiveParams has a bit of a delay on it, doing it repeatedly everytime you resize will slow down you script execution. We can speed this up by caching all that data in a list.
What I end up doing is using a float that represents my current size. I dump all the link sizes and local position to a strided list. The stride position indicates your current prim (Remember, a linkset starts counting prims at 1, not 0, 0 is reserved for single prim objects) so then I can just use a for loop to chew through the list and apply the changes. This also makes it easy to save and restore sizes. Set my size float to 1 and force a set resize. This effectively gives you a save and restore function for your rig.
Now, get out your notes and start scribbling, I'm going to give you just enough to get a linkset growing and shrinking, the rest is up to you and your LSL prowess.
Message too long. Click here
to view the full text.