UNIVERSAL BRING ALL PLAYER SCRIPT
Key RequiredUniversal

UNIVERSAL BRING ALL PLAYER SCRIPT

Universal ScriptIdkbrowhattoputhereIdkbrowhattoputhere 6.3K views 3.5K executesUpdated May 3, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•426 lines (13393 chars)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

if PlayerGui:FindFirstChild("PullPlayersGui") then
    PlayerGui:FindFirstChild("PullPlayersGui"):Destroy()
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "PullPlayersGui"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = PlayerGui

-- Main Frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 175)
frame.Position = UDim2.new(0.5, -110, 0.1, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 0
frame.Active = true
frame.Visible = true
frame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 10)
frameCorner.Parent = frame

local frameStroke = Instance.new("UIStroke")
frameStroke.Color = Color3.fromRGB(80, 80, 80)
frameStroke.Thickness = 1
frameStroke.Parent = frame

-- Title Bar
local titleBar = Instance.new("TextLabel")
titleBar.Size = UDim2.new(1, 0, 0, 35)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
titleBar.TextColor3 = Color3.fromRGB(255, 255, 255)
titleBar.Text = "  ⠿  Player Puller"
titleBar.Font = Enum.Font.GothamBold
titleBar.TextSize = 14
titleBar.TextXAlignment = Enum.TextXAlignment.Left
titleBar.BorderSizePixel = 0
titleBar.Parent = frame

local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 10)
titleCorner.Parent = titleBar

-- Credit Label
local creditLabel = Instance.new("TextLabel")
creditLabel.Size = UDim2.new(1, 0, 0, 18)
creditLabel.Position = UDim2.new(0, 0, 0, 35)
creditLabel.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
creditLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
creditLabel.Text = "made by zsxan"
creditLabel.Font = Enum.Font.Gotham
creditLabel.TextSize = 11
creditLabel.BorderSizePixel = 0
creditLabel.Parent = frame

-- Minimize Button
local minBtn = Instance.new("TextButton")
minBtn.Size = UDim2.new(0, 28, 0, 22)
minBtn.Position = UDim2.new(1, -68, 0, 6)
minBtn.BackgroundColor3 = Color3.fromRGB(200, 150, 0)
minBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
minBtn.Text = "—"
minBtn.Font = Enum.Font.GothamBold
minBtn.TextSize = 14
minBtn.BorderSizePixel = 0
minBtn.Parent = frame

local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 5)
minCorner.Parent = minBtn

-- Close Button
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 28, 0, 22)
closeBtn.Position = UDim2.new(1, -36, 0, 6)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Text = "✕"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.BorderSizePixel = 0
closeBtn.Parent = frame

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 5)
closeCorner.Parent = closeBtn

-- Lock Button
local lockBtn = Instance.new("TextButton")
lockBtn.Size = UDim2.new(0, 28, 0, 22)
lockBtn.Position = UDim2.new(1, -100, 0, 6)
lockBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
lockBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
lockBtn.Text = "🔓"
lockBtn.Font = Enum.Font.GothamBold
lockBtn.TextSize = 12
lockBtn.BorderSizePixel = 0
lockBtn.Parent = frame

local lockCorner = Instance.new("UICorner")
lockCorner.CornerRadius = UDim.new(0, 5)
lockCorner.Parent = lockBtn

-- Pull Button
local pullBtn = Instance.new("TextButton")
pullBtn.Size = UDim2.new(1, -20, 0, 45)
pullBtn.Position = UDim2.new(0, 10, 0, 60)
pullBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
pullBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
pullBtn.Text = "⬇  Bring Players"
pullBtn.Font = Enum.Font.GothamBold
pullBtn.TextSize = 15
pullBtn.BorderSizePixel = 0
pullBtn.Parent = frame

local pullCorner = Instance.new("UICorner")
pullCorner.CornerRadius = UDim.new(0, 8)
pullCorner.Parent = pullBtn

-- Unbring Button
local unbringBtn = Instance.new("TextButton")
unbringBtn.Size = UDim2.new(1, -20, 0, 45)
unbringBtn.Position = UDim2.new(0, 10, 0, 118)
unbringBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
unbringBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
unbringBtn.Text = "✖  Unbring Players"
unbringBtn.Font = Enum.Font.GothamBold
unbringBtn.TextSize = 15
unbringBtn.BorderSizePixel = 0
unbringBtn.Parent = frame

local unbringCorner = Instance.new("UICorner")
unbringCorner.CornerRadius = UDim.new(0, 8)
unbringCorner.Parent = unbringBtn

