Jump to content

"There is no suitable surface to sit on, try another spot." AND "No room to sit here, try another spot."


Creative Starfall
 Share

You are about to reply to a thread that has been inactive for 704 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hi:

I'm trying to sit more than 2 avatars in a object (multiprim)!
The avatars should sit in the same child prim!

Sitting 2 avatats works well, but when I try to sit the 3rd one I'm getting the following messages:

"There is no suitable surface to sit on, try another spot."
"No room to sit here, try another spot."

llSitTarget is changing accoring each avatar... in other words... every time an avatar sits/stand the llSitTarget changes!

I was wondering if you know a solution for this annoying issue!

Thank you for the help!

Link to comment
Share on other sites

Short answer: a physics shape from the prim in question or a nearby prim is enclosing your prim and preventing anything other than a single scripted sit on the sitPos.

Look back through some of the older threads in this forum, it's a physics issue that ha been explained by quite a few people, Wulfie in particular gave an exposition of the physics shapes and how they tend to stop a second sit.

I also recall this topic in the building thread, it crops up from time to time.

Link to comment
Share on other sites

20 minutes ago, Profaitchikenz Haiku said:

Short answer: a physics shape from the prim in question or a nearby prim is enclosing your prim and preventing anything other than a single scripted sit on the sitPos.

Look back through some of the older threads in this forum, it's a physics issue that ha been explained by quite a few people, Wulfie in particular gave an exposition of the physics shapes and how they tend to stop a second sit.

I also recall this topic in the building thread, it crops up from time to time.

Hi Profaitchikenz:

Thank you for reply!

I can´t find old posts about sitting more than 2 avatars and physics!

Are you able to share a link please?

Link to comment
Share on other sites

Took some digging, sadly few threads get tagged with "sit", "unsit" so the search failed to find "no suitable spot to sit" and no tagged items popped up. This is the first time in ages I've actually tried searching the forums and I suddenly appreciate how very unfriendly it is :(

 

Try this thread - and look for Wulfie's posts

 

ETA

try "multi-sit" in your search and a a veritable Alexandrian library of articles pops up.

Edited by Profaitchikenz Haiku
Further research
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

I have stopped to waste my time with multisit a quite a while ago.

Maybe there is wrong thinking on your side. This is SL not RL.

It doesn't matter on what prim an avatar sits. You can put the sit target freely in a radius of about 300m around that prim.
In a multi prim object - set 3 sit targets on 3 different prims and setup the sit targets so the avatar is placed at the prim you want them to sit on.

Easy, quick, reliable. If you prefer multisit that will be painful. 😁

  • Like 1
Link to comment
Share on other sites

@Creative Starfall:

Just to clarify what has been said by others, multi-sitting several avatars usually refers to the trick of sitting 2,3 4, (not sure what the record is, 255 - number of prims in the set?) avatars on a single prim, it involves some juggling with local positions and rotations, but it doesn't actually require any modification to the sit target.

Your requirement is slightly different in that you have a multi-prim object on which you wish to seat  several avatars, all apparently on the same prim.

What you are going to have to do is work out where each new avatar should be seated and calculate in advance the local pos and rot for them, in effect, you are working out sit positions and rotations. But as it's a multi-prim build, you will be easiest working out these positions and rotations relative to the root prim.

Avatar 1 clicks to sit and is momentarily seated at the sit-target pos and rot for the linkset. You then, in the changed event, detect a changed_link has occurred, work through the link set to see if the number of prims has increased or decreased, if increased, get the uuid of the addition, look for the first vacant set of pos and rot seats you have worked out, and move that uuid to that position. A second avatar clicks to sit, you repeat the procedure but now use the next free seating coordinates.

Now comes the difficult part. An avatar previously seated gets up. Changed_link is registered, but now the number of prims has decreased, and your task is to work out which of the seated UUIDs at such and such a position is no longer there, so you can release that set of coordinates for the next sitter. So if there had been four avatars seated and number three does a runner, you have to work this out, and free up the third entry in the list of possible vectors and rotations for the seated.

It's not impossible, it's not even particularly difficult to code, but you have to be quite diligent in keeping track of what's where and when it isn't there any longer. Lots of work with list-manipulation required. Sit target is a red-herring here as it's only used in the first instance to allow an avatar to actually get seated.

Edited by Profaitchikenz Haiku
Link to comment
Share on other sites

1 hour ago, Profaitchikenz Haiku said:

Your requirement is slightly different in that you have a multi-prim object on which you wish to seat  several avatars, all apparently on the same prim.

Thats the point!

1 hour ago, Profaitchikenz Haiku said:

What you are going to have to do is work out where each new avatar should be seated and calculate in advance the local pos and rot for them, in effect, you are working out sit positions and rotations. But as it's a multi-prim build, you will be easiest working out these positions and rotations relative to the root prim.

Avatar 1 clicks to sit and is momentarily seated at the sit-target pos and rot for the linkset. You then, in the changed event, detect a changed_link has occurred, work through the link set to see if the number of prims has increased or decreased, if increased, get the uuid of the addition, look for the first vacant set of pos and rot seats you have worked out, and move that uuid to that position. A second avatar clicks to sit, you repeat the procedure but now use the next free seating coordinates.

