
KeylessUniversal

-- Script Speed GUI với menu vuông nhỏ và nhập tốc độ tùy chỉnh
-- Đặt script này vào LocalScript trong StarterGui
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local TextService = game:GetService("TextService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
-- Lưu tốc độ gốc
local originalWalkSpeed = humanoid.WalkSpeed
local originalJumpPower = humanoid.JumpPower
-- Tạo GUI chính
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SpeedControlGUI"
screenGui.Parent = player.PlayerGui
-- Nút mở menu speed (hình vuông nhỏ)
local menuToggle = Instance.new("TextButton")
menuToggle.Name = "SpeedMenuToggle"
menuToggle.Size = UDim2.new(0, 50, 0, 50)
menuToggle.Position = UDim2.new(0.02, 0, 0.85, 0)
menuToggle.Text = "⚡"
menuToggle.TextSize = 24
menuToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
menuToggle.BackgroundColor3 = Color3.fromRGB(40, 120, 200)
menuToggle.BorderSizePixel = 0
menuToggle.Parent = screenGui
-- Menu tốc độ (hình vuông nhỏ)
local speedMenu = Instance.new("Frame")
speedMenu.Name = "SpeedMenu"
speedMenu.Size = UDim2.new(0, 200, 0, 250)
speedMenu.Position = UDim2.new(0.02, 0, 0.85, -260)
speedMenu.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
speedMenu.BackgroundTransparency = 0.1
speedMenu.BorderSizePixel = 0
speedMenu.Visible = false
speedMenu.Parent = screenGui
-- Tiêu đề menu
local titleFrame = Instance.new("Frame")
titleFrame.Name = "Title"
titleFrame.Size = UDim2.new(1, 0, 0, 40)
titleFrame.Position = UDim2.new(0, 0, 0, 0)
titleFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 70)
titleFrame.BorderSizePixel = 0
titleFrame.Parent = speedMenu
local titleText = Instance.new("TextLabel")
titleText.Name = "TitleText"
titleText.Size = UDim2.new(1, 0, 1, 0)
titleText.Text = "⚡ SPEED CONTROL"
titleText.TextColor3 = Color3.fromRGB(255, 255, 255)
titleText.TextSize = 16
titleText.Font = Enum.Font.GothamBold
titleText.BackgroundTransparency = 1
titleText.Parent = titleFrame
-- Ô hiển thị tốc độ hiện tại
local currentSpeedDisplay = Instance.new("Frame")
currentSpeedDisplay.Name = "CurrentSpeed"
currentSpeedDisplay.Size = UDim2.new(1, -20, 0, 50)
currentSpeedDisplay.Position = UDim2.new(0, 10, 0, 50)
currentSpeedDisplay.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
currentSpeedDisplay.BorderSizePixel = 0
currentSpeedDisplay.Parent = speedMenu
local currentSpeedLabel = Instance.new("TextLabel")
currentSpeedLabel.Name = "CurrentLabel"
currentSpeedLabel.Size = UDim2.new(0.4, 0, 1, 0)
currentSpeedLabel.Position = UDim2.new(0, 10, 0, 0)
currentSpeedLabel.Text = "Hiện tại:"
currentSpeedLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
currentSpeedLabel.TextSize = 14
currentSpeedLabel.Font = Enum.Font.Gotham
currentSpeedLabel.BackgroundTransparency = 1
currentSpeedLabel.TextXAlignment = Enum.TextXAlignment.Left
currentSpeedLabel.Parent = currentSpeedDisplay
local currentSpeedValue = Instance.new("TextLabel")
currentSpeedValue.Name = "CurrentValue"
currentSpeedValue.Size = UDim2.new(0.6, -10, 1, 0)
currentSpeedValue.Position = UDim2.new(0.4, 0, 0, 0)
currentSpeedValue.Text = tostring(math.floor(humanoid.WalkSpeed))
currentSpeedValue.TextColor3 = Color3.fromRGB(255, 255, 0)
currentSpeedValue.TextSize = 20
currentSpeedValue.Font = Enum.Font.GothamBold
currentSpeedValue.BackgroundTransparency = 1
currentSpeedValue.TextXAlignment = Enum.TextXAlignment.Right
currentSpeedValue.Parent = currentSpeedDisplay
-- Ô nhập tốc độ mới
local inputFrame = Instance.new("Frame")
inputFrame.Name = "SpeedInput"
inputFrame.Size = UDim2.new(1, -20, 0, 50)
inputFrame.Position = UDim2.new(0, 10, 0, 110)
inputFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
inputFrame.BorderSizePixel = 0
inputFrame.Parent = speedMenu
local inputLabel = Instance.new("TextLabel")
inputLabel.Name = "InputLabel"
inputLabel.Size = UDim2.new(0.4, 0, 1, 0)
inputLabel.Position = UDim2.new(0, 10, 0, 0)
inputLabel.Text = "Tốc độ mới:"
inputLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
inputLabel.TextSize = 14
inputLabel.Font = Enum.Font.Gotham
inputLabel.BackgroundTransparency = 1
inputLabel.TextXAlignment = Enum.TextXAlignment.Left
inputLabel.Parent = inputFrame
local speedInputBox = Instance.new("TextBox")
speedInputBox.Name = "SpeedInputBox"
speedInputBox.Size = UDim2.new(0.6, -20, 0.7, 0)
speedInputBox.Position = UDim2.new(0.4, 0, 0.15, 0)
speedInputBox.Text = "50"
speedInputBox.PlaceholderText = "Nhập số..."
speedInputBox.TextColor3 = Color3.fromRGB(255, 255, 255)
speedInputBox.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
speedInputBox.BorderSizePixel = 0
speedInputBox.TextSize = 16
speedInputBox.Font = Enum.Font.Gotham
speedInputBox.Parent = inputFrame
-- Nút SET SPEED (chính)
local setSpeedButton = Instance.new("TextButton")
setSpeedButton.Name = "SetSpeedButton"
setSpeedButton.Size = UDim2.new(1, -20, 0, 45)
setSpeedButton.Position = UDim2.new(0, 10, 0, 170)
setSpeedButton.Text = "SET SPEED"
setSpeedButton.TextColor3 = Color3.fromRGB(255, 255, 255)
setSpeedButton.TextSize = 16
setSpeedButton.Font = Enum.Font.GothamBold
setSpeedButton.BackgroundColor3 = Color3.fromRGB(0, 150, 255)
setSpeedButton.BorderSizePixel = 0
setSpeedButton.Parent = speedMenu
-- Nút preset tốc độ nhanh
local presetButtonsFrame = Instance.new("Frame")
presetButtonsFrame.Name = "PresetButtons"
presetButtonsFrame.Size = UDim2.new(1, -20, 0, 35)
presetButtonsFrame.Position = UDim2.new(0, 10, 0, 225)
presetButtonsFrame.BackgroundTransparency = 1
presetButtonsFrame.Parent = speedMenu
-- Các nút preset
local presets = {
{Name = "Slow", Value = 16, Color = Color3.fromRGB(100, 150, 255)},
{Name = "Normal", Value = 50, Color = Color3.fromRGB(0, 200, 100)},
{Name = "Fast", Value = 100, Color = Color3.fromRGB(255, 150, 0)},
{Name = "Extreme", Value = 200, Color = Color3.fromRGB(255, 50, 50)}
}
for i, preset in ipairs(presets) do
local presetBtn = Instance.new("TextButton")
presetBtn.Name = preset.Name .. "Preset"
presetBtn.Size = UDim2.new(0.23, -2, 1, 0)
presetBtn.Position = UDim2.new(0.23 * (i-1), 0, 0, 0)
presetBtn.Text = preset.Name
presetBtn.TextSize = 12
presetBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
presetBtn.BackgroundColor3 = preset.Color
presetBtn.Font = Enum.Font.Gotham
presetBtn.Parent = presetButtonsFrame
presetBtn.MouseButton1Click:Connect(function()
speedInputBox.Text = tostring(preset.Value)
applySpeed(preset.Value)
end)
end
-- Nút reset về tốc độ gốc
local resetButton = Instance.new("TextButton")
resetButton.Name = "ResetButton"
resetButton.Size = UDim2.new(1, -20, 0, 30)
resetButton.Position = UDim2.new(0, 10, 0, 190)
resetButton.Text = "RESET TO DEFAULT"
resetButton.TextColor3 = Color3.fromRGB(255, 200, 200)
resetButton.TextSize = 12
resetButton.Font = Enum.Font.Gotham
resetButton.BackgroundColor3 = Color3.fromRGB(80, 40, 40)
resetButton.BorderSizePixel = 0
resetButton.Parent = speedMenu
-- Thông báo popup
local notificationFrame = Instance.new("Frame")
notificationFrame.Name = "Notification"
notificationFrame.Size = UDim2.new(0, 250, 0, 60)
notificationFrame.Position = UDim2.new(0.5, -125, 0.8, 0)
notificationFrame.BackgroundColor3 = Color3.fromRGB(30, 40, 30)
notificationFrame.BackgroundTransparency = 1
notificationFrame.BorderSizePixel = 0
notificationFrame.Visible = false
notificationFrame.Parent = screenGui
local notificationText = Instance.new("TextLabel")
notificationText.Name = "NotificationText"
notificationText.Size = UDim2.new(1, -20, 1, -20)
notificationText.Position = UDim2.new(0, 10, 0, 10)
notificationText.Text = ""
notificationText.TextColor3 = Color3.fromRGB(255, 255, 255)
notificationText.TextSize = 14
notificationText.Font = Enum.Font.Gotham
notificationText.BackgroundTransparency = 1
notificationText.TextWrapped = true
notificationText.Parent = notificationFrame
-- Biến điều khiển
local isMenuOpen = false
local currentSpeed = humanoid.WalkSpeed
-- Hàm hiển thị thông báo
local function showNotification(message, color)
notificationText.Text = message
notificationFrame.BackgroundColor3 = color or Color3.fromRGB(30, 40, 30)
notificationFrame.Visible = true
-- Animation hiện lên
notificationFrame.BackgroundTransparency = 0.2
TweenService:Create(notificationFrame, TweenInfo.new(0.3), {
BackgroundTransparency = 0
}):Play()
-- Tự động ẩn sau 2 giây
task.wait(2)
-- Animation ẩn đi
TweenService:Create(notificationFrame, TweenInfo.new(0.3), {
BackgroundTransparency = 1
}):Play()
task.wait(0.3)
notificationFrame.Visible = false
end
-- Hàm áp dụng tốc độ
local function applySpeed(speedValue)
if not character or not humanoid then return end
-- Kiểm tra giá trị hợp lệ
speedValue = tonumber(speedValue)
if not speedValue then
showNotification("❌ Vui lòng nhập số hợp lệ!", Color3.fromRGB(80, 40, 40))
return
end
-- Giới hạn tốc độ
speedValue = math.clamp(speedValue, 0, 500)
-- Áp dụng tốc độ
humanoid.WalkSpeed = speedValue
currentSpeed = speedValue
-- Cập nhật hiển thị
currentSpeedValue.Text = tostring(math.floor(speedValue))
speedInputBox.Text = tostring(speedValue)
-- Hiệu ứng visual
currentSpeedValue.TextColor3 = Color3.fromRGB(0, 255, 150)
task.wait(0.1)
currentSpeedValue.TextColor3 = Color3.fromRGB(255, 255, 0)
-- Thông báo
showNotification("✅ Đã đặt tốc độ: " .. math.floor(speedValue), Color3.fromRGB(30, 60, 30))
end
-- Hàm reset về tốc độ gốc
local function resetToDefault()
humanoid.WalkSpeed = originalWalkSpeed
humanoid.JumpPower = originalJumpPower
currentSpeed = originalWalkSpeed
-- Cập nhật hiển thị
currentSpeedValue.Text = tostring(math.floor(originalWalkSpeed))
speedInputBox.Text = tostring(originalWalkSpeed)
showNotification("🔄 Đã reset về tốc độ mặc định: " .. originalWalkSpeed, Color3.fromRGB(40, 40, 60))
end
-- Hàm mở/đóng menu
local function toggleMenu()
isMenuOpen = not isMenuOpen
if isMenuOpen then
-- Mở menu
speedMenu.Visible = true
menuToggle.Text = "✖"
menuToggle.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
-- Animation mở menu
speedMenu.Position = UDim2.new(0.02, 0, 0.85, -260)
TweenService:Create(speedMenu, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Position = UDim2.new(0.02, 0, 0.85, -250)
}):Play()
-- Cập nhật giá trị hiện tại
currentSpeedValue.Text = tostring(math.floor(humanoid.WalkSpeed))
else
-- Đóng menu
menuToggle.Text = "⚡"
menuToggle.BackgroundColor3 = Color3.fromRGB(40, 120, 200)
-- Animation đóng menu
TweenService:Create(speedMenu, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Position = UDim2.new(0.02, 0, 0.85, -260)
}):Play()
task.wait(0.2)
speedMenu.Visible = false
end
end
-- Kết nối sự kiện
menuToggle.MouseButton1Click:Connect(toggleMenu)
setSpeedButton.MouseButton1Click:Connect(function()
applySpeed(speedInputBox.Text)
end)
resetButton.MouseButton1Click:Connect(resetToDefault)
-- Xử lý input box
speedInputBox.FocusLost:Connect(function(enterPressed)
if enterPressed then
applySpeed(speedInputBox.Text)
end
end)
-- Validator cho input box
speedInputBox:GetPropertyChangedSignal("Text"):Connect(function()
local text = speedInputBox.Text
-- Chỉ cho phép số
local filtered = ""
for i = 1, #text do
local char = text:sub(i, i)
if tonumber(char) or char == "" or (i == 1 and char == "-") then
filtered = filtered .. char
end
end
if filtered ~= text then
speedInputBox.Text = filtered
end
-- Giới hạn độ dài
if #filtered > 4 then
speedInputBox.Text = filtered:sub(1, 4)
end
end)
-- Hỗ trợ keyboard shortcut
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
-- Ctrl + S để mở/đóng menu
if input.KeyCode == Enum.KeyCode.S and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
toggleMenu()
-- Ctrl + R để reset
elseif input.KeyCode == Enum.KeyCode.R and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
resetToDefault()
-- Enter để apply khi menu mở
elseif input.KeyCode == Enum.KeyCode.Return and isMenuOpen then
applySpeed(speedInputBox.Text)
end
end)
-- Auto-update current speed display
RunService.Heartbeat:Connect(function()
if character and humanoid then
local currentWalkSpeed = humanoid.WalkSpeed
if math.abs(currentWalkSpeed - currentSpeed) > 0.1 then
currentSpeed = currentWalkSpeed
currentSpeedValue.Text = tostring(math.floor(currentWalkSpeed))
-- Hiệu ứng khi speed thay đổi từ bên ngoài
currentSpeedValue.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(0.05)
currentSpeedValue.TextColor3 = Color3.fromRGB(255, 255, 0)
end
end
end)
-- Xử lý khi character thay đổi
player.CharacterAdded:Connect(function(newCharacter)
character = newCharacter
humanoid = character:WaitForChild("Humanoid")
-- Lưu tốc độ gốc mới
originalWalkSpeed = humanoid.WalkSpeed
originalJumpPower = humanoid.JumpPower
currentSpeed = originalWalkSpeed
-- Cập nhật hiển thị
if currentSpeedValue then
currentSpeedValue.Text = tostring(math.floor(currentSpeed))
speedInputBox.Text = tostring(currentSpeed)
end
end)
-- Thêm hiệu ứng visual
local function addVisualEffects()
local function addCorner(obj, radius)
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, radius)
corner.Parent = obj
end
local function addShadow(obj)
local shadow = Instance.new("UIStroke")
shadow.Color = Color3.fromRGB(0, 0, 0)
shadow.Thickness = 2
shadow.Transparency = 0.3
shadow.Parent = obj
end
-- Menu toggle button
addCorner(menuToggle, 10)
addShadow(menuToggle)
-- Speed menu
addCorner(speedMenu, 10)
addShadow(speedMenu)
-- Title frame
addCorner(titleFrame, 10)
-- Current speed display
addCorner(currentSpeedDisplay, 8)
addShadow(currentSpeedDisplay)
-- Input frame
addCorner(inputFrame, 8)
addShadow(inputFrame)
-- Input box
addCorner(speedInputBox, 6)
-- Buttons
addCorner(setSpeedButton, 8)
addShadow(setSpeedButton)
addCorner(resetButton, 6)
addShadow(resetButton)
-- Preset buttons
for _, child in ipairs(presetButtonsFrame:GetChildren()) do
if child:IsA("TextButton") then
addCorner(child, 6)
addShadow(child)
end
end
-- Notification
addCorner(notificationFrame, 10)
addShadow(notificationFrame)
end
addVisualEffects()
-- Hiệu ứng hover cho nút menu
menuToggle.MouseEnter:Connect(function()
TweenService:Create(menuToggle, TweenInfo.new(0.2), {
BackgroundColor3 = isMenuOpen and Color3.fromRGB(220, 80, 80) or Color3.fromRGB(60, 140, 220)
}):Play()
end)
menuToggle.MouseLeave:Connect(function()
TweenService:Create(menuToggle, TweenInfo.new(0.2), {
BackgroundColor3 = isMenuOpen and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(40, 120, 200)
}):Play()
end)
-- Hiệu ứng hover cho nút set speed
setSpeedButton.MouseEnter:Connect(function()
TweenService:Create(setSpeedButton, TweenInfo.new(0.2), {
BackgroundColor3 = Color3.fromRGB(0, 180, 255)
}):Play()
end)
setSpeedButton.MouseLeave:Connect(function()
TweenService:Create(setSpeedButton, TweenInfo.new(0.2), {
BackgroundColor3 = Color3.fromRGB(0, 150, 255)
}):Play()
end)
-- Hướng dẫn sử dụng nhanh
task.wait(1)
showNotification("⚡ Nhấn nút ⚡ để mở menu Speed Control", Color3.fromRGB(40, 40, 60))
print("✅ Speed Control GUI - Đã sẵn sàng!")
print("📋 Shortcuts: Ctrl+S (Toggle Menu) | Ctrl+R (Reset) | Enter (Apply)")



Bro is Leaking His Gui 100x Times 😭✌️