YEAAAA
Key Required

YEAAAA

[TITLE UNAVAILABLE]OksanRhyosaOksanRhyosa 996 views 297 executesUpdated Jun 24, 2026
Unrated
00
Lua Script•349 lines (11975 chars)
-- SERVICES
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer

-- Special character list
local specialCharacters = {
    ["Anderson Byrne"] = true,
    ["Marko Glaz"] = true,
    ["John Reed"] = true,
    ["Frederick Finklebear"] = true,
    ["Billy Reed"] = true
}

-- Jugg / Gunner list
local juggCharacters = {
    ["Alexei Tarasov"] = true,
    ["Ryman Yegorov"] = true,
    ["Viadimir Koltsov"] = true,
    ["Veronika Kazakova"] = true,
    ["Gennadiy Traktirnikov"] = true,
    ["Stanislav"] = true,
    ["Mstislav"] = true,
    ["Kai Zhang"] = true,
    ["Lyudmila Rozhechuk"] = true
}

-- Create main GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "PlayerInventoryViewer"
ScreenGui.Parent = LocalPlayer.PlayerGui
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.IgnoreGuiInset = true

-- Main frame
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 380, 0, 420)
MainFrame.Position = UDim2.new(0.1, 0, 0.1, 0)
MainFrame.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
MainFrame.BackgroundTransparency = 0.2
MainFrame.BorderColor3 = Color3.new(0.6, 0.6, 0.6)
MainFrame.BorderSizePixel = 1
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui

-- Title bar
local TitleBar = Instance.new("Frame")
TitleBar.Name = "TitleBar"
TitleBar.Size = UDim2.new(1, 0, 0, 30)
TitleBar.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
TitleBar.Parent = MainFrame

local TitleLabel = Instance.new("TextLabel")
TitleLabel.Name = "TitleLabel"
TitleLabel.Size = UDim2.new(1, 0, 1, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "Player Inventory Viewer | Blood Debt Edition"
TitleLabel.TextColor3 = Color3.new(1, 1, 1)
TitleLabel.Font = Enum.Font.SourceSans
TitleLabel.TextSize = 16
TitleLabel.Parent = TitleBar

-- Scroll container
local ScrollFrame = Instance.new("ScrollingFrame")
ScrollFrame.Name = "ScrollFrame"
ScrollFrame.Size = UDim2.new(1, -10, 1, -35)
ScrollFrame.Position = UDim2.new(0, 5, 0, 35)
ScrollFrame.BackgroundTransparency = 1
ScrollFrame.BorderSizePixel = 0
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollFrame.ScrollBarThickness = 5
ScrollFrame.Parent = MainFrame

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.FillDirection = Enum.FillDirection.Vertical
UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Top
UIListLayout.Padding = UDim.new(0, 5)
UIListLayout.Parent = ScrollFrame

-- Drag logic
local dragging = false
local dragStart = Vector2.new(0, 0)
local frameStartPos = UDim2.new(0, 0, 0, 0)

TitleBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        frameStartPos = MainFrame.Position
    end
end)

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

UserInputService.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        MainFrame.Position = UDim2.new(
            frameStartPos.X.Scale,
            frameStartPos.X.Offset + delta.X,
            frameStartPos.Y.Scale,
            frameStartPos.Y.Offset + delta.Y
        )
    end
end)

-- GUI persistence
local function ensureGUIPersists()
    if not LocalPlayer.PlayerGui:FindFirstChild("PlayerInventoryViewer") then
        ScreenGui.Parent = LocalPlayer.PlayerGui
    end
end

LocalPlayer.CharacterAdded:Connect(function()
    task.wait(0.5)
    ensureGUIPersists()
end)

-- Get character name
local function getBloodDebtCharacterName(player)
    if player.Character then
        local nameObj = player.Character:FindFirstChild("Name") or
                        player.Character:FindFirstChild("CharacterName") or
                        player.Character:FindFirstChild("RoleName") or
                        player.Character:FindFirstChild("DisplayName")
        
        if nameObj and nameObj:IsA("StringValue") and nameObj.Value ~= "" then
            return nameObj.Value
        end
        
        local hum = player.Character:FindFirstChildOfClass("Humanoid")
        if hum and hum.DisplayName ~= "" and hum.DisplayName ~= player.Name then
            return hum.DisplayName
        end
        
        local cname = player.Character.Name
        if cname and cname:match("^[A-Za-z ]+$") and #cname > 3 then
            return cname
        end
    end

    local pname = player:FindFirstChild("CharacterName") or player:FindFirstChild("Role")
    if pname and pname:IsA("StringValue") then
        return pname.Value
    end

    return "Not Loaded"
end

-- Refresh player info
local function refreshPlayerInfo()
    ensureGUIPersists()

    for _, c in ScrollFrame:GetChildren() do
        if c:IsA("Frame") then c:Destroy() end
    end

    -- Check if everyone has no items (i.e., in lobby)
    local totalPlayers = 0
    local emptyPlayers = 0
    local playerEmptyStatus = {}

    for _, player in ipairs(Players:GetPlayers()) do
        if player == LocalPlayer then continue end
        totalPlayers += 1

        local hasTool = player.Character and player.Character:FindFirstChildOfClass("Tool")
        local hasBackpackItem = player.Backpack and #player.Backpack:GetChildren() > 0
        local isEmpty = not hasTool and not hasBackpackItem

        playerEmptyStatus[player] = isEmpty
        if isEmpty then
            emptyPlayers += 1
        end
    end

    local allInLobby = (totalPlayers > 0) and (emptyPlayers == totalPlayers)

    -- Draw each player
    for _, player in ipairs(Players:GetPlayers()) do
        if player == LocalPlayer then continue end

        local pf = Instance.new("Frame")
        pf.Size = UDim2.new(1, -10, 0, 130)
        pf.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
        pf.BackgroundTransparency = 0.2
        pf.BorderColor3 = Color3.new(0.6, 0.6, 0.6)
        pf.BorderSizePixel = 1
        pf.Parent = ScrollFrame

        local charName = getBloodDebtCharacterName(player)
        local isSpecial = specialCharacters[charName] or false
        local isJugg = juggCharacters[charName] or false
        local isEmpty = playerEmptyStatus[player]

        -- Color logic
        if allInLobby then
            pf.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
            pf.BorderColor3 = Color3.new(0.4, 0.4, 0.4)
        else
            if isSpecial then
                pf.BackgroundColor3 = Color3.new(0.25, 0.2, 0)
                pf.BorderColor3 = Color3.new(1, 0.8, 0)
                pf.BorderSizePixel = 3
            elseif isJugg then
                pf.BackgroundColor3 = Color3.new(0.3, 0.1, 0.1)
                pf.BorderColor3 = Color3.new(1, 0.2, 0.2)
                pf.BorderSizePixel = 3
            else
                pf.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
                pf.BorderColor3 = Color3.new(0.6, 0.6, 0.6)
                pf.BorderSizePixel = 1
            end

            if isEmpty then
                pf.BackgroundColor3 = Color3.new(0.2, 0, 0)
                pf.BorderColor3 = Color3.new(1, 0.2, 0.2)
            end
        end

        -- Player name
        local nameLbl = Instance.new("TextLabel")
        nameLbl.Size = UDim2.new(1, -10, 0, 22)
        nameLbl.Position = UDim2.new(0, 5, 0, 5)
        nameLbl.BackgroundTransparency = 1
        nameLbl.Text = "Player: " .. player.Name
        nameLbl.TextColor3 = Color3.new(0.4, 0.9, 1)
        nameLbl.Font = Enum.Font.SourceSans
        nameLbl.TextSize = 14
        nameLbl.Parent = pf

        -- Character name
        local charLbl = Instance.new("TextLabel")
        charLbl.Size = UDim2.new(1, -10, 0, 22)
        charLbl.Position = UDim2.new(0, 5, 0, 27)
        charLbl.BackgroundTransparency = 1
        charLbl.Text = "Character: " .. charName
        if allInLobby then
            charLbl.TextColor3 = Color3.new(0.7, 0.7, 0.7)
        elseif isSpecial then
            charLbl.TextColor3 = Color3.new(1, 0.9, 0)
        elseif isJugg then
            charLbl.TextColor3 = Color3.new(1, 0.2, 0.2)
        else
            charLbl.TextColor3 = Color3.new(1, 0.8, 0.2)
        end
        charLbl.Font = Enum.Font.SourceSans
        charLbl.TextSize = 14
        charLbl.Parent = pf

        -- Tags
        if allInLobby then
            local tag = Instance.new("TextLabel")
            tag.Size = UDim2.new(0, 70, 0, 20)
            tag.Position = UDim2.new(1, -75, 0, 5)
            tag.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
            tag.Text = "🏠 In Lobby"
            tag.TextColor3 = Color3.new(1,1,1)
            tag.Font = Enum.Font.SourceSans
            tag.TextSize = 12
            tag.Parent = pf
        else
            if isSpecial then
                local tag = Instance.new("TextLabel")
                tag.Size = UDim2.new(0, 70, 0, 20)
                tag.Position = UDim2.new(1, -75, 0, 27)
                tag.BackgroundColor3 = Color3.new(1, 0.7, 0)
                tag.Text = "⭐ Special"
                tag.TextColor3 = Color3.new(1,1,1)
                tag.Font = Enum.Font.SourceSans
                tag.TextSize = 12
                tag.Parent = pf
            end

            if isJugg and not isSpecial then
                local tag = Instance.new("TextLabel")
                tag.Size = UDim2.new(0, 70, 0, 20)
                tag.Position = UDim2.new(1, -75, 0, 27)
                tag.BackgroundColor3 = Color3.new(1, 0.2, 0.2)
                tag.Text = "🔴 JUGG"   -- Changed from "Gunner" to "JUGG"
                tag.TextColor3 = Color3.new(1,1,1)
                tag.Font = Enum.Font.SourceSans
                tag.TextSize = 12
                tag.Parent = pf
            end

            if isEmpty then
                local tag = Instance.new("TextLabel")
                tag.Size = UDim2.new(0, 70, 0, 20)
                tag.Position = UDim2.new(1, -75, 0, 5)
                tag.BackgroundColor3 = Color3.new(0.8, 0, 0)
                tag.Text = "☠ Dead"
                tag.TextColor3 = Color3.new(1,1,1)
                tag.Font = Enum.Font.SourceSans
                tag.TextSize = 12
                tag.Parent = pf
            end
        end

        -- Held item
        local hasTool = player.Character and player.Character:FindFirstChildOfClass("Tool")
        local held = hasTool and hasTool.Name or "None"
        local holdLbl = Instance.new("TextLabel")
        holdLbl.Size = UDim2.new(1, -10, 0, 22)
        holdLbl.Position = UDim2.new(0, 5, 0, 49)
        holdLbl.BackgroundTransparency = 1
        holdLbl.Text = "Held: " .. held
        holdLbl.TextColor3 = Color3.new(0.9, 0.6, 0.3)
        holdLbl.Font = Enum.Font.SourceSans
        holdLbl.TextSize = 13
        holdLbl.Parent = pf

        -- Backpack
        local bp = "None"
        if player.Backpack then
            local names = {}
            for _, v in ipairs(player.Backpack:GetChildren()) do
                table.insert(names, v.Name)
            end
            if #names > 0 then bp = table.concat(names, ", ") end
        end
        local bpLbl = Instance.new("TextLabel")
        bpLbl.Size = UDim2.new(1, -10, 0, 55)
        bpLbl.Position = UDim2.new(0, 5, 0, 73)
        bpLbl.BackgroundTransparency = 1
        bpLbl.Text = "Backpack: " .. bp
        bpLbl.TextColor3 = Color3.new(0.5, 0.9, 0.5)
        bpLbl.Font = Enum.Font.SourceSans
        bpLbl.TextSize = 12
        bpLbl.TextWrapped = true
        bpLbl.Parent = pf
    end

    UIListLayout:ApplyLayout()
    ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 10)
end

-- Loop refresh
while task.wait(1) do
    pcall(refreshPlayerInfo)
end

Features & Information

If you don't want the Key system, then use this one (without ESP)

Community Comments (0)

No comments yet for this script.

More Scripts for [TITLE UNAVAILABLE]