DiamondGUI Prototype 1
Key RequiredUniversal

DiamondGUI Prototype 1

Universal ScriptDIamondBoy3DIamondBoy3 1.2K views 241 executesUpdated Sep 12, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•1586 lines (55391 chars)
-- DiamondGUI by DiamondBoy3
-- Pure Lua/Luau, compatible with most Roblox executors

-- Check if GUI already exists to avoid duplicates
if game.Players.LocalPlayer.PlayerGui:FindFirstChild("DiamondGUI") then
    game.Players.LocalPlayer.PlayerGui.DiamondGUI:Destroy()
end

-- Create ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "DiamondGUI"
ScreenGui.Parent = game.Players.LocalPlayer.PlayerGui
ScreenGui.ResetOnSpawn = false

-- Create main Frame
local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0.35, 0, 0.45, 0)
Frame.Position = UDim2.new(0.325, 0, 0.275, 0)
Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Frame.BorderSizePixel = 0
Frame.Parent = ScreenGui

-- Add UICorner for rounded corners
local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 8)
Corner.Parent = Frame

-- Add stroke
local Stroke = Instance.new("UIStroke")
Stroke.Color = Color3.fromRGB(149, 0, 255)
Stroke.Thickness = 2
Stroke.Parent = Frame

-- Top Bar (light black)
local TopBar = Instance.new("Frame")
TopBar.Size = UDim2.new(1, 0, 0.1, 0)
TopBar.Position = UDim2.new(0, 0, 0, 0)
TopBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
TopBar.BorderSizePixel = 0
TopBar.Parent = Frame

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 1, 0)
Title.BackgroundTransparency = 1
Title.Text = "DiamondGUI by DiamondBoy3"
Title.TextColor3 = Color3.fromRGB(149, 0, 255)
Title.TextScaled = true
Title.Font = Enum.Font.SourceSansBold
Title.Parent = TopBar

-- Minimize Button (-)
local MinimizeButton = Instance.new("TextButton")
MinimizeButton.Size = UDim2.new(0.12, 0, 0.12, 0)
MinimizeButton.Position = UDim2.new(0.76, 0, -0.12, 0)
MinimizeButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
MinimizeButton.Text = "-"
MinimizeButton.TextColor3 = Color3.fromRGB(149, 0, 255)
MinimizeButton.TextScaled = true
MinimizeButton.Parent = Frame
local MinCorner = Instance.new("UICorner")
MinCorner.CornerRadius = UDim.new(0, 8)
MinCorner.Parent = MinimizeButton
local MinAspect = Instance.new("UIAspectRatioConstraint")
MinAspect.AspectRatio = 1
MinAspect.DominantAxis = Enum.DominantAxis.Height
MinAspect.Parent = MinimizeButton
local MinStroke = Instance.new("UIStroke")
MinStroke.Color = Color3.fromRGB(149, 0, 255)
MinStroke.Thickness = 1
MinStroke.Parent = MinimizeButton

-- Close Button (X)
local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.new(0.12, 0, 0.12, 0)
ToggleButton.Position = UDim2.new(0.88, 0, -0.12, 0)
ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
ToggleButton.Text = "X"
ToggleButton.TextColor3 = Color3.fromRGB(149, 0, 255)
ToggleButton.TextScaled = true
ToggleButton.Parent = Frame
local TogCorner = Instance.new("UICorner")
TogCorner.CornerRadius = UDim.new(0, 8)
TogCorner.Parent = ToggleButton
local TogAspect = Instance.new("UIAspectRatioConstraint")
TogAspect.AspectRatio = 1
TogAspect.DominantAxis = Enum.DominantAxis.Height
TogAspect.Parent = ToggleButton
local TogStroke = Instance.new("UIStroke")
TogStroke.Color = Color3.fromRGB(149, 0, 255)
TogStroke.Thickness = 1
TogStroke.Parent = ToggleButton

-- Settings Button (>)
local TogglePanelButton = Instance.new("TextButton")
TogglePanelButton.Size = UDim2.new(0.12, 0, 0.12, 0)
TogglePanelButton.Position = UDim2.new(0.64, 0, -0.12, 0)
TogglePanelButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
TogglePanelButton.Text = "⚙"
TogglePanelButton.TextColor3 = Color3.fromRGB(149, 0, 255)
TogglePanelButton.TextScaled = true
TogglePanelButton.Rotation = 0
TogglePanelButton.Parent = Frame
local TogglePanelCorner = Instance.new("UICorner")
TogglePanelCorner.CornerRadius = UDim.new(0, 8)
TogglePanelCorner.Parent = TogglePanelButton
local TogglePanelAspect = Instance.new("UIAspectRatioConstraint")
TogglePanelAspect.AspectRatio = 1
TogglePanelAspect.DominantAxis = Enum.DominantAxis.Height
TogglePanelAspect.Parent = TogglePanelButton
local TogglePanelStroke = Instance.new("UIStroke")
TogglePanelStroke.Color = Color3.fromRGB(149, 0, 255)
TogglePanelStroke.Thickness = 1
TogglePanelStroke.Parent = TogglePanelButton

-- Main GUI drag functionality
local dragging, dragInput, dragStart, startPos
local function update(input)
    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)
    SettingsPanel.Position = UDim2.new(Frame.Position.X.Scale + 0.35, 0, Frame.Position.Y.Scale, Frame.Position.Y.Offset)
end
TopBar.InputBegan:Connect(function(input)
    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)
TopBar.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        update(input)
    end
end)

-- Minimize functionality with animation
local TweenService = game:GetService("TweenService")
local isMinimized = false
-- Floating diamond button for minimized state
local FloatingButton = Instance.new("TextButton")
FloatingButton.Name = "DiamondFloatingButton"
FloatingButton.Size = UDim2.new(0, 48, 0, 48)
FloatingButton.Position = UDim2.new(0.02, 0, 0.8, 0)
FloatingButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
FloatingButton.Text = "💎"
FloatingButton.TextScaled = true
FloatingButton.TextColor3 = Color3.fromRGB(149, 0, 255)
FloatingButton.Visible = false
FloatingButton.Parent = ScreenGui
local FloatCorner = Instance.new("UICorner")
FloatCorner.CornerRadius = UDim.new(0, 12)
FloatCorner.Parent = FloatingButton
local FloatStroke = Instance.new("UIStroke")
FloatStroke.Color = Color3.fromRGB(149, 0, 255)
FloatStroke.Thickness = 2
FloatStroke.Parent = FloatingButton

-- Drag for floating button
do
    local fbDragging = false
    local fbDragStart, fbStartPos
    FloatingButton.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            fbDragging = true
            fbDragStart = input.Position
            fbStartPos = FloatingButton.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    fbDragging = false
                end
            end)
        end
    end)
    FloatingButton.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            dragInput = input
        end
    end)
    game:GetService("UserInputService").InputChanged:Connect(function(input)
        if input == dragInput and fbDragging then
            local delta = input.Position - fbDragStart
            FloatingButton.Position = UDim2.new(fbStartPos.X.Scale, fbStartPos.X.Offset + delta.X, fbStartPos.Y.Scale, fbStartPos.Y.Offset + delta.Y)
        end
    end)
end

-- Click to restore
FloatingButton.MouseButton1Click:Connect(function()
    Frame.Visible = true
    local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
    local tween = TweenService:Create(Frame, tweenInfo, {Size = UDim2.new(0.35, 0, 0.45, 0)})
    tween:Play()
    isMinimized = false
    FloatingButton.Visible = false
end)
MinimizeButton.MouseButton1Click:Connect(function()
    isMinimized = not isMinimized
    if isMinimized then
        local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
        local tween = TweenService:Create(Frame, tweenInfo, {Size = UDim2.new(0.35, 0, 0.1, 0)})
        tween:Play()
        tween.Completed:Wait()
        Frame.Visible = false
        FloatingButton.Visible = true
    else
        Frame.Visible = true
        local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
        local tween = TweenService:Create(Frame, tweenInfo, {Size = UDim2.new(0.35, 0, 0.45, 0)})
        tween:Play()
        FloatingButton.Visible = false
    end
end)

-- Close/Show functionality
ToggleButton.MouseButton1Click:Connect(function()
    Frame.Visible = not Frame.Visible
end)

-- Left ALT for minimize and show
game:GetService("UserInputService").InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.LeftAlt then
        if isMinimized then
            Frame.Visible = true
            isMinimized = false
            local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
            local tween = TweenService:Create(Frame, tweenInfo, {Size = UDim2.new(0.35, 0, 0.45, 0)})
            tween:Play()
            FloatingButton.Visible = false
        else
            isMinimized = true
            local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
            local tween = TweenService:Create(Frame, tweenInfo, {Size = UDim2.new(0.35, 0, 0.1, 0)})
            tween:Play()
            tween.Completed:Wait()
            Frame.Visible = false
            FloatingButton.Visible = true
        end
    end
end)

-- Settings Panel
local SettingsPanel = Instance.new("Frame")
SettingsPanel.Size = UDim2.new(0.35, 0, 0.45, 0)
SettingsPanel.Position = UDim2.new(0.675, 0, 0.275, 0)
SettingsPanel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
SettingsPanel.BorderSizePixel = 0
SettingsPanel.Visible = false
SettingsPanel.Parent = ScreenGui
local PanelCorner = Instance.new("UICorner")
PanelCorner.CornerRadius = UDim.new(0, 8)
PanelCorner.Parent = SettingsPanel
local PanelStroke = Instance.new("UIStroke")
PanelStroke.Color = Color3.fromRGB(149, 0, 255)
PanelStroke.Thickness = 2
PanelStroke.Parent = SettingsPanel

local PanelTopBar = Instance.new("Frame")
PanelTopBar.Size = UDim2.new(1, 0, 0.1, 0)
PanelTopBar.Position = UDim2.new(0, 0, 0, 0)
PanelTopBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
PanelTopBar.BorderSizePixel = 0
PanelTopBar.Parent = SettingsPanel

local SettingsTitle = Instance.new("TextLabel")
SettingsTitle.Size = UDim2.new(1, 0, 1, 0)
SettingsTitle.BackgroundTransparency = 1
SettingsTitle.Text = "Settings"
SettingsTitle.TextColor3 = Color3.fromRGB(149, 0, 255)
SettingsTitle.TextScaled = true
SettingsTitle.Font = Enum.Font.SourceSansBold
SettingsTitle.Parent = PanelTopBar

-- Drag functionality for Settings Panel
local panelDragging, panelDragInput, panelDragStart, panelStartPos
local function panelUpdate(input)
    local delta = input.Position - panelDragStart
    SettingsPanel.Position = UDim2.new(panelStartPos.X.Scale, panelStartPos.X.Offset + delta.X, panelStartPos.Y.Scale, panelStartPos.Y.Offset + delta.Y)
end
PanelTopBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        panelDragging = true
        panelDragStart = input.Position
        panelStartPos = SettingsPanel.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                panelDragging = false
            end
        end)
    end
end)
PanelTopBar.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        panelDragInput = input
    end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
    if input == panelDragInput and panelDragging then
        panelUpdate(input)
    end
end)

-- Animation for opening/closing panel
local isPanelOpen = false
TogglePanelButton.MouseButton1Click:Connect(function()
    isPanelOpen = not isPanelOpen
    if isPanelOpen then
        local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
        local tween = TweenService:Create(SettingsPanel, tweenInfo, {Size = UDim2.new(0.35, 0, 0.45, 0)})
        tween:Play()
        SettingsPanel.Visible = true
    else
        local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad)
        local tween = TweenService:Create(SettingsPanel, tweenInfo, {Size = UDim2.new(0, 0, 0.45, 0)})
        tween:Play()
        tween.Completed:Wait()
        SettingsPanel.Visible = false
    end
end)

-- Fly Card (further extended)
local FlyCard = Instance.new("Frame")
FlyCard.Size = UDim2.new(0.15, 0, 0.6, 0) -- Further extended height
FlyCard.Position = UDim2.new(0.05, 0, 0.1, 0)
FlyCard.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
FlyCard.BorderSizePixel = 0
FlyCard.Parent = Frame
local FlyCardCorner = Instance.new("UICorner")
FlyCardCorner.CornerRadius = UDim.new(0, 4)
FlyCardCorner.Parent = FlyCard
local FlyCardStroke = Instance.new("UIStroke")
FlyCardStroke.Color = Color3.fromRGB(149, 0, 255)
FlyCardStroke.Thickness = 1
FlyCardStroke.Parent = FlyCard

-- Fly PC Button
local FlyPCButton = Instance.new("TextButton")
FlyPCButton.Size = UDim2.new(0.8, 0, 0.3, 0)
FlyPCButton.Position = UDim2.new(0.1, 0, 0.05, 0)
FlyPCButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
FlyPCButton.Text = "Fly PC"
FlyPCButton.TextColor3 = Color3.fromRGB(255, 255, 255)
FlyPCButton.TextScaled = true
FlyPCButton.Parent = FlyCard
local FlyPCCorner = Instance.new("UICorner")
FlyPCCorner.CornerRadius = UDim.new(0, 4)
FlyPCCorner.Parent = FlyPCButton
local FlyPCStroke = Instance.new("UIStroke")
FlyPCStroke.Color = Color3.fromRGB(149, 0, 255)
FlyPCStroke.Thickness = 1
FlyPCStroke.Parent = FlyPCButton

-- Fly Mobile Button
local FlyMobileButton = Instance.new("TextButton")
FlyMobileButton.Size = UDim2.new(0.8, 0, 0.3, 0)
FlyMobileButton.Position = UDim2.new(0.1, 0, 0.35, 0)
FlyMobileButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
FlyMobileButton.Text = "Fly Mobile"
FlyMobileButton.TextColor3 = Color3.fromRGB(255, 255, 255)
FlyMobileButton.TextScaled = true
FlyMobileButton.Parent = FlyCard
local FlyMobileCorner = Instance.new("UICorner")
FlyMobileCorner.CornerRadius = UDim.new(0, 4)
FlyMobileCorner.Parent = FlyMobileButton
local FlyMobileStroke = Instance.new("UIStroke")
FlyMobileStroke.Color = Color3.fromRGB(149, 0, 255)
FlyMobileStroke.Thickness = 1
FlyMobileStroke.Parent = FlyMobileButton

-- Speed TextBox
local SpeedTextBox = Instance.new("TextBox")
SpeedTextBox.Size = UDim2.new(0.8, 0, 0.2, 0)
SpeedTextBox.Position = UDim2.new(0.1, 0, 0.65, 0)
SpeedTextBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
SpeedTextBox.Text = "50"
SpeedTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedTextBox.PlaceholderText = "Speed"
SpeedTextBox.TextScaled = true
SpeedTextBox.Parent = FlyCard
local SpeedCorner = Instance.new("UICorner")
SpeedCorner.CornerRadius = UDim.new(0, 4)
SpeedCorner.Parent = SpeedTextBox
local SpeedStroke = Instance.new("UIStroke")
SpeedStroke.Color = Color3.fromRGB(149, 0, 255)
SpeedStroke.Thickness = 1
SpeedStroke.Parent = SpeedTextBox

-- Fly Status Text (smaller and lower)
local FlyStatus = Instance.new("TextLabel")
FlyStatus.Size = UDim2.new(0.5, 0, 0.12, 0) -- Smaller size
FlyStatus.Position = UDim2.new(0.24, 0, 0.85, 0) -- Lower position and centered horizontally more
FlyStatus.BackgroundTransparency = 1
FlyStatus.Text = "Off"
FlyStatus.TextColor3 = Color3.fromRGB(255, 0, 0)
FlyStatus.TextScaled = true
FlyStatus.Font = Enum.Font.SourceSansBold
FlyStatus.Parent = FlyCard

-- Noclip Card (further shortened)
local NoclipCard = Instance.new("Frame")
NoclipCard.Size = UDim2.new(0.15, 0, 0.15, 0) -- Further shortened height
NoclipCard.Position = UDim2.new(0.25, 0, 0.1, 0)
NoclipCard.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
NoclipCard.BorderSizePixel = 0
NoclipCard.Parent = Frame
local NoclipCardCorner = Instance.new("UICorner")
NoclipCardCorner.CornerRadius = UDim.new(0, 4)
NoclipCardCorner.Parent = NoclipCard
local NoclipCardStroke = Instance.new("UIStroke")
NoclipCardStroke.Color = Color3.fromRGB(149, 0, 255)
NoclipCardStroke.Thickness = 1
NoclipCardStroke.Parent = NoclipCard

-- Noclip Button
local NoclipButton = Instance.new("TextButton")
NoclipButton.Size = UDim2.new(0.8, 0, 0.5, 0)
NoclipButton.Position = UDim2.new(0.1, 0, 0.05, 0)
NoclipButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
NoclipButton.Text = "Noclip"
NoclipButton.TextColor3 = Color3.fromRGB(255, 255, 255)
NoclipButton.TextScaled = true
NoclipButton.Parent = NoclipCard
local NoclipCorner = Instance.new("UICorner")
NoclipCorner.CornerRadius = UDim.new(0, 4)
NoclipCorner.Parent = NoclipButton
local NoclipStroke = Instance.new("UIStroke")
NoclipStroke.Color = Color3.fromRGB(149, 0, 255)
NoclipStroke.Thickness = 1
NoclipStroke.Parent = NoclipButton

-- Noclip Status Text (smaller and lower)
local NoclipStatus = Instance.new("TextLabel")
NoclipStatus.Size = UDim2.new(0.8, 0, 0.3, 0) -- Wider for centering
NoclipStatus.Position = UDim2.new(0.1, 0, 0.65, 0) -- Centered under button
NoclipStatus.BackgroundTransparency = 1
NoclipStatus.Text = "Off"
NoclipStatus.TextColor3 = Color3.fromRGB(255, 0, 0)
NoclipStatus.TextScaled = true
NoclipStatus.Font = Enum.Font.SourceSansBold
NoclipStatus.Parent = NoclipCard

-- WalkSpeed Override Card (further shortened and under Noclip)
local WalkSpeedOverrideCard = Instance.new("Frame")
WalkSpeedOverrideCard.Size = UDim2.new(0.15, 0, 0.15, 0) -- Further shortened height
WalkSpeedOverrideCard.Position = UDim2.new(0.45, 0, 0.1, 0) -- Beside NoclipCard
WalkSpeedOverrideCard.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
WalkSpeedOverrideCard.BorderSizePixel = 0
WalkSpeedOverrideCard.Parent = Frame
local WalkSpeedOverrideCardCorner = Instance.new("UICorner")
WalkSpeedOverrideCardCorner.CornerRadius = UDim.new(0, 4)
WalkSpeedOverrideCardCorner.Parent = WalkSpeedOverrideCard
local WalkSpeedOverrideCardStroke = Instance.new("UIStroke")
WalkSpeedOverrideCardStroke.Color = Color3.fromRGB(149, 0, 255)
WalkSpeedOverrideCardStroke.Thickness = 1
WalkSpeedOverrideCardStroke.Parent = WalkSpeedOverrideCard

-- WalkSpeed Override Button
local WalkSpeedOverrideButton = Instance.new("TextButton")
WalkSpeedOverrideButton.Size = UDim2.new(0.8, 0, 0.6, 0)
WalkSpeedOverrideButton.Position = UDim2.new(0.1, 0, 0.05, 0)
WalkSpeedOverrideButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
WalkSpeedOverrideButton.Text = "WalkSpeed Override"
WalkSpeedOverrideButton.TextColor3 = Color3.fromRGB(255, 255, 255)
WalkSpeedOverrideButton.TextScaled = true
WalkSpeedOverrideButton.Parent = WalkSpeedOverrideCard
local WalkSpeedOverrideButtonCorner = Instance.new("UICorner")
WalkSpeedOverrideButtonCorner.CornerRadius = UDim.new(0, 4)
WalkSpeedOverrideButtonCorner.Parent = WalkSpeedOverrideButton
local WalkSpeedOverrideButtonStroke = Instance.new("UIStroke")
WalkSpeedOverrideButtonStroke.Color = Color3.fromRGB(149, 0, 255)
WalkSpeedOverrideButtonStroke.Thickness = 1
WalkSpeedOverrideButtonStroke.Parent = WalkSpeedOverrideButton

-- WalkSpeedspeed TextBox
local WalkSpeedspeed = Instance.new("TextBox")
WalkSpeedspeed.Size = UDim2.new(0.8, 0, 0.3, 0)
WalkSpeedspeed.Position = UDim2.new(0.1, 0, 0.65, 0)
WalkSpeedspeed.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
WalkSpeedspeed.Text = "16"
WalkSpeedspeed.TextColor3 = Color3.fromRGB(255, 255, 255)
WalkSpeedspeed.PlaceholderText = "Speed"
WalkSpeedspeed.TextScaled = true
WalkSpeedspeed.Parent = WalkSpeedOverrideCard
local WalkSpeedspeedCorner = Instance.new("UICorner")
WalkSpeedspeedCorner.CornerRadius = UDim.new(0, 4)
WalkSpeedspeedCorner.Parent = WalkSpeedspeed
local WalkSpeedspeedStroke = Instance.new("UIStroke")
WalkSpeedspeedStroke.Color = Color3.fromRGB(149, 0, 255)
WalkSpeedspeedStroke.Thickness = 1
WalkSpeedspeedStroke.Parent = WalkSpeedspeed

-- Infinite Yield Card (beside WalkSpeed Override)
local InfiniteYieldCard = Instance.new("Frame")
InfiniteYieldCard.Size = UDim2.new(0.15, 0, 0.15, 0)
InfiniteYieldCard.Position = UDim2.new(0.65, 0, 0.1, 0)
InfiniteYieldCard.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
InfiniteYieldCard.BorderSizePixel = 0
InfiniteYieldCard.Parent = Frame
local InfiniteYieldCardCorner = Instance.new("UICorner")
InfiniteYieldCardCorner.CornerRadius = UDim.new(0, 4)
InfiniteYieldCardCorner.Parent = InfiniteYieldCard
local InfiniteYieldCardStroke = Instance.new("UIStroke")
InfiniteYieldCardStroke.Color = Color3.fromRGB(149, 0, 255)
InfiniteYieldCardStroke.Thickness = 1
InfiniteYieldCardStroke.Parent = InfiniteYieldCard

local InfiniteYieldButton = Instance.new("TextButton")
InfiniteYieldButton.Size = UDim2.new(0.8, 0, 0.6, 0)
InfiniteYieldButton.Position = UDim2.new(0.1, 0, 0.2, 0)
InfiniteYieldButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
InfiniteYieldButton.Text = "Infinite Yield"
InfiniteYieldButton.TextColor3 = Color3.fromRGB(255, 255, 255)
InfiniteYieldButton.TextScaled = true
InfiniteYieldButton.Parent = InfiniteYieldCard
local InfiniteYieldButtonCorner = Instance.new("UICorner")
InfiniteYieldButtonCorner.CornerRadius = UDim.new(0, 4)
InfiniteYieldButtonCorner.Parent = InfiniteYieldButton
local InfiniteYieldButtonStroke = Instance.new("UIStroke")
InfiniteYieldButtonStroke.Color = Color3.fromRGB(149, 0, 255)
InfiniteYieldButtonStroke.Thickness = 1
InfiniteYieldButtonStroke.Parent = InfiniteYieldButton

InfiniteYieldButton.MouseButton1Click:Connect(function()
	local ok, err = pcall(function()
		local src = game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source")
		loadstring(src)()
	end)
	if not ok then
		warn("Infinite Yield failed: " .. tostring(err))
	end
end)

-- Ctrl Teleport Card (beside Infinite Yield)
local CtrlTPCard = Instance.new("Frame")
CtrlTPCard.Size = UDim2.new(0.15, 0, 0.15, 0)
CtrlTPCard.Position = UDim2.new(0.85, 0, 0.1, 0)
CtrlTPCard.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
CtrlTPCard.BorderSizePixel = 0
CtrlTPCard.Parent = Frame
local CtrlTPCardCorner = Instance.new("UICorner")
CtrlTPCardCorner.CornerRadius = UDim.new(0, 4)
CtrlTPCardCorner.Parent = CtrlTPCard
local CtrlTPCardStroke = Instance.new("UIStroke")
CtrlTPCardStroke.Color = Color3.fromRGB(149, 0, 255)
CtrlTPCardStroke.Thickness = 1
CtrlTPCardStroke.Parent = CtrlTPCard

local CtrlTPButton = Instance.new("TextButton")
CtrlTPButton.Size = UDim2.new(0.8, 0, 0.5, 0)
CtrlTPButton.Position = UDim2.new(0.1, 0, 0.1, 0)
CtrlTPButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
CtrlTPButton.Text = "Ctrl Teleport"
CtrlTPButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CtrlTPButton.TextScaled = true
CtrlTPButton.Parent = CtrlTPCard
local CtrlTPButtonCorner = Instance.new("UICorner")
CtrlTPButtonCorner.CornerRadius = UDim.new(0, 4)
CtrlTPButtonCorner.Parent = CtrlTPButton
local CtrlTPButtonStroke = Instance.new("UIStroke")
CtrlTPButtonStroke.Color = Color3.fromRGB(149, 0, 255)
CtrlTPButtonStroke.Thickness = 1
CtrlTPButtonStroke.Parent = CtrlTPButton

local CtrlTPStatus = Instance.new("TextLabel")
CtrlTPStatus.Size = UDim2.new(0.8, 0, 0.2, 0)
CtrlTPStatus.Position = UDim2.new(0.1, 0, 0.7, 0)
CtrlTPStatus.BackgroundTransparency = 1
CtrlTPStatus.Text = "Off"
CtrlTPStatus.TextColor3 = Color3.fromRGB(255, 0, 0)
CtrlTPStatus.TextScaled = true
CtrlTPStatus.Font = Enum.Font.SourceSansBold
CtrlTPStatus.Parent = CtrlTPCard

-- Ctrl Teleport logic
local UIS = game:GetService("UserInputService")
local ctrlTpEnabled = false
local ctrlTpConn = nil
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()

local function GetCharacter()
    return game.Players.LocalPlayer.Character
end

local function Teleport(pos)
    local Char = GetCharacter()
    if Char then
        Char:MoveTo(pos)
    end
end

local function enableCtrlTp()
    if ctrlTpEnabled then return end
    ctrlTpEnabled = true
    CtrlTPStatus.Text = "On"
    CtrlTPStatus.TextColor3 = Color3.fromRGB(0, 255, 0)
    ctrlTpConn = UIS.InputBegan:Connect(function(input, gp)
        if gp or not ctrlTpEnabled then return end
        if input.UserInputType == Enum.UserInputType.MouseButton1 and (UIS:IsKeyDown(Enum.KeyCode.LeftControl) or UIS:IsKeyDown(Enum.KeyCode.RightControl)) then
            Teleport(Mouse.Hit.p)
        end
    end)
end

local function disableCtrlTp()
    ctrlTpEnabled = false
    CtrlTPStatus.Text = "Off"
    CtrlTPStatus.TextColor3 = Color3.fromRGB(255, 0, 0)
    if ctrlTpConn then ctrlTpConn:Disconnect(); ctrlTpConn = nil end
end

CtrlTPButton.MouseButton1Click:Connect(function()
    if ctrlTpEnabled then disableCtrlTp() else enableCtrlTp() end
end)

-- Teleport Tool button under Noclip
local TeleportToolCard = Instance.new("Frame")
TeleportToolCard.Size = UDim2.new(0.15, 0, 0.12, 0)
TeleportToolCard.Position = UDim2.new(0.25, 0, 0.28, 0)
TeleportToolCard.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
TeleportToolCard.BorderSizePixel = 0
TeleportToolCard.Parent = Frame
local TeleportToolCardCorner = Instance.new("UICorner")
TeleportToolCardCorner.CornerRadius = UDim.new(0, 4)
TeleportToolCardCorner.Parent = TeleportToolCard
local TeleportToolCardStroke = Instance.new("UIStroke")
TeleportToolCardStroke.Color = Color3.fromRGB(149, 0, 255)
TeleportToolCardStroke.Thickness = 1
TeleportToolCardStroke.Parent = TeleportToolCard

local TeleportToolButton = Instance.new("TextButton")
TeleportToolButton.Size = UDim2.new(0.8, 0, 0.7, 0)
TeleportToolButton.Position = UDim2.new(0.1, 0, 0.15, 0)
TeleportToolButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
TeleportToolButton.Text = "Teleport Tool"
TeleportToolButton.TextColor3 = Color3.fromRGB(255, 255, 255)
TeleportToolButton.TextScaled = true
TeleportToolButton.Parent = TeleportToolCard
local TeleportToolButtonCorner = Instance.new("UICorner")
TeleportToolButtonCorner.CornerRadius = UDim.new(0, 4)
TeleportToolButtonCorner.Parent = TeleportToolButton
local TeleportToolButtonStroke = Instance.new("UIStroke")
TeleportToolButtonStroke.Color = Color3.fromRGB(149, 0, 255)
TeleportToolButtonStroke.Thickness = 1
TeleportToolButtonStroke.Parent = TeleportToolButton

