I am scripting an object (dance pole) which needs to identify when users with certain items attached sit and stand up from using them. I would like them auto-log into a tip jar when they are on the pole, and log out when they stand up and stop dancing.
I thought it would be easiest to use a phantom prim with volume detect to identify who and when people started and stopped dancing, and some initial tests worked fine. However..
When a dancer "sat" on the pole from some distance (outside the volume detect space), the volume detect refuses to trigger until after the dancer stands... It seems the dancer only appears to move into the volume detect space while the animations are running. When they stand the volume detect triggers and they are logged into the tip jar just like I thought they would be when they "sat" on the pole to start the dance animations...
I added a bit of code to use llGetObjectDetails in the "changed" event (which is where I trigger the dance animations) to return the dancer position...and it always returns a position local to the pole and well inside the volume detect area of the prim...
Where's the dancer????? if the avatar position is where GetObjectDetails says it is, then why isn't Volume detect triggered until after the animation sequences are ended?

