This is my script, the part where it moves to the position Position Value isn't working. It teleports the block way out of where its suppose to go. All my blocks are non can collide, and is it because you cant use int values to move to different positions?

This is the script in my gui that sends the block back, when they press the button.

script.Parent.MouseButton1Click:connect(function()

local Position = game.Lighting.Position.Value
	
game.workspace.CameraPart.Position = Vector3.new(Position)
game.workspace.CameraPart.Orientation = Vector3.new(0, 180, 0)

local Player = game.Players.LocalPlayer
local Camera = workspace.CurrentCamera

while true do 
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame = workspace.CameraPart.CFrame
wait()
game.Lighting.Back.Value = false
script.Parent.Parent.Parent.Enabled = false
end
end)