--[[ Quantify: One-Time Tween Teleport (All Shapes) Target: Sell Part Published on ScriptBlox --]] local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local partsFolder = workspace:WaitForChild("Parts") -- Safely navigate the path to the Sell part local map = workspace:WaitForChild("Map") local buildingParts = map:WaitForChild("BuildingParts") local seller = buildingParts:WaitForChild("Seller") local sellPart = seller:WaitForChild("Sell") -- Configuration local TWEEN_TIME = 0.5 -- How long the slide takes in seconds local tweenInfo = TweenInfo.new(TWEEN_TIME, Enum.EasingStyle.Linear, Enum.EasingDirection.Out) -- Table to track which objects have already been tweened local handledShapes = {} print("[ScriptBlox] One-time Tween loop active.") RunService.Heartbeat:Connect(function() if not partsFolder or not (sellPart and sellPart:IsA("BasePart")) then partsFolder = workspace:FindFirstChild("Parts") return end local children = partsFolder:GetChildren() for i = 1, #children do local object = children[i] if object:IsA("Model") and not handledShapes[object] then local name = object.Name if name == "CIRCLE" or name == "TRIANGLE" or name == "HEXAGON" or name == "SQUARE" then -- Mark it immediately so we don't start multiple tweens on the same object handledShapes[object] = true -- Locate the part inside the model to apply the tween to local rootPart = object.PrimaryPart or object:FindFirstChildWhichIsA("BasePart") if rootPart then -- Create and play the smooth transition to the Sell part's position local tween = TweenService:Create(rootPart, tweenInfo, {CFrame = sellPart.CFrame}) tween:Play() -- Optional: Clean up the tween instance when completed tween.Completed:Connect(function() tween:Destroy() end) end end end end end) -- Clean up memory when items are collected/destroyed by the game partsFolder.ChildRemoved:Connect(function(child) if handledShapes[child] then handledShapes[child] = nil end end)