Skip to content

Second Life Posing Stand Script

A Posing Stand With a Different Twist

Posing stands are used by avatars in Second Life to try on clothing or to position attachments like jewelry or prim clothing.  They are quite helpful since an avatar is moving just slightly: leaning side to side, shifting weight forward, etc.  The movement makes the avatar seem life-like, but it’s really hard to make clothing and attachment adjustments.  But with a posing stand, all movement stops, and the avatar is placed in an arms and legs out position, perfect for the task at hand.

Stores commonly give out posing stands free, and often include their logo in the texture of the stand as a bit of promotion.

I thought it would be fun to take that one step farther, giving stands to my customers that include a pleasant and friendly greeting message when the person stands on it.  If you’re a business owner, and if you do this carefully, it’s a very nice way for the person to remember your store in a positive light.  When I say “do it carefully,” I mean don’t overdo it.  I’ll explain in a minute.

You can make a posing stand quite easy.  Start with a cylinder and then tapper the top slightly.  Add a texture.  Here’s the important part.  Give the cylinder a name that includes the name of your business.  You know that you can name objects like cylinders by right clicking, selecting “Edit,” and then clicking on the “General” tab.

For instance, in my case, I would call it: “Chimera’s Simple Elegance Posing Stand.”  If you’re an individual, and you are making the pose stand as a gift for a friend, use your own name.  You could make fun like:  “Jane Doe’s Sweet Little Posing Stand.”

When a person stands on the posing stand, a message appears.  As an example, let’s say I named the stand “Chimera’s Simple Elegance Posing Stand,” and the name of the person using it is Anne Hathaway (do you remember your literature – Shakespeare maybe?).

Here’s how the message would appear in Anne’s chat when steps on the stand:

“Chimera’s Simple Elegance Posing Stand.  Hello Anne Hathaway. Thanks for using our posing stand and have a wonderful day.”

Wow. Awesome!

When I say “do it carefully,” notice how the mention of your business is fairly benign.  It’s the name of the posing stand.  That’s it.  Then it goes into a nice greeting and passes on good wishes.

That’s quite a bit different than something like:  “Come to Cleopatra’s Boutique for all your clothing needs.”  That might be okay once or twice, but the message would quickly get old, becoming a bit too commercial-like every time the person jumped on the pose stand.  But if you just name the pose stand, and keep your message congenial, then you avoid that.

This is just my 5 cents worth, and I’ll let you take from there.  You can adjust the message to what ever you want.

The bulk of this was coded by someone else, and is one of the free offerings found in the script library that is maintained by Second Life.   I have made one minor addition which adds the message capability.  It would be nice to give the original author credit, but it’s one of those scripts that’s been around for quite a while, and the original coder’s name seems to have been forgotten.

Be sure to copy everything between the two lines.  Script follows . . .

_____________________________

//Pose Stand With A Nice Hello from You
//Second Life Linden Scripting Language Library (http://wiki.secondlife.com/wiki/Category:LSL_Library)
//Minor Addition by Chimera Firecaster (https://chimerafire.wordpress.com/) - 05/11/2010

//Use:
//  1. Rez an cylinder and create a posing stand from it.
//  2. Give the cylinder a name.  For example, if you have a store named Main Street
//     Clothing, you would name it Main Street Clothing Posing Stand.  If you are
//     making this for a friend, then use your name:  Mary Lamb Posing Stand.  The
//     name of the posing stand will appear before the greeting message.
//  3. Place this script into the "Contents" of the Object
//  4. To edit the script, double-click on its name in "Contents'
//  5. Look for "REPLACE YOUR MESSAGE..." below and replace
//     the text with your own message.
//  6. On the script editing dialog you will see "Mono"
//     Make sure it is checked. Then click on Save.

//Note: this is a FREE script.  It is given generously to the Second Life
//   community without the expectation of anything in return. It may be
//   distributed, but please do not charge for it.  That's bad form.  Besides
//   dishonoring the kindness of others will most certainly bring you bad karma.
//-----Do Not Remove Above Header

key mkLoungingAgentKey = NULL_KEY;
integer miPermissionsAcquired = FALSE;

 default
 {
 state_entry()
 {
 //overriden sit target
 //lower them a bit
 vector vLoungeTarget = <0.00, 0.00, 1.00>;

 rotation rX;
 rotation rY;
 rotation rZ;
 rotation r;

 //build rotations
 //Note: this is broken out like this to simplify the
 //        process of finding the correct sit angle.  I
 //        use the following form until I have the rotation
 //        that I want perfect, and then I simply
 //        hardcode the perfected quaterion and remove   
 //        this mess.
 //
 rX = llAxisAngle2Rot( <1,0,0>, 0 * DEG_TO_RAD);         //cartwheel
 rY = llAxisAngle2Rot( <0,1,0>, 0 * DEG_TO_RAD);       //sumersault
 rZ = llAxisAngle2Rot( <0,0,1>, 0 * DEG_TO_RAD);       //turn in place

 //combine rotations
 r = rX * rY * rZ;

 //override 'sit' on pie menu
 llSetSitText( "Stand" );

 //override default sit target and rotation on prim
 llSitTarget( vLoungeTarget, r );
 }

 changed(integer change)
 {
 if (change & CHANGED_LINK)
 {
 key agent = llAvatarOnSitTarget();
 if ( mkLoungingAgentKey == NULL_KEY && agent != NULL_KEY )
 {

 //changed user
 //cache new user key and request their permissions
 mkLoungingAgentKey = agent;
 llRequestPermissions(mkLoungingAgentKey,PERMISSION_TRIGGER_ANIMATION);
 }
 else if ( mkLoungingAgentKey != NULL_KEY && agent == NULL_KEY)
 {

 //user is getting up
 if ( miPermissionsAcquired )
 {

 //restore anims
 llStopAnimation("turn_180");

 }

 //reset the script to release permissions
 llResetScript();
 }
 }        
 }

 run_time_permissions(integer parm)
 {
 if(parm == PERMISSION_TRIGGER_ANIMATION)
 {
 //REPLACE YOUR MESSAGE IN THE AREAS BETWEEN QUOTES " xxxxx "  " xxxxx "
 //Watch carefully that you only replace the text between quotes
 llInstantMessage(mkLoungingAgentKey,"Hello " + llKey2Name(mkLoungingAgentKey) + ".  Thanks for using our posing stand and have a wonderful day");

 //set permission flag
 miPermissionsAcquired = TRUE;

 //cancel the sit anim
 llStopAnimation("sit");

 llStartAnimation("turn_180");
 }
 }    
}

_____________________________

%d bloggers like this: