Test765
Key RequiredUniversal

Test765

Universal Scripttest8ngtest8ng 293 views 14 executesUpdated Jul 9, 2026
Unrated
00
Lua Script•1292 lines (49203 chars)
-- ============================================================
-- HOVER + PUSH + BOT + RANDOM + FREEZE (Custom Delay)
-- ============================================================

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TeleportService = game:GetService("TeleportService")

local highlighted = false
local originalProperties = {}
local airwalkPart = nil
local airwalkActive = false
local exemptPlayers = {}
local targetedPlayers = {}
local botActive = false
local botPushTimer = 0
local botPushInterval = 5
local minPlayerCount = 5
local serverSwitchCooldown = 0
local randomActive = false
local randomPushedList = {}
local randomMode = "all"
local randomInterval = 8
local OWNER_NAME = "slimefarm70"
local scriptInitialized = false

-- ============================================================
-- CORE FUNCTIONS
-- ============================================================

-- ===== FIND REMOTE EVENT =====
local function findRemoteEvent()
    local success, remote = pcall(function()
        local function searchScripts(parent)
            for _, child in ipairs(parent:GetChildren()) do
                if child:IsA("Script") and child.Name == "PushRevengePunch" then
                    for _, subChild in ipairs(child:GetChildren()) do
                        if subChild:IsA("RemoteEvent") then return subChild end
                    end
                    return nil
                end
                if #child:GetChildren() > 0 then
                    local found = searchScripts(child)
                    if found then return found end
                end
            end
            return nil
        end
        return searchScripts(game)
    end)
    if success then return remote else return nil end
end

-- ===== MATCH PLAYER =====
local function matchPlayer(partial)
    partial = partial:lower()
    for _, player in ipairs(Players:GetPlayers()) do
        if player.Name:lower():find(partial) or player.DisplayName:lower():find(partial) then
            return player
        end
    end
    return nil
end

-- ===== FIND HOVER TEMPERED =====
local function findAllTargetParts()
    local parts = {}
    for _, obj in ipairs(workspace:GetDescendants()) do
        if obj:IsA("Model") and obj.Name == "Step" then
            local hoverPart = obj:FindFirstChild("hover_tempered")
            if hoverPart and hoverPart:IsA("BasePart") then
                table.insert(parts, hoverPart)
            end
        end
    end
    return parts
end

-- ============================================================
-- PLAYER LIST HELPERS
-- ============================================================

local function getAllPlayers()
    local all = {}
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            table.insert(all, player)
        end
    end
    return all
end

local function getNonTeamPlayers()
    local myTeam = LocalPlayer.Team
    local nonTeam = {}
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Team ~= myTeam then
            table.insert(nonTeam, player)
        end
    end
    return nonTeam
end

local function getTeamPlayers()
    local myTeam = LocalPlayer.Team
    local team = {}
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Team == myTeam then
            table.insert(team, player)
        end
    end
    return team
end

-- ============================================================
-- FREEZE FUNCTIONS (with customizable delay)
-- ============================================================

local function freezeAll()
    local delay = tonumber(freezeDelayBox.Text) or 1.5
    if delay < 0.1 then delay = 0.1 end
    print("🔄 Freezing all players (resetting you in " .. delay .. "s)...")
    local players = getAllPlayers()
    local remote = findRemoteEvent()
    if remote then
        for _, player in ipairs(players) do
            pcall(function() remote:FireServer(player) end)
        end
        task.wait(delay)
        -- Reset the user (LocalPlayer)
        pcall(function()
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                LocalPlayer.Character.Humanoid.Health = 0
            end
        end)
        print("✅ Freeze All complete.")
    else
        print("❌ Remote not found!")
    end
end

local function freezeNonTeams()
    local delay = tonumber(freezeDelayBox.Text) or 1.5
    if delay < 0.1 then delay = 0.1 end
    print("🔄 Freezing non-team players (resetting you in " .. delay .. "s)...")
    local players = getNonTeamPlayers()
    local remote = findRemoteEvent()
    if remote then
        for _, player in ipairs(players) do
            pcall(function() remote:FireServer(player) end)
        end
        task.wait(delay)
        pcall(function()
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                LocalPlayer.Character.Humanoid.Health = 0
            end
        end)
        print("✅ Freeze Non-Teams complete.")
    else
        print("❌ Remote not found!")
    end
end

local function freezeTeams()
    local delay = tonumber(freezeDelayBox.Text) or 1.5
    if delay < 0.1 then delay = 0.1 end
    print("🔄 Freezing team players (resetting you in " .. delay .. "s)...")
    local players = getTeamPlayers()
    local remote = findRemoteEvent()
    if remote then
        for _, player in ipairs(players) do
            pcall(function() remote:FireServer(player) end)
        end
        task.wait(delay)
        pcall(function()
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                LocalPlayer.Character.Humanoid.Health = 0
            end
        end)
        print("✅ Freeze Teams complete.")
    else
        print("❌ Remote not found!")
    end
end

-- ============================================================
-- TOGGLE HIGHLIGHT
-- ============================================================
local function toggleHighlight()
    local parts = findAllTargetParts()
    if #parts == 0 then
        statusLabel.Text = "❌ No parts found!"
        statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    highlighted = not highlighted
    if highlighted then
        for _, part in ipairs(parts) do
            originalProperties[part] = { BrickColor = part.BrickColor, Transparency = part.Transparency, Material = part.Material }
            part.BrickColor = BrickColor.new("Bright green")
            part.Transparency = 0
            part.Material = Enum.Material.Neon
        end
        toggleBtn.Text = "Disable Highlight"
        toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
        statusLabel.Text = "🟢 ON (" .. #parts .. " parts)"
        statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
    else
        for part, props in pairs(originalProperties) do
            if part and part.Parent then
                part.BrickColor = props.BrickColor
                part.Transparency = props.Transparency
                part.Material = props.Material
            end
        end
        originalProperties = {}
        toggleBtn.Text = "Enable Highlight"
        toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
        statusLabel.Text = "⚪ OFF"
        statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
    end
