--[[ Dev: dev (Studio Lite) Nome: Speed System - Draggable & Perm Sistema: Velocidade que não reseta ao morrer + Menu Arrastável ]] local Player = game.Players.LocalPlayer local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") -- === CONFIGURAÇÃO INICIAL === local walkSpeedActive = false local speedValue = 16 -- 1. Criando a Interface local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui) ScreenGui.Name = "SpeedDraggable" ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 200, 0, 150) MainFrame.Position = UDim2.new(0.5, -100, 0.5, -75) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.Active = true -- Necessário para arrastar MainFrame.Draggable = false -- Vamos fazer o sistema manual que é melhor Instance.new("UICorner", MainFrame) local Stroke = Instance.new("UIStroke", MainFrame) Stroke.Color = Color3.fromRGB(0, 255, 120) Stroke.Thickness = 2 local Title = Instance.new("TextLabel", MainFrame) Title.Size = UDim2.new(1, 0, 0, 35) Title.Text = "SPEED PERM" Title.TextColor3 = Color3.new(1, 1, 1) Title.Font = Enum.Font.SourceSansBold Title.TextSize = 18 Title.BackgroundTransparency = 1 local Input = Instance.new("TextBox", MainFrame) Input.Size = UDim2.new(0.8, 0, 0, 35) Input.Position = UDim2.new(0.1, 0, 0.35, 0) Input.PlaceholderText = "Velocidade..." Input.Text = "100" Input.BackgroundColor3 = Color3.fromRGB(45, 45, 45) Input.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", Input) local ToggleBtn = Instance.new("TextButton", MainFrame) ToggleBtn.Size = UDim2.new(0.8, 0, 0, 40) ToggleBtn.Position = UDim2.new(0.1, 0, 0.65, 0) ToggleBtn.Text = "LIGAR SPEED" ToggleBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0) ToggleBtn.TextColor3 = Color3.new(1, 1, 1) ToggleBtn.Font = Enum.Font.SourceSansBold Instance.new("UICorner", ToggleBtn) -- === LÓGICA DE ARRASTAR (MÉTODO ATUALIZADO) === local dragging, dragInput, dragStart, startPos local function update(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 MainFrame.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) MainFrame.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 input == dragInput and dragging then update(input) end end) -- === LÓGICA DE VELOCIDADE PERMANENTE === local function aplicar() if walkSpeedActive and Player.Character and Player.Character:FindFirstChild("Humanoid") then Player.Character.Humanoid.WalkSpeed = speedValue end end ToggleBtn.MouseButton1Click:Connect(function() walkSpeedActive = not walkSpeedActive speedValue = tonumber(Input.Text) or 16 if walkSpeedActive then ToggleBtn.Text = "SPEED: ON" ToggleBtn.BackgroundColor3 = Color3.fromRGB(0, 180, 0) aplicar() else ToggleBtn.Text = "SPEED: OFF" ToggleBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0) if Player.Character and Player.Character:FindFirstChild("Humanoid") then Player.Character.Humanoid.WalkSpeed = 16 end end end) -- Mantém a velocidade ao renascer Player.CharacterAdded:Connect(function(char) if walkSpeedActive then local hum = char:WaitForChild("Humanoid") task.wait(0.5) hum.WalkSpeed = speedValue end end) -- Força a velocidade contra scripts do jogo RunService.Heartbeat:Connect(function() if walkSpeedActive then local char = Player.Character local hum = char and char:FindFirstChild("Humanoid") if hum and hum.WalkSpeed ~= speedValue then hum.WalkSpeed = speedValue end end end)