Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006143opensim[REGION] Specific OpenSim Modulepublic2012-08-09 04:192012-08-24 16:00
ReporterSignpostMarv 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusnewResolutionopen 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0006143: NPCs will play animations only once if animation is not explicitly stopped
DescriptionIt seems that if one does not explicitly stop an animation, whereas animations can be repeatedly played on an agent avatar without explicitly stopping the animation.

This bug also affects git master
Steps To ReproduceBuilt-in animations & inventory animations appear to both be affected.

1) Spawn an NPC
2) Play animation on avatar and NPC (best done with non-looping animation)
3) Play again, observe only avatar is animated.
4) Stop animations on NPC
5) Play again, observe both are animated.
Additional Informationstring NpcName = "osNpcPlayAnimation";
key npc;

default
{
    state_entry()
    {
        llSensor("", NULL_KEY, OS_NPC, 96, PI);
    }
    
    sensor(integer s)
    {
        integer i;
        for(i=0;i<s;++i)
        {
            osNpcRemove(llDetectedKey(i));
        }
        llSensor(NpcName + " NPC", NULL_KEY, OS_NPC, 96, PI);
    }

    no_sensor()
    {
        state ready;
    }
}

state ready
{
    state_entry()
    {
        npc = osNpcCreate(NpcName, "NPC", llGetPos(), llGetOwner());
    }
    
    touch_start(integer t)
    {
// llSay(0, "stopping animations");
// osNpcStopAnimation(npc, "backflip");
// osNpcStopAnimation(npc, "handshake");
        llSay(0, "backflip");
        osNpcPlayAnimation(npc, "backflip");
        osAvatarPlayAnimation(llGetOwner(), "backflip");
        llSleep(1);
        llSay(0, "handshake 1");
        osNpcPlayAnimation(npc, "handshake");
        osAvatarPlayAnimation(llGetOwner(), "handshake");
        llSleep(2);
        llSay(0, "handshake 2");
        osNpcPlayAnimation(npc, "handshake");
        osAvatarPlayAnimation(llGetOwner(), "handshake");
    }
}
TagsNo tags attached.
Git Revision or version numberwhichever revision 0.7.4-fc1 is
Run ModeStandalone (1 Region)
Physics EngineODE
Script Engine
Environment.NET / Windows32
Mono VersionNone
ViewerImprudence 1.4.0 beta 1
Attached Files

- Relationships
related to 0005924closedmelanie NPC do not play Internal Animations 
related to 0006224closedmelanie NPC do not play Internal Animations 

-  Notes
(0022006)
SignpostMarv (reporter)
2012-08-09 04:21

updating test script to use OS_NPC in both sensor calls
(0022411)
justincc (administrator)
2012-08-22 15:53

For the record, updating the animation number returned by NPCAvatar doesn't help. Also, is handshake a valid anim? Doesn't seem to work on either user or NPC.
(0022412)
SignpostMarv (reporter)
2012-08-22 16:00

it's listed in the opensim library, I believe ?
(0022414)
justincc (administrator)
2012-08-22 16:11

So your avatar does do a handshake on playing this script? Also, do you have any idea if this bug has been introduced since 0.7.3.1?
(0022415)
SignpostMarv (reporter)
2012-08-22 16:19

I've got a 0.7.3.1 sim setup at work, I can test tomorrow :)
(0022416)
melanie (administrator)
2012-08-22 16:24

Each time an animation is added to the avatar's animation set, the animation number needs to be incremented and used. When animation is simply resent as part of the anim pack, it's number does not change. This lets clients update the animation number.

A special difficulty exists with one shot animations. Normally, the animation is removed from the anim pack when the client associated with the avatar stops playing it. NPCs have no client, so it can be assumed that one shot animations will remain in the anim pack forever unless explicitly removed by the script.

For NPCs, it may be necessary to decode the loop and duration fields of the asset to determine a time to remove the anim from the anim pack serverside.
(0022417)
SignpostMarv (reporter)
2012-08-23 01:44

On 0.7.3.1-release, backflip does not work on the NPC at all, although animations in the object inventory (such as handshake) will work.

On 0.7.4-rc1, backflip will work on the NPC only once as described unless explicitly stopped.

On both versions, handshake will work on both NPC and avatar if handshake is in the object inventory.
(0022445)
justincc (administrator)
2012-08-24 16:00

Changed to master - this won't be fixed for 0.7.4.

- Issue History
Date Modified Username Field Change
2012-08-09 04:19 SignpostMarv New Issue
2012-08-09 04:19 SignpostMarv Relationship added related to 0005924
2012-08-09 04:20 SignpostMarv Steps to Reproduce Updated View Revisions
2012-08-09 04:21 SignpostMarv Note Added: 0022006
2012-08-09 04:21 SignpostMarv Additional Information Updated View Revisions
2012-08-18 04:32 DMX04 Issue cloned: 0006223
2012-08-22 15:53 justincc Note Added: 0022411
2012-08-22 16:00 SignpostMarv Note Added: 0022412
2012-08-22 16:11 justincc Note Added: 0022414
2012-08-22 16:19 SignpostMarv Note Added: 0022415
2012-08-22 16:24 melanie Note Added: 0022416
2012-08-23 01:44 SignpostMarv Note Added: 0022417
2012-08-24 16:00 justincc Product Version 0.7.4-rc1 => master (dev code)
2012-08-24 16:00 justincc Note Added: 0022445


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker