Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006449opensim[REGION] Script Functionspublic2012-12-05 00:052013-12-05 17:00
ReporterKayaker Magic 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusfeedbackResolutionreopened 
Platform(Unix/Mono)OSOSgrid 0.7.5 (Dev)OS Version4f98259: 2012-11
Product Version 
Target VersionFixed in Version 
Summary0006449: Automatic Stop Animation not done when standing from a different prim in a build
DescriptionProbably a side effect of llLinkSitTarget, this situation wasn't possible before.
    When you sit on a prim that contains an animating script, the animation is automatically stopped when the avatar stands up. However when you sit on a different prim than the one containing the script, and then stand up, the animation sticks and is not automatically stopped.
Steps To Reproduce    Link two prims together, put the following script in the root. Sit on the root prim, then stand up and note the correct behavior: The avatar returns to a standing position. Then sit on the child prim and stand up. Note that the avatar is stuck in the “motorcycle” pose.
Additional Information//stop animation test
// Link two prims together and put this script in the root
// When you stand up from the root prim, the sitting animation is automattically stopped
// but when you stand up off the child prim, the sitting animation is not stopped automatically.
default
{
    state_entry()
    { //set up to sit on either prim
        llLinkSitTarget(1,<0,0,1>,ZERO_ROTATION);
        llLinkSitTarget(2,<0,0,1>,ZERO_ROTATION);
    }
    changed(integer flags)
    {
        if (flags&CHANGED_LINK) //if the link changed it must be a sit/unsit
        {
            key sav=llAvatarOnLinkSitTarget(1); //is someone sitting there
            if (sav==NULL_KEY)
                sav=llAvatarOnLinkSitTarget(2); //or here
            if (sav!=NULL_KEY)
            {
                llOwnerSay("requesting");
                llRequestPermissions(sav,PERMISSION_TRIGGER_ANIMATION); //request animations
            }
        } //if this is a CHANGED_LINK
    } //changed
    
    run_time_permissions(integer perms)
    {
        llOwnerSay("permissions");
        if (perms&PERMISSION_TRIGGER_ANIMATION)
        {
            llStopAnimation("sit"); //stop the default sit
            llStartAnimation("motorcycle_sit"); //start the new one
        }
    }
}
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (Multiple Regions per Sim)
Physics EngineODE
Script Engine
EnvironmentUnknown
Mono Versiontrunk
ViewerFirestorm
Attached Files

- Relationships

-  Notes
(0023245)
justincc (administrator)
2012-12-14 15:35

Fixed in git master 750ad2d.

Thanks a lot for the test script, was a great help. This now works as expected with this update.
(0023246)
justincc (administrator)
2012-12-14 15:36

Argh, wrong mantis. This is still open.
(0023249)
justincc (administrator)
2012-12-14 16:05

I took a look at this today. The message sequence that OpenSimulator sends to the viewer is identical when standing from both root and child prims.

The difference is that when standing from the child prim, for some reason the viewer does not send back an AgentAnimationPacket asking the viewer to stop the motorcyle animation.

Changing the object ID to the root prim instead of the child prim when sending the animation information through llStartAnimation() doesn't change this.

I don't know why this is happening, but I suspect that it's connected with us telling the viewer that an avatar is sitting on individual child prims when really it should all be the root prim.

This would mean that a fix would have to be connected with that change.
(0024828)
justincc (administrator)
2013-12-05 17:00

Could you try this with the latest code? I'm wondering if the fix for sitting on child prims has resolved this, though I suspect not.

- Issue History
Date Modified Username Field Change
2012-12-05 00:05 Kayaker Magic New Issue
2012-12-14 15:35 justincc Note Added: 0023245
2012-12-14 15:35 justincc Status new => resolved
2012-12-14 15:35 justincc Resolution open => fixed
2012-12-14 15:35 justincc Assigned To => justincc
2012-12-14 15:36 justincc Assigned To justincc =>
2012-12-14 15:36 justincc Note Added: 0023246
2012-12-14 15:36 justincc Status resolved => feedback
2012-12-14 15:36 justincc Resolution fixed => reopened
2012-12-14 16:05 justincc Note Added: 0023249
2013-12-05 17:00 justincc Note Added: 0024828


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker