Elegance speed
Key RequiredUniversal

Elegance speed

Universal ScriptBrayden048927Brayden048927 110 views 6.7K executesUpdated Jul 23, 2026
Unrated
00
Lua Script•526 lines (17528 chars)
-- ============================================
-- ELEGANCE-SPEED
-- Premium Walkspeed Controller
-- Version: 1.0
-- ============================================
-- Place this LocalScript in StarterGui

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

-- Create GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "EleganceSpeedGUI"
screenGui.Parent = player:WaitForChild("PlayerGui")
screenGui.ResetOnSpawn = false

-- Main Frame - Square Shape
local mainFrame = Instance.new("Frame")
mainFrame.Name = "EleganceSpeedFrame"
mainFrame.Size = UDim2.new(0, 300, 0, 300)
mainFrame.Position = UDim2.new(0.5, -150, 0.5, -150)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 35)
mainFrame.BackgroundTransparency = 0.1
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Visible = true
mainFrame.Parent = screenGui

-- Main Corner - Square with slightly rounded edges
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 12)
mainCorner.Parent = mainFrame

-- Glowing Border
local border = Instance.new("Frame")
border.Name = "Border"
border.Size = UDim2.new(1, 4, 1, 4)
border.Position = UDim2.new(0, -2, 0, -2)
border.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
border.BackgroundTransparency = 0.6
border.BorderSizePixel = 0
border.Parent = mainFrame

local borderCorner = Instance.new("UICorner")
borderCorner.CornerRadius = UDim.new(0, 14)
borderCorner.Parent = border

-- Animated Gradient Background
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
    ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 10, 50)),
    ColorSequenceKeypoint.new(0.5, Color3.fromRGB(10, 20, 60)),
    ColorSequenceKeypoint.new(1, Color3.fromRGB(30, 10, 50))
})
gradient.Rotation = 45
gradient.Parent = mainFrame

-- Header Section with Minimize Button
local header = Instance.new("Frame")
header.Name = "Header"
header.Size = UDim2.new(1, 0, 0, 45)
header.Position = UDim2.new(0, 0, 0, 0)
header.BackgroundTransparency = 1
header.Parent = mainFrame

-- Title
local title = Instance.new("TextLabel")
title.Name = "Title"
title.Size = UDim2.new(0.6, 0, 0, 25)
title.Position = UDim2.new(0, 8, 0, 5)
title.BackgroundTransparency = 1
title.Text = "⚡ ELEGANCE ⚡"
title.TextColor3 = Color3.fromRGB(0, 220, 255)
title.TextSize = 16
title.TextXAlignment = Enum.TextXAlignment.Left
title.Font = Enum.Font.GothamBold
title.Parent = header

-- Minimize Button (Square with Rounded Edges)
local minButton = Instance.new("TextButton")
minButton.Name = "MinimizeButton"
minButton.Size = UDim2.new(0, 30, 0, 30)
minButton.Position = UDim2.new(1, -70, 0, 8)
minButton.BackgroundColor3 = Color3.fromRGB(255, 200, 50)
minButton.BackgroundTransparency = 0.3
minButton.BorderSizePixel = 2
minButton.BorderColor3 = Color3.fromRGB(255, 200, 50)
minButton.Text = "−"
minButton.TextColor3 = Color3.fromRGB(255, 255, 255)
minButton.TextSize = 20
minButton.Font = Enum.Font.GothamBold
minButton.Parent = header

local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 6)
minCorner.Parent = minButton

-- Close Button
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -35, 0, 8)
closeButton.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
closeButton.BackgroundTransparency = 0.3
closeButton.BorderSizePixel = 2
closeButton.BorderColor3 = Color3.fromRGB(255, 60, 60)
closeButton.Text = "✕"
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.TextSize = 16
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = header

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 6)
closeCorner.Parent = closeButton

-- Speed Display - Square
local speedFrame = Instance.new("Frame")
speedFrame.Name = "SpeedFrame"
speedFrame.Size = UDim2.new(0, 90, 0, 90)
speedFrame.Position = UDim2.new(0.5, -45, 0, 60)
speedFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 60)
speedFrame.BackgroundTransparency = 0.3
speedFrame.BorderSizePixel = 3
speedFrame.BorderColor3 = Color3.fromRGB(0, 200, 255)
speedFrame.Parent = mainFrame

local speedCorner = Instance.new("UICorner")
speedCorner.CornerRadius = UDim.new(0, 10)
speedCorner.Parent = speedFrame

-- Speed Number
local speedDisplay = Instance.new("TextLabel")
speedDisplay.Name = "SpeedDisplay"
speedDisplay.Size = UDim2.new(1, 0, 0.6, 0)
speedDisplay.Position = UDim2.new(0, 0, 0.05, 0)
speedDisplay.BackgroundTransparency = 1
speedDisplay.Text = "16"
speedDisplay.TextColor3 = Color3.fromRGB(255, 255, 255)
speedDisplay.TextSize = 38
speedDisplay.Font = Enum.Font.GothamBold
speedDisplay.Parent = speedFrame

local speedLabel = Instance.new("TextLabel")
speedLabel.Name = "SpeedLabel"
speedLabel.Size = UDim2.new(1, 0, 0.2, 0)
speedLabel.Position = UDim2.new(0, 0, 0.7, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "SPEED"
speedLabel.TextColor3 = Color3.fromRGB(180, 180, 255)
speedLabel.TextSize = 10
speedLabel.Font = Enum.Font.Gotham
speedLabel.Parent = speedFrame

-- Input Section
local inputFrame = Instance.new("Frame")
inputFrame.Name = "InputFrame"
inputFrame.Size = UDim2.new(0.9, 0, 0, 40)
inputFrame.Position = UDim2.new(0.05, 0, 0, 165)
inputFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 65)
inputFrame.BackgroundTransparency = 0.5
inputFrame.BorderSizePixel = 1
inputFrame.BorderColor3 = Color3.fromRGB(60, 60, 120)
inputFrame.Parent = mainFrame

local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0, 8)
inputCorner.Parent = inputFrame

-- Input Icon
local inputIcon = Instance.new("TextLabel")
inputIcon.Name = "InputIcon"
inputIcon.Size = UDim2.new(0, 20, 0, 20)
inputIcon.Position = UDim2.new(0, 8, 0.5, -10)
inputIcon.BackgroundTransparency = 1
inputIcon.Text = "⚡"
inputIcon.TextColor3 = Color3.fromRGB(255, 220, 100)
inputIcon.TextSize = 14
inputIcon.Font = Enum.Font.Gotham
inputIcon.Parent = inputFrame

-- Input Box
local inputBox = Instance.new("TextBox")
inputBox.Name = "SpeedInput"
inputBox.Size = UDim2.new(0.45, 0, 1, -8)
inputBox.Position = UDim2.new(0, 32, 0, 4)
inputBox.BackgroundTransparency = 1
inputBox.Text = "16"
inputBox.TextColor3 = Color3.fromRGB(255, 255, 255)
inputBox.TextSize = 16
inputBox.TextXAlignment = Enum.TextXAlignment.Left
inputBox.Font = Enum.Font.Gotham
inputBox.ClearTextOnFocus = false
inputBox.PlaceholderText = "Speed..."
inputBox.PlaceholderColor3 = Color3.fromRGB(100, 100, 180)
inputBox.Parent = inputFrame

-- SET Button
local setButton = Instance.new("TextButton")
setButton.Name = "SetButton"
setButton.Size = UDim2.new(0.35, 0, 1, -8)
setButton.Position = UDim2.new(0.62, 0, 0, 4)
setButton.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
setButton.BorderSizePixel = 0
setButton.Text = "SET"
setButton.TextColor3 = Color3.fromRGB(255, 255, 255)
setButton.TextSize = 14
setButton.Font = Enum.Font.GothamBold
setButton.Parent = inputFrame

local setCorner = Instance.new("UICorner")
setCorner.CornerRadius = UDim.new(0, 6)
setCorner.Parent = setButton

-- Preset Speed Buttons
local presetFrame = Instance.new("Frame")
presetFrame.Name = "PresetFrame"
presetFrame.Size = UDim2.new(0.9, 0, 0, 28)
presetFrame.Position = UDim2.new(0.05, 0, 0, 215)
presetFrame.BackgroundTransparency = 1
presetFrame.Parent = mainFrame

local presets = {"10", "25", "50", "100"}

for i, speed in ipairs(presets) do
    local btn = Instance.new("TextButton")
    btn.Name = "Preset_" .. speed
    btn.Size = UDim2.new(0.22, 0, 1, 0)
    btn.Position = UDim2.new((i-1) * 0.26, 0, 0, 0)
    btn.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
    btn.BackgroundTransparency = 0.4
    btn.BorderSizePixel = 1
    btn.BorderColor3 = Color3.fromRGB(80, 80, 150)
    btn.Text = speed
    btn.TextColor3 = Color3.fromRGB(200, 200, 255)
    btn.TextSize = 12
    btn.Font = Enum.Font.GothamBold
    btn.Parent = presetFrame
    
    local btnCorner = Instance.new("UICorner")
    btnCorner.CornerRadius = UDim.new(0, 6)
    btnCorner.Parent = btn
    
    btn.MouseEnter:Connect(function()
        local tween = TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            BackgroundTransparency = 0.2,
            BorderColor3 = Color3.fromRGB(0, 200, 255)
        })
        tween:Play()
    end)
    
    btn.MouseLeave:Connect(function()
        local tween = TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            BackgroundTransparency = 0.4,
            BorderColor3 = Color3.fromRGB(80, 80, 150)
        })
        tween:Play()
    end)
    
    -- Preset buttons now just update the input box, NOT set speed
    btn.MouseButton1Click:Connect(function()
        inputBox.Text = speed
        -- Don't set speed here - wait for SET button
    end)
end

-- Control Buttons Row
local controlRow = Instance.new("Frame")
controlRow.Name = "ControlRow"
controlRow.Size = UDim2.new(0.9, 0, 0, 28)
controlRow.Position = UDim2.new(0.05, 0, 0, 252)
controlRow.BackgroundTransparency = 1
controlRow.Parent = mainFrame

-- Lock Button
local lockButton = Instance.new("TextButton")
lockButton.Name = "LockButton"
lockButton.Size = UDim2.new(0.48, 0, 1, 0)
lockButton.Position = UDim2.new(0, 0, 0, 0)
lockButton.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
lockButton.BackgroundTransparency = 0.4
lockButton.BorderSizePixel = 1
lockButton.BorderColor3 = Color3.fromRGB(80, 80, 150)
lockButton.Text = "🔓 UNLOCKED"
lockButton.TextColor3 = Color3.fromRGB(200, 200, 255)
lockButton.TextSize = 11
lockButton.Font = Enum.Font.Gotham
lockButton.Parent = controlRow

local lockCorner = Instance.new("UICorner")
lockCorner.CornerRadius = UDim.new(0, 6)
lockCorner.Parent = lockButton

-- Reset Button
local resetButton = Instance.new("TextButton")
resetButton.Name = "ResetButton"
resetButton.Size = UDim2.new(0.48, 0, 1, 0)
resetButton.Position = UDim2.new(0.52, 0, 0, 0)
resetButton.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
resetButton.BackgroundTransparency = 0.4
resetButton.BorderSizePixel = 1
resetButton.BorderColor3 = Color3.fromRGB(80, 80, 150)
resetButton.Text = "↺ RESET"
resetButton.TextColor3 = Color3.fromRGB(200, 200, 255)
resetButton.TextSize = 11
resetButton.Font = Enum.Font.Gotham
resetButton.Parent = controlRow

local resetCorner = Instance.new("UICorner")
resetCorner.CornerRadius = UDim.new(0, 6)
resetCorner.Parent = resetButton

-- Variables
local isLocked = false
local isMinimized = false
local currentDisplaySpeed = 16

-- Minimize Function
local function toggleMinimize()
    isMinimized = not isMinimized
    
    if isMinimized then
        local tween = TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
            Size = UDim2.new(0, 300, 0, 50)
        })
        tween:Play()
        minButton.Text = "+"
        minButton.BackgroundColor3 = Color3.fromRGB(50, 200, 100)
        minButton.BorderColor3 = Color3.fromRGB(50, 200, 100)
        
        speedFrame.Visible = false
        inputFrame.Visible = false
        presetFrame.Visible = false
        controlRow.Visible = false
        
    else
        local tween = TweenService:Create(mainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
            Size = UDim2.new(0, 300, 0, 300)
        })
        tween:Play()
        minButton.Text = "−"
        minButton.BackgroundColor3 = Color3.fromRGB(255, 200, 50)
        minButton.BorderColor3 = Color3.fromRGB(255, 200, 50)
        
        task.wait(0.3)
        speedFrame.Visible = true
        inputFrame.Visible = true
        presetFrame.Visible = true
        controlRow.Visible = true
    end
end

-- Button Pulse Animation
local function pulseButton()
    local tween = TweenService:Create(setButton, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
        Size = UDim2.new(0.37, 0, 1.05, -8)
    })
    tween:Play()
    task.wait(0.25)
    local tween2 = TweenService:Create(setButton, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
        Size = UDim2.new(0.35, 0, 1, -8)
    })
    tween2:Play()
end

-- Set Walkspeed Function - ONLY called when SET button is pressed
function setWalkspeed(speed)
    if isLocked then return end
    
    speed = tonumber(speed) or 16
    speed = math.floor(speed)
    
    if speed < 0 then speed = 0 end
    if speed > 999999999999999 then speed = 999999999999999 end
    
    currentDisplaySpeed = speed
    
    local char = player.Character
    if char then
        local hum = char:FindFirstChild("Humanoid")
        if hum then
            hum.WalkSpeed = speed
            speedDisplay.Text = tostring(speed)
            
            -- Animate square
            local tween = TweenService:Create(speedFrame, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
                BorderColor3 = Color3.fromRGB(0, 255, 150)
            })
            tween:Play()
            task.wait(0.2)
            local tween2 = TweenService:Create(speedFrame, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
                BorderColor3 = Color3.fromRGB(0, 200, 255)
            })
            tween2:Play()
        end
    end
end

-- SET BUTTON - ONLY place where speed is actually set
setButton.MouseButton1Click:Connect(function()
    local speed = inputBox.Text
    if speed and speed ~= "" then
        setWalkspeed(speed)
        pulseButton()
    end
end)

-- REMOVED: inputBox.FocusLost - No longer sets speed automatically
-- Now you MUST press SET to apply speed

minButton.MouseButton1Click:Connect(toggleMinimize)

closeButton.MouseButton1Click:Connect(function()
    local tween = TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
        Size = UDim2.new(0, 0, 0, 0)
    })
    tween:Play()
    tween.Completed:Connect(function()
        mainFrame.Visible = false
    end)
end)

lockButton.MouseButton1Click:Connect(function()
    isLocked = not isLocked
    if isLocked then
        lockButton.Text = "🔒 LOCKED"
        lockButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
        lockButton.BackgroundTransparency = 0.3
        lockButton.BorderColor3 = Color3.fromRGB(200, 50, 50)
    else
        lockButton.Text = "🔓 UNLOCKED"
        lockButton.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
        lockButton.BackgroundTransparency = 0.4
        lockButton.BorderColor3 = Color3.fromRGB(80, 80, 150)
    end
end)

resetButton.MouseButton1Click:Connect(function()
    inputBox.Text = "16"
    setWalkspeed(16) -- Reset still uses SET logic but sets to 16
    pulseButton()
end)

-- Character respawn - maintains current speed
player.CharacterAdded:Connect(function(newChar)
    character = newChar
    humanoid = character:WaitForChild("Humanoid")
    task.wait(0.1)
    -- Keep the current speed that was last set
    if currentDisplaySpeed then
        local hum = character:FindFirstChild("Humanoid")
        if hum then
            hum.WalkSpeed = currentDisplaySpeed
        end
    end
end)

-- Toggle with F1
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.F1 then
        if mainFrame.Visible then
            if not isMinimized then
                local tween = TweenService:Create(mainFrame, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
                    Size = UDim2.new(0, 0, 0, 0)
                })
                tween:Play()
                tween.Completed:Connect(function()
                    mainFrame.Visible = false
                end)
            else
                toggleMinimize()
            end
        else
            mainFrame.Visible = true
            if isMinimized then
                mainFrame.Size = UDim2.new(0, 300, 0, 50)
            end
            local tween = TweenService:Create(mainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
                Size = UDim2.new(0, 300, 0, isMinimized and 50 or 300)
            })
            tween:Play()
        end
    end
end)

-- Hover effects
local function setupHover(btn)
    btn.MouseEnter:Connect(function()
        local tween = TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            BackgroundTransparency = math.max(btn.BackgroundTransparency - 0.2, 0)
        })
        tween:Play()
    end)
    btn.MouseLeave:Connect(function()
        local tween = TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            BackgroundTransparency = math.min(btn.BackgroundTransparency + 0.2, 0.5)
        })
        tween:Play()
    end)
end

setupHover(lockButton)
setupHover(resetButton)
setupHover(minButton)
setupHover(closeButton)

-- Initial setup
task.wait(0.1)
setWalkspeed(16)

-- Animate entrance
mainFrame.Size = UDim2.new(0, 0, 0, 0)
mainFrame.Visible = true
local enterTween = TweenService:Create(mainFrame, TweenInfo.new(0.6, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
    Size = UDim2.new(0, 300, 0, 300)
})
enterTween:Play()

print("✨ ELEGANCE-SPEED Loaded! Press F1 to toggle. ✨")
print("⚡ Speed ONLY changes when you press the SET button!")

Features & Information

Speed script
#This is a Walkspeed script for Roblox any game

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts