Simple Speed Boost for any game
Key RequiredUniversal

Simple Speed Boost for any game

Universal ScriptA_AAA_AA 1.8K views 559 executesUpdated Dec 26, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•174 lines (5425 chars)
-- CRASH-PROOF Speed Boost GUI (Fixed Version)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local speedBoosted = false
local originalWalkSpeed = 16
local boostSpeed = 100
local lastUpdate = 0
local updateCooldown = 0.1 -- Only update speed display every 0.1s

-- Create GUI (SAFER)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SpeedBoostGUI"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui

-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 250, 0, 120)
mainFrame.Position = UDim2.new(0, 20, 0, 20)
mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = mainFrame

-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.Text = "🚀 SPEED BOOST"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = mainFrame

-- Speed Display
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(1, -20, 0, 30)
speedLabel.Position = UDim2.new(0, 10, 0, 45)
speedLabel.BackgroundColor3 = Color3.fromRGB(50, 50, 60)
speedLabel.Text = "Speed: 16"
speedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
speedLabel.TextScaled = true
speedLabel.Font = Enum.Font.Gotham
local speedCorner = Instance.new("UICorner")
speedCorner.CornerRadius = UDim.new(0, 8)
speedCorner.Parent = speedLabel

-- Toggle Button
local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(1, -20, 0, 35)
toggleButton.Position = UDim2.new(0, 10, 0, 80)
toggleButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
toggleButton.Text = "OFF - Click to BOOST!"
toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.TextScaled = true
toggleButton.Font = Enum.Font.GothamBold
toggleButton.Parent = mainFrame
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 8)
buttonCorner.Parent = toggleButton

-- SAFER hover effects
local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad)
toggleButton.MouseEnter:Connect(function()
    if toggleButton and toggleButton.Parent then
        TweenService:Create(toggleButton, tweenInfo, {Size = UDim2.new(1, -18, 0, 36)}):Play()
    end
end)
toggleButton.MouseLeave:Connect(function()
    if toggleButton and toggleButton.Parent then
        TweenService:Create(toggleButton, tweenInfo, {Size = UDim2.new(1, -20, 0, 35)}):Play()
    end
end)

-- SAFE speed update (with cooldown)
local function updateSpeedDisplay()
    local now = tick()
    if now - lastUpdate < updateCooldown then return end
    lastUpdate = now
    
    local character = player.Character
    if character and character.Parent then
        local humanoid = character:FindFirstChild("Humanoid")
        if humanoid and humanoid.Parent then
            speedLabel.Text = "Speed: " .. math.floor(humanoid.WalkSpeed + 0.5)
        end
    end
end

-- SAFE character handling
local function onCharacterAdded(character)
    local humanoid = character:WaitForChild("Humanoid", 5)
    if not humanoid then return end
    
    originalWalkSpeed = humanoid.WalkSpeed
    
    -- ONE-TIME connection only
    local speedConnection
    speedConnection = humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
        if not speedBoosted or humanoid.WalkSpeed == boostSpeed then
            speedConnection:Disconnect()
            return
        end
        updateSpeedDisplay()
    end)
    
    if speedBoosted then
        humanoid.WalkSpeed = boostSpeed
    end
end

-- SAFE toggle
local function toggleSpeed()
    speedBoosted = not speedBoosted
    
    local character = player.Character
    if not character or not character.Parent then return end
    
    local humanoid = character:FindFirstChild("Humanoid")
    if not humanoid or not humanoid.Parent then return end
    
    if speedBoosted then
        humanoid.WalkSpeed = boostSpeed
        toggleButton.BackgroundColor3 = Color3.fromRGB(50, 255, 50)
        toggleButton.Text = "ON - Click to NORMAL"
        print("🚀 Speed Boost ON!")
    else
        humanoid.WalkSpeed = originalWalkSpeed
        toggleButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
        toggleButton.Text = "OFF - Click to BOOST!"
        print("✅ Speed Boost OFF!")
    end
end

-- Connect events SAFELY
toggleButton.MouseButton1Click:Connect(toggleSpeed)

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.X then
        toggleSpeed()
    end
end)

player.CharacterAdded:Connect(function(char)
    task.wait(0.1) -- Small delay
    onCharacterAdded(char)
end)

-- SAFE display update (less frequent)
spawn(function()
    while screenGui.Parent do
        updateSpeedDisplay()
        task.wait(0.2)
    end
end)

-- Initial setup
if player.Character then
    task.spawn(function()
        onCharacterAdded(player.Character)
    end)
end

print("✅ CRASH-PROOF Speed Boost loaded! Press X or click button!")

Features & Information

. Simple Gui . Press x to toggle On or Off . Speedboost set at 100 Also if you want to change speed find the local boostSpeed = 100 and change it to whatever number you want.

Community Comments (1)

nejckariznejckarizDec 26, 2025

okay so this crashes your game

More Scripts for Universal Scripts