Hecate Copperfield
Registered User
Join date: 2 Jan 2009
Posts: 5
|
02-25-2009 23:16
Can someone tell me how I can make my own pose stand? Thanks Hectae
|
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
|
02-26-2009 06:50
It's a matter of inserting a fairly simple script into whatever object you want to use as the stand. If you can't write scripts yourself, look for it in the LSL scripting wiki or, even better, poke around SL for freebies and take one apart. There are zillions of free pose stands out there and they're almost all modifiable.
|
Hecate Copperfield
Registered User
Join date: 2 Jan 2009
Posts: 5
|
More on pose stands
02-26-2009 13:03
Thanks for that but could you direct me to either that simple script or a modifiable free pose stand. Many thanks for your assistance Hecate x
|
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
|
02-26-2009 13:49
OK, I'll do both. This may seem like self-promotion, but try visiting my shop (Sa Roligt!) at  and looking for the freebie box that says something like "Free tools to help adjust your clothing for a better fit." There's a pose stand in there. In case you want to save yourself a trip, here's the standard script that is in most pose stands ...... 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) { //set permission flag miPermissionsAcquired = TRUE; //cancel the sit anim llStopAnimation("sit"); llStartAnimation("turn_180"); } } }
Click the "New Script" button in the Contents tab in the contents of whatever you make into a pose stand, and copy this text into it in place of the dummy script that SL gives you. Save it and you're done. It should work like a dream.
|
Hecate Copperfield
Registered User
Join date: 2 Jan 2009
Posts: 5
|
Syntax error
02-26-2009 23:06
Thank you for your assistance. I placed the script as you said but received the syntax error code 48,51 which I believe pointed to these lines. I'm new to code and would appreciate your help
Thanks again
llRequestPermissions(mkLoungingAgentKey,PERMISSION _TRIGGER_ANIMATION); } else if ( mkLoungingAgentKey != NULL_KEY && agent == NULL_KEY) {
|
Dekka Raymaker
thinking very hard
Join date: 4 Feb 2007
Posts: 3,898
|
02-27-2009 03:08
I don't know anything about scripting but i could be that you need to remove the space after permissions ~> PERMISSION _
|
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
|
02-27-2009 06:37
From: Hecate Copperfield Thank you for your assistance. I placed the script as you said but received the syntax error code 48,51 which I believe pointed to these lines. I'm new to code and would appreciate your help Thanks again llRequestPermissions(mkLoungingAgentKey,PERMISSION _TRIGGER_ANIMATION); } else if ( mkLoungingAgentKey != NULL_KEY && agent == NULL_KEY) { Hmmm..... There's nothing wrong with either line -- not too surprising, since the whole thing was simply cut and pasted from a working script -- so my guess is that it has to do with an extra line break somewhere. Check this.... The line that starts with "llRequestPermissions" ends with the semicolon after "PERMISSION_TRIGGER_ANIMATION)". That's all one line. If it isn't in yours, make it one. See if that helps. Or go to my shop and pick up a freebie to take apart. 
|
Hecate Copperfield
Registered User
Join date: 2 Jan 2009
Posts: 5
|
Works a treat
02-27-2009 09:34
Perfect....works a treat many thanks. There was a slight gap between a word and a hyphen.
ps lovely shop you have
Hecate xx
|