Asking for help from the Kitely / Opensim community.
This problem doesn't occur on Kitely so much because Kitely consists of individual, un-joined worlds without sim lines. However on other grids, I have noticed that a vehicle that crosses a sim line instantly vanishes. I'm asking about this here because Kitely people are pretty smart-- and if I'm going to put this on Kitely Market, it has to work across the Hypergrid.
Note: the script is a non-physical BOAT script (movement based) where the vertical axis doesn't change. It goes forward, backward and turns. So physics aren't involved, nor is gravity. Just position and rotation.
I have examined the script top to bottom. I've put debug-triggers all the way through it, trying to find if the script is responsible. Here are my findings thus far:
* The debug triggers indicate there's no specific part of the script where the vehicle dies. The moment it hits a sim line, just POOF. Gone.
* llDie() functions are NOT responsible (I eliminated them and the vehicle still vanished).
* The vehicle actually vanishes. I put in a timer llOwnerSay() notification of current vehicle position. I receive 1-second interval updates of the vehicle position until it vanishes... then then notifications stop, indicating the vehicle self-destructs.
* I've already written a routine to detect sim crossing and re-set the positioning. The vehicle appears to vanish the moment it touches the sim line, before the routine has a chance to work. So it doesn't seem to be a matter of trying to move the vehicle to a non-existing coordinate. It acts more like an internal Opensim system bug (thus making me wonder if anyone has found a bypass to that bug).
Of course these are just based on observable evidence. I'm not really sure what's happening to the vehicle. All I know for certain is it vanishes when it hits a sim line. Doesn't stall, doesn't re-position. It obliterates.
On SL it is common for vehicles to stall at sim edges, but not to instantly and totally vanish. So I'm wondering if anyone has any experience with this on Opensim and could shed light on the issue. Thanks!
Vehicles vanishing on sim crossing
- Snoots Dwagon
- Posts: 431
- Joined: Mon Jul 30, 2018 9:45 pm
- Has thanked: 457 times
- Been thanked: 792 times
Vehicles vanishing on sim crossing
- These users thanked the author Snoots Dwagon for the post (total 2):
- Selby Evans • Tess Juel
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
-
- Posts: 1314
- Joined: Sun Dec 23, 2012 2:26 pm
- Has thanked: 1134 times
- Been thanked: 1142 times
Re: Vehicles vanishing on sim crossing
No insights to communicate but wondered whether osTeleportObject might assist? http://opensimulator.org/wiki/OsTeleportObject
- These users thanked the author Graham Mills for the post (total 2):
- Tess Juel • Snoots Dwagon
- Selby Evans
- Posts: 620
- Joined: Wed Sep 04, 2013 6:00 pm
- Has thanked: 1840 times
- Been thanked: 822 times
Re: Vehicles vanishing on sim crossing
I suggest you ask Kayaker Magic--He has not mentioned the problem in Dev meetings even though he sells boats and would have heard from his customers about it.
- These users thanked the author Selby Evans for the post (total 3):
- Ilan Tochner • Graham Mills • Tess Juel
- Snoots Dwagon
- Posts: 431
- Joined: Mon Jul 30, 2018 9:45 pm
- Has thanked: 457 times
- Been thanked: 792 times
Re: Vehicles vanishing on sim crossing
I am getting hints this may have to do with MESH boats compared to prim boats, as the object that is delf-destructing is mesh whereas another object that is all prims crosses safely. I'm running additional tests today to confirm this hypothesis.
- These users thanked the author Snoots Dwagon for the post:
- Tess Juel
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
- Tess Juel
- Posts: 406
- Joined: Sun Sep 11, 2016 4:24 pm
- Has thanked: 324 times
- Been thanked: 515 times
Re: Vehicles vanishing on sim crossing
Mesh vs prims means there is much more data for the target simulator to load during a crossing. Maybe that's the key to an explanation? There are two simple ways to test the theory.Snoots Dwagon wrote: ↑Thu Jul 29, 2021 3:43 pmI am getting hints this may have to do with MESH boats compared to prim boats, as the object that is delf-destructing is mesh whereas another object that is all prims crosses safely.
One is to use a very simple mesh, maybe just a cube, as a boat and see if it too has the same problem.
The other is to rez a copy of the boat in the target region before you try to cross so it already has the mesh asset(s) loaded.
Maybe or maybe not. There aren't that many sales from KM to other grids and there aren't that many places with adjacent water regions on the hypergrid. So if it's a recent problem, it may be that nobody has noticed yet.Selby Evans wrote: ↑Wed Jul 28, 2021 8:18 pmI suggest you ask Kayaker Magic--He has not mentioned the problem in Dev meetings even though he sells boats and would have heard from his customers about it.
Edit:
This is probably not related but it reminds of a really strange experience a friend of mine had a while ago. She was struggling with a vehicle that kept getting stuck at the border of her region and couldn't be deleted so she went to a sandbox with autoreturn to test it out. When the vehicle hit the border of the sandbox it vanished but when she went back to her home sim, she found it stuck at the border there. As far as I know nobody has managed to come up with an explanation for this.
- Snoots Dwagon
- Posts: 431
- Joined: Mon Jul 30, 2018 9:45 pm
- Has thanked: 457 times
- Been thanked: 792 times
Re: Vehicles vanishing on sim crossing
It occurred to me to contact Kayaker about the same time Selby made the suggestion to do so... and bless his little brilliant mind, Kayaker had the answer. Ya'll gonna love this.
It would seem some time back, in order to "solve" a griefer problem, Linden Lab wrote into the code something that would prevent script-rezzed items from crossing sim lines. This should come as no surprise... since attacking the symptoms rather than the disease has long been LL's solution to problems... even if such solution cripples legitimate use of the system. Of course this "solution" caused the very problem that I posted above. So I was almost right: it's was an Opensim system "bug". Except it was Linden Lab, it wasn't a bug it was intentionally (if foolishly) coded... and was replicated on Opensim.
Fortunately Kayaker had the solution.
As he pointed out, "it took the griefers about .27 ms to figure out a work-around" to LL's block... so Kayaker gave me 3 lines of code that, when applied to my boat (whether prim or mesh), overrode the die-on-sim-crossing problem and now the boat works perfectly.
So thanks to Selby for making that suggestion, and super thanks to Kayaker for the solution. My Cardboard Pirate Ship works fine now on most of the hypergrid (perhaps all of it), regardless of physics mode or script engine. Beware all who sail the seas: the Rabid Pink Pirate Cardboard Pirate Ships have Oat Box cannons and are hunting for cookies and rums! Mwahahahahahaa...
It would seem some time back, in order to "solve" a griefer problem, Linden Lab wrote into the code something that would prevent script-rezzed items from crossing sim lines. This should come as no surprise... since attacking the symptoms rather than the disease has long been LL's solution to problems... even if such solution cripples legitimate use of the system. Of course this "solution" caused the very problem that I posted above. So I was almost right: it's was an Opensim system "bug". Except it was Linden Lab, it wasn't a bug it was intentionally (if foolishly) coded... and was replicated on Opensim.
Fortunately Kayaker had the solution.
As he pointed out, "it took the griefers about .27 ms to figure out a work-around" to LL's block... so Kayaker gave me 3 lines of code that, when applied to my boat (whether prim or mesh), overrode the die-on-sim-crossing problem and now the boat works perfectly.
So thanks to Selby for making that suggestion, and super thanks to Kayaker for the solution. My Cardboard Pirate Ship works fine now on most of the hypergrid (perhaps all of it), regardless of physics mode or script engine. Beware all who sail the seas: the Rabid Pink Pirate Cardboard Pirate Ships have Oat Box cannons and are hunting for cookies and rums! Mwahahahahahaa...

- These users thanked the author Snoots Dwagon for the post (total 3):
- Tess Juel • Selby Evans • Graham Mills
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
- Tess Juel
- Posts: 406
- Joined: Sun Sep 11, 2016 4:24 pm
- Has thanked: 324 times
- Been thanked: 515 times
Re: Vehicles vanishing on sim crossing
Are you allowed to share the code with us?Snoots Dwagon wrote: ↑Sat Jul 31, 2021 8:18 pmKayaker gave me 3 lines of code that, when applied to my boat (whether prim or mesh), overrode the die-on-sim-crossing problem and now the boat works perfectly.
- Snoots Dwagon
- Posts: 431
- Joined: Mon Jul 30, 2018 9:45 pm
- Has thanked: 457 times
- Been thanked: 792 times
Re: Vehicles vanishing on sim crossing
Tess Juel wrote: ↑Sun Aug 01, 2021 1:19 pmAre you allowed to share the code with us?Snoots Dwagon wrote: ↑Sat Jul 31, 2021 8:18 pmKayaker gave me 3 lines of code that, when applied to my boat (whether prim or mesh), overrode the die-on-sim-crossing problem and now the boat works perfectly.
I'm sorry it took me so long to get back to you on this. I've been building a 2 1/2 region town, Giant Spider race track, pirate hangout, 50's cafe, etc. Busy to da ear fins. I just now checked back with Kitely forums and found this request... so here's the 3-line code to overcome sim lines. Far as I know this works on boats, cars, airplanes, you name it... any "sat on" vehicle that can cross a sim (of course on Kitely this is irrelevant, as there are no sim lines).
Place these lines in your state_entry() section of your code, and make sure you have an on_rez(integer num){llResetSript();} section to trigger it.
So for example...
default{
on_rez(integer num){llResetScript();}
state_entry(){
// Kayaker fix to sim edge self-destruct
llSetPrimitiveParams([PRIM_TEMP_ON_REZ, TRUE]);
llSetStatus(STATUS_DIE_AT_EDGE, FALSE);
llSetPrimitiveParams([PRIM_TEMP_ON_REZ, FALSE]);
}
... remainder of script
- These users thanked the author Snoots Dwagon for the post:
- Tess Juel
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~
I'm a dwagon in real life too. (My sister totally agrees.)
~~~~~~~