Hello,
I want change a prim in a script so it looks like e.g. a curtain that is opened/closed. I can change the size of the prim for normal prims, but for mega's you need a different approach, so I use Path Cut. The texture on side 3 is stretched but not on side 1. I need some algoritm that returns the right value for each value of i. Anyone?
<PHP>
float fHOLLOW = 0;
vector vTWIST = <0,0,0>;
vector vTOP_SIZE=<1,1,0>;
vector vTOP_SHEAR =<0,0,0>;
integer iOPEN = TRUE;
float fSTEP=.03;
float i;
float start = .750;
float end = .855;
float algoritm()
{
return i*15;
}
Open()
{
for (i=end;i>start;i=i-fSTEP)
{
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<i,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(algoritm(),1,1);
}
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<start,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(2,1,1);
}
Close()
{
for (i=start;i<end;i=i+fSTEP)
{
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<i,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(algoritm(),1,1);
}
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<end,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(12.5,1,1);
}
default
{
state_entry()
{
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<0.75,0.875,0.0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
}
touch_start(integer total_number)
{
if (iOPEN) Close(); else Open();
iOPEN=!iOPEN;
}
}
</PHP>
