Advertisement
Edie_Shoreland

Lena New Model Modesty/Alpha Script public script

Sep 7th, 2018
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // The Kittie's Lair Lena Perky/Lena Lush body is a nice
  2. // editable mesh body. I use this body for my growing army
  3. // of NPCs, and most of their wardrobes contain only a non-  
  4. // scripted copy of the body's skin layer (without tattoo,
  5. // underwear or clothing layers) The skin layer for the
  6. // more recent Lenas consist of 4 meshes and a total of 32
  7. // faces that can be hidden or visible
  8.  
  9. // The long list of 32 body parts are a method of creating
  10. // and sending out body masks that work with various out-
  11. // fits. The way I create the masks is to keep a copy of
  12. // the Lena skin layer rezzed, and then it's as simple as
  13. // clicking the body parts I want hidden and plugging TRUE
  14. // or FALSE into values for each part in a new script. (For
  15. // example, a pair of high waisted jeans may require all
  16. // faces between "belly" to "upperfoot" be set to FALSE).
  17. // The rezzed body acts like a HUD, and it communicates with
  18. // the skin layer I'm wearing so I can see how it works with
  19. // an outfit. It also tells me what to mask in a new script.
  20. // When I finish, I send the new script to each NPC and that
  21. // script dropped into an unscripted skin layer. The script
  22. // automatically hides the faces and does one more thing...
  23.  
  24. // The modesty function determines if the NPC is on her own
  25. // group land, or may have accidentally logged in or tele-
  26. // ported somewhere unexpected.  While the NPC is making an
  27. // effort to teleport, the script uses color to "clothe" the
  28. // Lena skin layer until the NPC can move to a new parcel.
  29.  
  30. integer listenHandle;
  31. integer chan_no = 22992288;
  32. integer LATEX = FALSE;
  33. integer CATSUIT = FALSE;
  34.  
  35. integer wrist = TRUE;
  36. integer forearm = TRUE;
  37. integer elbow = TRUE;
  38. integer shoulder = TRUE;
  39. integer neck = TRUE;
  40. integer collar = TRUE;
  41. integer breastbone = TRUE;
  42. integer upperback = TRUE;
  43.  
  44. integer chest = TRUE;
  45. integer nipple = TRUE;
  46. integer breasts = TRUE;
  47. integer sternum = TRUE;
  48. integer back = TRUE;
  49. integer lowerribs = TRUE;
  50. integer abdomen = TRUE;
  51. integer navel = TRUE;
  52.  
  53. integer belly = TRUE;
  54. integer pubis = TRUE;
  55. integer cstring = TRUE;
  56. integer midbutt = TRUE;
  57. integer cheekythigh = TRUE;
  58. integer upperthigh = TRUE;
  59. integer midthigh = TRUE;
  60. integer lowerthigh = TRUE;
  61.  
  62. integer aboveknee = TRUE;
  63. integer knee = TRUE;
  64. integer uppercalf = TRUE;
  65. integer midcalf = TRUE;
  66. integer lowercalf = TRUE;
  67. integer upperankle = TRUE;
  68. integer ankle = TRUE;
  69. integer upperfoot = TRUE;
  70.  
  71. integer blankvalue;
  72.  
  73. vector UNCOVER = <1.00,1.00,1.00>;
  74. vector COVERED = <0.05,0.05,0.05>;
  75.  
  76. integer modesty(string region)
  77. {
  78.     if (region == "For You" || region == "Marwood" || region == "Icefyre" || region == "Lexilan" || region == "Yongma" || region == "Applewood" || region == "Gianno")
  79.     {
  80.         llSetLinkPrimitiveParamsFast(4, [
  81.         PRIM_COLOR, 0, UNCOVER, upperback,PRIM_BUMP_SHINY, 0, FALSE, FALSE,
  82.         PRIM_COLOR, 1, UNCOVER, breastbone,PRIM_BUMP_SHINY, 1, FALSE, FALSE,
  83.         PRIM_COLOR, 2, UNCOVER, collar, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
  84.         PRIM_COLOR, 3, UNCOVER, neck,PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  85.         PRIM_COLOR, 4, UNCOVER, shoulder, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  86.         PRIM_COLOR, 5, UNCOVER, elbow, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
  87.         PRIM_COLOR, 6, UNCOVER, forearm, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
  88.         PRIM_COLOR, 7, UNCOVER, wrist, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
  89.     PRIM_LINK_TARGET, 3,
  90.         PRIM_COLOR, 7, UNCOVER, chest, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
  91.         PRIM_COLOR, 6, UNCOVER, breasts, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
  92.         PRIM_COLOR, 5, UNCOVER, nipple, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
  93.         PRIM_COLOR, 4, UNCOVER, back, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  94.         PRIM_COLOR, 3, UNCOVER, sternum, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  95.         PRIM_COLOR, 2, UNCOVER, lowerribs, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
  96.         PRIM_COLOR, 1, UNCOVER, abdomen, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
  97.         PRIM_COLOR, 0, UNCOVER, navel, PRIM_BUMP_SHINY, 0, FALSE, FALSE,
  98.     PRIM_LINK_TARGET, 2,
  99.         PRIM_COLOR, 7, UNCOVER, belly, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
  100.         PRIM_COLOR, 6, UNCOVER, pubis, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
  101.         PRIM_COLOR, 5, UNCOVER, cstring, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
  102.         PRIM_COLOR, 4, UNCOVER, midbutt, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  103.         PRIM_COLOR, 3, UNCOVER, cheekythigh, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  104.         PRIM_COLOR, 2, UNCOVER, upperthigh, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
  105.         PRIM_COLOR, 1, UNCOVER, midthigh, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
  106.         PRIM_COLOR, 0, UNCOVER, lowerthigh, PRIM_BUMP_SHINY, 0, FALSE, FALSE,
  107.     PRIM_LINK_TARGET, 1,
  108.         PRIM_COLOR, 7, UNCOVER, aboveknee, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
  109.         PRIM_COLOR, 6, UNCOVER, knee, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
  110.         PRIM_COLOR, 5, UNCOVER, uppercalf, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
  111.         PRIM_COLOR, 4, UNCOVER, midcalf, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  112.         PRIM_COLOR, 3, UNCOVER, lowercalf, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  113.         PRIM_COLOR, 2, UNCOVER, upperankle, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
  114.         PRIM_COLOR, 1, UNCOVER, ankle, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
  115.         PRIM_COLOR, 0, UNCOVER, upperfoot, PRIM_BUMP_SHINY, 0, FALSE, FALSE]);
  116.     }
  117.     else if (CATSUIT)
  118.     {
  119.         llSetLinkPrimitiveParamsFast(LINK_SET,[PRIM_COLOR, ALL_SIDES, COVERED, TRUE ,PRIM_BUMP_SHINY, ALL_SIDES, LATEX, FALSE]);
  120.         llSetLinkPrimitiveParamsFast(4, [PRIM_COLOR, 7, UNCOVER, wrist, PRIM_BUMP_SHINY, 7, FALSE, FALSE, PRIM_COLOR, 3, UNCOVER, neck,PRIM_BUMP_SHINY, 3, FALSE, FALSE]);
  121.     }
  122.        
  123.     else
  124.     {
  125.         llSetLinkPrimitiveParamsFast(4, [
  126.         PRIM_COLOR, 0, COVERED, upperback,PRIM_BUMP_SHINY, 0, LATEX, FALSE,
  127.         PRIM_COLOR, 1, COVERED, breastbone,PRIM_BUMP_SHINY, 1, LATEX, FALSE,
  128.         PRIM_COLOR, 2, COVERED, collar, PRIM_BUMP_SHINY, 2, LATEX, FALSE,
  129.         PRIM_COLOR, 3, UNCOVER, neck,PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  130.         PRIM_COLOR, 4, UNCOVER, shoulder, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  131.         PRIM_COLOR, 5, UNCOVER, elbow, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
  132.         PRIM_COLOR, 6, UNCOVER, forearm, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
  133.         PRIM_COLOR, 7, UNCOVER, wrist, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
  134.     PRIM_LINK_TARGET, 3,
  135.         PRIM_COLOR, 7, COVERED, chest, PRIM_BUMP_SHINY, 7, LATEX, FALSE,
  136.         PRIM_COLOR, 6, COVERED, breasts, PRIM_BUMP_SHINY, 6, LATEX, FALSE,
  137.         PRIM_COLOR, 5, COVERED, nipple, PRIM_BUMP_SHINY, 5, LATEX, FALSE,
  138.         PRIM_COLOR, 4, COVERED, back, PRIM_BUMP_SHINY, 4, LATEX, FALSE,
  139.         PRIM_COLOR, 3, COVERED, sternum, PRIM_BUMP_SHINY, 3, LATEX, FALSE,
  140.         PRIM_COLOR, 2, COVERED, lowerribs, PRIM_BUMP_SHINY, 2, LATEX, FALSE,
  141.         PRIM_COLOR, 1, COVERED, abdomen, PRIM_BUMP_SHINY, 1, LATEX, FALSE,
  142.         PRIM_COLOR, 0, COVERED, navel, PRIM_BUMP_SHINY, 0, LATEX, FALSE,
  143.     PRIM_LINK_TARGET, 2,
  144.         PRIM_COLOR, 7, COVERED, belly, PRIM_BUMP_SHINY, 7, LATEX, FALSE,
  145.         PRIM_COLOR, 6, COVERED, pubis, PRIM_BUMP_SHINY, 6, LATEX, FALSE,
  146.         PRIM_COLOR, 5, COVERED, cstring, PRIM_BUMP_SHINY, 5, LATEX, FALSE,
  147.         PRIM_COLOR, 4, UNCOVER, midbutt, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  148.         PRIM_COLOR, 3, UNCOVER, cheekythigh, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  149.         PRIM_COLOR, 2, UNCOVER, upperthigh, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
  150.         PRIM_COLOR, 1, UNCOVER, midthigh, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
  151.         PRIM_COLOR, 0, UNCOVER, lowerthigh, PRIM_BUMP_SHINY, 0, FALSE, FALSE,
  152.     PRIM_LINK_TARGET, 1,
  153.         PRIM_COLOR, 7, UNCOVER, aboveknee, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
  154.         PRIM_COLOR, 6, UNCOVER, knee, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
  155.         PRIM_COLOR, 5, UNCOVER, uppercalf, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
  156.         PRIM_COLOR, 4, UNCOVER, midcalf, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
  157.         PRIM_COLOR, 3, UNCOVER, lowercalf, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
  158.         PRIM_COLOR, 2, UNCOVER, upperankle, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
  159.         PRIM_COLOR, 1, UNCOVER, ankle, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
  160.         PRIM_COLOR, 0, UNCOVER, upperfoot, PRIM_BUMP_SHINY, 0, FALSE, FALSE]);
  161.     }
  162.     return TRUE;
  163. }
  164.  
  165. integer changealphas(string controller)
  166. {
  167.     wrist = forearm = elbow = shoulder = neck = collar = breastbone = upperback = TRUE;
  168.     chest = nipple = breasts = sternum = back = lowerribs = abdomen = navel = TRUE;
  169.     belly = pubis = cstring = midbutt = cheekythigh = upperthigh = midthigh = lowerthigh = TRUE;
  170.     aboveknee = knee = uppercalf = midcalf = lowercalf = upperankle = ankle = upperfoot = TRUE;
  171.  
  172.     if (llGetSubString(controller, 0, 0) == "0")  wrist = FALSE;
  173.     if (llGetSubString(controller, 1, 1) == "0")  forearm = FALSE;
  174.     if (llGetSubString(controller, 2, 2) == "0")  elbow = FALSE;
  175.     if (llGetSubString(controller, 3, 3) == "0")  shoulder = FALSE;
  176.     if (llGetSubString(controller, 4, 4) == "0")  neck = FALSE;
  177.     if (llGetSubString(controller, 5, 5) == "0")  collar = FALSE;
  178.     if (llGetSubString(controller, 6, 6) == "0")  breastbone = FALSE;
  179.     if (llGetSubString(controller, 7, 7) == "0")  upperback = FALSE;
  180.  
  181.     if (llGetSubString(controller, 8, 8) == "0")  chest = FALSE;
  182.     if (llGetSubString(controller, 9, 9) == "0")  nipple = FALSE;
  183.     if (llGetSubString(controller, 10, 10) == "0")  breasts = FALSE;
  184.     if (llGetSubString(controller, 11, 11) == "0")  sternum = FALSE;
  185.     if (llGetSubString(controller, 12, 12) == "0")  back = FALSE;
  186.     if (llGetSubString(controller, 13, 13) == "0")  lowerribs = FALSE;
  187.     if (llGetSubString(controller, 14, 14) == "0")  abdomen = FALSE;
  188.     if (llGetSubString(controller, 15, 15) == "0")  navel = FALSE;
  189.  
  190.     if (llGetSubString(controller, 16, 16) == "0")  belly = FALSE;
  191.     if (llGetSubString(controller, 17, 17) == "0")  pubis = FALSE;
  192.     if (llGetSubString(controller, 18, 18) == "0")  cstring = FALSE;
  193.     if (llGetSubString(controller, 19, 19) == "0")  midbutt = FALSE;
  194.     if (llGetSubString(controller, 20, 20) == "0")  cheekythigh = FALSE;
  195.     if (llGetSubString(controller, 21, 21) == "0")  upperthigh = FALSE;
  196.     if (llGetSubString(controller, 22, 22) == "0")  midthigh = FALSE;
  197.     if (llGetSubString(controller, 23, 23) == "0")  lowerthigh = FALSE;
  198.  
  199.     if (llGetSubString(controller, 24, 24) == "0")  aboveknee = FALSE;
  200.     if (llGetSubString(controller, 25, 25) == "0")  knee = FALSE;
  201.     if (llGetSubString(controller, 26, 26) == "0")  uppercalf = FALSE;
  202.     if (llGetSubString(controller, 27, 27) == "0")  midcalf = FALSE;
  203.     if (llGetSubString(controller, 28, 28) == "0")  lowercalf = FALSE;
  204.     if (llGetSubString(controller, 29, 29) == "0")  upperankle = FALSE;
  205.     if (llGetSubString(controller, 30, 30) == "0")  ankle = FALSE;
  206.     if (llGetSubString(controller, 31, 31) == "0")  upperfoot = FALSE;
  207.    
  208.     return TRUE;
  209. }
  210.  
  211. string manualclick (integer prim_no, integer face_no)
  212. {
  213.     string alphavalues;
  214.     if (prim_no == 4)
  215.     {
  216.         if (face_no == 0)  upperback = !upperback;
  217.         else if (face_no == 1)  breastbone = !breastbone;
  218.         else if(face_no == 2)  collar = !collar;
  219.         else if(face_no == 3)  neck = !neck;
  220.         else if(face_no == 4)  shoulder = !shoulder;
  221.         else if(face_no == 5)  elbow = !elbow;
  222.         else if(face_no == 6)  forearm = !forearm;
  223.         else if(face_no == 7)  wrist = !wrist;
  224.     }
  225.     else if (prim_no == 3)
  226.     {
  227.         if (face_no == 7)  chest = !chest;
  228.         else if(face_no == 6)  breasts = !breasts;
  229.         else if(face_no == 5)  nipple = !nipple;
  230.         else if(face_no == 4)  back = !back;
  231.         else if(face_no == 3)  sternum = !sternum;
  232.         else if(face_no == 2)  lowerribs = !lowerribs;
  233.         else if(face_no == 1)  abdomen = !abdomen;
  234.         else if(face_no == 0)  navel = !navel;
  235.     }
  236.     else if (prim_no == 2)
  237.     {
  238.         if (face_no == 7)  belly = !belly;
  239.         else if(face_no == 6)  pubis = !pubis;
  240.         else if(face_no == 5)  cstring = !cstring;
  241.         else if(face_no == 4)  midbutt = !midbutt;
  242.         else if(face_no == 3)  cheekythigh = !cheekythigh;
  243.         else if(face_no == 2)  upperthigh = !upperthigh;
  244.         else if(face_no == 1)  midthigh = !midthigh;
  245.         else if(face_no == 0)  lowerthigh = !lowerthigh;
  246.     }
  247.     else if (prim_no == 1)
  248.     {
  249.         if (face_no == 7)  aboveknee = !aboveknee;
  250.         else if(face_no == 6)  knee = !knee;
  251.         else if(face_no == 5)  uppercalf = !uppercalf;
  252.         else if(face_no == 4)  midcalf = !midcalf;
  253.         else if(face_no == 3)  lowercalf = !lowercalf;
  254.         else if(face_no == 2)  upperankle = !upperankle;
  255.         else if(face_no == 1)  ankle = !ankle;
  256.         else if(face_no == 0)  upperfoot = !upperfoot;
  257.     }
  258.     alphavalues = (string)wrist + (string)forearm + (string)elbow + (string)shoulder + (string)neck + (string)collar + (string)breastbone + (string)upperback + (string)chest + (string)nipple + (string)breasts + (string)sternum + (string)back + (string)lowerribs + (string)abdomen + (string)navel + (string)belly + (string)pubis + (string)cstring + (string)midbutt + (string)cheekythigh + (string)upperthigh + (string)midthigh + (string)lowerthigh + (string)aboveknee + (string)knee + (string)uppercalf + (string)midcalf + (string)lowercalf + (string)upperankle + (string)ankle + (string)upperfoot;
  259.     return alphavalues;
  260. }
  261.  
  262.  
  263. default
  264. {
  265.     state_entry()
  266.     {
  267.         listenHandle = llListen(chan_no, "", "", "");  
  268.         blankvalue = modesty(llGetRegionName());
  269.     }
  270.            
  271.     changed(integer change)
  272.     {
  273.         if (change & CHANGED_REGION) blankvalue = modesty(llGetRegionName());
  274.     }
  275.     on_rez(integer start_param)
  276.     {
  277.         blankvalue = modesty(llGetRegionName());
  278.     }
  279.     listen(integer channel, string name, key id, string message)
  280.     {
  281.         message = llStringTrim(message, STRING_TRIM);
  282.         if (llGetSubString(message, 0, 0) == "0" || llGetSubString(message, 0, 0) == "1")
  283.         {
  284.             blankvalue = changealphas(message);
  285.             blankvalue = modesty(llGetRegionName());
  286.         }
  287.         else llSay (0,"Not valid");
  288.     }
  289.     touch_end(integer num_detected)
  290.     {
  291.           llSay(chan_no, manualclick(llDetectedLinkNumber(0),llDetectedTouchFace(0)));
  292.           blankvalue = modesty(llGetRegionName());
  293.     }
  294.  
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement