Advertisement
worstbull

Untitled

Dec 9th, 2013
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. float spin_rate = 0.20;
  2. float roll_rate = 0.00;
  3. float yaw_rate  = 0.00;
  4.  
  5. integer LOCAL_AXIS = TRUE;
  6.  
  7. string  CONTROLLER_ID = "A";
  8. integer AUTO_START = FALSE;
  9.  
  10. rotation adjustment = ZERO_ROTATION;
  11.  
  12. integer iStarted = FALSE;
  13.  
  14. randomllTargetOmega()
  15. {
  16.         spin_rate = llFrand(2.0) - 1.0;
  17.         roll_rate = llFrand(2.0) - 1.0;
  18.         yaw_rate  = llFrand(2.0) - 1.0;
  19.  
  20.         llTargetOmega( <roll_rate, yaw_rate, spin_rate>*adjustment, 2.0, 2.0 );
  21. }
  22. default
  23. {
  24.     state_entry()
  25.     {
  26.         llTargetOmega( <0, 0, 0>, 1.0, 1.0 );
  27.         llSetTimerEvent(0.1);
  28.  
  29.         if ( LOCAL_AXIS ) adjustment = llGetRot();
  30.  
  31.         if ( AUTO_START )
  32.         {
  33.          iStarted = TRUE;
  34.         }
  35.  
  36.     }
  37.  
  38.     link_message( integer sibling, integer num, string mesg, key target_key )
  39.     {
  40.         if ( mesg != CONTROLLER_ID )
  41.         {
  42.             return;
  43.         }
  44.         else if ( num == 0 )
  45.         {
  46.             llTargetOmega( <0, 0, 0>, 1.0, 1.0 );
  47.             iStarted = FALSE;
  48.             llSetLocalRot( llGetLocalRot() );
  49.         }
  50.         else if ( num == 1 )
  51.         {
  52.             iStarted = TRUE;
  53.         }
  54.         else
  55.         {
  56.         }
  57.     }
  58.     timer()
  59.     {
  60.      if (iStarted)
  61.      {
  62.       randomllTargetOmega();
  63.      }
  64.     }    changed(integer change)
  65.     {
  66.         if (change & CHANGED_LINK)
  67.         {
  68.             if (llGetNumberOfPrims() > 7)
  69.             {
  70.                  iStarted = TRUE;
  71.             } else {
  72.                 if (iStarted && !AUTO_START)
  73.                 {
  74.                     llTargetOmega( <0, 0, 0>, 1.0, 1.0 );
  75.                     iStarted = FALSE;
  76.                     llSetLocalRot( llGetLocalRot() );
  77.                 }
  78.             }
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement