Player Inventory Checker
Key RequiredUniversal

Player Inventory Checker

Universal ScriptYour_Local_ExploiterYour_Local_Exploiter 8.3K views 979 executesUpdated Feb 15, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•107 lines (3146 chars)
if not game:GetService("RunService"):IsClient() then return end -- Ensure it's running on the client

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local function getPlayerInventory(player)
    local inventory = {}

    -- Check equipped tools
    if player.Character then
        for _, item in pairs(player.Character:GetChildren()) do
            if item:IsA("Tool") then
                table.insert(inventory, item.Name)
            end
        end
    end

    -- Check backpack tools
    local backpack = player:FindFirstChild("Backpack")
    if backpack then
        for _, item in pairs(backpack:GetChildren()) do
            if item:IsA("Tool") then
                table.insert(inventory, item.Name)
            end
        end
    end

    if #inventory == 0 then
        table.insert(inventory, "No Items")
    end

    return inventory
end

local function createOverheadGui(player)
    if player == Players.LocalPlayer then return end -- Don't track yourself

    local character = player.Character
    if not character then return end

    local head = character:FindFirstChild("Head")
    if not head then return end

    -- Remove existing GUI if it's already there
    local existingGui = head:FindFirstChild("InventoryDisplay")
    if existingGui then existingGui:Destroy() end

    -- Create BillboardGui
    local billboard = Instance.new("BillboardGui")
    billboard.Name = "InventoryDisplay"
    billboard.Size = UDim2.new(5, 0, 2, 0)
    billboard.StudsOffset = Vector3.new(0, 3, 0)
    billboard.AlwaysOnTop = true
    billboard.Parent = head

    local textLabel = Instance.new("TextLabel")
    textLabel.Size = UDim2.new(1, 0, 1, 0)
    textLabel.BackgroundTransparency = 1
    textLabel.TextScaled = true
    textLabel.TextColor3 = Color3.new(1, 1, 1)
    textLabel.TextStrokeTransparency = 0
    textLabel.Font = Enum.Font.SourceSansBold
    textLabel.Parent = billboard
end

local function updateOverheadGui(player)
    if player == Players.LocalPlayer then return end -- Don't track yourself

    local character = player.Character
    if not character then return end

    local head = character:FindFirstChild("Head")
    if not head then return end

    local billboard = head:FindFirstChild("InventoryDisplay")
    if not billboard then
        createOverheadGui(player)
        billboard = head:FindFirstChild("InventoryDisplay")
    end

    local textLabel = billboard and billboard:FindFirstChildOfClass("TextLabel")
    if textLabel then
        local inventory = getPlayerInventory(player)
        textLabel.Text = table.concat(inventory, ", ")
    end
end

local function trackPlayer(player)
    if player == Players.LocalPlayer then return end -- Don't track yourself

    while true do
        updateOverheadGui(player)
        wait(1) -- Update every second
    end
end

for _, player in ipairs(Players:GetPlayers()) do
    if player ~= Players.LocalPlayer then
        task.spawn(trackPlayer, player)
    end
end

Players.PlayerAdded:Connect(function(player)
    if player ~= Players.LocalPlayer then
        task.spawn(trackPlayer, player)
    end
end)

Features & Information

Checks all items a player has. Universal. Open source. (Feel free to skid) Updates every second. And yes, made with ChatGPT. (am too lazy to program rn)
#player#all#itemcheck#universal

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts