local ScreenGui = Instance.new("ScreenGui", game.CoreGui) ScreenGui.Name = "TreasureTeleportGui" local Announcement = Instance.new("TextLabel", ScreenGui) Announcement.Size = UDim2.new(1, 0, 0, 30) Announcement.Position = UDim2.new(0, 0, 0, 0) Announcement.BackgroundColor3 = Color3.fromRGB(50, 50, 50) Announcement.TextColor3 = Color3.new(1, 1, 1) Announcement.Text = "No errors when calling cage, just hold 'E' nearby" Announcement.Font = Enum.Font.SourceSansBold Announcement.TextSize = 18 Announcement.TextStrokeTransparency = 0.7 Announcement.TextWrapped = true task.delay(5, function() Announcement:Destroy() end) local OuterFrame = Instance.new("Frame", ScreenGui) OuterFrame.Size = UDim2.new(0, 220, 0, 300) OuterFrame.Position = UDim2.new(0, 20, 0.5, -150) OuterFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) OuterFrame.BorderSizePixel = 0 OuterFrame.Active = true OuterFrame.Draggable = true local ScrollingFrame = Instance.new("ScrollingFrame", OuterFrame) ScrollingFrame.Size = UDim2.new(1, 0, 1, 0) ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScrollingFrame.ScrollBarThickness = 6 ScrollingFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) ScrollingFrame.BorderSizePixel = 0 ScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y ScrollingFrame.VerticalScrollBarInset = Enum.ScrollBarInset.ScrollBar local UIListLayout = Instance.new("UIListLayout", ScrollingFrame) UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 4) local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local root = character:WaitForChild("HumanoidRootPart") local treasureFolder = workspace:FindFirstChild("Treasure") if not treasureFolder then return end local function teleportAndRemoveButton(object, button) if object:IsA("BasePart") then object.CFrame = root.CFrame elseif object:IsA("Model") then local mainPart = object:FindFirstChildWhichIsA("BasePart", true) if mainPart then local offset = mainPart.Position - object:GetModelCFrame().Position object:MoveTo(root.Position - offset) end end button:Destroy() end local function createButton(object) local button = Instance.new("TextButton", ScrollingFrame) button.Size = UDim2.new(1, -10, 0, 30) button.BackgroundColor3 = Color3.fromRGB(45, 45, 45) button.TextColor3 = Color3.new(1, 1, 1) button.Text = "▶ " .. object.Name button.Font = Enum.Font.SourceSansBold button.TextSize = 18 button.AutoButtonColor = true button.MouseButton1Click:Connect(function() teleportAndRemoveButton(object, button) end) end for _, obj in pairs(treasureFolder:GetChildren()) do createButton(obj) end treasureFolder.ChildAdded:Connect(function(obj) task.wait(0.1) createButton(obj) end)