Test765
Key RequiredUniversal

Test765

Universal Scripttest8ngtest8ng 182 views 3 executesUpdated Mar 1, 2026
Unrated
00
Lua Script•1195 lines (43312 chars)
-- Hover Highlight (Green) + Airwalk + Push All/Non-Team/Team/Exempt/Targeted + Bot Mode
-- Owner: slimefarm70 can type "kick (player)" to kick script users

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

local highlighted = false
local originalProperties = {}
local airwalkPart = nil
local airwalkActive = false

local exemptPlayers = {}
local targetedPlayers = {}

-- Bot Mode Variables
local botActive = false
local botPushTimer = 0
local botPushInterval = 5
local minPlayerCount = 5
local serverSwitchCooldown = 0

-- Owner
local OWNER_NAME = "slimefarm70"

-- ===== PERSISTENCE FUNCTIONS =====
local function saveBotState(active)
    local char = LocalPlayer.Character
    if not char then return end
    local botValue = char:FindFirstChild("BotModeActive")
    if not botValue then
        botValue = Instance.new("BoolValue")
        botValue.Name = "BotModeActive"
        botValue.Parent = char
    end
    botValue.Value = active
end

local function loadBotState()
    local char = LocalPlayer.Character
    if not char then return false end
    local botValue = char:FindFirstChild("BotModeActive")
    if botValue then
        return botValue.Value
    end
    return false
end

-- ===== 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
        local remote = searchScripts(game)
        if not remote then
            local function searchPartial(parent)
                for _, child in ipairs(parent:GetChildren()) do
                    if child:IsA("Script") and string.find(child.Name, "Push") then
                        for _, subChild in ipairs(child:GetChildren()) do
                            if subChild:IsA("RemoteEvent") then return subChild end
                        end
                    end
                    if #child:GetChildren() > 0 then
                        local found = searchPartial(child)
                        if found then return found end
                    end
                end
                return nil
            end
            remote = searchPartial(game)
        end
        return remote
    end)
    if success then return remote else return nil end
end

-- ===== FIND ALL 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

-- ===== 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
            local success, newChar = pcall(function()
                return LocalPlayer.CharacterAdded:Wait()
            end)
            if success and newChar then char = newChar else
                airwalkActive = false
                airwalkBtn.Text = "Enable Airwalk"
                airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 200)
                airwalkStatus.Text = "✈️ OFF (No char)"
                airwalkStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
                return
            end
        end
        
        local root = char:FindFirstChild("HumanoidRootPart")
        if not root then
            local success, newRoot = pcall(function()
                return char:WaitForChild("HumanoidRootPart", 5)
            end)
            if success and newRoot then root = newRoot else
                airwalkActive = false
                airwalkBtn.Text = "Enable Airwalk"
                airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 200)
                airwalkStatus.Text = "✈️ OFF (No root)"
                airwalkStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
                return
            end
        end

        local success, err = pcall(function()
            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
        end)
        
        if not success or not airwalkPart then
            warn("Failed to create airwalk part:", err)
            airwalkActive = false
            airwalkBtn.Text = "Enable Airwalk"
            airwalkBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 200)
            airwalkStatus.Text = "✈️ OFF (Creation failed)"
            airwalkStatus.TextColor3 = Color3.fromRGB(200, 200, 200)
            return
        end

        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

-- ===== 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

-- ===== BUILD LIST =====
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

-- ===== REMOVE FROM LIST =====
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

-- ===== ADD TO LIST =====
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

-- ===== CLEAR LIST =====
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 (Fixed) =====
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
        saveBotState(true)
    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)
        saveBotState(false)
    end
end

-- ===== OWNER KICK COMMAND =====
local function handleKickCommand(msg)
    -- Only the owner can use this
    if LocalPlayer.Name ~= OWNER_NAME and LocalPlayer.DisplayName ~= OWNER_NAME then
        return
    end
    
    -- Check if message starts with "kick "
    local kickCommand = msg:lower()
    if not kickCommand:find("kick ") then
        return
    end
    
    -- Extract player name (after "kick ")
    local targetName = msg:sub(6) -- remove "kick "
    if targetName == "" then return end
    
    -- Find the target player
    local target = matchPlayer(targetName)
    if not target then
        print("❌ Player not found: " .. targetName)
        return
    end
    
    -- Check if target has the script (look for the GUI)
    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
    
    -- Kick the player
    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

-- Listen for chat messages
LocalPlayer.Chatted:Connect(handleKickCommand)

-- ===== 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 =====
local gui = Instance.new("ScreenGui")
gui.Name = "HoverGUI"
gui.Parent = LocalPlayer:WaitForChild("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, 860)

-- 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"
titleLabel.TextColor3 = Color3.new(1,1,1)
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 12
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
    botActive = false
    saveBotState(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 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

local 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 = "5"
minPlayersBox.PlaceholderText = "Min Players"
minPlayersBox.Parent = section4
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = minPlayersBox

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

local 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 = Color3.fromRGB(50, 200, 50)
botBtn.Text = "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 = "⚪ Bot Mode Off"
botStatus.TextColor3 = 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 =====
local section5 = Instance.new("Frame")
section5.Size = UDim2.new(1, -12, 0, 210)
section5.Position = UDim2.new(0, 6, 0, y)
section5.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
section5.BorderSizePixel = 0
section5.Parent = mainFrame
Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
Instance.new("UICorner").Parent = section5

local exemptLabel = Instance.new("TextLabel")
exemptLabel.Size = UDim2.new(1, -12, 0, 14)
exemptLabel.Position = UDim2.new(0, 6, 0, 3)
exemptLabel.BackgroundTransparency = 1
exemptLabel.Text = "Exempt Players"
exemptLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
exemptLabel.Font = Enum.Font.Gotham
exemptLabel.TextSize = 9
exemptLabel.TextXAlignment = Enum.TextXAlignment.Left
exemptLabel.Parent = section5

local exemptInput = Instance.new("TextBox")
exemptInput.Size = UDim2.new(0.5, 0, 0, 18)
exemptInput.Position = UDim2.new(0, 6, 0, 20)
exemptInput.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
exemptInput.TextColor3 = Color3.new(1,1,1)
exemptInput.Font = Enum.Font.Gotham
exemptInput.TextSize = 9
exemptInput.Text = ""
exemptInput.PlaceholderText = "name"
exemptInput.Parent = section5
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = exemptInput

local exemptAddBtn = Instance.new("TextButton")
exemptAddBtn.Size = UDim2.new(0.2, 0, 0, 18)
exemptAddBtn.Position = UDim2.new(0.6, 0, 0, 20)
exemptAddBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
exemptAddBtn.Text = "Add"
exemptAddBtn.TextColor3 = Color3.new(1,1,1)
exemptAddBtn.Font = Enum.Font.GothamBold
exemptAddBtn.TextSize = 9
exemptAddBtn.Parent = section5
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = exemptAddBtn
exemptAddBtn.MouseButton1Click:Connect(function()
    addPlayerToList(exemptInput, exemptPlayers, exemptListContainer, exemptFeedback)
end)

local exemptClearBtn = Instance.new("TextButton")
exemptClearBtn.Size = UDim2.new(0.15, 0, 0, 18)
exemptClearBtn.Position = UDim2.new(0.82, 0, 0, 20)
exemptClearBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
exemptClearBtn.Text = "Clear"
exemptClearBtn.TextColor3 = Color3.new(1,1,1)
exemptClearBtn.Font = Enum.Font.GothamBold
exemptClearBtn.TextSize = 9
exemptClearBtn.Parent = section5
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = exemptClearBtn
exemptClearBtn.MouseButton1Click:Connect(function()
    clearList(exemptPlayers, exemptListContainer, exemptFeedback)
end)

local exemptListContainer = Instance.new("ScrollingFrame")
exemptListContainer.Size = UDim2.new(1, -12, 0, 80)
exemptListContainer.Position = UDim2.new(0, 6, 0, 42)
exemptListContainer.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
exemptListContainer.BorderSizePixel = 0
exemptListContainer.Parent = section5
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = exemptListContainer
exemptListContainer.ScrollBarThickness = 3

local exemptFeedback = Instance.new("TextLabel")
exemptFeedback.Size = UDim2.new(0.6, 0, 0, 14)
exemptFeedback.Position = UDim2.new(0, 6, 0, 126)
exemptFeedback.BackgroundTransparency = 1
exemptFeedback.Text = "Ready"
exemptFeedback.TextColor3 = Color3.fromRGB(150, 150, 150)
exemptFeedback.Font = Enum.Font.Gotham
exemptFeedback.TextSize = 8
exemptFeedback.TextXAlignment = Enum.TextXAlignment.Left
exemptFeedback.Parent = section5

local exemptPushBtn = Instance.new("TextButton")
exemptPushBtn.Size = UDim2.new(0.9, 0, 0, 22)
exemptPushBtn.Position = UDim2.new(0.5, 0, 0.90, 0)
exemptPushBtn.AnchorPoint = Vector2.new(0.5, 0.5)
exemptPushBtn.BackgroundColor3 = Color3.fromRGB(200, 150, 50)
exemptPushBtn.Text = "Push All (Exempt)"
exemptPushBtn.TextColor3 = Color3.new(1,1,1)
exemptPushBtn.Font = Enum.Font.GothamBold
exemptPushBtn.TextSize = 9
exemptPushBtn.Parent = section5
Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
Instance.new("UICorner").Parent = exemptPushBtn
exemptPushBtn.MouseButton1Click:Connect(pushAllExempt)

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

y = y + 218

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

local targetedLabel = Instance.new("TextLabel")
targetedLabel.Size = UDim2.new(1, -12, 0, 14)
targetedLabel.Position = UDim2.new(0, 6, 0, 3)
targetedLabel.BackgroundTransparency = 1
targetedLabel.Text = "Targeted Players"
targetedLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
targetedLabel.Font = Enum.Font.Gotham
targetedLabel.TextSize = 9
targetedLabel.TextXAlignment = Enum.TextXAlignment.Left
targetedLabel.Parent = section6

local targetedInput = Instance.new("TextBox")
targetedInput.Size = UDim2.new(0.5, 0, 0, 18)
targetedInput.Position = UDim2.new(0, 6, 0, 20)
targetedInput.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
targetedInput.TextColor3 = Color3.new(1,1,1)
targetedInput.Font = Enum.Font.Gotham
targetedInput.TextSize = 9
targetedInput.Text = ""
targetedInput.PlaceholderText = "name"
targetedInput.Parent = section6
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = targetedInput

local targetedAddBtn = Instance.new("TextButton")
targetedAddBtn.Size = UDim2.new(0.2, 0, 0, 18)
targetedAddBtn.Position = UDim2.new(0.6, 0, 0, 20)
targetedAddBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
targetedAddBtn.Text = "Add"
targetedAddBtn.TextColor3 = Color3.new(1,1,1)
targetedAddBtn.Font = Enum.Font.GothamBold
targetedAddBtn.TextSize = 9
targetedAddBtn.Parent = section6
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = targetedAddBtn
targetedAddBtn.MouseButton1Click:Connect(function()
    addPlayerToList(targetedInput, targetedPlayers, targetedListContainer, targetedFeedback)
end)

local targetedClearBtn = Instance.new("TextButton")
targetedClearBtn.Size = UDim2.new(0.15, 0, 0, 18)
targetedClearBtn.Position = UDim2.new(0.82, 0, 0, 20)
targetedClearBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
targetedClearBtn.Text = "Clear"
targetedClearBtn.TextColor3 = Color3.new(1,1,1)
targetedClearBtn.Font = Enum.Font.GothamBold
targetedClearBtn.TextSize = 9
targetedClearBtn.Parent = section6
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = targetedClearBtn
targetedClearBtn.MouseButton1Click:Connect(function()
    clearList(targetedPlayers, targetedListContainer, targetedFeedback)
end)

local targetedListContainer = Instance.new("ScrollingFrame")
targetedListContainer.Size = UDim2.new(1, -12, 0, 80)
targetedListContainer.Position = UDim2.new(0, 6, 0, 42)
targetedListContainer.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
targetedListContainer.BorderSizePixel = 0
targetedListContainer.Parent = section6
Instance.new("UICorner").CornerRadius = UDim.new(0, 3)
Instance.new("UICorner").Parent = targetedListContainer
targetedListContainer.ScrollBarThickness = 3

local targetedFeedback = Instance.new("TextLabel")
targetedFeedback.Size = UDim2.new(0.6, 0, 0, 14)
targetedFeedback.Position = UDim2.new(0, 6, 0, 126)
targetedFeedback.BackgroundTransparency = 1
targetedFeedback.Text = "Ready"
targetedFeedback.TextColor3 = Color3.fromRGB(150, 150, 150)
targetedFeedback.Font = Enum.Font.Gotham
targetedFeedback.TextSize = 8
targetedFeedback.TextXAlignment = Enum.TextXAlignment.Left
targetedFeedback.Parent = section6

local targetedPushBtn = Instance.new("TextButton")
targetedPushBtn.Size = UDim2.new(0.9, 0, 0, 22)
targetedPushBtn.Position = UDim2.new(0.5, 0, 0.90, 0)
targetedPushBtn.AnchorPoint = Vector2.new(0.5, 0.5)
targetedPushBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
targetedPushBtn.Text = "Push All (Targeted)"
targetedPushBtn.TextColor3 = Color3.new(1,1,1)
targetedPushBtn.Font = Enum.Font.GothamBold
targetedPushBtn.TextSize = 9
targetedPushBtn.Parent = section6
Instance.new("UICorner").CornerRadius = UDim.new(0, 4)
Instance.new("UICorner").Parent = targetedPushBtn
targetedPushBtn.MouseButton1Click:Connect(pushAllTargeted)

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

y = y + 218
mainFrame.CanvasSize = UDim2.new(0, 0, 0, y + 10)

-- ===== BUILD INITIAL LISTS =====
buildList(exemptListContainer, exemptPlayers, removeFromList)
buildList(targetedListContainer, targetedPlayers, removeFromList)

-- ===== INIT =====
task.wait(0.5)
local parts = findAllTargetParts()
if #parts > 0 then
    statusLabel.Text = "✅ Ready (" .. #parts .. " found)"
    statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
else
    statusLabel.Text = "❌ No parts found!"
    statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
end
local remote = findRemoteEvent()
if remote then print("✅ RemoteEvent ready") else print("❌ RemoteEvent not found") end

-- ===== ON RESPAWN / SERVER HOP: Restore bot state =====
LocalPlayer.CharacterAdded:Connect(function(char)
    task.wait(0.5)
    
    -- Reapply airwalk if it was active
    if airwalkActive then
        toggleAirwalk()
    end
    
    -- Load and restore bot state
    local savedState = loadBotState()
    if savedState and not botActive then
        toggleBotMode()
    end
end)

Features & Information

S

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts