Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

llTeleportAgent() continued...

Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
10-14-2006 10:54
LL announced llTeleportAgent in the preview for 1.8, and now it's 1.12.2 and it's still not there.

I've got a couple of projects that I'm holding fire on because I don't want to do a half-assed job if there's going to be a seamless transparent teleport coming, even if it's going to be months. What's the problem?

None of the existing tools work for the kind of non-linear space I want to build.

Sit teleports and Setpos teleports (even with warpmove) are limited to the curent sim and require you to click on an object to teleport.

Handing someone a map coordinate produces a huge distraction and seems to take a little while to work... I've had to click a couple of times to have the destination actually show up when using the Stargate system... and it's limited to places where there's no landing point or the LP is the destination. It's not something you could use for seamless transport within a build.

What I want to be able to do is build a "darkened doorway", or even one with a phantom rendered image of the desitination, and have you teleported when you walk through it. Or an "infinite" corridoor that teleports you from an end segment back to the start. Or a "cave" that has the "underground" portion in a skybox. I've played with all these things using the available tools and they're just don't make my vision possible. Expanding llTeleportAgentHome to a general llTeleportAgent would allow all this and so much more.

And it seems like it would be so simple.
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
10-14-2006 11:32
Unfortunately the version you imagine will NOT be implemented.

llTeleportAgent, when implemented, will require either a prompt before teleport or that some script permission be given.

I have heard the 'but llTeleportAgentHome doesn't require that' argument before. The difference is this:
- With llTeleportAgentHome the agent gets teleported to *their* safe place.

The additional control in the hands of the script owner to determine the teleport destination means that more control needs to be implemented for the person being teleported. They need to be able to control whether they will or will not teleport to a specific location or trust a specific script to teleport them.

This means it is *not* a trivial issue. It is also not a high priority issue. Some work has been done in some spare time by a developer or two, but it is not finished, and I don't think it is currently actively being worked on.
_____________________
- Kelly Linden
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
llTeleportAgent() continued...
10-14-2006 14:29
From: Kelly Linden
With llTeleportAgentHome the agent gets teleported to *their* safe place.
That doesn't make llTeleportAgentHome any less objectionable when it happens without warning. More than once I've had to very carefully negotiate an invisible maze to get back to a vehicle I'd been riding without getting teleported again. I've even had to abandon my plane because I couldn't figure out just where I'd been flying before I was teleported.

I can't imagine what a landowner could do with a reasonable llTeleportAgent implementation that's worse than that. By "reasonable", I mean "not just llTeleportAgentHome with an extra parameter": it wouldn't be a "security tool", so you could leave them with a "cancel" button and limit how often it could be fired... making it less dangerous and giving the user more control than llTeleportAgentHome().

From: someone
The additional control in the hands of the script owner to determine the teleport destination means that more control needs to be implemented for the person being teleported.
Indeed. But making them respond to an approval dialog for every teleport isn't the only or even the best way to give them that control.

Mind if I make a brief digression?

First, approval dialogs breaks immersion in the game, which reduces the user's perception of control over their environment. There's a lot of dialogs I get in SL I'd like to simply automatically approve, or grant permanent approval to objects owned by someone I trust. Animations, for example... the worst that can happen if I'm animated unexpectedly is I'll get an "embarassing" animation run on me, and I can stop it at will with a pulldown.

Second, approval dialogs are a dangerous security tool. People get in the habit of automatically approving routine dialogs, and there's been plenty of posts in the forums about people getting hurt by reflexively clicking through one because they're used to seeing so many. If at all possible, it's much better to come up with a way to make an operation safe. For example, you can have a "stop animations" button displayed when you're running a non-Linden animation.

In the case of llTeleportAgent:

* You can first limit it the same way llTeleportAgentHome is limited, so you can't get teleported except by the landowner.

* Second, you can make it cancellable, and rate-limit it prevent it from operating over and over again in quick succession.

* Third, except for the landowner's parcels in the same (or maybe an adjacent) sim, it should be just as limited as point to point teleporting on the map.

These three together mean the landowner can't do anything to you that you can't get out of by teleporting home, and they can't toss you into a private area, and it doesn't involve any more inter-sim communication than point-to-point teleports.

* A landowner can teleport you to a location high in the air. They can already push you there, or move part of the build using physics to physically move you there, or just use llEjectFromLand.

* A landowner can teleport you to a location containing embarassing or objectionable images. They can rez objects like that around you anyway... in fact anyone can do that. There's existing scripted objects that'll do that as a joke.

From: someone
It is also not a high priority issue. Some work has been done in some spare time by a developer or two, but it is not finished, and I don't think it is currently actively being worked on.
There's a lot of people on SL who would produce amazing things with a tool like this, because they're already doing amazing things with less capable tools... and are running hard up against the limits of what they can do by pushing the limits of the game. They would love to help work out the security issues rather than spending more time and effort to simulate it using llSitTarget() and warp-move and llMoveTo.

Just thinking about how it would improve the Stargate network makes me dizzy.

[Edit: I'm not angry or upset, if I seem excited it's because I'm *excited*. This is an amazing game, and I just want to see it become as amazing as it can possibly be.]
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
Adjunct to llTeleportAgent() continued...
10-14-2006 15:45
It should be pointed out that at some point we talked about this to a rather thorough extent. If you could lend us a Linden to work with and toss out a few tests on the preview grid, I'm sure we could come up with a system that everyone can be happy with.

Particularily, several thoughts about griefing have already been tossed about, and I think what was discussed in that thread, if tested, could prove fruitful to all our spatial warping needs.
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
10-16-2006 13:33
I merged these and will let Kelly know.
_____________________
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
10-16-2006 13:50
Yes there are some good ideas both in Argent's post and in the thread linked Feynt. I have indead read those. We have, I believe, a good set of requirements / behavior for the llTeleportAgent feature.

Yes there are a lot of cool things that can be done with llTeleportAgent.

No, I'm sorry, I don't have any more information besides what I already posted. It isn't being actively developed and despite the abundance of ideas about limitations, features and behavior for the function call, it still takes development time to implement them.
_____________________
- Kelly Linden