
KeylessUniversal

--[[
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)



what