12-13-2004 14:40
Let's say you have a vehicle, and you have two scripts that have both done llTakeControls(). Strange condition, I know, but I wanted to split mouse processing to another location in order to keep control latency down. Anyway, it was working great - until I flew into the next sim.

At that point, the airplane dropped like a brick. None of the controls responded. However, I saw indications that the control() event was still firing. These two observations lead me to believe that the vehicle parameters got reset. What's more, llCollisionSound() was reset as well. When the aircraft starts up I call llCollisionSound("", 0) so that it doesn't go CLONK BONK every time it lands or runs into something. Sure enough, once it hit the ground, it made the default collision noise!

I bug reported this but I didn't remember to mention that the collision sound got reset, and I think that is an important piece of information.

I copied the second control script to an older version of the plane in preview, and this time, the airplane didn't brick, but the control() event did stop firing once I crossed to another sim. One of the scripts has control() and handles vehicle flight, the other has control() and only cares about the mouse button. I think the order in which the scripts take control might have something to do with it.