
KeylessUniversal

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)No comments yet for this script.