local function ensureTeleportTool()
    local backpack = player:FindFirstChildOfClass("Backpack") or player:WaitForChild("Backpack", 5)
    if not backpack then return nil end
    local existing = backpack:FindFirstChild("Tp tool By DiamondBoy3") or (player.Character and player.Character:FindFirstChild("Tp tool By DiamondBoy3"))
    if existing then return existing end
    local mouse = game.Players.LocalPlayer:GetMouse()
    local tool = Instance.new("Tool")
    tool.RequiresHandle = false
    tool.Name = "Tp tool By DiamondBoy3"
    tool.CanBeDropped = false
    tool.Activated:connect(function()
        local pos = mouse.Hit + Vector3.new(0, 2.5, 0)
        pos = CFrame.new(pos.X, pos.Y, pos.Z)
        local char = game.Players.LocalPlayer.Character
        local hrp = char and char:FindFirstChild("HumanoidRootPart")
        if hrp then
            hrp.CFrame = pos
        end
    end)
end

TeleportToolButton.MouseButton1Click:Connect(function()
    local mouse = game.Players.LocalPlayer:GetMouse()
    local tool = Instance.new("Tool")
    tool.RequiresHandle = false
    tool.Name = "Tp tool By DiamondBoy3"
    tool.Activated:connect(function()
        local pos = mouse.Hit+Vector3.new(0,2.5,0)
        pos = CFrame.new(pos.X,pos.Y,pos.Z)
        game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = pos
    end)
    tool.Parent = game.Players.LocalPlayer.Backpack
end)

-- Fly functionality
local savedSpeed = 50
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local HRP = character:WaitForChild("HumanoidRootPart")
local Camera = workspace.CurrentCamera

local baseSpeed = savedSpeed
local flySpeed = baseSpeed
local flying = false
local forwardHold = 0
local inputFlags = { forward = false, back = false, left = false, right = false, up = false, down = false }

local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)

local bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)

local function newAnim(id)
    local anim = Instance.new("Animation")
    anim.AnimationId = "rbxassetid://" .. id
    return anim
end

local animations = {
    forward = newAnim(90872539),
    up = newAnim(90872539),
    right1 = newAnim(136801964),
    right2 = newAnim(142495255),
    left1 = newAnim(136801964),
    left2 = newAnim(142495255),
    flyLow1 = newAnim(97169019),
    flyLow2 = newAnim(282574440),
    flyFast = newAnim(282574440),
    back1 = newAnim(136801964),
    back2 = newAnim(106772613),
    back3 = newAnim(42070810),
    back4 = newAnim(214744412),
    down = newAnim(233322916),
    idle1 = newAnim(97171309)
}

local tracks = {}
for name, anim in pairs(animations) do
    tracks[name] = humanoid:LoadAnimation(anim)
end

local function stopAll()
    for _, track in pairs(tracks) do
        track:Stop()
    end
end

local function startFlying()
    flying = true
    forwardHold = 0
    flySpeed = baseSpeed
    bodyVelocity.Parent = HRP
    bodyGyro.Parent = HRP
    humanoid.PlatformStand = true
    FlyStatus.Text = "On"
    FlyStatus.TextColor3 = Color3.fromRGB(0, 255, 0)
end

local function stopFlying()
    flying = false
    bodyVelocity.Parent = nil
    bodyGyro.Parent = nil
    humanoid.PlatformStand = false
    stopAll()
    FlyStatus.Text = "Off"
    FlyStatus.TextColor3 = Color3.fromRGB(255, 0, 0)
end

FlyPCButton.MouseButton1Click:Connect(function()
    if flying then
        stopFlying()
    else
        local speedInput = tonumber(SpeedTextBox.Text) or 50
        if speedInput > 0 then
            baseSpeed = speedInput
            savedSpeed = speedInput
        end
        startFlying()
    end
end)

FlyMobileButton.MouseButton1Click:Connect(function()
    -- Show/execute Mobile Fly functionality GUI
    local pg = game.Players.LocalPlayer:WaitForChild("PlayerGui")
    local g = pg:FindFirstChild("main")
    if g and g:IsA("ScreenGui") then
        g.Enabled = true
    end
end)

SpeedTextBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local speedInput = tonumber(SpeedTextBox.Text)
        if speedInput and speedInput > 0 then
            baseSpeed = speedInput
            savedSpeed = speedInput
            if flying then flySpeed = baseSpeed end
        else
            SpeedTextBox.Text = tostring(baseSpeed)
        end
    end
end)

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.W then inputFlags.forward = true end
    if input.KeyCode == Enum.KeyCode.S then inputFlags.back = true end
    if input.KeyCode == Enum.KeyCode.A then inputFlags.left = true end
    if input.KeyCode == Enum.KeyCode.D then inputFlags.right = true end
    if input.KeyCode == Enum.KeyCode.E then inputFlags.up = true end
    if input.KeyCode == Enum.KeyCode.Q then inputFlags.down = true end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then inputFlags.forward = false end
    if input.KeyCode == Enum.KeyCode.S then inputFlags.back = false end
    if input.KeyCode == Enum.KeyCode.A then inputFlags.left = false end
    if input.KeyCode == Enum.KeyCode.D then inputFlags.right = false end
    if input.KeyCode == Enum.KeyCode.E then inputFlags.up = false end
    if input.KeyCode == Enum.KeyCode.Q then inputFlags.down = false end
end)

RunService.RenderStepped:Connect(function(dt)
    if not flying then return end

    if not inputFlags.forward then forwardHold = 0 end

    local dir = Vector3.zero
    local camCF = Camera.CFrame

    if inputFlags.forward then dir += camCF.LookVector end
    if inputFlags.back then dir -= camCF.LookVector end
    if inputFlags.left then dir -= camCF.RightVector end
    if inputFlags.right then dir += camCF.RightVector end
    if inputFlags.up then dir += Vector3.yAxis end
    if inputFlags.down then dir -= Vector3.yAxis end

    if dir.Magnitude > 0 then dir = dir.Unit end

    bodyVelocity.Velocity = dir * flySpeed
    bodyGyro.CFrame = camCF

    -- Animation Logic
    if inputFlags.up then
        if not tracks.up.IsPlaying then stopAll(); tracks.up:Play() end
    elseif inputFlags.down then
        if not tracks.down.IsPlaying then stopAll(); tracks.down:Play() end
    elseif inputFlags.left then
        if not tracks.left1.IsPlaying then
            stopAll()
            tracks.left1:Play(); tracks.left1.TimePosition = 2.0; tracks.left1:AdjustSpeed(0)
            tracks.left2:Play(); tracks.left2.TimePosition = 0.5; tracks.left2:AdjustSpeed(0)
        end
    elseif inputFlags.right then
        if not tracks.right1.IsPlaying then
            stopAll()
            tracks.right1:Play(); tracks.right1.TimePosition = 1.1; tracks.right1:AdjustSpeed(0)
            tracks.right2:Play(); tracks.right2.TimePosition = 0.5; tracks.right2:AdjustSpeed(0)
        end
    elseif inputFlags.back then
        if not tracks.back1.IsPlaying then
            stopAll()
            tracks.back1:Play(); tracks.back1.TimePosition = 5.3; tracks.back1:AdjustSpeed(0)
            tracks.back2:Play(); tracks.back2:AdjustSpeed(0)
            tracks.back3:Play(); tracks.back3.TimePosition = 0.8; tracks.back3:AdjustSpeed(0)
            tracks.back4:Play(); tracks.back4.TimePosition = 1; tracks.back4:AdjustSpeed(0)
        end
    elseif inputFlags.forward then
        forwardHold += dt
        if forwardHold >= 3 then
            if not tracks.flyFast.IsPlaying then
                stopAll()
                flySpeed = baseSpeed * 1.3
                tracks.flyFast:Play(); tracks.flyFast:AdjustSpeed(0.05)
            end
        else
            if not tracks.flyLow1.IsPlaying then
                stopAll()
                flySpeed = baseSpeed
                tracks.flyLow1:Play()
                tracks.flyLow2:Play()
            end
        end
    else
        if not tracks.idle1.IsPlaying then
            stopAll()
            tracks.idle1:Play(); tracks.idle1:AdjustSpeed(0)
        end
    end
end)

