The camera offset is laggy and the positioning is wrong

How can I fix camera lag and positioning?

Can you show the camera script?

local Character = Player.Character or Player.CharacterAdded:Wait()
local uis = game:GetService("UserInputService")

local TweenService = game:GetService("TweenService")

function ChangeCameraOffset(Offset) -- [Vector3]Offset
	if not Character then Character = Player.Character or Player.CharacterAdded:Wait() end
	local Humanoid = Character:WaitForChild("Humanoid")

	local Tween = TweenService:Create(Humanoid, TweenInfo.new(0.1), {CameraOffset = Offset})
	Tween:Play()
end

ChangeCameraOffset(Vector3.new(0, 0, 0))

uis.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		ChangeCameraOffset(Vector3.new(2, 0, -9))
	end
end)

uis.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		ChangeCameraOffset(Vector3.new(0, 0, 0))
	end
end)