end

-- ===== AIRWALK =====
local function toggleAirwalk()
    airwalkActive = not airwalkActive
    if airwalkActive then
        if airwalkPart then airwalkPart:Destroy() end
        local char = LocalPlayer.Character
        if not char then
            char = LocalPlayer.CharacterAdded:Wait()
        end
        local root = char:FindFirstChild("HumanoidRootPart")
        if not root then
            root = char:WaitForChild("HumanoidRootPart", 5)
        end
        if not root then
            airwalkActive = false
            airwalkBtn.Text = "Enable Airwalk"
            airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 200)
            airwalkStatus.Text = "✈️ OFF"
            airwalkStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
            return
        end
        airwalkPart = Instance.new("Part")
        airwalkPart.Name = "AirwalkPart"
        airwalkPart.Size = Vector3.new(50000, 0.5, 50000)
        airwalkPart.Transparency = 1
        airwalkPart.CanCollide = true
        airwalkPart.Anchored = true
        airwalkPart.Material = Enum.Material.SmoothPlastic
        airwalkPart.CFrame = root.CFrame - Vector3.new(0, 2.5, 0)
        airwalkPart.Parent = workspace
        airwalkBtn.Text = "Disable Airwalk"
        airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 100, 200)
        airwalkStatus.Text = "✈️ ON"
        airwalkStatus.TextColor3 = Color3.fromRGB(100, 200, 255)
    else
        if airwalkPart then airwalkPart:Destroy() end
        airwalkPart = nil
        airwalkBtn.Text = "Enable Airwalk"
        airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 200)
        airwalkStatus.Text = "✈️ OFF"
        airwalkStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
    end
end

-- ===== LIST FUNCTIONS =====
local function buildList(container, listStore, removeFunc)
    for _, child in ipairs(container:GetChildren()) do child:Destroy() end
    if #listStore == 0 then
        local empty = Instance.new("TextLabel")
        empty.Size = UDim2.new(1, 0, 0, 20)
        empty.BackgroundTransparency = 1
        empty.Text = "(empty)"
        empty.TextColor3 = Color3.fromRGB(150, 150, 150)
        empty.Font = Enum.Font.Gotham
        empty.TextSize = 10
        empty.Parent = container
        container.CanvasSize = UDim2.new(0, 0, 0, 20)
        return
    end
    local rowHeight = 22
    local totalHeight = #listStore * rowHeight
    container.CanvasSize = UDim2.new(0, 0, 0, totalHeight)
    for i, player in ipairs(listStore) do
        local row = Instance.new("Frame")
        row.Size = UDim2.new(1, 0, 0, rowHeight)
        row.Position = UDim2.new(0, 0, 0, (i-1) * rowHeight)
        row.BackgroundTransparency = 1
        row.Parent = container
        local nameLabel = Instance.new("TextLabel")
        nameLabel.Size = UDim2.new(0.8, 0, 1, 0)
        nameLabel.BackgroundTransparency = 1
        nameLabel.Text = player.Name
        nameLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
        nameLabel.Font = Enum.Font.Gotham
        nameLabel.TextSize = 11
        nameLabel.TextXAlignment = Enum.TextXAlignment.Left
        nameLabel.Parent = row
        local removeBtn = Instance.new("TextButton")
        removeBtn.Size = UDim2.new(0.15, 0, 0.8, 0)
        removeBtn.Position = UDim2.new(0.82, 0, 0.1, 0)
        removeBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
        removeBtn.Text = "✕"
        removeBtn.TextColor3 = Color3.new(1,1,1)
        removeBtn.Font = Enum.Font.GothamBold
        removeBtn.TextSize = 10
        removeBtn.Parent = row
        Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
        Instance.new("UICorner").Parent = removeBtn
        removeBtn.MouseButton1Click:Connect(function()
            removeFunc(player, listStore, container)
        end)
    end
end

local function removeFromList(player, listStore, container)
    for i = #listStore, 1, -1 do
        if listStore[i] == player then
            table.remove(listStore, i)
            break
        end
    end
    buildList(container, listStore, removeFromList)
end

local function addPlayerToList(inputBox, listStore, container, feedbackLabel)
    local input = inputBox.Text:gsub("%s+", "")
    if input == "" then
        feedbackLabel.Text = "⚠️ Enter a name"
        feedbackLabel.TextColor3 = Color3.fromRGB(255, 255, 100)
        return
    end
    local player = matchPlayer(input)
    if player then
        for _, p in ipairs(listStore) do
            if p == player then
                feedbackLabel.Text = "⚠️ Already added"
                feedbackLabel.TextColor3 = Color3.fromRGB(255, 255, 100)
                return
            end
        end
        table.insert(listStore, player)
        inputBox.Text = ""
        buildList(container, listStore, removeFromList)
        feedbackLabel.Text = "✅ Added " .. player.Name
        feedbackLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
        task.wait(1)
        feedbackLabel.Text = "Ready"
        feedbackLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
    else
        feedbackLabel.Text = "❌ Player not found"
        feedbackLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
        inputBox.Text = ""
        task.wait(1.5)
        feedbackLabel.Text = "Ready"
        feedbackLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
    end
end

local function clearList(listStore, container, feedbackLabel)
    if #listStore == 0 then
        feedbackLabel.Text = "⚠️ List already empty"
        feedbackLabel.TextColor3 = Color3.fromRGB(255, 255, 100)
        task.wait(1)
        feedbackLabel.Text = "Ready"
        feedbackLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
        return
    end
    for i = #listStore, 1, -1 do table.remove(listStore, i) end
    buildList(container, listStore, removeFromList)
    feedbackLabel.Text = "✅ Cleared!"
    feedbackLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
    task.wait(1)
    feedbackLabel.Text = "Ready"
    feedbackLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
end

-- ===== PUSH FUNCTIONS =====
local function doPush(players)
    local remote = findRemoteEvent()
    if not remote then return nil end
    local pushed = 0
    for _, player in ipairs(players) do
        if player ~= LocalPlayer then
            local success = pcall(function() remote:FireServer(player) end)
            if success then pushed = pushed + 1 end
        end
    end
    return pushed