-- Mobile Fly functionality
local main = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local up = Instance.new("TextButton")
local down = Instance.new("TextButton")
local onof = Instance.new("TextButton")
local TextLabel = Instance.new("TextLabel")
local plus = Instance.new("TextButton")
local speed = Instance.new("TextLabel")
local mine = Instance.new("TextButton")
local closebutton = Instance.new("TextButton")
local mini = Instance.new("TextButton")
local mini2 = Instance.new("TextButton")

main.Name = "main"
main.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
main.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
main.ResetOnSpawn = false
main.Enabled = false

Frame.Parent = main
Frame.BackgroundColor3 = Color3.fromRGB(163, 255, 137)
Frame.BorderColor3 = Color3.fromRGB(103, 221, 213)
Frame.Position = UDim2.new(0.100320168, 0, 0.379746825, 0)
Frame.Size = UDim2.new(0, 190, 0, 57)

up.Name = "up"
up.Parent = Frame
up.BackgroundColor3 = Color3.fromRGB(79, 255, 152)
up.Size = UDim2.new(0, 44, 0, 28)
up.Font = Enum.Font.SourceSans
up.Text = "UP"
up.TextColor3 = Color3.fromRGB(0, 0, 0)
up.TextSize = 14.000

down.Name = "down"
down.Parent = Frame
down.BackgroundColor3 = Color3.fromRGB(215, 255, 121)
down.Position = UDim2.new(0, 0, 0.491228074, 0)
down.Size = UDim2.new(0, 44, 0, 28)
down.Font = Enum.Font.SourceSans
down.Text = "DOWN"
down.TextColor3 = Color3.fromRGB(0, 0, 0)
down.TextSize = 14.000

onof.Name = "onof"
onof.Parent = Frame
onof.BackgroundColor3 = Color3.fromRGB(255, 249, 74)
onof.Position = UDim2.new(0.702823281, 0, 0.491228074, 0)
onof.Size = UDim2.new(0, 56, 0, 28)
onof.Font = Enum.Font.SourceSans
onof.Text = "fly"
onof.TextColor3 = Color3.fromRGB(0, 0, 0)
onof.TextSize = 14.000

TextLabel.Parent = Frame
TextLabel.BackgroundColor3 = Color3.fromRGB(242, 60, 255)
TextLabel.Position = UDim2.new(0.469327301, 0, 0, 0)
TextLabel.Size = UDim2.new(0, 100, 0, 28)
TextLabel.Font = Enum.Font.SourceSans
TextLabel.Text = "Fly Mobile"
TextLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
TextLabel.TextScaled = true
TextLabel.TextSize = 14.000
TextLabel.TextWrapped = true

plus.Name = "plus"
plus.Parent = Frame
plus.BackgroundColor3 = Color3.fromRGB(133, 145, 255)
plus.Position = UDim2.new(0.231578946, 0, 0, 0)
plus.Size = UDim2.new(0, 45, 0, 28)
plus.Font = Enum.Font.SourceSans
plus.Text = "+"
plus.TextColor3 = Color3.fromRGB(0, 0, 0)
plus.TextScaled = true
plus.TextSize = 14.000
plus.TextWrapped = true

speed.Name = "speed"
speed.Parent = Frame
speed.BackgroundColor3 = Color3.fromRGB(255, 85, 0)
speed.Position = UDim2.new(0.468421042, 0, 0.491228074, 0)
speed.Size = UDim2.new(0, 44, 0, 28)
speed.Font = Enum.Font.SourceSans
speed.Text = "1"
speed.TextColor3 = Color3.fromRGB(0, 0, 0)
speed.TextScaled = true
speed.TextSize = 14.000
speed.TextWrapped = true

-- create a TextBox for speed input without deleting original label
local speedBox = Instance.new("TextBox")
speedBox.Name = "speedBox"
speedBox.Parent = Frame
speedBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
speedBox.TextColor3 = Color3.fromRGB(0, 0, 0)
speedBox.PlaceholderText = "Speed"
speedBox.Text = speed.Text
speedBox.Position = speed.Position
speedBox.Size = UDim2.new(0, 60, 0, 28)
speedBox.Font = Enum.Font.SourceSans
speedBox.TextScaled = true
local speedBoxStroke = Instance.new("UIStroke")
speedBoxStroke.Color = Color3.fromRGB(149, 0, 255)
speedBoxStroke.Thickness = 1
speedBoxStroke.Parent = speedBox

-- style buttons: background black, text black, purple stroke
local function styleMobileBtn(btn)
	btn.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	btn.TextColor3 = Color3.fromRGB(0, 0, 0)
	local s = Instance.new("UIStroke")
	s.Color = Color3.fromRGB(149, 0, 255)
	s.Thickness = 1
	s.Parent = btn
end
styleMobileBtn(up)
styleMobileBtn(down)
styleMobileBtn(onof)
styleMobileBtn(plus)
styleMobileBtn(mine)
styleMobileBtn(closebutton)
styleMobileBtn(mini)
styleMobileBtn(mini2)

mine.Name = "mine"
mine.Parent = Frame
mine.BackgroundColor3 = Color3.fromRGB(123, 255, 247)
mine.Position = UDim2.new(0.231578946, 0, 0.491228074, 0)
mine.Size = UDim2.new(0, 45, 0, 29)
mine.Font = Enum.Font.SourceSans
mine.Text = "-"
mine.TextColor3 = Color3.fromRGB(0, 0, 0)
mine.TextScaled = true
mine.TextSize = 14.000
mine.TextWrapped = true

closebutton.Name = "Close"
closebutton.Parent = main.Frame
closebutton.BackgroundColor3 = Color3.fromRGB(225, 25, 0)
closebutton.Font = "SourceSans"
closebutton.Size = UDim2.new(0, 45, 0, 28)
closebutton.Text = "X"
closebutton.TextSize = 30
closebutton.Position =  UDim2.new(0, 0, -1, 27)

mini.Name = "minimize"
mini.Parent = main.Frame
mini.BackgroundColor3 = Color3.fromRGB(192, 150, 230)
mini.Font = "SourceSans"
mini.Size = UDim2.new(0, 45, 0, 28)
mini.Text = "-"
mini.TextSize = 40
mini.Position = UDim2.new(0, 44, -1, 27)

mini2.Name = "minimize2"
mini2.Parent = main.Frame
mini2.BackgroundColor3 = Color3.fromRGB(192, 150, 230)
mini2.Font = "SourceSans"
mini2.Size = UDim2.new(0, 45, 0, 28)
mini2.Text = "+"
mini2.TextSize = 40
mini2.Position = UDim2.new(0, 44, -1, 57)
mini2.Visible = false

speeds = 1

local speaker = game:GetService("Players").LocalPlayer

local chr = game.Players.LocalPlayer.Character
local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")

nowe = false



Frame.Active = true -- main = gui
Frame.Draggable = true

onof.MouseButton1Down:connect(function()

	if nowe == true then
		nowe = false

		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Flying,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Freefall,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Landed,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Running,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics,true)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Swimming,true)
		speaker.Character.Humanoid:ChangeState(Enum.HumanoidStateType.RunningNoPhysics)
	else 
		nowe = true



		for i = 1, speeds do
			spawn(function()

				local hb = game:GetService("RunService").Heartbeat	


				tpwalking = true
				local chr = game.Players.LocalPlayer.Character
				local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
				while tpwalking and hb:Wait() and chr and hum and hum.Parent do
					if hum.MoveDirection.Magnitude > 0 then
						chr:TranslateBy(hum.MoveDirection)
					end
				end

			end)
		end
		game.Players.LocalPlayer.Character.Animate.Disabled = true
		local Char = game.Players.LocalPlayer.Character
		local Hum = Char:FindFirstChildOfClass("Humanoid") or Char:FindFirstChildOfClass("AnimationController")

		for i,v in next, Hum:GetPlayingAnimationTracks() do
			v:AdjustSpeed(0)
		end
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Flying,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Freefall,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Landed,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Running,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics,false)
		speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Swimming,false)
		speaker.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Swimming)
	end




	if game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").RigType == Enum.HumanoidRigType.R6 then



		local plr = game.Players.LocalPlayer
		local torso = plr.Character.Torso
		local flying = true
		local deb = true
		local ctrl = {f = 0, b = 0, l = 0, r = 0}
		local lastctrl = {f = 0, b = 0, l = 0, r = 0}
		local maxspeed = 50
		local speed = 0


		local bg = Instance.new("BodyGyro", torso)
		bg.P = 9e4
		bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
		bg.cframe = torso.CFrame
		local bv = Instance.new("BodyVelocity", torso)
		bv.velocity = Vector3.new(0,0.1,0)
		bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
		if nowe == true then
			plr.Character.Humanoid.PlatformStand = true
		end
		while nowe == true or game:GetService("Players").LocalPlayer.Character.Humanoid.Health == 0 do
			game:GetService("RunService").RenderStepped:Wait()

			if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
				speed = speed+.5+(speed/maxspeed)
				if speed > maxspeed then
					speed = maxspeed
				end
			elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
				speed = speed-1
				if speed < 0 then
					speed = 0
				end
			end
			if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
				bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
				lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
			elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
				bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
			else
				bv.velocity = Vector3.new(0,0,0)
			end
			--	game.Players.LocalPlayer.Character.Animate.Disabled = true
			bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0)
		end
		ctrl = {f = 0, b = 0, l = 0, r = 0}
		lastctrl = {f = 0, b = 0, l = 0, r = 0}
		speed = 0
		bg:Destroy()
		bv:Destroy()
		plr.Character.Humanoid.PlatformStand = false
		game.Players.LocalPlayer.Character.Animate.Disabled = false
		tpwalking = false




	else
		local plr = game.Players.LocalPlayer
		local UpperTorso = plr.Character.UpperTorso
		local flying = true
		local deb = true
		local ctrl = {f = 0, b = 0, l = 0, r = 0}
		local lastctrl = {f = 0, b = 0, l = 0, r = 0}
		local maxspeed = 50
		local speed = 0


		local bg = Instance.new("BodyGyro", UpperTorso)
		bg.P = 9e4
		bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
		bg.cframe = UpperTorso.CFrame
		local bv = Instance.new("BodyVelocity", UpperTorso)
		bv.velocity = Vector3.new(0,0.1,0)
		bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
		if nowe == true then
			plr.Character.Humanoid.PlatformStand = true
		end
		while nowe == true or game:GetService("Players").LocalPlayer.Character.Humanoid.Health == 0 do
			wait()

			if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
				speed = speed+.5+(speed/maxspeed)
				if speed > maxspeed then
					speed = maxspeed
				end
			elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
				speed = speed-1
				if speed < 0 then
					speed = 0
				end
			end
			if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
				bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
				lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
			elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
				bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
			else
				bv.velocity = Vector3.new(0,0,0)
			end

			bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0)
		end
		ctrl = {f = 0, b = 0, l = 0, r = 0}
		lastctrl = {f = 0, b = 0, l = 0, r = 0}
		speed = 0
		bg:Destroy()
		bv:Destroy()
		plr.Character.Humanoid.PlatformStand = false
		game.Players.LocalPlayer.Character.Animate.Disabled = false
		tpwalking = false



	end





end)

local tis

up.MouseButton1Down:connect(function()
	tis = up.MouseEnter:connect(function()
		while tis do
			wait()
			game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0,1,0)
		end
	end)
end)

up.MouseLeave:connect(function()
	if tis then
		tis:Disconnect()
		tis = nil
	end
end)

local dis

down.MouseButton1Down:connect(function()
	dis = down.MouseEnter:connect(function()
		while dis do
			wait()
			game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0,-1,0)
		end
	end)
end)

down.MouseLeave:connect(function()
	if dis then
		dis:Disconnect()
		dis = nil
	end
end)


game:GetService("Players").LocalPlayer.CharacterAdded:Connect(function(char)
	wait(0.7)
	game.Players.LocalPlayer.Character.Humanoid.PlatformStand = false
	game.Players.LocalPlayer.Character.Animate.Disabled = false

end)


plus.MouseButton1Down:connect(function()
	speeds = speeds + 1
	speed.Text = speeds
	if nowe == true then


		tpwalking = false
		for i = 1, speeds do
			spawn(function()

				local hb = game:GetService("RunService").Heartbeat	


				tpwalking = true
				local chr = game.Players.LocalPlayer.Character
				local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
				while tpwalking and hb:Wait() and chr and hum and hum.Parent do
					if hum.MoveDirection.Magnitude > 0 then
						chr:TranslateBy(hum.MoveDirection)
					end
				end

			end)
		end
	end
end)
mine.MouseButton1Down:connect(function()
	if speeds == 1 then
		speed.Text = 'cannot be less than 1'
		wait(1)
		speed.Text = speeds
	else
		speeds = speeds - 1
		speed.Text = speeds
		if nowe == true then
			tpwalking = false
			for i = 1, speeds do
				spawn(function()

					local hb = game:GetService("RunService").Heartbeat	


					tpwalking = true
					local chr = game.Players.LocalPlayer.Character
					local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
					while tpwalking and hb:Wait() and chr and hum and hum.Parent do
						if hum.MoveDirection.Magnitude > 0 then
							chr:TranslateBy(hum.MoveDirection)
						end
					end

				end)
			end
		end
	end
end)

closebutton.MouseButton1Click:Connect(function()
	main.Enabled = false
end)

mini.MouseButton1Click:Connect(function()
	up.Visible = false
	down.Visible = false
	onof.Visible = false
	plus.Visible = false
	speed.Visible = false
	mine.Visible = false
	mini.Visible = false
	mini2.Visible = true
	main.Frame.BackgroundTransparency = 1
	closebutton.Position =  UDim2.new(0, 0, -1, 57)
end)

mini2.MouseButton1Click:Connect(function()
	up.Visible = true
	down.Visible = true
	onof.Visible = true
	plus.Visible = true
	speed.Visible = true
	mine.Visible = true
	mini.Visible = true
	mini2.Visible = false
	main.Frame.BackgroundTransparency = 0 
	closebutton.Position =  UDim2.new(0, 0, -1, 27)
end)

-- Noclip functionality
local Workspace = game:GetService("Workspace")
local Players   = game:GetService("Players")
local RunService = game:GetService("RunService")

local Plr    = Players.LocalPlayer
local Clipon = false
local Stepped

-- Function to enable noclip
local function enableNoclip()
    Clipon = true
    Stepped = RunService.Stepped:Connect(function()
        if Clipon then
            for _, b in pairs(Workspace:GetChildren()) do
                if b.Name == Plr.Name then
                    for _, v in pairs(b:GetChildren()) do
                        if v:IsA("BasePart") then
                            v.CanCollide = false
                        end
                    end
                end
            end
        else
            if Stepped then
                Stepped:Disconnect()
            end
        end
    end)
end

-- Function to disable noclip
local function disableNoclip()
    Clipon = false
end

-- Wire Noclip button to toggle the new noclip implementation
NoclipButton.MouseButton1Click:Connect(function()
    if not Clipon then
        enableNoclip()
        if NoclipStatus then
            NoclipStatus.Text = "On"
            NoclipStatus.TextColor3 = Color3.fromRGB(0, 255, 0)
        end
    else
        disableNoclip()
			Clipon = false
		
        if NoclipStatus then
            NoclipStatus.Text = "Off"
            NoclipStatus.TextColor3 = Color3.fromRGB(255, 0, 0)
        end
    end
end)


-- WalkSpeed Override functionality
local function setWalkSpeed(speed)
    local character = player.Character
    if character and character:FindFirstChild("Humanoid") then
        character.Humanoid.WalkSpeed = speed
    end
end

WalkSpeedOverrideButton.MouseButton1Click:Connect(function()
    local speedInput = tonumber(WalkSpeedspeed.Text) or 16
    if speedInput >= 0 then
        setWalkSpeed(speedInput)
    else
        WalkSpeedspeed.Text = "16" -- Reset to default if negative
    end
end)

-- Handle character respawn
player.CharacterAdded:Connect(function(newCharacter)
    character = newCharacter
    humanoid = character:WaitForChild("Humanoid")
    HRP = character:WaitForChild("HumanoidRootPart")
    if flying then
        stopFlying()
    end
    for name, anim in pairs(animations) do
        tracks[name] = humanoid:LoadAnimation(anim)
    end
end)

-- Style buttons to black with purple stroke (text black per request)
local function styleMobileBtn(btn)
	btn.BackgroundColor3 = Color3.fromRGB(0,0,0)
	btn.TextColor3 = Color3.fromRGB(0,0,0)
	local s = Instance.new("UIStroke")
	s.Color = Color3.fromRGB(149,0,255)
	s.Thickness = 1
	s.Parent = btn
end
styleMobileBtn(up)
styleMobileBtn(down)
styleMobileBtn(onof)
styleMobileBtn(plus)
styleMobileBtn(mine)
styleMobileBtn(closebutton)
styleMobileBtn(mini)
styleMobileBtn(mini2)

-- SpeedBox behavior and controls
local function clampMobileSpeed(v)
	local n = tonumber(v)
	if not n then return speeds or 1 end
	n = math.floor(n)
	if n < 1 then n = 1 end
	if n > 500 then n = 500 end
	return n
end

if speedBox then
	speedBox.FocusLost:Connect(function()
		speeds = clampMobileSpeed(speedBox.Text)
		speed.Text = tostring(speeds)
	end)
end

if plus then
	plus.MouseButton1Click:Connect(function()
		local v = clampMobileSpeed(speedBox and speedBox.Text or speeds) + 1
		speeds = v
		if speedBox then speedBox.Text = tostring(v) end
		speed.Text = tostring(v)
	end)
end

if mine then
	mine.MouseButton1Click:Connect(function()
		local v = clampMobileSpeed(speedBox and speedBox.Text or speeds) - 1
		if v < 1 then v = 1 end
		speeds = v
		if speedBox then speedBox.Text = tostring(v) end
		speed.Text = tostring(v)
	end)
end

-- Ensure fly toggle reads current speedBox value at click time
if onof then
	onof.MouseButton1Down:Connect(function()
		if speedBox then
			speeds = clampMobileSpeed(speedBox.Text)
			speed.Text = tostring(speeds)
		end
	end)
end

local RunService = game:GetService("RunService")
local upHeld, downHeld = false, false

if up then
	up.MouseButton1Down:Connect(function()
		upHeld = true
		task.spawn(function()
			while upHeld do
				local c = game.Players.LocalPlayer.Character
				local hrp = c and c:FindFirstChild("HumanoidRootPart")
				if hrp then
					local step = math.max(1, speeds or 1) * 0.5
					if hrp then hrp.CFrame = hrp.CFrame * CFrame.new(0, step, 0) end
				end
				RunService.Heartbeat:Wait()
			end
		end)
	end)
	up.MouseButton1Up:Connect(function() upHeld = false end)
end

if down then
	down.MouseButton1Down:Connect(function()
		downHeld = true
		task.spawn(function()
			while downHeld do
				local c = game.Players.LocalPlayer.Character
				local hrp = c and c:FindFirstChild("HumanoidRootPart")
				if hrp then
					local step = math.max(1, speeds or 1) * 0.5
					if hrp then hrp.CFrame = hrp.CFrame * CFrame.new(0, -step, 0) end
				end
				RunService.Heartbeat:Wait()
			end
		end)
	end)
	down.MouseButton1Up:Connect(function() downHeld = false end)
end

Features & Information

a GUI made By DIamondBoy3 @Diamond_Boy2222 on Roblox! :) Still on Prototype version. No key needed! Open source for now!
#gui#DIamondBoy

Community Comments (5)

rblx_hackerrblx_hackerSep 12, 2025

nice seen it

Replying to @rblx_hacker
DIamondBoy3DIamondBoy3Sep 12, 2025

@rblx_hacker Thanks! New features soon!

david_Republisherdavid_RepublisherSep 12, 2025

1 Minute and 2 views💀

Replying to @david_Republisher
DIamondBoy3DIamondBoy3Sep 12, 2025

@david_Russia lol

DIamondBoy3DIamondBoy3Sep 12, 2025

Hope you Enjoy! I'll add more features as soon as possible

More Scripts for Universal Scripts