This script calculates where the target is going to be when the arrow reaches it based on the arrow's and target's speed. When you turn it off, it just shoots an arrow at the target's current location. You probably noticed that this is NOT 100% accurate. If the object you want to shoot unexpectedly changes its velocity (for example when the target reaches the edge of the screen), the arrow will miss. After testing 20 shots on arrow speed 7 and target speed 6, I got these results: Accurate Shots OFF: 15% of the arrows hit Accurate Shots ON: 80% of the arrows hit