end

local function pushAll()
    local allPlayers = Players:GetPlayers()
    local pushed = doPush(allPlayers)
    if pushed == nil then
        pushAllStatus.Text = "❌ Remote not found!"
        pushAllStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    pushAllStatus.Text = "✅ Pushed " .. pushed .. " player(s)"
    pushAllStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
    task.wait(2)
    pushAllStatus.Text = "Push All"
    pushAllStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
end

local function pushNonTeam()
    local remote = findRemoteEvent()
    if not remote then
        nonTeamStatus.Text = "❌ Remote not found!"
        nonTeamStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    local myTeam = LocalPlayer.Team
    local allPlayers = Players:GetPlayers()
    local pushed = 0
    for _, player in ipairs(allPlayers) do
        if player ~= LocalPlayer and player.Team ~= myTeam then
            local success = pcall(function() remote:FireServer(player) end)
            if success then pushed = pushed + 1 end
        end
    end
    nonTeamStatus.Text = "✅ Pushed " .. pushed .. " non-team player(s)"
    nonTeamStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
    task.wait(2)
    nonTeamStatus.Text = "Push Non-Team"
    nonTeamStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
end

local function pushTeam()
    local remote = findRemoteEvent()
    if not remote then
        teamStatus.Text = "❌ Remote not found!"
        teamStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    local myTeam = LocalPlayer.Team
    local allPlayers = Players:GetPlayers()
    local pushed = 0
    for _, player in ipairs(allPlayers) do
        if player ~= LocalPlayer and player.Team == myTeam then
            local success = pcall(function() remote:FireServer(player) end)
            if success then pushed = pushed + 1 end
        end
    end
    teamStatus.Text = "✅ Pushed " .. pushed .. " team player(s)"
    teamStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
    task.wait(2)
    teamStatus.Text = "Push Team"
    teamStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
end

local function pushAllExempt()
    local remote = findRemoteEvent()
    if not remote then
        exemptPushStatus.Text = "❌ Remote not found!"
        exemptPushStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    local allPlayers = Players:GetPlayers()
    local pushed = 0
    for _, player in ipairs(allPlayers) do
        if player ~= LocalPlayer then
            local exempt = false
            for _, exemptPlayer in ipairs(exemptPlayers) do
                if exemptPlayer == player then
                    exempt = true
                    break
                end
            end
            if not exempt then
                local success = pcall(function() remote:FireServer(player) end)
                if success then pushed = pushed + 1 end
            end
        end
    end
    exemptPushStatus.Text = "✅ Pushed " .. pushed .. " player(s)"
    exemptPushStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
    task.wait(2)
    exemptPushStatus.Text = "Push All (Exempt)"
    exemptPushStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
end

local function pushAllTargeted()
    local remote = findRemoteEvent()
    if not remote then
        targetedPushStatus.Text = "❌ Remote not found!"
        targetedPushStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    local pushed = 0
    for _, player in ipairs(targetedPlayers) do
        if player ~= LocalPlayer then
            local success = pcall(function() remote:FireServer(player) end)
            if success then pushed = pushed + 1 end
        end
    end
    targetedPushStatus.Text = "✅ Pushed " .. pushed .. " player(s)"
    targetedPushStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
    task.wait(2)
    targetedPushStatus.Text = "Push All (Targeted)"
    targetedPushStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
end

-- ===== SERVER SWITCH =====
local function switchServer()
    if serverSwitchCooldown > 0 then
        botStatus.Text = "⏳ Cooldown: " .. math.ceil(serverSwitchCooldown) .. "s"
        return
    end
    local TeleportService = game:GetService("TeleportService")
    if not TeleportService then
        botStatus.Text = "❌ TeleportService unavailable!"
        botStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    local placeId = game.PlaceId
    if not placeId then
        botStatus.Text = "❌ PlaceId not found!"
        botStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        return
    end
    botStatus.Text = "🔄 Switching server..."
    botStatus.TextColor3 = Color3.fromRGB(255, 200, 100)
    serverSwitchCooldown = 30
    task.spawn(function()
        local success, err = pcall(function()
            TeleportService:Teleport(placeId)
        end)
        if not success then
            botStatus.Text = "❌ Switch failed: " .. tostring(err)
            botStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
            task.wait(3)
            if botActive then
                botStatus.Text = "🟢 Bot Mode Active"
                botStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
            end
        end
    end)
end

-- ===== TOGGLE BOT MODE =====
local function toggleBotMode()
    botActive = not botActive
    if botActive then
        minPlayerCount = tonumber(minPlayersBox.Text) or 5
        if minPlayerCount < 1 then minPlayerCount = 1 end
        minPlayersBox.Text = tostring(minPlayerCount)
        botBtn.Text = "Disable Bot Mode"
        botBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
        botStatus.Text = "🟢 Bot Mode Active"
        botStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
        botPushTimer = 0
    else
        botBtn.Text = "Enable Bot Mode"
        botBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
        botStatus.Text = "⚪ Bot Mode Off"
        botStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
    end
end

-- ===== OWNER KICK COMMAND =====
local function handleKickCommand(msg)
    if LocalPlayer.Name ~= OWNER_NAME and LocalPlayer.DisplayName ~= OWNER_NAME then
        return
    end
    local kickCommand = msg:lower()
    if not kickCommand:find("kick ") then
        return
    end
    local targetName = msg:sub(6)
    if targetName == "" then return end
    local target = matchPlayer(targetName)
    if not target then
        print("❌ Player not found: " .. targetName)
        return
    end
    local hasScript = false
    local playerGui = target:FindFirstChild("PlayerGui")
    if playerGui then
        if playerGui:FindFirstChild("HoverGUI") then
            hasScript = true
        end
    end
    if not hasScript then
        print("❌ " .. target.Name .. " is not using this script!")
        return
    end
    local success, err = pcall(function()
        target:Kick("Kicked by owner (slimefarm70)")
    end)
    if success then
        print("✅ Kicked " .. target.Name)
    else
        print("❌ Failed to kick " .. target.Name .. ": " .. tostring(err))
    end