Now comes the difficult part. An avatar previously seated gets up. Changed_link is registered, but now the number of prims has decreased, and your task is to work out which of the seated UUIDs at such and such a position is no longer there, so you can release that set of coordinates for the next sitter. So if there had been four avatars seated and number three does a runner, you have to work this out, and free up the third entry in the list of possible vectors and rotations for the seated.

What you described its already done! I used a list to keep all the records (positions and rotations)!

Everytime an avatar sit or stand, the llSitTarget is updated for the next free sit (position and rotation - in the list)!

It works good for 2 avatars without any problem, but sit more than 2 avatars in not so easy!

Profaitchikenz, thank you for try to help with this issue! Big hug!

Link to comment
Share on other sites

9 minutes ago, Creative Starfall said:

It works good for 2 avatars without any problem, but sit more than 2 avatars in not so easy!

So are you saying that it won't work for the third or fourth avatar, or that it's getting complicated to implement it?

 

ETA MollyMews has posted an example of a single-script multi-sitter in the LSL Library forum, it might be worth your playing around with that to see if it replicates or else solves whatever problem you think you have encountered.

Edited by Profaitchikenz Haiku
Link to comment
Share on other sites

5 minutes ago, Profaitchikenz Haiku said:

So are you saying that it won't work for the third or fourth avatar, or that it's getting complicated to implement it?

Well, the 1st and 2nd avatar can sit with a simple click in the object!
But, the avatars 3, 4... have to click all over the object to try to sit in the object!

In these "try clicks", the avatars gets the messages:
"There is no suitable surface to sit on, try another spot."
"No room to sit here, try another spot."

I'll try to find ETA MollyMews posts!

Thank you for the help!

Link to comment
Share on other sites

Ah, so just as was suggested at the head of this post, you're running into a bounding box/physics problem, the avatar clicks are meeting something else other than the object containing the script. Turn on physics shapes and/or bounding boxes in the rendering info and take a good look at what's happening.

ETA was going to explain on more detail but I think/hope Wulfie's beaten me to it

 

 

Edited by Profaitchikenz Haiku
Link to comment
Share on other sites

2 minutes ago, Creative Starfall said:

Well, the 1st and 2nd avatar can sit with a simple click in the object!
But, the avatars 3, 4... have to click all over the object to try to sit in the object!

How many links does the linkset have, and how many sitters should it have?

How are you "updating" the sit target? Can you show the script?

This shouldn't be complicated.

Link to comment
Share on other sites

Just now, Profaitchikenz Haiku said:

Ah, so just as was suggested at the head of this post, you're running into a bounding box/physics problem, the avatar clicks are meeting something else other than the object containing the script. Turn on physics shapes and/or bounding boxes in the rendering info and take a good look at what's happening.

There are no other objects arround! The avatars clicks directly in the object!

Link to comment
Share on other sites

3 minutes ago, Profaitchikenz Haiku said:

OK, so if this object is smaller than the combined bounding boxes of two avatars, it could be occluded by them and so any further clicks are meeting the avatars, not the object? Check the rendering info displays

As discussed in that other thread you linked, if you're correctly using sit targets, physics occlusion won't matter.

Link to comment
Share on other sites

4 minutes ago, Wulfie Reanimator said:

As discussed in that other thread you linked, if you're correctly using sit targets, physics occlusion won't matter.

I know, but you're much better at explaining it than I am :)

ETA, I also thought, back in that thread, we established there was no need to change the sit target when avatars piled on?

 

Edited by Profaitchikenz Haiku
Link to comment
Share on other sites

  • 1 year later...

Can someone explain to me why I am having this problem "There is no suitable surface to sit on, try another spot".

hMy prim is a single cube of <3.00000, 0.01000, 5.00000> this size. as you can see is really big.

Initially i set the sit target to be vertical (but must use a rotation for that). and position <0,8,0> (and sit there to verify there is nothing an there is nothing at all at 2 meters around).

Then each time i sit i move to some other space (-0.8,-1.0,-1.05) for the same spot and will move the second to ( 0.8,-1.0,-1.05) (so they look as if near) and i check the bounding boxes and they clearly do not hit anything else. But I still keep getting the no suitable surface to sit on.

So what I am doing wrong? if i know everything is at different positions? is there any way to "see" the sit position? or see what is "used" by the prim?

Link to comment
Share on other sites

1 hour ago, Fox Paragorn said:

Can someone explain to me why I am having this problem "There is no suitable surface to sit on, try another spot".

hMy prim is a single cube of <3.00000, 0.01000, 5.00000> this size. as you can see is really big.

Initially i set the sit target to be vertical (but must use a rotation for that). and position <0,8,0> (and sit there to verify there is nothing an there is nothing at all at 2 meters around).

Then each time i sit i move to some other space (-0.8,-1.0,-1.05) for the same spot and will move the second to ( 0.8,-1.0,-1.05) (so they look as if near) and i check the bounding boxes and they clearly do not hit anything else. But I still keep getting the no suitable surface to sit on.

So what I am doing wrong? if i know everything is at different positions? is there any way to "see" the sit position? or see what is "used" by the prim?

From your description, I get the impression that you are trying to sit 2 avatars on a single prim/sit target. If so, you need to add a second prim with a defined sit target to the linkset.

  • Like 1
Link to comment
Share on other sites

12 hours ago, arton Rotaru said:

... sit 2 avatars on a single prim/sit target. If so, you need to add a second prim with a defined sit target to the linkset.

Or remove all sit-targets, and play around with unreliable wonkiness.

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 704 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...