
Key Required
Speed Booster AI
Lua Script•235 lines (7969 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local u8 = player
--// SETTINGS
local SPEED_BONUS_WALK = 4
local SPEED_BONUS_SPRINT = 8
local isSprinting = false
local SprintRequest = nil
task.spawn(function()
local folder = script.Parent
if folder then SprintRequest = folder:WaitForChild("SprintRequest", 10) end
end)
-- ==================== GUI ====================
local screenGui = Instance.new("ScreenGui")
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 380, 0, 280)
mainFrame.Position = UDim2.new(0.5, -190, 0.5, -140)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 25)
mainFrame.BackgroundTransparency = 0.08
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 18)
Instance.new("UIStroke", mainFrame).Thickness = 2
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 55)
titleBar.BackgroundColor3 = Color3.fromRGB(10, 10, 22)
titleBar.Parent = mainFrame
Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 18)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -120, 1, 0)
title.BackgroundTransparency = 1
title.Text = "⚡ SPEED CHANGER"
title.TextColor3 = Color3.fromRGB(100, 220, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBlack
title.Parent = titleBar
-- Buttons (same as before)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 42, 0, 42)
closeBtn.Position = UDim2.new(1, -52, 0, 7)
closeBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.new(1,1,1)
closeBtn.TextScaled = true
closeBtn.Parent = titleBar
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1,0)
local minBtn = Instance.new("TextButton")
minBtn.Size = UDim2.new(0, 42, 0, 42)
minBtn.Position = UDim2.new(1, -100, 0, 7)
minBtn.BackgroundColor3 = Color3.fromRGB(50, 160, 255)
minBtn.Text = "−"
minBtn.TextColor3 = Color3.new(1,1,1)
minBtn.TextScaled = true
minBtn.Parent = titleBar
Instance.new("UICorner", minBtn).CornerRadius = UDim.new(1,0)
-- Input Boxes (same)
local function createInput(y, text, default)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.48, 0, 0, 48)
label.Position = UDim2.new(0, 25, 0, y)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.new(1,1,1)
label.TextXAlignment = Enum.TextXAlignment.Left
label.TextScaled = true
label.Font = Enum.Font.GothamSemibold
label.Parent = mainFrame
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.4, 0, 0, 48)
box.Position = UDim2.new(0.55, 0, 0, y)
box.Text = tostring(default)
box.BackgroundColor3 = Color3.fromRGB(25, 25, 40)
box.TextColor3 = Color3.fromRGB(180, 255, 255)
box.TextScaled = true
box.Font = Enum.Font.Gotham
box.Parent = mainFrame
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 12)
return box
end
local walkBox = createInput(80, "Walk Speed Bonus", SPEED_BONUS_WALK)
local sprintBox = createInput(145, "Sprint Speed Bonus", SPEED_BONUS_SPRINT)
-- ==================== FANCY CIRCLE ====================
local miniCircle = Instance.new("Frame") -- Changed to Frame for better layering
miniCircle.Size = UDim2.new(0, 90, 0, 90)
miniCircle.Position = UDim2.new(0.5, -45, 0.75, 0)
miniCircle.BackgroundColor3 = Color3.fromRGB(0, 140, 255)
miniCircle.BackgroundTransparency = 0.1
miniCircle.Visible = false
miniCircle.Parent = screenGui
Instance.new("UICorner", miniCircle).CornerRadius = UDim.new(1, 0)
local circleStroke = Instance.new("UIStroke", miniCircle)
circleStroke.Thickness = 5
circleStroke.Color = Color3.fromRGB(100, 230, 255)
-- Inner glow
local innerGlow = Instance.new("Frame")
innerGlow.Size = UDim2.new(1, -12, 1, -12)
innerGlow.Position = UDim2.new(0.5, 0, 0.5, 0)
innerGlow.AnchorPoint = Vector2.new(0.5, 0.5)
innerGlow.BackgroundColor3 = Color3.fromRGB(255, 255, 100)
innerGlow.BackgroundTransparency = 0.7
innerGlow.Parent = miniCircle
Instance.new("UICorner", innerGlow).CornerRadius = UDim.new(1, 0)
-- Lightning Icon (better centered)
local lightning = Instance.new("TextLabel")
lightning.Size = UDim2.new(0.7, 0, 0.7, 0)
lightning.Position = UDim2.new(0.5, 0, 0.5, 0)
lightning.AnchorPoint = Vector2.new(0.5, 0.5)
lightning.BackgroundTransparency = 1
lightning.Text = "⚡"
lightning.TextColor3 = Color3.new(1, 1, 1)
lightning.TextScaled = true
lightning.Font = Enum.Font.GothamBlack
lightning.Parent = miniCircle
-- Pulse Animation
local function startPulse()
TweenService:Create(miniCircle, TweenInfo.new(1.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {
Size = UDim2.new(0, 95, 0, 95)
}):Play()
end
-- ==================== SMOOTH DRAGGING ====================
local function makeDraggable(obj)
local dragging = false
local dragStart, startPos
local dragDistance = 0
obj.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = obj.Position
dragDistance = 0
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
dragDistance = delta.Magnitude
obj.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
obj.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
if dragDistance < 10 then -- Click detected
mainFrame.Visible = true
miniCircle.Visible = false
end
end
end)
end
makeDraggable(mainFrame)
makeDraggable(miniCircle)
-- Buttons
closeBtn.MouseButton1Click:Connect(function()
screenGui:Destroy()
script:Destroy()
end)
minBtn.MouseButton1Click:Connect(function()
mainFrame.Visible = false
miniCircle.Visible = true
startPulse()
end)
-- Value updates
walkBox.FocusLost:Connect(function() SPEED_BONUS_WALK = tonumber(walkBox.Text) or 4 end)
sprintBox.FocusLost:Connect(function() SPEED_BONUS_SPRINT = tonumber(sprintBox.Text) or 8 end)
-- Speed System
local function applySpeed()
local char = u8.Character
if not char then return end
local hum = char:FindFirstChildOfClass("Humanoid")
if not hum then return end
local baseWalk = u8:GetAttribute("WalkSpeed") or 16
local baseSprint = u8:GetAttribute("SprintSpeed") or 24
local target = isSprinting and (baseSprint + SPEED_BONUS_SPRINT) or (baseWalk + SPEED_BONUS_WALK)
hum.WalkSpeed = target
end
RunService.RenderStepped:Connect(applySpeed)
-- Sprint Input (same)
local inputs = ReplicatedStorage:WaitForChild("Objects"):WaitForChild("Inputs")
local inputSystem = require(ReplicatedStorage.Modules.Libs.UserInputSystem)
inputs.Sprint.Pressed:Connect(function()
local _, _, toggle = inputSystem.GetInputType()
if not u8:GetAttribute("Stamina") or u8:GetAttribute("Stamina") > 0 then
isSprinting = toggle and not isSprinting or true
if SprintRequest then SprintRequest:FireServer(isSprinting) end
end
end)
inputs.Sprint.Released:Connect(function()
local _, _, hold = inputSystem.GetInputType()
if not hold then
isSprinting = false
if SprintRequest then SprintRequest:FireServer(false) end
end
end)
print("✅ Fancy Circle Updated!")Features & Information
Speed Booster

could you make auto minigame?
maybe mini-game or idk inf stamina... its unless make more sense
i love this script but is it just me or does this affect my sprint speed?