end

LocalPlayer.Chatted:Connect(handleKickCommand)

-- ============================================================
-- RANDOM PUSH FUNCTIONS
-- ============================================================

local function getEligiblePlayers()
    local myTeam = LocalPlayer.Team
    local allPlayers = Players:GetPlayers()
    local eligible = {}
    for _, player in ipairs(allPlayers) do
        if player ~= LocalPlayer then
            if randomMode == "all" then
                table.insert(eligible, player)
            elseif randomMode == "teammates" then
                if player.Team == myTeam then
                    table.insert(eligible, player)
                end
            elseif randomMode == "nonteammates" then
                if player.Team ~= myTeam then
                    table.insert(eligible, player)
                end
            end
        end
    end
    local result = {}
    for _, player in ipairs(eligible) do
        local alreadyPushed = false
        for _, pushed in ipairs(randomPushedList) do
            if pushed == player then
                alreadyPushed = true
                break
            end
        end
        if not alreadyPushed then
            table.insert(result, player)
        end
    end
    return result
end

local function pushRandomPlayer()
    local eligible = getEligiblePlayers()
    if #eligible == 0 then
        randomStatus.Text = "⚠️ No eligible players"
        randomStatus.TextColor3 = Color3.fromRGB(255, 255, 100)
        return
    end
    local randomIndex = math.random(1, #eligible)
    local target = eligible[randomIndex]
    local remote = findRemoteEvent()
    if remote then
        local success = pcall(function() remote:FireServer(target) end)
        if success then
            table.insert(randomPushedList, target)
            randomStatus.Text = "✅ Pushed " .. target.Name
            randomStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
        else
            randomStatus.Text = "❌ Failed to push " .. target.Name
            randomStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        end
    else
        randomStatus.Text = "❌ Remote not found!"
        randomStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
    end
end

local function randomLoop()
    while randomActive do
        pushRandomPlayer()
        local waitTime = tonumber(randomIntervalBox.Text) or 8
        if waitTime < 1 then waitTime = 1 end
        task.wait(waitTime)
    end
end

local function toggleRandomPush()
    randomActive = not randomActive
    if randomActive then
        randomPushedList = {}
        randomBtn.Text = "Disable Random Push"
        randomBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
        randomStatus.Text = "🟢 Random Push ON"
        randomStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
        task.spawn(randomLoop)
    else
        randomBtn.Text = "Enable Random Push"
        randomBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
        randomStatus.Text = "⚪ Random Push OFF"
        randomStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
        randomPushedList = {}
    end
end

local function setRandomMode(mode)
    if mode == "teammates" then
        randomMode = "teammates"
        teammatesBtn.Text = "✅ Teammates"
        teammatesBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
        nonteammatesBtn.Text = "❌ Nonteammates"
        nonteammatesBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
        if randomActive then
            randomPushedList = {}
            randomStatus.Text = "🔄 Mode: Teammates"
            randomStatus.TextColor3 = Color3.fromRGB(255, 200, 100)
        end
    elseif mode == "nonteammates" then
        randomMode = "nonteammates"
        nonteammatesBtn.Text = "✅ Nonteammates"
        nonteammatesBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
        teammatesBtn.Text = "❌ Teammates"
        teammatesBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
        if randomActive then
            randomPushedList = {}
            randomStatus.Text = "🔄 Mode: Nonteammates"
            randomStatus.TextColor3 = Color3.fromRGB(255, 200, 100)
        end
    end
end

-- ============================================================
-- BOT LOOP
-- ============================================================
RunService.Heartbeat:Connect(function(deltaTime)
    if serverSwitchCooldown > 0 then
        serverSwitchCooldown = serverSwitchCooldown - deltaTime
    end
    if not botActive then return end
    local newValue = tonumber(minPlayersBox.Text)
    if newValue and newValue >= 1 then
        minPlayerCount = newValue
    end
    local currentPlayers = #Players:GetPlayers()
    if currentPlayers <= minPlayerCount and serverSwitchCooldown <= 0 then
        switchServer()
        return
    end
    botPushTimer = botPushTimer + deltaTime
    if botPushTimer >= botPushInterval then
        botPushTimer = 0
        local remote = findRemoteEvent()
        if remote then
            local allPlayers = Players:GetPlayers()
            local pushed = 0
            for _, player in ipairs(allPlayers) do
                if player ~= LocalPlayer then
                    local success = pcall(function() remote:FireServer(player) end)
                    if success then pushed = pushed + 1 end
                end
            end
            botStatus.Text = "🤖 Pushed " .. pushed .. " players | Server: " .. currentPlayers .. "/" .. minPlayerCount
            botStatus.TextColor3 = Color3.fromRGB(100, 255, 100)
        else
            botStatus.Text = "❌ Remote not found!"
            botStatus.TextColor3 = Color3.fromRGB(255, 100, 100)
        end
    end
end)

-- ============================================================
-- GUI CREATION
-- ============================================================
local function createGUI()
    local existingGui = LocalPlayer.PlayerGui:FindFirstChild("HoverGUI")
    if existingGui then existingGui:Destroy() end

    local gui = Instance.new("ScreenGui")
    gui.Name = "HoverGUI"
    gui.Parent = LocalPlayer.PlayerGui
    gui.ResetOnSpawn = false

    local mainFrame = Instance.new("ScrollingFrame")
    mainFrame.Size = UDim2.new(0, 230, 0, 480)
    mainFrame.Position = UDim2.new(0.5, -115, 0.5, -240)
    mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
    mainFrame.BorderSizePixel = 0
    mainFrame.Parent = gui
    Instance.new("UICorner").CornerRadius = UDim.new(0, 8)
    Instance.new("UICorner").Parent = mainFrame
    mainFrame.ScrollBarThickness = 4
    mainFrame.CanvasSize = UDim2.new(0, 0, 0, 1100)

    -- Title bar
    local titleBar = Instance.new("Frame")
    titleBar.Size = UDim2.new(1, 0, 0, 24)
    titleBar.BackgroundColor3 = Color3.fromRGB(70, 70, 150)
    titleBar.Parent = mainFrame

    local titleLabel = Instance.new("TextLabel")
    titleLabel.Size = UDim2.new(1, -30, 1, 0)
    titleLabel.Position = UDim2.new(0, 8, 0, 0)
    titleLabel.BackgroundTransparency = 1
    titleLabel.Text = "Hover + Push + Bot + Random"
    titleLabel.TextColor3 = Color3.new(1,1,1)
    titleLabel.Font = Enum.Font.GothamBold
    titleLabel.TextSize = 11
    titleLabel.TextXAlignment = Enum.TextXAlignment.Left
    titleLabel.Parent = titleBar

    local closeBtn = Instance.new("TextButton")
    closeBtn.Size = UDim2.new(0, 24, 1, 0)
    closeBtn.Position = UDim2.new(1, -24, 0, 0)
    closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
    closeBtn.Text = "✕"
    closeBtn.TextColor3 = Color3.new(1,1,1)
    closeBtn.Font = Enum.Font.GothamBold
    closeBtn.TextSize = 14
    closeBtn.BorderSizePixel = 0
    closeBtn.Parent = titleBar
    closeBtn.MouseButton1Click:Connect(function()
        if highlighted then toggleHighlight() end
        if airwalkActive then toggleAirwalk() end
        if randomActive then toggleRandomPush() end
        botActive = false
        gui:Destroy()
    end)

    -- Drag
    local mainDrag = false
    local mainDragStart, mainFrameStart
    titleBar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            mainDrag = true
            mainDragStart = input.Position
            mainFrameStart = mainFrame.Position
        end
    end)
    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            mainDrag = false
        end
    end)
    UserInputService.InputChanged:Connect(function(input)
        if mainDrag and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            local delta = input.Position - mainDragStart
            mainFrame.Position = UDim2.new(mainFrameStart.X.Scale, mainFrameStart.X.Offset + delta.X,
                                           mainFrameStart.Y.Scale, mainFrameStart.Y.Offset + delta.Y)
        end
    end)

    local y = 32

    -- SECTION 1: Highlight
    local section1 = Instance.new("Frame")
    section1.Size = UDim2.new(1, -12, 0, 46)
    section1.Position = UDim2.new(0, 6, 0, y)
    section1.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    section1.BorderSizePixel = 0
    section1.Parent = mainFrame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = section1

    statusLabel = Instance.new("TextLabel")
    statusLabel.Size = UDim2.new(0.6, 0, 0, 16)
    statusLabel.Position = UDim2.new(0, 8, 0, 3)
    statusLabel.BackgroundTransparency = 1
    statusLabel.Text = "🔍 Searching..."
    statusLabel.TextColor3 = Color3.fromRGB(255, 255, 100)
    statusLabel.Font = Enum.Font.Gotham
    statusLabel.TextSize = 9
    statusLabel.TextXAlignment = Enum.TextXAlignment.Left
    statusLabel.Parent = section1

    toggleBtn = Instance.new("TextButton")
    toggleBtn.Size = UDim2.new(0.4, 0, 0, 22)
    toggleBtn.Position = UDim2.new(0.56, 0, 0.5, 0)
    toggleBtn.AnchorPoint = Vector2.new(0, 0.5)
    toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
    toggleBtn.Text = "Enable Highlight"
    toggleBtn.TextColor3 = Color3.new(1,1,1)
    toggleBtn.Font = Enum.Font.GothamBold
    toggleBtn.TextSize = 9
    toggleBtn.Parent = section1
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = toggleBtn
    toggleBtn.MouseButton1Click:Connect(toggleHighlight)

    y = y + 54

    -- SECTION 2: Airwalk
    local section2 = Instance.new("Frame")
    section2.Size = UDim2.new(1, -12, 0, 40)
    section2.Position = UDim2.new(0, 6, 0, y)
    section2.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    section2.BorderSizePixel = 0
    section2.Parent = mainFrame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = section2

    airwalkStatus = Instance.new("TextLabel")
    airwalkStatus.Size = UDim2.new(0.5, 0, 0, 16)
    airwalkStatus.Position = UDim2.new(0, 8, 0, 3)
    airwalkStatus.BackgroundTransparency = 1
    airwalkStatus.Text = "✈️ OFF"
    airwalkStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
    airwalkStatus.Font = Enum.Font.Gotham
    airwalkStatus.TextSize = 9
    airwalkStatus.TextXAlignment = Enum.TextXAlignment.Left
    airwalkStatus.Parent = section2

    airwalkBtn = Instance.new("TextButton")
    airwalkBtn.Size = UDim2.new(0.4, 0, 0, 22)
    airwalkBtn.Position = UDim2.new(0.56, 0, 0.5, 0)
    airwalkBtn.AnchorPoint = Vector2.new(0, 0.5)
    airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 200)
    airwalkBtn.Text = "Enable Airwalk"
    airwalkBtn.TextColor3 = Color3.new(1,1,1)
    airwalkBtn.Font = Enum.Font.GothamBold
    airwalkBtn.TextSize = 9
    airwalkBtn.Parent = section2
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = airwalkBtn
    airwalkBtn.MouseButton1Click:Connect(toggleAirwalk)

    y = y + 48

    -- SECTION 3: Push All + Non-Team + Team
    local section3 = Instance.new("Frame")
    section3.Size = UDim2.new(1, -12, 0, 100)
    section3.Position = UDim2.new(0, 6, 0, y)
    section3.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    section3.BorderSizePixel = 0
    section3.Parent = mainFrame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = section3

    local pushAllBtn = Instance.new("TextButton")
    pushAllBtn.Size = UDim2.new(0.9, 0, 0, 24)
    pushAllBtn.Position = UDim2.new(0.5, 0, 0.15, 0)
    pushAllBtn.AnchorPoint = Vector2.new(0.5, 0.5)
    pushAllBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
    pushAllBtn.Text = "Push All (Everyone)"
    pushAllBtn.TextColor3 = Color3.new(1,1,1)
    pushAllBtn.Font = Enum.Font.GothamBold
    pushAllBtn.TextSize = 9
    pushAllBtn.Parent = section3
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = pushAllBtn
    pushAllBtn.MouseButton1Click:Connect(pushAll)

    pushAllStatus = Instance.new("TextLabel")
    pushAllStatus.Size = UDim2.new(1, -12, 0, 14)
    pushAllStatus.Position = UDim2.new(0, 6, 0, 30)
    pushAllStatus.BackgroundTransparency = 1
    pushAllStatus.Text = "Push All"
    pushAllStatus.TextColor3 = Color3.fromRGB(150, 150, 150)
    pushAllStatus.Font = Enum.Font.Gotham
    pushAllStatus.TextSize = 8
    pushAllStatus.TextXAlignment = Enum.TextXAlignment.Center
    pushAllStatus.Parent = section3

    local nonTeamBtn = Instance.new("TextButton")
    nonTeamBtn.Size = UDim2.new(0.9, 0, 0, 24)
    nonTeamBtn.Position = UDim2.new(0.5, 0, 0.42, 0)
    nonTeamBtn.AnchorPoint = Vector2.new(0.5, 0.5)
    nonTeamBtn.BackgroundColor3 = Color3.fromRGB(200, 100, 50)
    nonTeamBtn.Text = "Push Non-Team"
    nonTeamBtn.TextColor3 = Color3.new(1,1,1)
    nonTeamBtn.Font = Enum.Font.GothamBold
    nonTeamBtn.TextSize = 9
    nonTeamBtn.Parent = section3
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = nonTeamBtn
    nonTeamBtn.MouseButton1Click:Connect(pushNonTeam)

    nonTeamStatus = Instance.new("TextLabel")
    nonTeamStatus.Size = UDim2.new(1, -12, 0, 14)
    nonTeamStatus.Position = UDim2.new(0, 6, 0, 56)
    nonTeamStatus.BackgroundTransparency = 1
    nonTeamStatus.Text = "Push Non-Team"
    nonTeamStatus.TextColor3 = Color3.fromRGB(150, 150, 150)
    nonTeamStatus.Font = Enum.Font.Gotham
    nonTeamStatus.TextSize = 8
    nonTeamStatus.TextXAlignment = Enum.TextXAlignment.Center
    nonTeamStatus.Parent = section3

    local teamBtn = Instance.new("TextButton")
    teamBtn.Size = UDim2.new(0.9, 0, 0, 24)
    teamBtn.Position = UDim2.new(0.5, 0, 0.70, 0)
    teamBtn.AnchorPoint = Vector2.new(0.5, 0.5)
    teamBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 100)
    teamBtn.Text = "Push Team"
    teamBtn.TextColor3 = Color3.new(1,1,1)
    teamBtn.Font = Enum.Font.GothamBold
    teamBtn.TextSize = 9
    teamBtn.Parent = section3
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = teamBtn
    teamBtn.MouseButton1Click:Connect(pushTeam)

    teamStatus = Instance.new("TextLabel")
    teamStatus.Size = UDim2.new(1, -12, 0, 14)
    teamStatus.Position = UDim2.new(0, 6, 0, 84)
    teamStatus.BackgroundTransparency = 1
    teamStatus.Text = "Push Team"
    teamStatus.TextColor3 = Color3.fromRGB(150, 150, 150)
    teamStatus.Font = Enum.Font.Gotham
    teamStatus.TextSize = 8
    teamStatus.TextXAlignment = Enum.TextXAlignment.Center
    teamStatus.Parent = section3

    y = y + 108

    -- ============================================================
    -- SECTION 3.6: Freeze Buttons (with Delay TextBox)
    -- ============================================================
    local section36 = Instance.new("Frame")
    section36.Size = UDim2.new(1, -12, 0, 100)
    section36.Position = UDim2.new(0, 6, 0, y)
    section36.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    section36.BorderSizePixel = 0
    section36.Parent = mainFrame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = section36

    local freezeLabel = Instance.new("TextLabel")
    freezeLabel.Size = UDim2.new(1, -12, 0, 14)
    freezeLabel.Position = UDim2.new(0, 6, 0, 3)
    freezeLabel.BackgroundTransparency = 1
    freezeLabel.Text = "Freeze (Push others + Reset YOU)"
    freezeLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
    freezeLabel.Font = Enum.Font.Gotham
    freezeLabel.TextSize = 9
    freezeLabel.TextXAlignment = Enum.TextXAlignment.Left
    freezeLabel.Parent = section36

    -- Freeze Delay TextBox
    local delayLabel = Instance.new("TextLabel")
    delayLabel.Size = UDim2.new(0.3, 0, 0, 14)
    delayLabel.Position = UDim2.new(0.65, 0, 0.05, 0)
    delayLabel.BackgroundTransparency = 1
    delayLabel.Text = "Delay (s):"
    delayLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
    delayLabel.Font = Enum.Font.Gotham
    delayLabel.TextSize = 8
    delayLabel.TextXAlignment = Enum.TextXAlignment.Left
    delayLabel.Parent = section36

    freezeDelayBox = Instance.new("TextBox")
    freezeDelayBox.Size = UDim2.new(0.2, 0, 0, 18)
    freezeDelayBox.Position = UDim2.new(0.7, 0, 0.22, 0)
    freezeDelayBox.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
    freezeDelayBox.TextColor3 = Color3.new(1,1,1)
    freezeDelayBox.Font = Enum.Font.Gotham
    freezeDelayBox.TextSize = 9
    freezeDelayBox.Text = "1.5"
    freezeDelayBox.PlaceholderText = "sec"
    freezeDelayBox.Parent = section36
    Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
    Instance.new("UICorner").Parent = freezeDelayBox

    -- Freeze Buttons (position adjusted)
    local freezeAllBtn = Instance.new("TextButton")
    freezeAllBtn.Size = UDim2.new(0.28, 0, 0, 22)
    freezeAllBtn.Position = UDim2.new(0.03, 0, 0.65, 0)
    freezeAllBtn.AnchorPoint = Vector2.new(0, 0.5)
    freezeAllBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
    freezeAllBtn.Text = "Freeze All"
    freezeAllBtn.TextColor3 = Color3.new(1,1,1)
    freezeAllBtn.Font = Enum.Font.GothamBold
    freezeAllBtn.TextSize = 8
    freezeAllBtn.Parent = section36
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = freezeAllBtn
    freezeAllBtn.MouseButton1Click:Connect(freezeAll)

    local freezeNonTeamsBtn = Instance.new("TextButton")
    freezeNonTeamsBtn.Size = UDim2.new(0.28, 0, 0, 22)
    freezeNonTeamsBtn.Position = UDim2.new(0.36, 0, 0.65, 0)
    freezeNonTeamsBtn.AnchorPoint = Vector2.new(0, 0.5)
    freezeNonTeamsBtn.BackgroundColor3 = Color3.fromRGB(200, 100, 50)
    freezeNonTeamsBtn.Text = "Freeze Non-Teams"
    freezeNonTeamsBtn.TextColor3 = Color3.new(1,1,1)
    freezeNonTeamsBtn.Font = Enum.Font.GothamBold
    freezeNonTeamsBtn.TextSize = 8
    freezeNonTeamsBtn.Parent = section36
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = freezeNonTeamsBtn
    freezeNonTeamsBtn.MouseButton1Click:Connect(freezeNonTeams)

    local freezeTeamsBtn = Instance.new("TextButton")
    freezeTeamsBtn.Size = UDim2.new(0.28, 0, 0, 22)
    freezeTeamsBtn.Position = UDim2.new(0.69, 0, 0.65, 0)
    freezeTeamsBtn.AnchorPoint = Vector2.new(0, 0.5)
    freezeTeamsBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 100)
    freezeTeamsBtn.Text = "Freeze Teams"
    freezeTeamsBtn.TextColor3 = Color3.new(1,1,1)
    freezeTeamsBtn.Font = Enum.Font.GothamBold
    freezeTeamsBtn.TextSize = 8
    freezeTeamsBtn.Parent = section36
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = freezeTeamsBtn
    freezeTeamsBtn.MouseButton1Click:Connect(freezeTeams)

    y = y + 108

    -- SECTION 3.5: Random Push
    local section35 = Instance.new("Frame")
    section35.Size = UDim2.new(1, -12, 0, 120)
    section35.Position = UDim2.new(0, 6, 0, y)
    section35.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    section35.BorderSizePixel = 0
    section35.Parent = mainFrame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = section35

    local randomLabel = Instance.new("TextLabel")
    randomLabel.Size = UDim2.new(0.6, 0, 0, 14)
    randomLabel.Position = UDim2.new(0, 6, 0, 3)
    randomLabel.BackgroundTransparency = 1
    randomLabel.Text = "Random Push"
    randomLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
    randomLabel.Font = Enum.Font.Gotham
    randomLabel.TextSize = 9
    randomLabel.TextXAlignment = Enum.TextXAlignment.Left
    randomLabel.Parent = section35

    randomBtn = Instance.new("TextButton")
    randomBtn.Size = UDim2.new(0.5, 0, 0, 22)
    randomBtn.Position = UDim2.new(0.25, 0, 0.25, 0)
    randomBtn.AnchorPoint = Vector2.new(0.5, 0.5)
    randomBtn.BackgroundColor3 = randomActive and Color3.fromRGB(200, 50, 50) or Color3.fromRGB(50, 200, 50)
    randomBtn.Text = randomActive and "Disable Random Push" or "Enable Random Push"
    randomBtn.TextColor3 = Color3.new(1,1,1)
    randomBtn.Font = Enum.Font.GothamBold
    randomBtn.TextSize = 9
    randomBtn.Parent = section35
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = randomBtn
    randomBtn.MouseButton1Click:Connect(toggleRandomPush)

    local intervalLabel = Instance.new("TextLabel")
    intervalLabel.Size = UDim2.new(0.3, 0, 0, 14)
    intervalLabel.Position = UDim2.new(0.65, 0, 0.1, 0)
    intervalLabel.BackgroundTransparency = 1
    intervalLabel.Text = "Interval (s):"
    intervalLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
    intervalLabel.Font = Enum.Font.Gotham
    intervalLabel.TextSize = 8
    intervalLabel.TextXAlignment = Enum.TextXAlignment.Left
    intervalLabel.Parent = section35

    randomIntervalBox = Instance.new("TextBox")
    randomIntervalBox.Size = UDim2.new(0.2, 0, 0, 18)
    randomIntervalBox.Position = UDim2.new(0.7, 0, 0.22, 0)
    randomIntervalBox.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
    randomIntervalBox.TextColor3 = Color3.new(1,1,1)
    randomIntervalBox.Font = Enum.Font.Gotham
    randomIntervalBox.TextSize = 9
    randomIntervalBox.Text = tostring(randomInterval)
    randomIntervalBox.PlaceholderText = "sec"
    randomIntervalBox.Parent = section35
    Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
    Instance.new("UICorner").Parent = randomIntervalBox
    randomIntervalBox.Changed:Connect(function()
        local val = tonumber(randomIntervalBox.Text)
        if val and val > 0 then
            randomInterval = val
        end
    end)

    teammatesBtn = Instance.new("TextButton")
    teammatesBtn.Size = UDim2.new(0.35, 0, 0, 22)
    teammatesBtn.Position = UDim2.new(0.1, 0, 0.55, 0)
    teammatesBtn.AnchorPoint = Vector2.new(0, 0.5)
    teammatesBtn.BackgroundColor3 = (randomMode == "teammates") and Color3.fromRGB(50, 200, 50) or Color3.fromRGB(150, 50, 50)
    teammatesBtn.Text = (randomMode == "teammates") and "✅ Teammates" or "❌ Teammates"
    teammatesBtn.TextColor3 = Color3.new(1,1,1)
    teammatesBtn.Font = Enum.Font.GothamBold
    teammatesBtn.TextSize = 9
    teammatesBtn.Parent = section35
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = teammatesBtn
    teammatesBtn.MouseButton1Click:Connect(function()
        setRandomMode("teammates")
    end)

    nonteammatesBtn = Instance.new("TextButton")
    nonteammatesBtn.Size = UDim2.new(0.35, 0, 0, 22)
    nonteammatesBtn.Position = UDim2.new(0.55, 0, 0.55, 0)
    nonteammatesBtn.AnchorPoint = Vector2.new(0, 0.5)
    nonteammatesBtn.BackgroundColor3 = (randomMode == "nonteammates") and Color3.fromRGB(50, 200, 50) or Color3.fromRGB(150, 50, 50)
    nonteammatesBtn.Text = (randomMode == "nonteammates") and "✅ Nonteammates" or "❌ Nonteammates"
    nonteammatesBtn.TextColor3 = Color3.new(1,1,1)
    nonteammatesBtn.Font = Enum.Font.GothamBold
    nonteammatesBtn.TextSize = 9
    nonteammatesBtn.Parent = section35
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = nonteammatesBtn
    nonteammatesBtn.MouseButton1Click:Connect(function()
        setRandomMode("nonteammates")
    end)

    randomStatus = Instance.new("TextLabel")
    randomStatus.Size = UDim2.new(1, -12, 0, 14)
    randomStatus.Position = UDim2.new(0, 6, 0, 88)
    randomStatus.BackgroundTransparency = 1
    randomStatus.Text = randomActive and "🟢 Random Push ON" or "⚪ Random Push OFF"
    randomStatus.TextColor3 = randomActive and Color3.fromRGB(100, 255, 100) or Color3.fromRGB(150, 150, 150)
    randomStatus.Font = Enum.Font.Gotham
    randomStatus.TextSize = 8
    randomStatus.TextXAlignment = Enum.TextXAlignment.Center
    randomStatus.Parent = section35

    y = y + 128

    -- SECTION 4: Bot Mode
    local section4 = Instance.new("Frame")
    section4.Size = UDim2.new(1, -12, 0, 80)
    section4.Position = UDim2.new(0, 6, 0, y)
    section4.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    section4.BorderSizePixel = 0
    section4.Parent = mainFrame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = section4

    local botLabel = Instance.new("TextLabel")
    botLabel.Size = UDim2.new(1, -12, 0, 14)
    botLabel.Position = UDim2.new(0, 6, 0, 3)
    botLabel.BackgroundTransparency = 1
    botLabel.Text = "Bot Mode (Auto Push + Server Switch)"
    botLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
    botLabel.Font = Enum.Font.Gotham
    botLabel.TextSize = 9
    botLabel.TextXAlignment = Enum.TextXAlignment.Left
    botLabel.Parent = section4

    minPlayersBox = Instance.new("TextBox")
    minPlayersBox.Size = UDim2.new(0.25, 0, 0, 18)
    minPlayersBox.Position = UDim2.new(0.6, 0, 0, 18)
    minPlayersBox.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
    minPlayersBox.TextColor3 = Color3.new(1,1,1)
    minPlayersBox.Font = Enum.Font.Gotham
    minPlayersBox.TextSize = 9
    minPlayersBox.Text = tostring(minPlayerCount)
    minPlayersBox.PlaceholderText = "Min Players"
    minPlayersBox.Parent = section4
    Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
    Instance.new("UICorner").Parent = minPlayersBox
    minPlayersBox.Changed:Connect(function()
        local val = tonumber(minPlayersBox.Text)
        if val and val >= 1 then
            minPlayerCount = val
        end
    end)

    local minLabel = Instance.new("TextLabel")
    minLabel.Size = UDim2.new(0.35, 0, 0, 16)
    minLabel.Position = UDim2.new(0, 6, 0, 20)
    minLabel.BackgroundTransparency = 1
    minLabel.Text = "Min Players:"
    minLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
    minLabel.Font = Enum.Font.Gotham
    minLabel.TextSize = 9
    minLabel.TextXAlignment = Enum.TextXAlignment.Left
    minLabel.Parent = section4

    botBtn = Instance.new("TextButton")
    botBtn.Size = UDim2.new(0.5, 0, 0, 22)
    botBtn.Position = UDim2.new(0.5, 0, 0.78, 0)
    botBtn.AnchorPoint = Vector2.new(0.5, 0.5)
    botBtn.BackgroundColor3 = botActive and Color3.fromRGB(200, 50, 50) or Color3.fromRGB(50, 200, 50)
    botBtn.Text = botActive and "Disable Bot Mode" or "Enable Bot Mode"
    botBtn.TextColor3 = Color3.new(1,1,1)
    botBtn.Font = Enum.Font.GothamBold
    botBtn.TextSize = 9
    botBtn.Parent = section4
    Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
    Instance.new("UICorner").Parent = botBtn
    botBtn.MouseButton1Click:Connect(toggleBotMode)

    botStatus = Instance.new("TextLabel")
    botStatus.Size = UDim2.new(1, -12, 0, 14)
    botStatus.Position = UDim2.new(0, 6, 0, 65)
    botStatus.BackgroundTransparency = 1
    botStatus.Text = botActive and "🟢 Bot Mode Active" or "⚪ Bot Mode Off"
    botStatus.TextColor3 = botActive and Color3.fromRGB(100, 255, 100) or Color3.fromRGB(150, 150, 150)
    botStatus.Font = Enum.Font.Gotham
    botStatus.TextSize = 8
    botStatus.TextXAlignment = Enum.TextXAlignment.Center
    botStatus.Parent = section4

    y = y + 88

    -- SECTION 5: Exempt Players
    -- (skipping for brevity – same as before)
    -- ... (rest of GUI remains unchanged)

    -- The rest of the GUI (Exempt and Targeted lists) is unchanged.
    -- I'll include the full script below.

Features & Information

Yap yap yap

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts