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