Missy Akroyd
Registered User
Join date: 18 Nov 2008
Posts: 2
|
02-01-2009 11:17
I just created my first chair. It has an outer shell, inner shell and a seat cushion. The script is connected to the cushion and the components are all linked together as one chair, with the cushion as a root. When I click the Sit here, my avatar sits horizontally in the chair. I'm sure this is common, but I haven't a clue as to what went wrong.
|
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
|
02-01-2009 11:28
Probably nothing went wrong. The script was expecting the cushion prim to be oriented a different way than you did. So, you have two choices. You can edit the script to change the rotation of its sit position, or you can remove the script from the cushion and use a poseball that you can position simply with edit tools. Either way works.
|
Taff Nouvelle
Virtual Business Owners
Join date: 4 Sep 2006
Posts: 216
|
02-01-2009 11:32
Or third choice, turn the cushion  with a zero rotation you will always sit on the top of a rezzed prim.
|
Drongle McMahon
Older than he looks
Join date: 22 Jun 2007
Posts: 494
|
02-01-2009 17:14
Fourth choice. Use a script that interactively adjusts position and/or angle. Look in scripting library forum. Actually I have found this possible but infuriatingly cumbersome. Worst of all, when you copy the chair with shift drag, the new copy (left in the old position) doesn't have the edited sit position ... Aaaggghhhh! Anyone understand that? It copies alright if you take a copy to inventory and put it out again.
|
Gaia Clary
mesh weaver
Join date: 30 May 2007
Posts: 884
|
02-01-2009 23:46
From: Drongle McMahon Actually I have found this possible but infuriatingly cumbersome. Worst of all, when you copy the chair with shift drag, the new copy (left in the old position) doesn't have the edited sit position ... Aaaggghhhh! Anyone understand that? It copies alright if you take a copy to inventory and put it out again. Maybe the llSitTarget() is placed in the wrong event handler ? i guess, if it is in the state_entry() handler, then a shift drag would not trigger the script... If it is in the on_rez() handler it should work. But that's just a guess and i may be wrong. If you use one of the freely available sitTargetHelper scripts instead of a pose ball, you can create your chair with very little effort and you save one prim, which is always a good thing, especially when you intend to sell your creation 
|
Yingzi Xue
Registered User
Join date: 11 Jun 2008
Posts: 144
|
02-02-2009 03:35
I use Sit Target Helper by Lex Neva. It's a freebie you can find in various places. You place a script into your chair (usually the cushion) and then rez the sit ball. Sit on the ball and adjust yourself to the chair. When you're done touch the cushion to get the script for the cushion. Copy/paste it into a script in the cushion and delete the helper script from the cushion. You're done and it's saved and permanent. I also suggest setting all other prims that you don't want sit targets on to not have sit targets. You do it by dropping this simple script into each object you don't want to be sittable. The script kills itself. Once that's done you can link everything together and you have a working chair.  Have a couch? Easy... just do each cushion as I just specified and it's done. The script also supports a pose. Be sure to turn off AO when setting your sit and testing it. If you need a copy or help in-world send me an IM. //Remove SitTarget for the object then die the script default { state_entry() { llSitTarget(ZERO_VECTOR,ZERO_ROTATION); llRemoveInventory(llGetScriptName()); } }
|
Missy Akroyd
Registered User
Join date: 18 Nov 2008
Posts: 2
|
Thanks everybody for your awesome replies
02-02-2009 12:35
You have given me a lot to try out and I really appreciate it.
|