Also I am trying to make it so you can't move the cameraat all it is locked on the object.
Yes. Simply set the Camera's CameraType to Enum.CameraType.Scriptable
, and manipulate the CFrame.
Be wary of the following facts:
You may only manipulate the Camera from a LocalScript.
You need to manually reset it in order to track the character again.
local cam = workspace.CurrentCamera; cam.CameraType = Enum.CameraType.Scriptable; cam.CFrame = CFrame.new(vector3origin,vector3look);