Sim borders and large moving nonphysicals
|
Siro Mfume
XD
Join date: 5 Aug 2004
Posts: 747
|
08-24-2004 07:37
Inspired by some of the larger and more amazing attachments or vessels people have made or have tried to make in the past, I have made one myself. I have also scripted it, with the help of two rc vehicle type scripts and a flight script to move.
Now I'm already at 78 prims, which means it's not going to be a physical or vehicle type anytime soon. Nor can I trim any prims without making it significantly smaller. The model itself is all within linking distance though.
My next, biggest, problem would be crossing sim borders. I'm sure some of you have dealt with this before in some way. What's my best option? I'm figuring I'll need a script in each prim or something like that in any case to give it a relink command. The question mostly just remains on the best, least laggy implementation. I was thinking that I might be able to avoid whispers and such by just having it relink when it detects a change a change in it's link. I reason that creating a link will delay it's script by one second and if each prim or many of them anyway have such a script, it should all link up before that delay is reached and can trigger another changed event.
My main problem in this, or any scenerio actually is that, how does get the key id for the object they are to link?
Also on a related note, my experiments seem to show me that the links break upon the root prim entering a new sim. If pieces are in one sim and another will they link? Should I put the root prim as far back as possible? Is this even a concern?
|
Bosozoku Kato
insurrectionist midget
Join date: 16 Jun 2003
Posts: 452
|
08-24-2004 07:53
I think sim crossing multi-prim no-physical "moving" objects isn't easily possible. Probably why you don't see massive multi-prim objects moving around sims.
Aquiring keys to link/delink means doing it everytime the object is rez'd, as well each time it crosses a sim (far as I recall, key's change when an object enters another sim, except for textures/sounds). That'd require listens and possibly link-messages (when they're already linked).
You cannot link a prim in one sim to a prim in another sim, err or at least I don't think you can. Dunno if I've actually tried this, but I doubt it's possible (you cannot edit a prim in another sim.. same principle most likely).
One thing, which would be sort of stupid, would be to kill the object before crossing a sim, then rez a new one in the sim, re-board, and continue moving around.
I just wish 100% phantom objects could be physical with a limit > 31 prims. Rumors floating around that Lindens are considering ways to attach phantom objects to phyiscal objects allowing us to build > 31 prim physical (based) objects. Personally I think the easy solution is just using 100% phantom, which appears to drive/fly/boat, via scripted routines, but don't cause collision/physics burdens like non-phantoms do.
Boso
|
Siro Mfume
XD
Join date: 5 Aug 2004
Posts: 747
|
08-24-2004 09:12
From: someone Originally posted by Bosozoku Kato I think sim crossing multi-prim no-physical "moving" objects isn't easily possible. Probably why you don't see massive multi-prim objects moving around sims.
Aquiring keys to link/delink means doing it everytime the object is rez'd, as well each time it crosses a sim (far as I recall, key's change when an object enters another sim, except for textures/sounds). That'd require listens and possibly link-messages (when they're already linked).
You cannot link a prim in one sim to a prim in another sim, err or at least I don't think you can. Dunno if I've actually tried this, but I doubt it's possible (you cannot edit a prim in another sim.. same principle most likely).
One thing, which would be sort of stupid, would be to kill the object before crossing a sim, then rez a new one in the sim, re-board, and continue moving around.
I just wish 100% phantom objects could be physical with a limit > 31 prims. Rumors floating around that Lindens are considering ways to attach phantom objects to phyiscal objects allowing us to build > 31 prim physical (based) objects. Personally I think the easy solution is just using 100% phantom, which appears to drive/fly/boat, via scripted routines, but don't cause collision/physics burdens like non-phantoms do.
Boso I am still unclear as to the method by which one acquires keys for an object from another object, or does one object have to broadcast it to others? If I cannot link prims across sims, as I had thought, then it will be a good idea for me to move my root to the very back. Testing shows it won't unlink until after the root crosses the border. If listens become necessary, I will hope to be able to turn them on and off for this sole purpose (and use non zero channels). I'm not fond of the overhead that many listens could create. When linking a multitude of prims, it is possible to cascade the linkage so that instead of having one root prim make all the calls, many sub prims subsequently make linkages? If this is possible, is there a way to ensure which one will finally end up the root prim, or would a llSleep of around a second or half a second handle that?
|
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
|
08-24-2004 13:38
You can use llListen to listen for broadcasts of the key, or llSensor to use llDetectedKey. However, sensors are limited to something like 16 or 32 objects, so you'll need to use several different sensors all oriented in specific directions with non-PI arcs. www.badgeometry.com/wiki/
_____________________
</sarcasm>
|
Siro Mfume
XD
Join date: 5 Aug 2004
Posts: 747
|
08-24-2004 18:02
While I understand you're trying to be helpful, the wiki, at this point does not have information on what I need.
Thus far experimentation shows that the changed event does not function or is called as it should be when prims are delinked due to a sim border crossing.
Also, creating links to something an avatar is sitting on is impossible.
So I see several solutions now:
Write a script that unseats the avatar and relinks everything, which will amount to the avatar hitting yes to some 70+ permissions boxes for linking.
or
Ignore linking them entirely from the start, control everything via shout/listen, very laggy, prone to issues with positions on sim borders anyway.
or
Link everything up except a low prim control deck, this deck will tell the main body (the one that tends to unlink where to go like in solution 2, then use the script from solution 1 to relink the main body on sim border crossings. Suffers shortcomings from both solutions.
or
just go into edit mode and relink the dang thing everytime.
|
Carnildo Greenacre
Flight Engineer
Join date: 15 Nov 2003
Posts: 1,044
|
08-24-2004 23:21
I haven't experienced object keys changing on a sim border crossing. I know they change on teleport and on rez, though.
_____________________
perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++;'
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
08-25-2004 00:40
From: someone Originally posted by Carnildo Greenacre I haven't experienced object keys changing on a sim border crossing. I know they change on teleport and on rez, though. that is correct they don't change; they fixed that so XML-RPC would work better. (except on teleport and rez)
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Siro Mfume
XD
Join date: 5 Aug 2004
Posts: 747
|
08-25-2004 06:29
The object key thing is useful to know. The changed event thing not working on delinking at a border is unfortunate. I'm not gonna write something that constantly checks to see if everything is linked. As much of a sim-load the object itself might be, that much checking would be far worse. At least now I know the why of it.
|
Eckhart Dillon
Registered User
Join date: 4 Jan 2004
Posts: 22
|
08-31-2004 11:18
In order for a non physical linked object to cross sims it must be linked so that ANY PRIM in the link set can be the root without giving you a "cannot link" error.
|