local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Cria a GUI local screenGui = Instance.new("ScreenGui") screenGui.Name = "TPFlashPanel" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Frame principal (movel e bonito) local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 280, 0, 350) mainFrame.Position = UDim2.new(0.5, -140, 0.5, -175) mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 40) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui -- Beleza: Cantos arredondados local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 16) mainCorner.Parent = mainFrame -- Borda glow local mainStroke = Instance.new("UIStroke") mainStroke.Color = Color3.fromRGB(100, 150, 255) mainStroke.Thickness = 2 mainStroke.Transparency = 0.5 mainStroke.Parent = mainFrame -- Gradiente principal local mainGradient = Instance.new("UIGradient") mainGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 60)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(25, 25, 45)), ColorSequenceKeypoint.new(1, Color3.fromRGB(15, 15, 35)) } mainGradient.Rotation = 135 mainGradient.Parent = mainFrame -- Barra de título (para arrastar - AGORA MÓVEL!) local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 50) titleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 70) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 16) titleCorner.Parent = titleBar local titleGradient = Instance.new("UIGradient") titleGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(60, 60, 90)), ColorSequenceKeypoint.new(1, Color3.fromRGB(35, 35, 60)) } titleGradient.Rotation = 90 titleGradient.Parent = titleBar -- Título local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -90, 1, 0) titleLabel.Position = UDim2.new(0, 15, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "✨ TP & Flash Panel 📱" titleLabel.TextColor3 = Color3.fromRGB(220, 220, 255) titleLabel.TextScaled = true titleLabel.Font = Enum.Font.GothamBold titleLabel.Parent = titleBar -- Botão fechar (esconde) local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 40, 0, 35) closeBtn.Position = UDim2.new(1, -45, 0.5, -17.5) closeBtn.BackgroundColor3 = Color3.fromRGB(255, 80, 80) closeBtn.Text = "−" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.TextScaled = true closeBtn.Font = Enum.Font.GothamBold closeBtn.BorderSizePixel = 0 closeBtn.Parent = titleBar local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 10) closeCorner.Parent = closeBtn -- Frame dos botões local buttonsFrame = Instance.new("Frame") buttonsFrame.Size = UDim2.new(1, -30, 1, -80) buttonsFrame.Position = UDim2.new(0, 15, 0, 60) buttonsFrame.BackgroundTransparency = 1 buttonsFrame.Parent = mainFrame -- Função para criar botão bonito com hover local function createButton(text, yPos) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 55) btn.Position = UDim2.new(0, 0, 0, yPos) btn.BackgroundColor3 = Color3.fromRGB(50, 50, 75) btn.Text = text btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.TextScaled = true btn.Font = Enum.Font.GothamSemibold btn.BorderSizePixel = 0 btn.Parent = buttonsFrame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 12) btnCorner.Parent = btn local btnStroke = Instance.new("UIStroke") btnStroke.Color = Color3.fromRGB(120, 120, 160) btnStroke.Thickness = 1.5 btnStroke.Parent = btn local btnGradient = Instance.new("UIGradient") btnGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(60, 60, 90)), ColorSequenceKeypoint.new(1, Color3.fromRGB(40, 40, 70)) } btnGradient.Rotation = 45 btnGradient.Parent = btn -- Efeitos hover (suaves) local hoverTween = TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.Out) local normalTween = TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In) btn.MouseEnter:Connect(function() TweenService:Create(btn, hoverTween, {BackgroundColor3 = Color3.fromRGB(70, 70, 100)}):Play() TweenService:Create(btnStroke, hoverTween, {Color = Color3.fromRGB(150, 150, 200)}):Play() TweenService:Create(btn, hoverTween, {Size = UDim2.new(1, 4, 0, 55)}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, normalTween, {BackgroundColor3 = Color3.fromRGB(50, 50, 75)}):Play() TweenService:Create(btnStroke, normalTween, {Color = Color3.fromRGB(120, 120, 160)}):Play() TweenService:Create(btn, normalTween, {Size = UDim2.new(1, 0, 0, 55)}):Play() end) return btn end -- Botões local flashBtn = createButton("⚡ FLASH STEP", 0) local saveBtn = createButton("💾 SALVAR POSIÇÃO", 65) local tpBtn = createButton("🚀 TELEPORTAR", 130) local backBtn = createButton("↩️ TP E VOLTA (1s)", 195) -- Variáveis de posição local SavedPosition = nil local character = player.Character or player.CharacterAdded:Wait() player.CharacterAdded:Connect(function(newChar) character = newChar end) local function getRootPart() return character:WaitForChild("HumanoidRootPart") end -- 1. FLASH STEP (35 studs) flashBtn.MouseButton1Click:Connect(function() local root = getRootPart() local lookDir = root.CFrame.LookVector local dashCF = root.CFrame + (lookDir * 35) local dashTween = TweenService:Create(root, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {CFrame = dashCF}) dashTween:Play() end) -- 2. SALVAR POSIÇÃO saveBtn.MouseButton1Click:Connect(function() local root = getRootPart() SavedPosition = root.CFrame local oldText = saveBtn.Text saveBtn.Text = "✅ POSIÇÃO SALVA!" TweenService:Create(saveBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(80, 150, 80)}):Play() spawn(function() wait(1.5) saveBtn.Text = oldText TweenService:Create(saveBtn, TweenInfo.new(0.3), {BackgroundColor3 = Color3.fromRGB(50, 50, 75)}):Play() end) end) -- 3. TELEPORTAR tpBtn.MouseButton1Click:Connect(function() if SavedPosition then local root = getRootPart() root.CFrame = SavedPosition TweenService:Create(tpBtn, TweenInfo.new(0.3, Enum.EasingStyle.Back), {Size = UDim2.new(1.1, 0, 0, 55)}):Play() spawn(function() wait(0.3) TweenService:Create(tpBtn, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, 55)}):Play() end) end end) -- 4. TP E VOLTA (1s) backBtn.MouseButton1Click:Connect(function() if SavedPosition then spawn(function() local root = getRootPart() local originalCF = root.CFrame backBtn.Text = "⏳ TP..." root.CFrame = SavedPosition wait(1) backBtn.Text = "↩️ VOLTANDO..." root.CFrame = originalCF wait(0.5) backBtn.Text = "↩️ TP E VOLTA (1s)" end) end end) -- 🎮 DRAG MOBILE + PC (CORRIGIDO DE VERDADE) ← SEU CÓDIGO INTEGRADO! local dragging = false local dragStart local startPos local function updateDrag(input) local delta = input.Position - dragStart mainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging and ( input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch ) then updateDrag(input) end end) -- Tecla F: Toggle painel (PC) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then screenGui.Enabled = not screenGui.Enabled end end) -- Botão −: Esconde closeBtn.MouseButton1Click:Connect(function() screenGui.Enabled = false end)