-- ============================================= -- SAVE TP & TP TO SAVE (Draggable GUI) -- Para Delta Executor -- ============================================= local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local savedPosition = nil -- Crear GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SaveTP_Draggable" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 240, 0, 160) Frame.Position = UDim2.new(0.5, -120, 0.3, 0) Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Parent = ScreenGui -- Bordes redondeados local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 8) UICorner.Parent = Frame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 35) Title.BackgroundColor3 = Color3.fromRGB(15, 15, 15) Title.Text = "💾 Save TP System" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 15 Title.Parent = Frame local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 8) TitleCorner.Parent = Title local SaveButton = Instance.new("TextButton") SaveButton.Size = UDim2.new(0.88, 0, 0, 45) SaveButton.Position = UDim2.new(0.06, 0, 0.32, 0) SaveButton.BackgroundColor3 = Color3.fromRGB(0, 170, 80) SaveButton.Text = "💾 GUARDAR POSICIÓN" SaveButton.TextColor3 = Color3.fromRGB(255, 255, 255) SaveButton.Font = Enum.Font.GothamSemibold SaveButton.TextSize = 14 SaveButton.Parent = Frame local TPButton = Instance.new("TextButton") TPButton.Size = UDim2.new(0.88, 0, 0, 45) TPButton.Position = UDim2.new(0.06, 0, 0.65, 0) TPButton.BackgroundColor3 = Color3.fromRGB(0, 120, 255) TPButton.Text = "🚀 TELEPORT A SAVE" TPButton.TextColor3 = Color3.fromRGB(255, 255, 255) TPButton.Font = Enum.Font.GothamSemibold TPButton.TextSize = 14 TPButton.Parent = Frame -- Hacer la GUI arrastrable local dragging = false local dragInput local dragStart local startPos local function updateInput(input) 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 Title.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) Title.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if dragging and input == dragInput then updateInput(input) end end) -- Funciones local function SavePosition() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then savedPosition = LocalPlayer.Character.HumanoidRootPart.CFrame game.StarterGui:SetCore("SendNotification", { Title = "✅ Guardado", Text = "Posición guardada correctamente", Duration = 3 }) end end local function TeleportToSave() if savedPosition and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local root = LocalPlayer.Character.HumanoidRootPart TweenService:Create(root, TweenInfo.new(0.35, Enum.EasingStyle.Quad), {CFrame = savedPosition}):Play() game.StarterGui:SetCore("SendNotification", { Title = "✅ Teleport", Text = "Teletransportado correctamente", Duration = 3 }) else game.StarterGui:SetCore("SendNotification", { Title = "⚠️ Error", Text = "No hay posición guardada", Duration = 4 }) end end -- Conexiones SaveButton.MouseButton1Click:Connect(SavePosition) TPButton.MouseButton1Click:Connect(TeleportToSave) -- Atajos de teclado UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F5 then SavePosition() elseif input.KeyCode == Enum.KeyCode.F6 then TeleportToSave() end end) print("✅ Save TP Draggable cargado | Arrastra desde el título | F5 = Save | F6 = TP")