this is what chat gpt gave me
-- Place this script inside a part in Roblox Studio
local part = script.Parent
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local isDragging = false
local originalPosition = part.Position
local originalMousePosition
local function onMouseClick()
if not isDragging then
isDragging = true
originalMousePosition = mouse.Hit.p
end
end
local function onMouseRelease()
if isDragging then
isDragging = false
part.Anchored = false
end
end
local function updatePosition()
if isDragging then
local delta = mouse.Hit.p - originalMousePosition
part.Position = originalPosition + delta
end
end
mouse.Button1Down:Connect(onMouseClick)
mouse.Button1Up:Connect(onMouseRelease)
mouse.Move:Connect(updatePosition)