local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer -- COLOQUE O ID DA IMAGEM AQUI local IMAGE_ID = "rbxassetid://SEU_ID_AQUI" local ScreenGui = Instance.new("ScreenGui") ScreenGui.Parent = player:WaitForChild("PlayerGui") ScreenGui.ResetOnSpawn = false -------------------------------------------------- -- FUNÇÃO DE ARRASTAR 100% FUNCIONAL -------------------------------------------------- local function MakeDraggable(frame) local dragging = false local dragStart = nil local startPos = nil frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragStart = dragStart end end) UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end -------------------------------------------------- -- FRAME PRINCIPAL -------------------------------------------------- local Main = Instance.new("Frame") Main.Parent = ScreenGui Main.Size = UDim2.new(0, 210, 0, 260) Main.Position = UDim2.new(0.5, -105, 0.5, -130) Main.BackgroundColor3 = Color3.fromRGB(25,25,25) Main.Active = true Instance.new("UICorner", Main).CornerRadius = UDim.new(0,18) MakeDraggable(Main) -------------------------------------------------- -- TÍTULO -------------------------------------------------- local Title = Instance.new("TextLabel", Main) Title.Size = UDim2.new(1, -40, 0, 30) Title.Position = UDim2.new(0, 10, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "Saved Locations" Title.TextColor3 = Color3.new(1,1,1) Title.TextScaled = true Title.Font = Enum.Font.GothamBold -------------------------------------------------- -- BOTÃO MINIMIZAR -------------------------------------------------- local MinBtn = Instance.new("TextButton", Main) MinBtn.Size = UDim2.new(0, 30, 0, 30) MinBtn.Position = UDim2.new(1, -35, 0, 0) MinBtn.Text = "-" MinBtn.BackgroundColor3 = Color3.fromRGB(50,50,50) MinBtn.TextColor3 = Color3.new(1,1,1) MinBtn.TextScaled = true Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(1,0) -------------------------------------------------- -- BOTÕES SALVAR E LIMPAR -------------------------------------------------- local SaveBtn = Instance.new("TextButton", Main) SaveBtn.Size = UDim2.new(0.9, 0, 0, 30) SaveBtn.Position = UDim2.new(0.05, 0, 0, 40) SaveBtn.Text = "Salvar" SaveBtn.BackgroundColor3 = Color3.fromRGB(60,60,60) SaveBtn.TextColor3 = Color3.new(1,1,1) SaveBtn.TextScaled = true Instance.new("UICorner", SaveBtn).CornerRadius = UDim.new(0,12) local ClearBtn = Instance.new("TextButton", Main) ClearBtn.Size = UDim2.new(0.9, 0, 0, 25) ClearBtn.Position = UDim2.new(0.05, 0, 0, 75) ClearBtn.Text = "Limpar" ClearBtn.BackgroundColor3 = Color3.fromRGB(100,40,40) ClearBtn.TextColor3 = Color3.new(1,1,1) ClearBtn.TextScaled = true Instance.new("UICorner", ClearBtn).CornerRadius = UDim.new(0,12) -------------------------------------------------- -- LISTA SCROLL -------------------------------------------------- local Scroll = Instance.new("ScrollingFrame", Main) Scroll.Size = UDim2.new(0.9, 0, 0, 140) Scroll.Position = UDim2.new(0.05, 0, 0, 110) Scroll.CanvasSize = UDim2.new(0,0,0,0) Scroll.ScrollBarThickness = 4 Scroll.BackgroundColor3 = Color3.fromRGB(35,35,35) Instance.new("UICorner", Scroll).CornerRadius = UDim.new(0,15) local Layout = Instance.new("UIListLayout", Scroll) Layout.Padding = UDim.new(0,5) Layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() Scroll.CanvasSize = UDim2.new(0,0,0,Layout.AbsoluteContentSize.Y + 5) end) -------------------------------------------------- -- SISTEMA DE SALVAR -------------------------------------------------- local SavedPositions = {} local function CreateItem(position, index) local Item = Instance.new("TextButton") Item.Size = UDim2.new(1,-5,0,25) Item.BackgroundColor3 = Color3.fromRGB(70,70,70) Item.TextColor3 = Color3.new(1,1,1) Item.TextScaled = true Item.Font = Enum.Font.Gotham Item.Text = "TP "..index Instance.new("UICorner", Item).CornerRadius = UDim.new(0,10) Item.MouseButton1Click:Connect(function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(position) end end) Item.Parent = Scroll end SaveBtn.MouseButton1Click:Connect(function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then local pos = char.HumanoidRootPart.Position table.insert(SavedPositions, pos) CreateItem(pos, #SavedPositions) end end) ClearBtn.MouseButton1Click:Connect(function() table.clear(SavedPositions) for _,v in pairs(Scroll:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end end) -------------------------------------------------- -- BOTÃO MINIMIZADO (CÍRCULO COM IMAGEM) -------------------------------------------------- local Mini = Instance.new("ImageButton") Mini.Parent = ScreenGui Mini.Size = UDim2.new(0, 40, 0, 40) Mini.BackgroundColor3 = Color3.fromRGB(20,20,20) Mini.Image = IMAGE_ID Mini.Visible = false Mini.Active = true Instance.new("UICorner", Mini).CornerRadius = UDim.new(1,0) MakeDraggable(Mini) -------------------------------------------------- -- FUNCIONALIDADE MINIMIZAR -------------------------------------------------- MinBtn.MouseButton1Click:Connect(function() Mini.Position = Main.Position Main.Visible = false Mini.Visible = true end) Mini.MouseButton1Click:Connect(function() Main.Position = Mini.Position Main.Visible = true Mini.Visible = false end)