This script makes so when a textbutton is clicked it changes the camera to the next car, but it's changing to the camera to the left of the camera it's supposed to change, and I've already checked if I missplaced the cameras and I didn't. This is the script:

local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
local char = player.Character or player.CharacterAdded:Wait()
script.Parent.MouseButton1Down:Connect(function()
	if camera.CameraType ~= Enum.CameraType.Scriptable then
		repeat wait()
	camera.CameraType = Enum.CameraType.Scriptable
		until camera.CameraType == Enum.CameraType.Scriptable
	end
	-- Below changes the camera, if i were to change to the one is appearing it would be workspace.Cameras.S13Part.CFrame, but it clearly isn't written like that
	camera.CFrame = workspace.Cameras.HOONPart.CFrame
	-- Above changes the camera
	script.Parent.Visible = false
	script.Parent.Parent.GoRightShowPOR.Visible = false
	script.Parent.Parent.Parent.hoon.GoLeftShowS13.Visible = true
	script.Parent.Parent.Parent.hoon.GoRightShowBMW.Visible = true
end)

Edit:I tested out more scripts similiar to this and all are going to the wront part, I don't know how to fix it at all.