-- Minimized Bar
local miniBar = Instance.new("Frame")
miniBar.Size = UDim2.new(0, 160, 0, 32)
miniBar.Position = frame.Position
miniBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
miniBar.BorderSizePixel = 0
miniBar.Visible = false
miniBar.Active = true
miniBar.Parent = screenGui

local miniBarCorner = Instance.new("UICorner")
miniBarCorner.CornerRadius = UDim.new(0, 8)
miniBarCorner.Parent = miniBar

local miniBarStroke = Instance.new("UIStroke")
miniBarStroke.Color = Color3.fromRGB(80, 80, 80)
miniBarStroke.Thickness = 1
miniBarStroke.Parent = miniBar

local miniLabel = Instance.new("TextLabel")
miniLabel.Size = UDim2.new(1, -60, 1, 0)
miniLabel.Position = UDim2.new(0, 10, 0, 0)
miniLabel.BackgroundTransparency = 1
miniLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
miniLabel.Text = "⠿  Player Puller"
miniLabel.Font = Enum.Font.GothamBold
miniLabel.TextSize = 13
miniLabel.TextXAlignment = Enum.TextXAlignment.Left
miniLabel.Parent = miniBar

local openBtn = Instance.new("TextButton")
openBtn.Size = UDim2.new(0, 28, 0, 22)
openBtn.Position = UDim2.new(1, -65, 0.5, -11)
openBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
openBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
openBtn.Text = "▲"
openBtn.Font = Enum.Font.GothamBold
openBtn.TextSize = 12
openBtn.BorderSizePixel = 0
openBtn.Parent = miniBar

local openCorner = Instance.new("UICorner")
openCorner.CornerRadius = UDim.new(0, 5)
openCorner.Parent = openBtn

local miniCloseBtn = Instance.new("TextButton")
miniCloseBtn.Size = UDim2.new(0, 28, 0, 22)
miniCloseBtn.Position = UDim2.new(1, -33, 0.5, -11)
miniCloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
miniCloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
miniCloseBtn.Text = "✕"
miniCloseBtn.Font = Enum.Font.GothamBold
miniCloseBtn.TextSize = 12
miniCloseBtn.BorderSizePixel = 0
miniCloseBtn.Parent = miniBar

local miniCloseCorner = Instance.new("UICorner")
miniCloseCorner.CornerRadius = UDim.new(0, 5)
miniCloseCorner.Parent = miniCloseBtn

-- Reopen Button
local reopenBtn = Instance.new("TextButton")
reopenBtn.Size = UDim2.new(0, 130, 0, 32)
reopenBtn.Position = frame.Position
reopenBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
reopenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
reopenBtn.Text = "▲  Open Puller"
reopenBtn.Font = Enum.Font.GothamBold
reopenBtn.TextSize = 13
reopenBtn.BorderSizePixel = 0
reopenBtn.Visible = false
reopenBtn.Active = true
reopenBtn.Parent = screenGui

local reopenCorner = Instance.new("UICorner")
reopenCorner.CornerRadius = UDim.new(0, 8)
reopenCorner.Parent = reopenBtn

local reopenStroke = Instance.new("UIStroke")
reopenStroke.Color = Color3.fromRGB(80, 80, 80)
reopenStroke.Thickness = 1
reopenStroke.Parent = reopenBtn

-- State
local isBringing = false
local isLocked = false
local dragging = false
local dragStart = nil
local startPos = nil
local dragTarget = nil
local connections = {}

-- Helper: Get root part
local function getRootPart(character)
    return character:FindFirstChild("HumanoidRootPart")
        or character:FindFirstChild("Torso")
        or character:FindFirstChild("UpperTorso")
end

-- Helper: Collision toggle
local function setCharacterCollision(character, state)
    for _, part in ipairs(character:GetDescendants()) do
        if part:IsA("BasePart") then
            part.CanCollide = state
        end
    end
end

-- Helper: Seated check
local function isOnVehicleOrSeat(character)
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return false end
    if humanoid.SeatPart ~= nil then return true end
    for _, part in ipairs(character:GetChildren()) do
        if part:IsA("BasePart") then
            local ok, touching = pcall(function() return part:GetTouchingParts() end)
            if ok then
                for _, t in ipairs(touching) do
                    if t:IsA("VehicleSeat") or t:IsA("Seat") then return true end
                end
            end
        end
    end
    return false
end

-- Helper: Unseat
local function unseatPlayer(character)
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if humanoid then
        humanoid.Jump = true
        pcall(function() humanoid.SeatPart = nil end)
    end
end

-- Dragging
local function setupDrag(handle, target)
    handle.InputBegan:Connect(function(input)
        if isLocked then return end
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragTarget = target
            dragStart = input.Position
            startPos = target.Position
        end
    end)
end

setupDrag(titleBar, frame)
setupDrag(creditLabel, frame)
setupDrag(miniLabel, miniBar)

UserInputService.InputChanged:Connect(function(input)
    if dragging and dragTarget and not isLocked then
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            local delta = input.Position - dragStart
            local newPos = UDim2.new(
                startPos.X.Scale, startPos.X.Offset + delta.X,
                startPos.Y.Scale, startPos.Y.Offset + delta.Y
            )
            dragTarget.Position = newPos
            if dragTarget == frame then
                miniBar.Position = newPos
                reopenBtn.Position = newPos
            elseif dragTarget == miniBar then
                frame.Position = newPos
                reopenBtn.Position = newPos
            end
        end
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = false
        dragTarget = nil
    end
end)

-- Lock
lockBtn.MouseButton1Click:Connect(function()
    isLocked = not isLocked
    if isLocked then
        lockBtn.Text = "🔒"
        lockBtn.BackgroundColor3 = Color3.fromRGB(200, 150, 0)
    else
        lockBtn.Text = "🔓"
        lockBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    end
end)

-- Minimize
minBtn.MouseButton1Click:Connect(function()
    frame.Visible = false
    miniBar.Visible = true
    reopenBtn.Visible = false
end)

-- Close from main
closeBtn.MouseButton1Click:Connect(function()
    frame.Visible = false
    miniBar.Visible = false
    reopenBtn.Visible = true
end)

-- Open from mini bar
openBtn.MouseButton1Click:Connect(function()
    frame.Visible = true
    miniBar.Visible = false
    reopenBtn.Visible = false
end)

-- Close from mini bar
miniCloseBtn.MouseButton1Click:Connect(function()
    frame.Visible = false
    miniBar.Visible = false
    reopenBtn.Visible = true
end)

-- Reopen
reopenBtn.MouseButton1Click:Connect(function()
    frame.Visible = true
    miniBar.Visible = false
    reopenBtn.Visible = false
end)

-- Bring Logic
pullBtn.MouseButton1Click:Connect(function()
    if isBringing then return end
    isBringing = true
    pullBtn.Text = "✔  Bringing..."
    pullBtn.BackgroundColor3 = Color3.fromRGB(0, 160, 0)

    for _, c in pairs(connections) do c:Disconnect() end
    connections = {}

    local loopConn = RunService.Heartbeat:Connect(function()
        if not isBringing then return end

        local myChar = LocalPlayer.Character
        if not myChar then return end
        local myRoot = getRootPart(myChar)
        if not myRoot then return end

        local myLockedCFrame = myRoot.CFrame
        local frontPosition = (myLockedCFrame * CFrame.new(0, 0, -3)).Position
        local targetCFrame = CFrame.new(frontPosition.X, myLockedCFrame.Position.Y, frontPosition.Z)

        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= LocalPlayer then
                local otherChar = player.Character
                if otherChar then
                    local otherRoot = getRootPart(otherChar)
                    if otherRoot then
                        if isOnVehicleOrSeat(otherChar) then unseatPlayer(otherChar) end
                        setCharacterCollision(otherChar, false)
                        otherRoot.CFrame = targetCFrame
                    end
                end
            end
        end

        myRoot.CFrame = myLockedCFrame
    end)

    table.insert(connections, loopConn)
end)

-- Unbring Logic
unbringBtn.MouseButton1Click:Connect(function()
    isBringing = false
    for _, c in pairs(connections) do c:Disconnect() end
    connections = {}
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local otherChar = player.Character
            if otherChar then setCharacterCollision(otherChar, true) end
        end
    end
    pullBtn.Text = "⬇  Bring Players"
    pullBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
end)

Features & Information

CLIENT SIDE KEYLESS OFC Obviously it's a script that will bring all the players around the map (client sided) it has ui "bring players" and a "unbring players" button a lock button you can control the ui and make it unmovable (probably best for mobile lol) a close button and a minimize button
#bring#script#typeshi

Community Comments (3)

type * type *

sigmaninininisigmaninininiAug 27, 2026

bro good

Dessssss23Dessssss23Aug 28, 2026

not FE

More Scripts for Universal Scripts