Mouse look script

The mouse look script that comes with unity its giving me two errors when I build it in monodevelop, I dont know why I dont know much about code I just changed Update to LateUpdate and saved it as a new script. The thing is its not LateUpdate that its giving me de errors because I opened the original unchanged script and its giving me the errors as well.

using UnityEngine;
using System.Collections;

/// MouseLook rotates the transform based on the mouse delta.
/// Minimum and Maximum values can be used to constrain the possible rotation

/// To make an FPS style character:
/// - Create a capsule.
/// - Add the MouseLook script to the capsule.
///   -> Set the mouse look to use LookX. (You want to only turn character but not tilt it)
/// - Add FPSInputController script to the capsule
///   -> A CharacterMotor and a CharacterController component will be automatically added.

/// - Create a camera. Make the camera a child of the capsule. Reset it's transform.
/// - Add a MouseLook script to the camera.
///   -> Set the mouse look to use LookY. (You want the camera to tilt up and down like a head. The character already turns.)
[AddComponentMenu("Camera-Control/Mouse Look")]
public class MouseLook : MonoBehaviour {

	public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
	public RotationAxes axes = RotationAxes.MouseXAndY;
	public float sensitivityX = 15F;
	public float sensitivityY = 15F;

	public float minimumX = -360F;
	public float maximumX = 360F;

	public float minimumY = -60F;
	public float maximumY = 60F;

	float rotationY = 0F;

	void LateUpdate ()
	{
		if (axes == RotationAxes.MouseXAndY)
		{
			float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
			
			rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
			rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
			
			transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
		}
		else if (axes == RotationAxes.MouseX)
		{
			transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
		}
		else
		{
			rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
			rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
			
			transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
		}
	}
	
	void Start ()
	{
		// Make the rigid body not change rotation
		if (rigidbody)
			rigidbody.freezeRotation = true;
	}
}

Errors in lines 18 and 20
I cant give you the error mensages because they are in spanish (and in very bad spanish by the way, Im spanish and I cant comprehend WTF it says) and I dont know how to turn Monodevelop into english.

EDIT from Unity console:
Assets/Standard Assets/Character Controllers/Sources/Scripts/MouseLook2.cs(18,14): error CS0101: The namespace global::' already contains a definition for MouseLook’

EDIT:Fixed that, aparently Public class means global, change the name and now it works

I would hate to mix you up some. Have a look at the Standard Assets Scripts folder for MouseOrbit. A MouseOrbit with a zero distance is a MouseLook.

Actually I fixed it already However I have to do some modifications to it and dont know where to start, I want to use the Mouselook script to move the spine bone of a character (3rd person shooter) but I need to change it so the Mouse Y rotates the Z axis of the character, I will probably need to restraint the Axis rotation so the character’s torso dont spin 360 and invert the Z axis.

Also I detected some jiggling on the Y Axis and I dont know why does that happens.

consider using a LookAt. It is a very useful tool.

assume the camera is always pointing to where you want your head to focus. Just do something like this:

head.transform.LookAt(head.transform.position + Camera.main.transform.forward);

Its a simple way to get the lock that you want.