Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008944opensim[REGION] Script Functionspublic2021-11-23 08:262021-11-23 13:32
ReporterProfaitchikenz Haiku 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusnewResolutionopen 
PlatformOperating SystemOperating System Version
Product Version0.9.1.0 
Target VersionFixed in Version 
Summary0008944: Moving_end triggers repeatedly at the end of keyframed motion and only stops triggering when new movement begins
DescriptionThe moving_end event is continually raised at the end of keyframedmotion. Until a new keyframe motion is commenced it continues to be raised as a new event. If code is placed inside the moving_end event it is continually executed. The only workaround is to set a variable inside moving_end to control access to the code so that it is only executed once.
Steps To ReproduceRez a prim, put a script inside to make a single keyframedmotion move.

Inside moving_end, put an llOwnerSay("moving_end") statement, followed by llSetKeyframedMotion([],[]);

Start the script.

when the prim stops moving, the local chat console will fill up with the message.

Warning! The chat will be rapid enough (over 30 times a second) to inhibit further movement around the region, object area search and estate/region debug windows will remain grey so that it is impossible to stop the script other than by performing a region restart.
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (1 Region per Sim)
Physics EngineubODE
Script EngineYEngine
EnvironmentUnknown
Mono VersionNone
ViewerSingularity
Attached Files

- Relationships

-  Notes
(0038251)
JeffKelley (reporter)
2021-11-23 08:39

Can you please provide a script demonstrating the issue ?
(0038252)
Manwa Pastorelli (reporter)
2021-11-23 11:13

updates if important.

Mono: JIT compiler version 6.12.0.122

OpensimVersion actually OpenSim-NGC 0.9.2. Yeti Dev (Unix/Mono), which Is up to speed with opensim trunk as of 3 weeks ago ish.
(0038253)
tampa (reporter)
2021-11-23 11:37

Test against master dev please
(0038255)
Profaitchikenz Haiku (reporter)
2021-11-23 12:06
edited on: 2021-11-23 12:07

// demonstrate moving_end event cascade

key owner;

integer counter = 0;

default
{
    state_entry()
    {
        owner = llGetOwner();
        llSetLinkPrimitiveParams(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]);
        llSetKeyframedMotion([],[]);
    }
    touch_end(integer touches)
    {
        key toucher = llDetectedKey(touches - 1);
        if( toucher == owner)
        {
            llSetKeyframedMotion([<5.0, 0.0, 0.0>, ZERO_ROTATION, 5], []);
        }
    }
    moving_end()
    {
        ++counter;
        llSetKeyframedMotion([],[]);
        llOwnerSay("Moving_end counter = " + (string) counter);
        if( counter > 50) llResetScript();
    }
}

(0038256)
UbitUmarov (administrator)
2021-11-23 12:13

thanks
as tampa said please test the fix i added to master
(0038263)
JeffKelley (reporter)
2021-11-23 12:47

Seems fixed in 2021-11-23-52cd923 (ubODE, YEngine)
(0038264)
tampa (reporter)
2021-11-23 12:53

Testing in XEngine I am getting a single return when movement ends, so works there too
(0038265)
Profaitchikenz Haiku (reporter)
2021-11-23 13:22

"Test against master dev please"

I don't know of that's a request for me or somebody else, but I don't have access to anything other than the 0.9.2 version here and Diva 0.9.1.0 on my standalone, which also demonstrates the error
(0038266)
tampa (reporter)
2021-11-23 13:24

This seems resolved in master dev, which you can get from here: http://opensimulator.org/dist/OpenSim-LastAutoBuild.zip [^]
(0038267)
Profaitchikenz Haiku (reporter)
2021-11-23 13:32

Thanks for the prompt attention, I'll have to wait for the Grid owner to apply that before I can retest.

- Issue History
Date Modified Username Field Change
2021-11-23 08:26 Profaitchikenz Haiku New Issue
2021-11-23 08:27 Profaitchikenz Haiku Summary Moving_end triggers repeatedly at the end of keyframed motion and only stops triggering when now movement begins => Moving_end triggers repeatedly at the end of keyframed motion and only stops triggering when new movement begins
2021-11-23 08:39 JeffKelley Note Added: 0038251
2021-11-23 11:13 Manwa Pastorelli Note Added: 0038252
2021-11-23 11:37 tampa Note Added: 0038253
2021-11-23 12:06 Profaitchikenz Haiku Note Added: 0038255
2021-11-23 12:07 Profaitchikenz Haiku Note Edited: 0038255 View Revisions
2021-11-23 12:13 UbitUmarov Note Added: 0038256
2021-11-23 12:47 JeffKelley Note Added: 0038263
2021-11-23 12:53 tampa Note Added: 0038264
2021-11-23 13:22 Profaitchikenz Haiku Note Added: 0038265
2021-11-23 13:24 tampa Note Added: 0038266
2021-11-23 13:32 Profaitchikenz Haiku Note Added: 0038267


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker