Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Link 2 prims together and place this in the root
- integer playbackchannel = 1; // The default llMessageLinked number
- integer flag;
- rotation calcChildRot(rotation rdeltaRot){
- if (llGetAttached())
- return rdeltaRot/llGetLocalRot();
- else
- return rdeltaRot/llGetRootRotation();
- }
- vector originalScale = <0.50000, 0.50000, 0.50000>;
- MoveBox(){
- vector currentSize = llGetScale();
- float scaleby = currentSize.x/originalScale.x;
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-5.00000, -0.52291, 0.00000>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>), PRIM_SIZE, <0.50000, 0.50000, 0.50000>*scaleby, PRIM_FULLBRIGHT, ALL_SIDES, 1]);
- llSleep(1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_GLOW, ALL_SIDES, 0.3]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_GLOW, ALL_SIDES, 0]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_GLOW, ALL_SIDES, 0.5]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_GLOW, ALL_SIDES, 0]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_GLOW, ALL_SIDES, 1]);
- llSleep(1);
- llTargetOmega(<0,0,0.5>,-5,PI);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-10,PI);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-15,PI);
- llSleep(0.5);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-6.00000, -0.52291, 0.00000>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>), PRIM_SIZE, <0.50000, 0.50000, 0.50000>*scaleby]);
- llTargetOmega(<0,0,0.5>,-20,PI);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-25,PI);
- llSleep(0.5);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-8.00000, -0.52291, 0.00000>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>), PRIM_SIZE, <0.50000, 0.50000, 0.50000>*scaleby]);
- llTargetOmega(<0,0,0.5>,-30,PI);
- llSleep(0.5);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-10.00000, -0.52291, 0.00000>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>), PRIM_SIZE, <0.50000, 0.50000, 0.50000>*scaleby]);
- llTargetOmega(<0,0,0.5>,-35,PI);
- }
- MoveBack(){
- vector currentSize = llGetScale();
- float scaleby = currentSize.x/originalScale.x;
- llTargetOmega(<0,0,0.5>,-30,PI);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-25,PI);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-20,PI);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-9.00000, -0.52291, 0.00000>*scaleby]);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-15,PI);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-7.00000, -0.52291, 0.00000>*scaleby]);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-10,PI);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-5.00000, -0.52291, 0.00000>*scaleby]);
- llSleep(0.5);
- llTargetOmega(<0,0,0.5>,-5,PI);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-4.00000, -0.52291, 0.00000>*scaleby]);
- llSleep(0.4);
- llTargetOmega(<0,0,0.5>,-3,PI);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <-2.00000, -0.52291, 0.00000>*scaleby]);
- llSleep(0.3);
- llTargetOmega(<0,0,0.5>,-1,PI);
- llSleep(0.2);
- llTargetOmega(<0,0,0.5>,-0.5,PI);
- llSleep(0.1);
- llTargetOmega(<0,0,0.5>,-0.2,PI);
- llSleep(1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0]);
- llSleep(0.5);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0.5]);
- llSleep(0.5);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0.2]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0.6]);
- llSleep(0.1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_FULLBRIGHT, ALL_SIDES, 0, PRIM_GLOW, ALL_SIDES, 0]);
- llSleep(1);
- llTargetOmega(<0,0,0>,0,PI);
- llSleep(1);
- llSetLinkPrimitiveParamsFast(2, [PRIM_POSITION, <0.00000, -0.52291, 0.00000>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>), PRIM_SIZE, <0.50000, 0.50000, 0.50000>*scaleby]);
- }
- default{
- touch_start(integer total_number)
- {
- if (flag++ %2 == 0)
- {
- llMessageLinked(LINK_SET,1,"MoveBox","");
- }
- else
- llMessageLinked(LINK_SET,1,"MoveBack","");
- }
- state_entry()
- {
- llSetMemoryLimit(llGetUsedMemory() + 512);
- }
- link_message(integer sender_num, integer num, string message, key id)
- {
- if(num == playbackchannel)
- {
- if(message == "MoveBox")
- {
- MoveBox();
- }
- if(message == "MoveBack")
- {
- MoveBack();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement