Currently, the players HumanoidRootPart is scripted to face the mouse.
Heres what im using to get the camera CFrame:
CFrame.new(plr.Character.HumanoidRootPart.Position) --[[ position to the player ]] * CFrame.new(0,30,5) --[[ apply an offset]] * CFrame.new(plr.Character.HumanoidRootPart.CFrame.LookVector * 15)--[[ apply offset based on character rotation]] * CFrame.Angles(math.rad(-80),0,0) -- add rotation effect
This has an undesired result however, as it seems to be going off the center of the screen rather then the player, causing the player to flip whenever the players mouse gets near, as shown:
I think I see what you are trying to do, why not try to use the CFrame.LookAt constructor, and see if by setting the ‘up’ property, that can keep it steady at a steeper angle