Mouselook Script: When I parent an object to the camera, it moves a different way?

When I parent an object, in my case, a hand, to the camera which is parented to a cube (the head) and start the game, the mouslook script works, but the hand moves different ways than the camera when I look around. Why is this happening?

Parenting: Hand (mesh) -> Camera -> Head (mesh)

Here is my .blend: greenops.blend (955 KB)

Sorry to bump this after a week but it bothers me. I checked the file and quickly tried to apply rotation and scale for all objects but couldn’t get it to work. Also tried to parent things differently but the hand wouldn’t just move the right way.

Anyone else want to take a look at it?

First of all if you scale objects, do it in edit mode(tab key).

In your file: simply click an object, press alt+s, this will bring back the original scale, do this for all your objects.
second: as above but now press alt+r this will set the rotation of the object back to original.

Now select object by object and hit alt+p and select clear parent, you will see some if not all objects go to different locations. that’s what causing the problem you have.

From here on, move the object to where you want it and parent them again. now it reacts how you want it too.