Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local UserInputService = game:GetService("UserInputService")
- local TweenService = game:GetService("TweenService")
- local function createSpeedGUI(player)
- -- Настройки
- local minSpeed = 8
- local maxSpeed = 50
- local defaultSpeed = 16
- local currentSpeed = defaultSpeed
- local isDragging = false
- local isEnabled = true
- local isAdvanced = false -- Флаг расширенного режима
- -- Цвета для слайдера
- local slowColor = Color3.fromRGB(100, 200, 255)
- local mediumColor = Color3.fromRGB(100, 255, 150)
- local fastColor = Color3.fromRGB(255, 200, 100)
- local turboColor = Color3.fromRGB(255, 100, 100)
- -- Создание GUI
- local gui = Instance.new("ScreenGui")
- gui.Name = "SpeedControlGUI"
- gui.ResetOnSpawn = false
- gui.Parent = player:WaitForChild("PlayerGui")
- -- Основной фрейм (увеличенная высота)
- local frame = Instance.new("Frame")
- frame.Size = UDim2.new(0, 250, 0, 190)
- frame.Position = UDim2.new(0.5, -125, 0.3, 0)
- frame.AnchorPoint = Vector2.new(0.5, 0)
- frame.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
- frame.BackgroundTransparency = 0.2
- frame.BorderSizePixel = 0
- local corner = Instance.new("UICorner")
- corner.CornerRadius = UDim.new(0, 12)
- corner.Parent = frame
- local stroke = Instance.new("UIStroke")
- stroke.Color = Color3.fromRGB(100, 100, 150)
- stroke.Thickness = 2
- stroke.Transparency = 0.7
- stroke.Parent = frame
- frame.Parent = gui
- -- Заголовок
- local titleBar = Instance.new("Frame")
- titleBar.Size = UDim2.new(1, 0, 0, 30)
- titleBar.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
- titleBar.BackgroundTransparency = 0.3
- titleBar.BorderSizePixel = 0
- titleBar.Parent = frame
- local titleCorner = Instance.new("UICorner")
- titleCorner.CornerRadius = UDim.new(0, 12)
- titleCorner.Parent = titleBar
- local title = Instance.new("TextLabel")
- title.Size = UDim2.new(0, 150, 1, 0)
- title.Position = UDim2.new(0, 10, 0, 0)
- title.Text = "⚡ SPEED CONTROL"
- title.TextColor3 = Color3.fromRGB(220, 220, 255)
- title.TextXAlignment = Enum.TextXAlignment.Left
- title.BackgroundTransparency = 1
- title.Font = Enum.Font.GothamBold
- title.TextSize = 14
- title.Parent = titleBar
- -- Кнопка закрытия
- local closeButton = Instance.new("TextButton")
- closeButton.Size = UDim2.new(0, 30, 1, 0)
- closeButton.Position = UDim2.new(1, -30, 0, 0)
- closeButton.Text = "×"
- closeButton.TextColor3 = Color3.fromRGB(220, 220, 255)
- closeButton.TextSize = 20
- closeButton.BackgroundTransparency = 1
- closeButton.Font = Enum.Font.GothamBold
- closeButton.Parent = titleBar
- -- Кнопка расширенных настроек
- local advancedButton = Instance.new("TextButton")
- advancedButton.Size = UDim2.new(0, 80, 0, 25)
- advancedButton.Position = UDim2.new(0.5, -40, 0, 120)
- advancedButton.Text = "ADVANCED"
- advancedButton.TextColor3 = Color3.fromRGB(255, 255, 255)
- advancedButton.BackgroundColor3 = Color3.fromRGB(60, 60, 200)
- advancedButton.Font = Enum.Font.Gotham
- advancedButton.TextSize = 12
- local advancedCorner = Instance.new("UICorner")
- advancedCorner.CornerRadius = UDim.new(0, 8)
- advancedCorner.Parent = advancedButton
- advancedButton.Parent = frame
- -- Кнопка включения/выключения
- local toggleButton = Instance.new("TextButton")
- toggleButton.Size = UDim2.new(0, 80, 0, 25)
- toggleButton.Position = UDim2.new(0.5, -40, 0, 150)
- toggleButton.Text = "DISABLE"
- toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
- toggleButton.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
- toggleButton.Font = Enum.Font.Gotham
- toggleButton.TextSize = 12
- local toggleCorner = Instance.new("UICorner")
- toggleCorner.CornerRadius = UDim.new(0, 8)
- toggleCorner.Parent = toggleButton
- toggleButton.Parent = frame
- -- Слайдер скорости
- local sliderContainer = Instance.new("Frame")
- sliderContainer.Size = UDim2.new(0.9, 0, 0, 40)
- sliderContainer.Position = UDim2.new(0.05, 0, 0, 50)
- sliderContainer.BackgroundTransparency = 1
- sliderContainer.Parent = frame
- local sliderBackground = Instance.new("Frame")
- sliderBackground.Size = UDim2.new(1, 0, 0, 6)
- sliderBackground.Position = UDim2.new(0, 0, 0.5, -3)
- sliderBackground.BackgroundColor3 = Color3.fromRGB(80, 80, 100)
- sliderBackground.BorderSizePixel = 0
- local sliderBgCorner = Instance.new("UICorner")
- sliderBgCorner.CornerRadius = UDim.new(0, 3)
- sliderBgCorner.Parent = sliderBackground
- sliderBackground.Parent = sliderContainer
- local sliderFill = Instance.new("Frame")
- sliderFill.Size = UDim2.new(0.5, 0, 1, 0)
- sliderFill.BackgroundColor3 = slowColor
- sliderFill.BorderSizePixel = 0
- local sliderFillCorner = Instance.new("UICorner")
- sliderFillCorner.CornerRadius = UDim.new(0, 3)
- sliderFillCorner.Parent = sliderFill
- sliderFill.Parent = sliderBackground
- local sliderHandle = Instance.new("TextButton")
- sliderHandle.Size = UDim2.new(0, 20, 0, 20)
- sliderHandle.Position = UDim2.new(0.5, -10, 0.5, -10)
- sliderHandle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
- sliderHandle.Text = ""
- local sliderHandleCorner = Instance.new("UICorner")
- sliderHandleCorner.CornerRadius = UDim.new(0, 10)
- sliderHandleCorner.Parent = sliderHandle
- local sliderHandleStroke = Instance.new("UIStroke")
- sliderHandleStroke.Color = Color3.fromRGB(100, 100, 150)
- sliderHandleStroke.Thickness = 2
- sliderHandleStroke.Parent = sliderHandle
- sliderHandle.Parent = sliderContainer
- -- Текст скорости
- local speedText = Instance.new("TextLabel")
- speedText.Size = UDim2.new(1, 0, 0, 20)
- speedText.Position = UDim2.new(0, 0, 0, 80)
- speedText.Text = "Speed: " .. defaultSpeed
- speedText.TextColor3 = Color3.fromRGB(220, 220, 255)
- speedText.BackgroundTransparency = 1
- speedText.Font = Enum.Font.Gotham
- speedText.TextSize = 14
- speedText.Parent = frame
- -- Функция изменения цвета слайдера
- local function updateSliderColor(speed)
- if isAdvanced then
- if speed < 50 then
- sliderFill.BackgroundColor3 = slowColor
- elseif speed < 150 then
- sliderFill.BackgroundColor3 = mediumColor
- elseif speed < 300 then
- sliderFill.BackgroundColor3 = fastColor
- else
- sliderFill.BackgroundColor3 = turboColor
- end
- else
- if speed < 16 then
- sliderFill.BackgroundColor3 = slowColor
- elseif speed < 32 then
- sliderFill.BackgroundColor3 = mediumColor
- elseif speed < 45 then
- sliderFill.BackgroundColor3 = fastColor
- else
- sliderFill.BackgroundColor3 = turboColor
- end
- end
- end
- -- Функция обновления скорости
- local function updateSpeed(speed)
- currentSpeed = math.clamp(speed, minSpeed, maxSpeed)
- speedText.Text = "Speed: " .. currentSpeed
- local fillWidth = (currentSpeed - minSpeed) / (maxSpeed - minSpeed)
- sliderFill.Size = UDim2.new(fillWidth, 0, 1, 0)
- sliderHandle.Position = UDim2.new(fillWidth, -10, 0.5, -10)
- updateSliderColor(currentSpeed)
- if isEnabled and player.Character then
- local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
- if humanoid then
- humanoid.WalkSpeed = currentSpeed
- end
- end
- end
- -- Перемещение GUI
- local dragging, dragInput, dragStart, startPos
- local function updateInput(input)
- local delta = input.Position - dragStart
- local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
- TweenService:Create(frame, TweenInfo.new(0.1), {Position = newPos}):Play()
- end
- titleBar.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 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)
- titleBar.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement then
- dragInput = input
- end
- end)
- UserInputService.InputChanged:Connect(function(input)
- if input == dragInput and dragging then
- updateInput(input)
- end
- end)
- -- Обработчики слайдера
- sliderHandle.MouseButton1Down:Connect(function()
- isDragging = true
- end)
- UserInputService.InputEnded:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- isDragging = false
- end
- end)
- UserInputService.InputChanged:Connect(function(input)
- if isDragging and input.UserInputType == Enum.UserInputType.MouseMovement then
- local mousePos = UserInputService:GetMouseLocation().X
- local sliderPos = sliderContainer.AbsolutePosition.X
- local sliderSize = sliderContainer.AbsoluteSize.X
- local newSpeed = minSpeed + (maxSpeed - minSpeed) * math.clamp((mousePos - sliderPos) / sliderSize, 0, 1)
- updateSpeed(newSpeed)
- end
- end)
- -- Кнопка расширенных настроек
- advancedButton.MouseButton1Click:Connect(function()
- isAdvanced = not isAdvanced
- advancedButton.Text = isAdvanced and "NORMAL" or "ADVANCED"
- advancedButton.BackgroundColor3 = isAdvanced and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(60, 60, 200)
- -- Обновляем максимальную скорость
- maxSpeed = isAdvanced and 500 or 50
- -- Корректируем текущую скорость
- if currentSpeed > maxSpeed then
- currentSpeed = maxSpeed
- end
- -- Обновляем интерфейс
- updateSpeed(currentSpeed)
- end)
- -- Кнопка выключения
- toggleButton.MouseButton1Click:Connect(function()
- isEnabled = not isEnabled
- toggleButton.Text = isEnabled and "DISABLE" or "ENABLE"
- toggleButton.BackgroundColor3 = isEnabled and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(60, 200, 60)
- local humanoid = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
- if humanoid then
- humanoid.WalkSpeed = isEnabled and currentSpeed or defaultSpeed
- end
- end)
- -- Закрытие GUI
- closeButton.MouseButton1Click:Connect(function()
- gui:Destroy()
- end)
- -- Инициализация
- updateSpeed(defaultSpeed)
- player.CharacterAdded:Connect(function(character)
- character:WaitForChild("Humanoid")
- if isEnabled then
- character.Humanoid.WalkSpeed = currentSpeed
- end
- end)
- end
- -- Инициализация для всех игроков
- Players.PlayerAdded:Connect(createSpeedGUI)
- for _, player in ipairs(Players:GetPlayers()) do
- createSpeedGUI(player)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement