Advertisement
salahzar

lineSegment script

Dec 8th, 2014
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // The code below is made for use with
  2. // SCRATCH FOR SECOND LIFE (S4SL)
  3. // alpha release July 14, 2008
  4. //
  5. // by Eric Rosenbaum (ericr@media.mit.edu)
  6. // MIT Media Lab
  7. // Lifelong Kindergarten group
  8. //
  9. // S4SL is available for free from
  10. // http://web.mit.edu/~eric_r/Public/S4SL/
  11. //
  12. // S4SL is a modified version of Scratch,
  13. // a graphical programming language for kids
  14. // see scratch.mit.edu
  15.  
  16. integer myID;
  17.  
  18. vector hueToRGB(float h)
  19. {
  20.     integer i;
  21.     float f;
  22.     float p;
  23.     float q;
  24.     float t;
  25.     float r;
  26.     float g;
  27.     float b;
  28.     float s = 1;
  29.     float v = 1;
  30.     h *= 5;            // sector 0 to 5
  31.     i = llFloor(h);
  32.     f = h - i;            // factorial part of h
  33.     p = v * ( 1 - s );
  34.     q = v * ( 1 - s * f );
  35.     t = v * ( 1 - s * ( 1 - f ) );
  36.  
  37.     if (i == 0) {
  38.             r = v;
  39.             g = t;
  40.             b = p;
  41.     } else if (i == 1) {
  42.             r = q;
  43.             g = v;
  44.             b = p;
  45.      } else if (i == 2) {
  46.             r = p;
  47.             g = v;
  48.             b = t;
  49.     } else if (i == 3) {
  50.             r = p;
  51.             g = q;
  52.             b = v;
  53.     } else if (i == 4) {
  54.             r = t;
  55.             g = p;
  56.             b = v;
  57.     } else {
  58.             r = v;
  59.             g = p;
  60.             b = q;
  61.     }
  62.     return <r,g,b>;
  63. }
  64. setColor(float color)
  65. {
  66.       llSetColor(hueToRGB(color / 100), ALL_SIDES);
  67. }
  68. startListening() {
  69.     llListen(1, "", "", "");
  70. }    
  71. default
  72. {
  73.     state_entry()
  74.     {
  75.     }
  76.     on_rez(integer start_param)
  77.     {
  78.         myID = start_param;
  79.         startListening();
  80.     }
  81.     listen(integer channel, string name, key id, string msg)
  82.     {
  83.         if (msg == "clear") {
  84.             llDie();
  85.         }
  86.         integer indexOfColon = llSubStringIndex(msg, ":");
  87.         integer IDreceived = (integer)llGetSubString(msg, 0, indexOfColon-1);
  88.         if (IDreceived == myID)
  89.         {
  90.             msg = llGetSubString(msg,indexOfColon+1, -1);
  91.             indexOfColon = llSubStringIndex(msg, ":");
  92.             string command = llToLower(llGetSubString(msg,0,indexOfColon-1));
  93.             if(command == "set length")
  94.             {
  95.                 indexOfColon = llSubStringIndex(msg, ":");
  96.                 float length = (float)llGetSubString(msg,indexOfColon+1,-1);
  97.                 llSetScale(<length,.1,.1>);
  98.             }
  99.             if(command == "set color")
  100.             {
  101.                 indexOfColon = llSubStringIndex(msg, ":");
  102.                 float color = (float)llGetSubString(msg,indexOfColon+1,-1);
  103.                 setColor(color);
  104.             }
  105.         }
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement