-- ============================================ -- 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!")