petit ajout rigolo si ton rideau est en prim....il flotte au gré d' une légère brise d' un automne naissant....(il faut évidement le rendre flex.)
vector axe_mvt = <0.0,1.0,0.0>;
float cote_fixe = TRUE; //change coté d'ouverture
float min = 0.2; //taille en % de la pos fermée
integer nb_etapes = 20;
ChangeIntervalleTimer()
{
llSetTimerEvent(llFrand(2.0) + 1.0);
}
vector Vent()
{
return <1, 0, 0> * llGetRot() * (llFrand(0.1));
}
default
{
state_entry()
{
axe_mvt *= ((1.0 - min) / nb_etapes) * (axe_mvt * llGetScale());
cote_fixe -= 0.5;
ChangeIntervalleTimer();
}
touch_start(integer detected)
{
if (llDetectedKey(0) == llGetOwner())
{
integer i;
do
{
llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_SIZE, llGetScale() - axe_mvt, PRIM_POSITION, llGetLocalPos() + ((cote_fixe* axe_mvt) * llGetLocalRot())]);
llSleep(0.02);
}
while ((++i) < nb_etapes);
axe_mvt = - axe_mvt;
}
}
timer()
{
list PrimParams = llGetPrimitiveParams([PRIM_FLEXIBLE]);
llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_FLEXIBLE] + llListReplaceList(PrimParams, [Vent()], 6, 6));
ChangeIntervalleTimer();
}
}
|