Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Animate after teleport

Anya Ristow
Vengeance Studio
Join date: 21 Sep 2006
Posts: 1,243
10-11-2008 07:54
Not too long ago animations were stopped after teleporting, which reduces the incidents of people dancing for no apparent reason, but messed up tinies and other animation-dependent objects. The solution was to catch the teleport change and re-animate, but that has become unreliable. The re-animation doesn't always stick. Is there a new trick?
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
10-11-2008 08:14
I've been seeing the same but haven't got around to trying workarounds yet. I can share the attack plan in my head though :o

First would be to use a little bit of llOwnerSay in changed() to make sure that CHANGED_TELEPORT is really being fired.

Second would be to line up witnesses to see if it is only the avatar's owner or everyone who sees the problem. See http://jira.secondlife.com/browse/VWR-6744 - this is the bug for the animation stop on teleport change, it's working inconsistently (stops are only local), and more changes are being pondered (that's part of why I haven't been in too much of a hurry to dig in and find a workaround just yet, it's going to change again).

Still might want to find a workaround even if it's just a local bug, but knowing this might make the problem less urgent to solve, depending on circumstances :/

Next in the attack would be to try some delays. see if the animation starts more reliably after a 2 or 3 second wait, or if starting it immediately on TP and then again after a short wait smooths over the problem. Starting an animation twice, or popping it in late, might look a little silly, but I suspect it will be lost in the normal teleport noise where avatars flail around and rez on arrival anyway.
Anya Ristow
Vengeance Studio
Join date: 21 Sep 2006
Posts: 1,243
10-11-2008 10:23
I'll save you some more investigation :) The CHANGED_TELEPORT *does* fire, and adding a delay does not improve anything. I didn't try two animates after teleport, though.

update: two animates with a short (3 sec) delay doesn't help.
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
10-11-2008 12:15
How annoying, I found some time to go in world and test things, and can't repro the problem, well not in exactly the same way. :mad:

Possibly relevant: I very recently changed the order things are stopped and started in my little AO. AOs normally stop the old animation then start the new one, but to work around some timing glitches in the new server I'm now starting the new animation, then stopping the old one on the next loop pass (typically 1/4 second overlap). Possibly, this late animation stop is nudging whatever was getting stuck on teleport?

A second bit of weirdness I am now seeing, is if I need to switch animations right after a teleport. For exanple, pressing Home to stop hovering, then transitioning into a land and stand. In this case, the script is seeing the new animation states and firing off the animations right away, but it can take several seconds (wild variations, 1 to 30 seconds, and I've got cycling disabled to make sure it isn't ignoring that first stand altogether) for that first stand to start playing. It's only the stand that sticks like that, and only the first one after teleporting, everything else carries on as it always did.

Don't know if any of that will help you get your own stuff whipped into shape, but maybe some avenues for experimentation in there? :/
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
10-11-2008 12:16
How about using CHANGED_TELEPORT to raise a dialog saying, "Press OK once teleport is complete." Then restart the animations when the user confirms the dialog. I know it's not great to rely on the user having to take an action, but at least it is a simple single press of a button....
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
10-11-2008 18:40
So, like a single player version of Bloodlines :D I wonder how many people would be looking for a way to mute themselves with something like that?