Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // The Kittie's Lair Lena Perky/Lena Lush body is a nice
- // editable mesh body. I use this body for my growing army
- // of NPCs, and most of their wardrobes contain only a non-
- // scripted copy of the body's skin layer (without tattoo,
- // underwear or clothing layers) The skin layer for the
- // more recent Lenas consist of 4 meshes and a total of 32
- // faces that can be hidden or visible
- // The long list of 32 body parts are a method of creating
- // and sending out body masks that work with various out-
- // fits. The way I create the masks is to keep a copy of
- // the Lena skin layer rezzed, and then it's as simple as
- // clicking the body parts I want hidden and plugging TRUE
- // or FALSE into values for each part in a new script. (For
- // example, a pair of high waisted jeans may require all
- // faces between "belly" to "upperfoot" be set to FALSE).
- // The rezzed body acts like a HUD, and it communicates with
- // the skin layer I'm wearing so I can see how it works with
- // an outfit. It also tells me what to mask in a new script.
- // When I finish, I send the new script to each NPC and that
- // script dropped into an unscripted skin layer. The script
- // automatically hides the faces and does one more thing...
- // The modesty function determines if the NPC is on her own
- // group land, or may have accidentally logged in or tele-
- // ported somewhere unexpected. While the NPC is making an
- // effort to teleport, the script uses color to "clothe" the
- // Lena skin layer until the NPC can move to a new parcel.
- integer listenHandle;
- integer chan_no = 22992288;
- integer LATEX = FALSE;
- integer CATSUIT = FALSE;
- integer wrist = TRUE;
- integer forearm = TRUE;
- integer elbow = TRUE;
- integer shoulder = TRUE;
- integer neck = TRUE;
- integer collar = TRUE;
- integer breastbone = TRUE;
- integer upperback = TRUE;
- integer chest = TRUE;
- integer nipple = TRUE;
- integer breasts = TRUE;
- integer sternum = TRUE;
- integer back = TRUE;
- integer lowerribs = TRUE;
- integer abdomen = TRUE;
- integer navel = TRUE;
- integer belly = TRUE;
- integer pubis = TRUE;
- integer cstring = TRUE;
- integer midbutt = TRUE;
- integer cheekythigh = TRUE;
- integer upperthigh = TRUE;
- integer midthigh = TRUE;
- integer lowerthigh = TRUE;
- integer aboveknee = TRUE;
- integer knee = TRUE;
- integer uppercalf = TRUE;
- integer midcalf = TRUE;
- integer lowercalf = TRUE;
- integer upperankle = TRUE;
- integer ankle = TRUE;
- integer upperfoot = TRUE;
- integer blankvalue;
- vector UNCOVER = <1.00,1.00,1.00>;
- vector COVERED = <0.05,0.05,0.05>;
- integer modesty(string region)
- {
- if (region == "For You" || region == "Marwood" || region == "Icefyre" || region == "Lexilan" || region == "Yongma" || region == "Applewood" || region == "Gianno")
- {
- llSetLinkPrimitiveParamsFast(4, [
- PRIM_COLOR, 0, UNCOVER, upperback,PRIM_BUMP_SHINY, 0, FALSE, FALSE,
- PRIM_COLOR, 1, UNCOVER, breastbone,PRIM_BUMP_SHINY, 1, FALSE, FALSE,
- PRIM_COLOR, 2, UNCOVER, collar, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
- PRIM_COLOR, 3, UNCOVER, neck,PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 4, UNCOVER, shoulder, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 5, UNCOVER, elbow, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
- PRIM_COLOR, 6, UNCOVER, forearm, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
- PRIM_COLOR, 7, UNCOVER, wrist, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
- PRIM_LINK_TARGET, 3,
- PRIM_COLOR, 7, UNCOVER, chest, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
- PRIM_COLOR, 6, UNCOVER, breasts, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
- PRIM_COLOR, 5, UNCOVER, nipple, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
- PRIM_COLOR, 4, UNCOVER, back, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 3, UNCOVER, sternum, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 2, UNCOVER, lowerribs, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
- PRIM_COLOR, 1, UNCOVER, abdomen, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
- PRIM_COLOR, 0, UNCOVER, navel, PRIM_BUMP_SHINY, 0, FALSE, FALSE,
- PRIM_LINK_TARGET, 2,
- PRIM_COLOR, 7, UNCOVER, belly, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
- PRIM_COLOR, 6, UNCOVER, pubis, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
- PRIM_COLOR, 5, UNCOVER, cstring, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
- PRIM_COLOR, 4, UNCOVER, midbutt, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 3, UNCOVER, cheekythigh, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 2, UNCOVER, upperthigh, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
- PRIM_COLOR, 1, UNCOVER, midthigh, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
- PRIM_COLOR, 0, UNCOVER, lowerthigh, PRIM_BUMP_SHINY, 0, FALSE, FALSE,
- PRIM_LINK_TARGET, 1,
- PRIM_COLOR, 7, UNCOVER, aboveknee, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
- PRIM_COLOR, 6, UNCOVER, knee, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
- PRIM_COLOR, 5, UNCOVER, uppercalf, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
- PRIM_COLOR, 4, UNCOVER, midcalf, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 3, UNCOVER, lowercalf, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 2, UNCOVER, upperankle, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
- PRIM_COLOR, 1, UNCOVER, ankle, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
- PRIM_COLOR, 0, UNCOVER, upperfoot, PRIM_BUMP_SHINY, 0, FALSE, FALSE]);
- }
- else if (CATSUIT)
- {
- llSetLinkPrimitiveParamsFast(LINK_SET,[PRIM_COLOR, ALL_SIDES, COVERED, TRUE ,PRIM_BUMP_SHINY, ALL_SIDES, LATEX, FALSE]);
- llSetLinkPrimitiveParamsFast(4, [PRIM_COLOR, 7, UNCOVER, wrist, PRIM_BUMP_SHINY, 7, FALSE, FALSE, PRIM_COLOR, 3, UNCOVER, neck,PRIM_BUMP_SHINY, 3, FALSE, FALSE]);
- }
- else
- {
- llSetLinkPrimitiveParamsFast(4, [
- PRIM_COLOR, 0, COVERED, upperback,PRIM_BUMP_SHINY, 0, LATEX, FALSE,
- PRIM_COLOR, 1, COVERED, breastbone,PRIM_BUMP_SHINY, 1, LATEX, FALSE,
- PRIM_COLOR, 2, COVERED, collar, PRIM_BUMP_SHINY, 2, LATEX, FALSE,
- PRIM_COLOR, 3, UNCOVER, neck,PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 4, UNCOVER, shoulder, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 5, UNCOVER, elbow, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
- PRIM_COLOR, 6, UNCOVER, forearm, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
- PRIM_COLOR, 7, UNCOVER, wrist, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
- PRIM_LINK_TARGET, 3,
- PRIM_COLOR, 7, COVERED, chest, PRIM_BUMP_SHINY, 7, LATEX, FALSE,
- PRIM_COLOR, 6, COVERED, breasts, PRIM_BUMP_SHINY, 6, LATEX, FALSE,
- PRIM_COLOR, 5, COVERED, nipple, PRIM_BUMP_SHINY, 5, LATEX, FALSE,
- PRIM_COLOR, 4, COVERED, back, PRIM_BUMP_SHINY, 4, LATEX, FALSE,
- PRIM_COLOR, 3, COVERED, sternum, PRIM_BUMP_SHINY, 3, LATEX, FALSE,
- PRIM_COLOR, 2, COVERED, lowerribs, PRIM_BUMP_SHINY, 2, LATEX, FALSE,
- PRIM_COLOR, 1, COVERED, abdomen, PRIM_BUMP_SHINY, 1, LATEX, FALSE,
- PRIM_COLOR, 0, COVERED, navel, PRIM_BUMP_SHINY, 0, LATEX, FALSE,
- PRIM_LINK_TARGET, 2,
- PRIM_COLOR, 7, COVERED, belly, PRIM_BUMP_SHINY, 7, LATEX, FALSE,
- PRIM_COLOR, 6, COVERED, pubis, PRIM_BUMP_SHINY, 6, LATEX, FALSE,
- PRIM_COLOR, 5, COVERED, cstring, PRIM_BUMP_SHINY, 5, LATEX, FALSE,
- PRIM_COLOR, 4, UNCOVER, midbutt, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 3, UNCOVER, cheekythigh, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 2, UNCOVER, upperthigh, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
- PRIM_COLOR, 1, UNCOVER, midthigh, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
- PRIM_COLOR, 0, UNCOVER, lowerthigh, PRIM_BUMP_SHINY, 0, FALSE, FALSE,
- PRIM_LINK_TARGET, 1,
- PRIM_COLOR, 7, UNCOVER, aboveknee, PRIM_BUMP_SHINY, 7, FALSE, FALSE,
- PRIM_COLOR, 6, UNCOVER, knee, PRIM_BUMP_SHINY, 6, FALSE, FALSE,
- PRIM_COLOR, 5, UNCOVER, uppercalf, PRIM_BUMP_SHINY, 5, FALSE, FALSE,
- PRIM_COLOR, 4, UNCOVER, midcalf, PRIM_BUMP_SHINY, 4, FALSE, FALSE,
- PRIM_COLOR, 3, UNCOVER, lowercalf, PRIM_BUMP_SHINY, 3, FALSE, FALSE,
- PRIM_COLOR, 2, UNCOVER, upperankle, PRIM_BUMP_SHINY, 2, FALSE, FALSE,
- PRIM_COLOR, 1, UNCOVER, ankle, PRIM_BUMP_SHINY, 1, FALSE, FALSE,
- PRIM_COLOR, 0, UNCOVER, upperfoot, PRIM_BUMP_SHINY, 0, FALSE, FALSE]);
- }
- return TRUE;
- }
- integer changealphas(string controller)
- {
- wrist = forearm = elbow = shoulder = neck = collar = breastbone = upperback = TRUE;
- chest = nipple = breasts = sternum = back = lowerribs = abdomen = navel = TRUE;
- belly = pubis = cstring = midbutt = cheekythigh = upperthigh = midthigh = lowerthigh = TRUE;
- aboveknee = knee = uppercalf = midcalf = lowercalf = upperankle = ankle = upperfoot = TRUE;
- if (llGetSubString(controller, 0, 0) == "0") wrist = FALSE;
- if (llGetSubString(controller, 1, 1) == "0") forearm = FALSE;
- if (llGetSubString(controller, 2, 2) == "0") elbow = FALSE;
- if (llGetSubString(controller, 3, 3) == "0") shoulder = FALSE;
- if (llGetSubString(controller, 4, 4) == "0") neck = FALSE;
- if (llGetSubString(controller, 5, 5) == "0") collar = FALSE;
- if (llGetSubString(controller, 6, 6) == "0") breastbone = FALSE;
- if (llGetSubString(controller, 7, 7) == "0") upperback = FALSE;
- if (llGetSubString(controller, 8, 8) == "0") chest = FALSE;
- if (llGetSubString(controller, 9, 9) == "0") nipple = FALSE;
- if (llGetSubString(controller, 10, 10) == "0") breasts = FALSE;
- if (llGetSubString(controller, 11, 11) == "0") sternum = FALSE;
- if (llGetSubString(controller, 12, 12) == "0") back = FALSE;
- if (llGetSubString(controller, 13, 13) == "0") lowerribs = FALSE;
- if (llGetSubString(controller, 14, 14) == "0") abdomen = FALSE;
- if (llGetSubString(controller, 15, 15) == "0") navel = FALSE;
- if (llGetSubString(controller, 16, 16) == "0") belly = FALSE;
- if (llGetSubString(controller, 17, 17) == "0") pubis = FALSE;
- if (llGetSubString(controller, 18, 18) == "0") cstring = FALSE;
- if (llGetSubString(controller, 19, 19) == "0") midbutt = FALSE;
- if (llGetSubString(controller, 20, 20) == "0") cheekythigh = FALSE;
- if (llGetSubString(controller, 21, 21) == "0") upperthigh = FALSE;
- if (llGetSubString(controller, 22, 22) == "0") midthigh = FALSE;
- if (llGetSubString(controller, 23, 23) == "0") lowerthigh = FALSE;
- if (llGetSubString(controller, 24, 24) == "0") aboveknee = FALSE;
- if (llGetSubString(controller, 25, 25) == "0") knee = FALSE;
- if (llGetSubString(controller, 26, 26) == "0") uppercalf = FALSE;
- if (llGetSubString(controller, 27, 27) == "0") midcalf = FALSE;
- if (llGetSubString(controller, 28, 28) == "0") lowercalf = FALSE;
- if (llGetSubString(controller, 29, 29) == "0") upperankle = FALSE;
- if (llGetSubString(controller, 30, 30) == "0") ankle = FALSE;
- if (llGetSubString(controller, 31, 31) == "0") upperfoot = FALSE;
- return TRUE;
- }
- string manualclick (integer prim_no, integer face_no)
- {
- string alphavalues;
- if (prim_no == 4)
- {
- if (face_no == 0) upperback = !upperback;
- else if (face_no == 1) breastbone = !breastbone;
- else if(face_no == 2) collar = !collar;
- else if(face_no == 3) neck = !neck;
- else if(face_no == 4) shoulder = !shoulder;
- else if(face_no == 5) elbow = !elbow;
- else if(face_no == 6) forearm = !forearm;
- else if(face_no == 7) wrist = !wrist;
- }
- else if (prim_no == 3)
- {
- if (face_no == 7) chest = !chest;
- else if(face_no == 6) breasts = !breasts;
- else if(face_no == 5) nipple = !nipple;
- else if(face_no == 4) back = !back;
- else if(face_no == 3) sternum = !sternum;
- else if(face_no == 2) lowerribs = !lowerribs;
- else if(face_no == 1) abdomen = !abdomen;
- else if(face_no == 0) navel = !navel;
- }
- else if (prim_no == 2)
- {
- if (face_no == 7) belly = !belly;
- else if(face_no == 6) pubis = !pubis;
- else if(face_no == 5) cstring = !cstring;
- else if(face_no == 4) midbutt = !midbutt;
- else if(face_no == 3) cheekythigh = !cheekythigh;
- else if(face_no == 2) upperthigh = !upperthigh;
- else if(face_no == 1) midthigh = !midthigh;
- else if(face_no == 0) lowerthigh = !lowerthigh;
- }
- else if (prim_no == 1)
- {
- if (face_no == 7) aboveknee = !aboveknee;
- else if(face_no == 6) knee = !knee;
- else if(face_no == 5) uppercalf = !uppercalf;
- else if(face_no == 4) midcalf = !midcalf;
- else if(face_no == 3) lowercalf = !lowercalf;
- else if(face_no == 2) upperankle = !upperankle;
- else if(face_no == 1) ankle = !ankle;
- else if(face_no == 0) upperfoot = !upperfoot;
- }
- 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;
- return alphavalues;
- }
- default
- {
- state_entry()
- {
- listenHandle = llListen(chan_no, "", "", "");
- blankvalue = modesty(llGetRegionName());
- }
- changed(integer change)
- {
- if (change & CHANGED_REGION) blankvalue = modesty(llGetRegionName());
- }
- on_rez(integer start_param)
- {
- blankvalue = modesty(llGetRegionName());
- }
- listen(integer channel, string name, key id, string message)
- {
- message = llStringTrim(message, STRING_TRIM);
- if (llGetSubString(message, 0, 0) == "0" || llGetSubString(message, 0, 0) == "1")
- {
- blankvalue = changealphas(message);
- blankvalue = modesty(llGetRegionName());
- }
- else llSay (0,"Not valid");
- }
- touch_end(integer num_detected)
- {
- llSay(chan_no, manualclick(llDetectedLinkNumber(0),llDetectedTouchFace(0)));
- blankvalue = modesty(llGetRegionName());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement