local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local defaultWalkSpeed = 16 local TWEEN_INFO = TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out) local BLUR_SIZE = 24 local UI_HEIGHT = 155 local SpeedController = {} SpeedController.__index = SpeedController function SpeedController.new() local self = setmetatable({}, SpeedController) self.isEnabled = true self.targetSpeed = defaultWalkSpeed self.connection = nil return self end function SpeedController:Start() self.connection = RunService.RenderStepped:Connect(function() if self.isEnabled and humanoid and humanoid.Parent then if humanoid.WalkSpeed ~= self.targetSpeed then humanoid.WalkSpeed = self.targetSpeed end end end) end function SpeedController:SetSpeed(value) self.targetSpeed = tonumber(value) or defaultWalkSpeed end function SpeedController:Stop() self.isEnabled = false if self.connection then self.connection:Disconnect() end humanoid.WalkSpeed = defaultWalkSpeed end local UIBuilder = {} UIBuilder.__index = UIBuilder function UIBuilder.new() local self = setmetatable({}, UIBuilder) self.guiObjects = {} return self end function UIBuilder:AddCorner(instance, radius) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, radius) corner.Parent = instance return corner end function UIBuilder:Build() local blur = Instance.new("BlurEffect") blur.Size = 0 blur.Name = "UIBlur" blur.Parent = Lighting self.guiObjects.Blur = blur local screenGui = Instance.new("ScreenGui") screenGui.Name = "BeautifulSpeedUI" screenGui.IgnoreGuiInset = true screenGui.Parent = player:WaitForChild("PlayerGui") self.guiObjects.ScreenGui = screenGui local toggleButton = Instance.new("ImageButton") toggleButton.Name = "ToggleButton" toggleButton.Size = UDim2.new(0, 60, 0, 60) toggleButton.Position = UDim2.new(0, 30, 0, 100) toggleButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) toggleButton.BackgroundTransparency = 1 toggleButton.Image = "rbxassetid://112151837971666" toggleButton.ScaleType = Enum.ScaleType.Fit toggleButton.Parent = screenGui self:AddCorner(toggleButton, 16) self.guiObjects.ToggleButton = toggleButton local mainUI = Instance.new("Frame") mainUI.Name = "MainUI" mainUI.Size = UDim2.new(0, 250, 0, UI_HEIGHT) mainUI.Position = UDim2.new(0.5, -125, 0.5, -(UI_HEIGHT/2)) mainUI.BackgroundTransparency = 1 mainUI.Visible = false mainUI.Parent = screenGui self.guiObjects.MainUI = mainUI local uiBackground = Instance.new("ImageLabel") uiBackground.Name = "Background" uiBackground.Size = UDim2.new(1, 0, 1, 0) uiBackground.Image = "rbxassetid://1179217566" uiBackground.ImageTransparency = 0.5 uiBackground.ImageColor3 = Color3.fromRGB(30, 30, 30) uiBackground.ScaleType = Enum.ScaleType.Crop uiBackground.BackgroundTransparency = 1 uiBackground.ZIndex = 1 uiBackground.Parent = mainUI self:AddCorner(uiBackground, 20) self.guiObjects.Background = uiBackground local uiStroke = Instance.new("UIStroke") uiStroke.Thickness = 2 uiStroke.Color = Color3.fromRGB(255, 255, 255) uiStroke.Transparency = 0.8 uiStroke.Parent = uiBackground local closeButton = Instance.new("TextButton") closeButton.Size = UDim2.new(0, 35, 0, 35) closeButton.Position = UDim2.new(1, -45, 0, 10) closeButton.Text = "×" closeButton.Font = Enum.Font.GothamBold closeButton.TextSize = 24 closeButton.BackgroundColor3 = Color3.fromRGB(255, 80, 80) closeButton.TextColor3 = Color3.fromRGB(255, 255, 255) closeButton.AutoButtonColor = true closeButton.ZIndex = 2 closeButton.Parent = mainUI self:AddCorner(closeButton, 100) self.guiObjects.CloseButton = closeButton local minimizeButton = Instance.new("TextButton") minimizeButton.Size = UDim2.new(0, 35, 0, 35) minimizeButton.Position = UDim2.new(1, -90, 0, 10) minimizeButton.Text = "−" minimizeButton.Font = Enum.Font.GothamBold minimizeButton.TextSize = 24 minimizeButton.BackgroundColor3 = Color3.fromRGB(200, 200, 200) minimizeButton.TextColor3 = Color3.fromRGB(40, 40, 40) minimizeButton.ZIndex = 2 minimizeButton.Parent = mainUI self:AddCorner(minimizeButton, 100) self.guiObjects.MinimizeButton = minimizeButton local speedBox = Instance.new("TextBox") speedBox.Size = UDim2.new(0, 200, 0, 40) speedBox.Position = UDim2.new(0.5, -100, 0.5, -10) speedBox.PlaceholderText = "Velocidade..." speedBox.Text = tostring(defaultWalkSpeed) speedBox.Font = Enum.Font.GothamMedium speedBox.TextSize = 18 speedBox.TextColor3 = Color3.fromRGB(255, 255, 255) speedBox.PlaceholderColor3 = Color3.fromRGB(180, 180, 180) speedBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0) speedBox.BackgroundTransparency = 0.6 speedBox.ClearTextOnFocus = false speedBox.ZIndex = 2 speedBox.Parent = mainUI self:AddCorner(speedBox, 12) self.guiObjects.SpeedBox = speedBox local statusText = Instance.new("TextLabel") statusText.Size = UDim2.new(1, 0, 0, 20) statusText.Position = UDim2.new(0, 0, 1, -25) statusText.Text = "Toggle UI livre" statusText.TextColor3 = Color3.fromRGB(255, 255, 255) statusText.Font = Enum.Font.Gotham statusText.TextSize = 14 statusText.BackgroundTransparency = 1 statusText.Visible = true statusText.ZIndex = 3 statusText.Parent = mainUI self.guiObjects.StatusText = statusText local toggleLockButton = Instance.new("TextButton") toggleLockButton.Size = UDim2.new(0, 120, 0, 35) toggleLockButton.Position = UDim2.new(0, 15, 0, 10) toggleLockButton.Text = "Anchor Toggle" toggleLockButton.Font = Enum.Font.GothamBold toggleLockButton.TextSize = 14 toggleLockButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0) toggleLockButton.BackgroundTransparency = 0.8 toggleLockButton.TextColor3 = Color3.fromRGB(255, 255, 255) toggleLockButton.ZIndex = 3 toggleLockButton.Parent = mainUI self:AddCorner(toggleLockButton, 12) self.guiObjects.LockButton = toggleLockButton local confirmFrame = Instance.new("Frame") confirmFrame.Name = "ConfirmFrame" confirmFrame.Size = UDim2.new(1, 0, 1, 0) confirmFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) confirmFrame.BackgroundTransparency = 0.2 confirmFrame.Visible = false confirmFrame.ZIndex = 10 confirmFrame.Parent = mainUI self:AddCorner(confirmFrame, 20) self.guiObjects.ConfirmFrame = confirmFrame local confirmLabel = Instance.new("TextLabel") confirmLabel.Size = UDim2.new(1, 0, 0, 40) confirmLabel.Position = UDim2.new(0, 0, 0.2, 0) confirmLabel.Text = "Have certain?" confirmLabel.Font = Enum.Font.GothamBold confirmLabel.TextColor3 = Color3.fromRGB(255, 255, 255) confirmLabel.TextSize = 20 confirmLabel.BackgroundTransparency = 1 confirmLabel.ZIndex = 11 confirmLabel.Parent = confirmFrame local btnNo = Instance.new("TextButton") btnNo.Name = "No" btnNo.Size = UDim2.new(0, 80, 0, 35) btnNo.Position = UDim2.new(0.2, 0, 0.6, 0) btnNo.Text = "No" btnNo.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btnNo.TextColor3 = Color3.fromRGB(255, 255, 255) btnNo.Font = Enum.Font.GothamBold btnNo.ZIndex = 11 btnNo.Parent = confirmFrame self:AddCorner(btnNo, 8) self.guiObjects.BtnNo = btnNo local btnYes = Instance.new("TextButton") btnYes.Name = "Yes" btnYes.Size = UDim2.new(0, 80, 0, 35) btnYes.Position = UDim2.new(0.55, 0, 0.6, 0) btnYes.Text = "Yes" btnYes.BackgroundColor3 = Color3.fromRGB(200, 50, 50) btnYes.TextColor3 = Color3.fromRGB(255, 255, 255) btnYes.Font = Enum.Font.GothamBold btnYes.ZIndex = 11 btnYes.Parent = confirmFrame self:AddCorner(btnYes, 8) self.guiObjects.BtnYes = btnYes return self.guiObjects end local MainApp = {} MainApp.__index = MainApp function MainApp.new() local self = setmetatable({}, MainApp) self.speedController = SpeedController.new() self.uiBuilder = UIBuilder.new() self.ui = self.uiBuilder:Build() self.toggleMovable = true return self end function MainApp:Init() self.speedController:Start() self:SetupEvents() self:SetupDraggable(self.ui.ToggleButton) end function MainApp:SetupDraggable(frame) local dragging = false local dragInput local dragStart local startPos frame.InputBegan:Connect(function(input) if not self.toggleMovable then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then if not self.toggleMovable then dragging = false return end local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end function MainApp:OpenUI() local ui = self.ui ui.MainUI.Visible = true ui.MainUI.Size = UDim2.new(0, 0, 0, 0) ui.ConfirmFrame.Visible = false ui.Background.ImageTransparency = 1 ui.SpeedBox.TextTransparency = 1 ui.CloseButton.TextTransparency = 1 ui.MinimizeButton.TextTransparency = 1 ui.LockButton.TextTransparency = 1 TweenService:Create(ui.MainUI, TWEEN_INFO, {Size = UDim2.new(0, 250, 0, UI_HEIGHT)}):Play() TweenService:Create(ui.Background, TWEEN_INFO, {ImageTransparency = 0.5}):Play() TweenService:Create(ui.SpeedBox, TWEEN_INFO, {TextTransparency = 0, BackgroundTransparency = 0.6}):Play() TweenService:Create(ui.CloseButton, TWEEN_INFO, {TextTransparency = 0, BackgroundTransparency = 0}):Play() TweenService:Create(ui.MinimizeButton, TWEEN_INFO, {TextTransparency = 0, BackgroundTransparency = 0}):Play() TweenService:Create(ui.LockButton, TWEEN_INFO, {TextTransparency = 0}):Play() TweenService:Create(ui.Blur, TWEEN_INFO, {Size = BLUR_SIZE}):Play() TweenService:Create(ui.ToggleButton, TweenInfo.new(0.3), {ImageTransparency = 1}):Play() task.wait(0.3) ui.ToggleButton.Visible = false ui.ToggleButton.ImageTransparency = 0 end function MainApp:MinimizeUI() local ui = self.ui TweenService:Create(ui.MainUI, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = UDim2.new(0, 0, 0, 0)}):Play() TweenService:Create(ui.Background, TweenInfo.new(0.3), {ImageTransparency = 1}):Play() TweenService:Create(ui.Blur, TweenInfo.new(0.5), {Size = 0}):Play() task.wait(0.3) ui.MainUI.Visible = false ui.ToggleButton.Visible = true ui.ToggleButton.Size = UDim2.new(0, 0, 0, 0) TweenService:Create(ui.ToggleButton, TweenInfo.new(0.4, Enum.EasingStyle.Elastic), {Size = UDim2.new(0, 60, 0, 60)}):Play() end function MainApp:CloseApp() local ui = self.ui TweenService:Create(ui.MainUI, TweenInfo.new(0.3), {Position = UDim2.new(0.5, -125, 1.5, 0)}):Play() TweenService:Create(ui.Blur, TweenInfo.new(0.5), {Size = 0}):Play() task.wait(0.5) self.speedController:Stop() ui.Blur:Destroy() ui.ScreenGui:Destroy() end function MainApp:SetupEvents() self.ui.ToggleButton.MouseButton1Click:Connect(function() self:OpenUI() end) self.ui.MinimizeButton.MouseButton1Click:Connect(function() self:MinimizeUI() end) self.ui.CloseButton.MouseButton1Click:Connect(function() self.ui.ConfirmFrame.Visible = true end) self.ui.BtnNo.MouseButton1Click:Connect(function() self.ui.ConfirmFrame.Visible = false end) self.ui.BtnYes.MouseButton1Click:Connect(function() self:CloseApp() end) self.ui.LockButton.MouseButton1Click:Connect(function() self.toggleMovable = not self.toggleMovable if self.toggleMovable then self.ui.StatusText.Text = "Toggle UI livre" else self.ui.StatusText.Text = "Toggle UI bloqueado" end end) RunService.RenderStepped:Connect(function() if self.ui.SpeedBox and self.ui.SpeedBox.Parent then self.speedController:SetSpeed(self.ui.SpeedBox.Text) end end) end local app = MainApp.new() app:Init()