Jump to content

Skybox moves around mysteriously


Recommended Posts

I have a small skybox that I usually keep hanging in the ~3000m range above the parcel that I rent. 

I've noticed a few times that I go up to the skybox to find that its position has shifted a few metres, either vertically or horizontally. This seems to happen whether or not it is 'locked'. The items I had rezzed inside it stay put, so they sometimes wind up hanging in space. It's a small parcel so sometimes I wind up unintentionally intruding into my neighbours' space.

This goes beyond my very basic knowledge of how things work. Any ideas? I can only think that it's somehow getting 'pushed' when other items move around beneath it or around it, but I don't know how to stop it from happening. 

Any ideas?

Thanks! 

Link to comment
Share on other sites

At that altitude, it is not uncommon for objects to experience some "prim drift", generated by uncertainty in the positioning algorithm that the servers use to keep track of objects in the region.  Many people try to keep skyboxes between 1000 and 2000m above the surface to avoid that problem.

  • Thanks 2
Link to comment
Share on other sites

13 hours ago, Candide LeMay said:

Prim drift doesn't happen on the scale of several meters though, so it must be something else. OP, does the skybox have some scripted functionality? Maybe a "positioning" system?

Thanks! This skybox itself isn't scripted at all, though I have a teleporter pad linked to it. But nothing intended to impact the position of the object or its components. 

Link to comment
Share on other sites

16 hours ago, Rolig Loon said:

At that altitude, it is not uncommon for objects to experience some "prim drift", generated by uncertainty in the positioning algorithm that the servers use to keep track of objects in the region.  Many people try to keep skyboxes between 1000 and 2000m above the surface to avoid that problem.

Thanks! I'll try moving it down a bit and see if it helps!

Link to comment
Share on other sites

2 hours ago, Ancilla3704 said:

Thanks! This skybox itself isn't scripted at all, though I have a teleporter pad linked to it.

What kind of teleporter? Is it the kind that opens the big map or the kind that simply pushes your avatar to the destination? If it's the latter, we may have a fairly simple explanation and solution.

Link to comment
Share on other sites

2 hours ago, ChinRey said:

What kind of teleporter? Is it the kind that opens the big map or the kind that simply pushes your avatar to the destination? If it's the latter, we may have a fairly simple explanation and solution.

I think it's the latter kind, though I'm not 100% sure. It's a Caspervend teleporter pad. I'm pretty sure it has happened even without it, though - that's why I started linking them. But I'm willing to try anything! :D  I'll try unlinking it and see if that makes a difference! 

Link to comment
Share on other sites

1 hour ago, Ancilla3704 said:

I think it's the latter kind, though I'm not 100% sure. It's a Caspervend teleporter pad. I'm pretty sure it has happened even without it, though - that's why I started linking them. But I'm willing to try anything! :D  I'll try unlinking it and see if that makes a difference! 

It's just a shot in the dark but those teleporters that aren't based on landmarks and the world map do move around a bit.

In fact that's all they do. When an avaar sits on the teleporter, it jumps to the destination, kicks the avatar off and return home pretending it never moved at all.

I've never heard of a teleporter missing the return location, at least not by as much as this, but I wouldn't completely rule ut the possibility.

Link to comment
Share on other sites

1 hour ago, ChinRey said:

I've never heard of a teleporter missing the return location, at least not by as much as this, but I wouldn't completely rule ut the possibility.

That's a pretty long shot.  The home location for a teleporter like that is usually either hardcoded into it, or typed into its Description field, or captured on rez as the teleporter is being set up. The script doesn't need to do any magic to return home.  It just puts that saved vector into llSetRegionPos and ... poof .. it's home.  It can't go almost home or anywhere else unless someone gives it a different address.  In fact, the design I like best -- a unit I sell in my own MP shop -- needs only a home address, captured at the instant you sit on it to teleport. It's the one spot in the region that it knows for sure.  It knows its destination by asking a companion teleporter at the target location where it is.  You can move the units around as much as you like. Nobody ever goes astray.

Link to comment
Share on other sites

On 8/26/2021 at 6:26 AM, Rolig Loon said:

At that altitude, it is not uncommon for objects to experience some "prim drift", generated by uncertainty in the positioning algorithm that the servers use to keep track of objects in the region.  Many people try to keep skyboxes between 1000 and 2000m above the surface to avoid that problem.

I'm at 3700m for many years. Prim drift happens in fractions of millimeters and the direction is random. So even over years everything stays at position. I don't even have gaps at things that were rezzed years ago but I built things - millimeter proof. 😁

9 hours ago, ChinRey said:

What kind of teleporter? Is it the kind that opens the big map or the kind that simply pushes your avatar to the destination? If it's the latter, we may have a fairly simple explanation and solution.

The op said the skybox moves and the furniture stays. The teleporter is irrelevant then.

 

Permissions check - everybody can move it? (check skybox)
Any premissions to move your stuff given to anyone? (check friends list)
Any scripts in the skybox?
Something linked to the skybox (door) that isn't supposed to be linked?
At last I'd add a script to the skybox that monitors position and stores a record everytime a move happens - may give some hints.

Link to comment
Share on other sites

5 hours ago, Rolig Loon said:

That's a pretty long shot.

Yes, it is but if the tp script is sit based and works as intended, it should actually solve the problem in a way; every time somebody tps out, the whole skybox would return to its original position.

Keep in mind that those scripts are intended to be in the root of the linkset, not in a child prim. There are several combinations of llGetPos(), llGetLocalPos(), llGetRootPosition(), llSetPos() and the similar parameters in the llGet/Set(Link)PrimitiveParams that might cause deviations like this so it's not an impossible explanation and unless the OP has found a solution yet, it's one that definitely should be eliminated.

 

56 minutes ago, Nova Convair said:

The op said the skybox moves and the furniture stays. The teleporter is irrelevant then.

I did assume that the items that stay in place aren't linked to the skybox. Can you think of a single even remotely plausible explanation why some unscripted parts of a linkset would spontaneusoly relocate while other parts of the same linkset would stay in place?

---

Here is one possible solution - or rather "solution" - to the problem. It's a horrible one in many ways so please only use it as the absolutely last resort if/when all other options have been exhausted!!!

First, make sure the item you want to force to stay in place is in the right location. Then add this script:

vector position;

default
{
      state_entry()
      {
		position = llGetPos();
		llSetObjectDesc((string)position);
		llSetTimerEvent(10);
      }

      timer()
      {
            if(position!=llGetPos()llSetRegionPos(Position);
      }

}

What this script does, is check the object's position every ten seconds and if it has moved, put it back in place. This kind of brute force problem solving is a never a good idea so I have to emphasize: only use it if all other options have failed and even then, only consider it as a temporary fix until you've found the real problem.

Edited by ChinRey
Fixing some formatting in the script
Link to comment
Share on other sites

Probably no help but this reminds me of the time my Ex-Wife linked our skybox to her Neko tail.

Was laughing my own tail off watching the whole thing swing back and forth erratically while I was falling from the sky.

If your TP is linked to the build but not the furniture and the build moves but not the furniture, I would say the TP is causing the problem. I would suggest unlinking it and seeing if that helps. LL isn't perfect at putting things exactly where the script says every time. Especially if it has to move large objects a long way.

  • Haha 2
Link to comment
Share on other sites

18 hours ago, Rolig Loon said:

Why did you have it linked?  That's not the usual thing to do with a teleporter.

Primarily because sometimes the skybox would shift and the teleporter and other contents would not, so if I tried to tp up to it, I'd fall out of the sky. :)  It also just made it easier to move the skybox around from ground to sky and the teleporter with it, and to take it into inventory and re-rez it without having to re-adjust how the tp was oriented and such. Just a convenience. But if there's a chance that it's worsening the shifting, we'll try something else. I'll also try just deleting the teleporter and going there by landmark to see if it makes a difference.

Link to comment
Share on other sites

Posted (edited)
11 hours ago, Nova Convair said:

Permissions check - everybody can move it? (check skybox)
Any premissions to move your stuff given to anyone? (check friends list)
Any scripts in the skybox?
Something linked to the skybox (door) that isn't supposed to be linked?
At last I'd add a script to the skybox that monitors position and stores a record everytime a move happens - may give some hints.

Good questions! 

Only my alt and one other person have edit permissions to move my things, and I know for a fact that they haven't. 

The skybox has no scripts of its own. As discussed above, there is currently a teleporter pad linked to it, but it has happened without it. I'm goign to unlink it and see if it makes a difference. There isn't anything else linked that wasn't part of it as purchased. 

[Edit: I should read the thread before replying, I see there has been more said about the potential of using a script to monitor the movement. ]

 

Edited by Ancilla3704
realized there were additional replies to the thread that obviated my original comment
Link to comment
Share on other sites

10 hours ago, ChinRey said:

Yes, it is but if the tp script is sit based and works as intended, it should actually solve the problem in a way; every time somebody tps out, the whole skybox would return to its original position.

Keep in mind that those scripts are intended to be in the root of the linkset, not in a child prim. There are several combinations of llGetPos(), llGetLocalPos(), llGetRootPosition(), llSetPos() and the similar parameters in the llGet/Set(Link)PrimitiveParams that might cause deviations like this so it's not an impossible explanation and unless the OP has found a solution yet, it's one that definitely should be eliminated.

 

I did assume that the items that stay in place aren't linked to the skybox. Can you think of a single even remotely plausible explanation why some unscripted parts of a linkset would spontaneusoly relocate while other parts of the same linkset would stay in place?

---

Here is one possible solution - or rather "solution" - to the problem. It's a horrible one in many ways so please only use it as the absolutely last resort if/when all other options have been exhausted!!!

First, make sure the item you want to force to stay in place is in the right location. Then add this script:

vector position;

default
{
      state_entry()
      {
		position = llGetPos();
		llSetObjectDesc((string)position);
		llSetTimerEvent(10);
      }

      timer()
      {
            if(position!=llGetPos()llSetRegionPos(Position);
      }

}

What this script does, is check the object's position every ten seconds and if it has moved, put it back in place. This kind of brute force problem solving is a never a good idea so I have to emphasize: only use it if all other options have failed and even then, only consider it as a temporary fix until you've found the real problem.

Thank you Chinrey! Just to confirm: yes, things that are linked to the skybox move with it when it wanders; the items that wind up misaligned from it are rezzed inside it but not linked to it.  

Do you think it might help if I unlinked and relinked the tp-skybox combination so that the teleporter becomes the root prim, as an option to try before adding a 'stay put!' script? (sorry if I've misunderstood; I still have a lot to learn about how objects and scripts work together.) 

Also: Thank you so much for that script! As you say, I won't try it unless I run out of other options, but it is great to have something like this in my arsenal. And also, reading it is interesting to me to help along my baby-steps scripting knowledge. :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...