runService.RenderStepped:connect(function()if running then updatechar()CamPos=CamPos+(TargetCamPos-CamPos)*.28 AngleX=AngleX+(TargetAngleX-AngleX)*.35 local G=TargetAngleY-AngleY G=math.abs(G)>180 and G-(G/math.abs(G))*360 or G AngleY=(AngleY+G*.35)%360 cam.CameraType=Enum.CameraType.Scriptable cam.CoordinateFrame=((CFrame.new(head.Position)*CFrame.Angles(0,math.rad(AngleY),0))*CFrame.Angles(math.rad(AngleX),0,0))*CFrame.new(0,.8,0)humanoidpart.CFrame=CFrame.new(humanoidpart.Position)*CFrame.Angles(0,math.rad(AngleY),0)character.Humanoid.AutoRotate=false else(game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")).MouseBehavior=Enum.MouseBehavior.Default character.Humanoid.AutoRotate=true end if(cam.Focus.p-cam.CoordinateFrame.p).magnitude<1 then running=false else running=true if freemouse==true then(game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")).MouseBehavior=Enum.MouseBehavior.Default else(game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")).MouseBehavior=Enum.MouseBehavior.LockCenter end end if not CanToggleMouse.allowed then freemouse=false end cam.FieldOfView=FieldOfView end)
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----

runService.RenderStepped:connect(function()
	if running then
		updatechar()

		CamPos = CamPos + (TargetCamPos - CamPos) * 0.28
		AngleX = AngleX + (TargetAngleX - AngleX) * 0.35
		local dist = TargetAngleY - AngleY
		dist = math.abs(dist) > 180 and dist - (dist / math.abs(dist)) * 360 or dist
		AngleY = (AngleY + dist * 0.35) % 360
		cam.CameraType = Enum.CameraType.Scriptable

		cam.CoordinateFrame = CFrame.new(head.Position)
			* CFrame.Angles(0, math.rad(AngleY), 0)
			* CFrame.Angles(math.rad(AngleX), 0, 0)
			* CFrame.new(0, 0.8, 0) -- offset

		humanoidpart.CFrame = CFrame.new(humanoidpart.Position) * CFrame.Angles(0, math.rad(AngleY), 0)
		character.Humanoid.AutoRotate = false
	else
		game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.Default
		character.Humanoid.AutoRotate = true
	end

	if (cam.Focus.p - cam.CoordinateFrame.p).magnitude < 1 then
		running = false
	else
		running = true
		if freemouse == true then
			game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.Default
		else
			game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.LockCenter
		end
	end

	if not CanToggleMouse.allowed then
		freemouse = false
	end

	cam.FieldOfView = FieldOfView
end)
