Zum Inhalt springen
Funktioniert

Gold and Block checker

CLclarkdevlinorg0 AufrufeBuild A Boat For Treasure26. Juli 2026
Teilen
Gold and Block checker

Script-Code

Lua
local oldGui = game:GetService("CoreGui"):FindFirstChild("InventoryTrackerGui")
if oldGui then oldGui:Destroy() end

local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local HttpService = game:GetService("HttpService")

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "InventoryTrackerGui"
ScreenGui.Parent = CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local function styleCorner(parent, radius)
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, radius or 6)
    corner.Parent = parent
end

local currentMode = "Data"
local activeTargetPlayer = nil
local isViewingSnapshot = false
local activeSnapshotData = nil
local liveConnections = {}
local playerTitleConnections = {}

local rainbowElements = {}
local shakingFrames = {}

local SavesFrame = Instance.new("Frame")
SavesFrame.Name = "SavesFrame"
SavesFrame.Parent = ScreenGui
SavesFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
SavesFrame.Position = UDim2.new(0.05, -165, 0.3, 0)
SavesFrame.Size = UDim2.new(0, 160, 0, 320)
SavesFrame.Active = true
SavesFrame.Draggable = true
styleCorner(SavesFrame, 8)

local SavesTitle = Instance.new("TextLabel")
SavesTitle.Parent = SavesFrame
SavesTitle.Size = UDim2.new(1, 0, 0, 35)
SavesTitle.BackgroundTransparency = 1
SavesTitle.Font = Enum.Font.SourceSansBold
SavesTitle.Text = "SAVE SLOTS"
SavesTitle.TextColor3 = Color3.fromRGB(240, 240, 240)
SavesTitle.TextSize = 14

local SaveActionFrame = Instance.new("Frame")
SaveActionFrame.Parent = SavesFrame
SaveActionFrame.Size = UDim2.new(1, -10, 0, 25)
SaveActionFrame.Position = UDim2.new(0, 5, 0, 35)
SaveActionFrame.BackgroundTransparency = 1

local SaveCurrentBtn = Instance.new("TextButton")
SaveCurrentBtn.Parent = SaveActionFrame
SaveCurrentBtn.Size = UDim2.new(0.5, -2, 1, 0)
SaveCurrentBtn.BackgroundColor3 = Color3.fromRGB(50, 120, 50)
SaveCurrentBtn.Font = Enum.Font.SourceSansBold
SaveCurrentBtn.Text = "SAVE CURRENT"
SaveCurrentBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SaveCurrentBtn.TextSize = 10
styleCorner(SaveCurrentBtn, 4)

local ClearSlotBtn = Instance.new("TextButton")
ClearSlotBtn.Parent = SaveActionFrame
ClearSlotBtn.Size = UDim2.new(0.5, -2, 1, 0)
ClearSlotBtn.Position = UDim2.new(0.5, 2, 0, 0)
ClearSlotBtn.BackgroundColor3 = Color3.fromRGB(120, 50, 50)
ClearSlotBtn.Font = Enum.Font.SourceSansBold
ClearSlotBtn.Text = "CLEAR SLOT"
ClearSlotBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ClearSlotBtn.TextSize = 10
styleCorner(ClearSlotBtn, 4)

local SavesScroll = Instance.new("ScrollingFrame")
SavesScroll.Parent = SavesFrame
SavesScroll.BackgroundTransparency = 1
SavesScroll.Position = UDim2.new(0, 5, 0, 65)
SavesScroll.Size = UDim2.new(1, -10, 1, -70)
SavesScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
SavesScroll.ScrollBarThickness = 4

local SavesLayout = Instance.new("UIListLayout")
SavesLayout.Parent = SavesScroll
SavesLayout.SortOrder = Enum.SortOrder.LayoutOrder
SavesLayout.Padding = UDim.new(0, 4)

SavesLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    SavesScroll.CanvasSize = UDim2.new(0, 0, 0, SavesLayout.AbsoluteContentSize.Y)
end)

local ListFrame = Instance.new("Frame")
ListFrame.Name = "ListFrame"
ListFrame.Parent = ScreenGui
ListFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
ListFrame.Position = UDim2.new(0.05, 0, 0.3, 0)
ListFrame.Size = UDim2.new(0, 200, 0, 320)
ListFrame.Active = true
ListFrame.Draggable = true
styleCorner(ListFrame, 8)

local ListTitle = Instance.new("TextLabel")
ListTitle.Parent = ListFrame
ListTitle.Size = UDim2.new(1, 0, 0, 35)
ListTitle.BackgroundTransparency = 1
ListTitle.Font = Enum.Font.SourceSansBold
ListTitle.Text = "PLAYER LIST"
ListTitle.TextColor3 = Color3.fromRGB(240, 240, 240)
ListTitle.TextSize = 16

local PlayerScroll = Instance.new("ScrollingFrame")
PlayerScroll.Parent = ListFrame
PlayerScroll.BackgroundTransparency = 1
PlayerScroll.Position = UDim2.new(0, 5, 0, 40)
PlayerScroll.Size = UDim2.new(1, -10, 1, -45)
PlayerScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
PlayerScroll.ScrollBarThickness = 4

local PlayerLayout = Instance.new("UIListLayout")
PlayerLayout.Parent = PlayerScroll
PlayerLayout.SortOrder = Enum.SortOrder.Name
PlayerLayout.Padding = UDim.new(0, 5)

PlayerLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    PlayerScroll.CanvasSize = UDim2.new(0, 0, 0, PlayerLayout.AbsoluteContentSize.Y)
end)

local DetailFrame = Instance.new("Frame")
DetailFrame.Name = "DetailFrame"
DetailFrame.Parent = ScreenGui
DetailFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
DetailFrame.Position = UDim2.new(0.05, 210, 0.3, 0)
DetailFrame.Size = UDim2.new(0, 290, 0, 320)
DetailFrame.Visible = false
DetailFrame.Active = true
DetailFrame.Draggable = true
styleCorner(DetailFrame, 8)

local UserLabel = Instance.new("TextLabel")
UserLabel.Parent = DetailFrame
UserLabel.Size = UDim2.new(1, -130, 0, 35)
UserLabel.Position = UDim2.new(0, 10, 0, 0)
UserLabel.BackgroundTransparency = 1
UserLabel.Font = Enum.Font.SourceSansBold
UserLabel.Text = "Username's Data"
UserLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
UserLabel.TextSize = 15
UserLabel.TextXAlignment = Enum.TextXAlignment.Left

local SearchBar = Instance.new("TextBox")
SearchBar.Name = "SearchBar"
SearchBar.Parent = DetailFrame
SearchBar.Size = UDim2.new(1, -10, 0, 25)
SearchBar.Position = UDim2.new(0, 5, 0, 35)
SearchBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
SearchBar.BorderSizePixel = 0
SearchBar.Font = Enum.Font.SourceSans
SearchBar.PlaceholderText = "Search item or slot name..."
SearchBar.Text = ""
SearchBar.TextColor3 = Color3.fromRGB(255, 255, 255)
SearchBar.PlaceholderColor3 = Color3.fromRGB(120, 120, 120)
SearchBar.TextSize = 14
SearchBar.TextXAlignment = Enum.TextXAlignment.Left
styleCorner(SearchBar, 4)

local UIPadding = Instance.new("UIPadding")
UIPadding.PaddingLeft = UDim.new(0, 8)
UIPadding.Parent = SearchBar

local ItemScroll = Instance.new("ScrollingFrame")
ItemScroll.Parent = DetailFrame
ItemScroll.BackgroundTransparency = 1
ItemScroll.Position = UDim2.new(0, 5, 0, 65)
ItemScroll.Size = UDim2.new(1, -10, 1, -70)
ItemScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
ItemScroll.ScrollBarThickness = 4

local ItemLayout = Instance.new("UIListLayout")
ItemLayout.Parent = ItemScroll
ItemLayout.SortOrder = Enum.SortOrder.LayoutOrder
ItemLayout.Padding = UDim.new(0, 4)

ItemLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    ItemScroll.CanvasSize = UDim2.new(0, 0, 0, ItemLayout.AbsoluteContentSize.Y)
end)

local CloseBtn = Instance.new("TextButton")
CloseBtn.Parent = DetailFrame
CloseBtn.Position = UDim2.new(1, -25, 0, 8)
CloseBtn.Size = UDim2.new(0, 18, 0, 18)
CloseBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
CloseBtn.Font = Enum.Font.SourceSansBold
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 11
styleCorner(CloseBtn, 9)

local SwitchBtn = Instance.new("TextButton")
SwitchBtn.Parent = DetailFrame
SwitchBtn.Position = UDim2.new(1, -115, 0, 6)
SwitchBtn.Size = UDim2.new(0, 85, 0, 22)
SwitchBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
SwitchBtn.Font = Enum.Font.SourceSansBold
SwitchBtn.Text = "SWITCH MODE"
SwitchBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SwitchBtn.TextSize = 11
styleCorner(SwitchBtn, 4)

local function isFiltered(itemName)
    if string.find(itemName, "Tool") then
        return true
    end
    local badSuffixes = {"XY", "XZ", "YZ", "X", "Y", "Z"}
    for _, suffix in ipairs(badSuffixes) do
        if string.sub(itemName, -string.len(suffix)) == suffix then
            return true
        end
    end
    return false
end

local function getInventoryTemplateData(itemName)
    local localPlayer = Players.LocalPlayer
    if not localPlayer then return "", "" end

    local playerGui = localPlayer:FindFirstChildOfClass("PlayerGui")
    if playerGui then
        local blocksFrame = playerGui:FindFirstChild("BuildGui")
        and playerGui.BuildGui:FindFirstChild("InventoryFrame")
        and playerGui.BuildGui.InventoryFrame:FindFirstChild("ScrollingFrame")
        and playerGui.BuildGui.InventoryFrame.ScrollingFrame:FindFirstChild("BlocksFrame")

        if blocksFrame then
            local visualTemplate = blocksFrame:FindFirstChild(itemName)
            if visualTemplate then
                local typeIconId = ""
                local frameImageId = ""

                if visualTemplate:FindFirstChild("TypeIcon") and visualTemplate.TypeIcon:IsA("ImageLabel") then
                    typeIconId = visualTemplate.TypeIcon.Image
                end

                if visualTemplate:IsA("ImageButton") then
                    frameImageId = visualTemplate.Image
                end

                return typeIconId, frameImageId
            end
        end
    end
    return "", ""
end

local function updateLabelStyle(rowFrame, valueLabel, imagesList, value)
    local num = tonumber(value) or 0
    valueLabel.TextStrokeTransparency = 1
    
    rainbowElements[valueLabel] = nil
    shakingFrames[rowFrame] = nil
    for _, img in ipairs(imagesList) do
        rainbowElements[img] = nil
    end
    rowFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)

    if num >= 10000000 then
        rainbowElements[valueLabel] = "Text"
        shakingFrames[rowFrame] = true
        for _, img in ipairs(imagesList) do
            rainbowElements[img] = "Image"
        end
    elseif num < 10 then
        valueLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
    elseif num >= 10 and num < 100 then
        valueLabel.TextColor3 = Color3.fromRGB(255, 220, 0)
    elseif num >= 100 and num < 1000 then
        valueLabel.TextColor3 = Color3.fromRGB(255, 50, 50)
    elseif num >= 1000 and num < 10000 then
        valueLabel.TextColor3 = Color3.fromRGB(180, 50, 255)
    elseif num >= 10000 and num < 100000 then
        valueLabel.TextColor3 = Color3.fromRGB(255, 120, 0)
        valueLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
        valueLabel.TextStrokeTransparency = 0
    elseif num >= 100000 and num < 1000000 then
        valueLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
        valueLabel.TextStrokeColor3 = Color3.fromRGB(255, 255, 255)
        valueLabel.TextStrokeTransparency = 0
    else
        rainbowElements[valueLabel] = "Text"
    end
end

task.spawn(function()
    local rng = Random.new()
    while task.wait() do
        local hue = (tick() % 1.5) / 1.5
        local rainbowColor = Color3.fromHSV(hue, 0.85, 1)
        
        for element, mode in pairs(rainbowElements) do
            if element and element.Parent then
                if mode == "Text" then
                    element.TextColor3 = rainbowColor
                elseif mode == "Image" then
                    element.ImageColor3 = rainbowColor
                end
            end
        end

        for frame, isActive in pairs(shakingFrames) do
            if frame and frame.Parent then
                local offsetX = rng:NextNumber(-1.5, 1.5)
                local offsetY = rng:NextNumber(-1.5, 1.5)
                frame.Position = UDim2.new(0, offsetX, 0, offsetY)
            end
        end
    end
end)

local function updatePlayerDataDisplays(player, titleLabel, countLabel)
    rainbowElements[titleLabel] = nil
    titleLabel.TextStrokeTransparency = 1

    local dataFolder = player:FindFirstChild("Data")
    if not dataFolder then
        countLabel.Text = "[Items: 0]"
        titleLabel.Text = "[No Data]"
        titleLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
        return
    end

    local totalItems = 0
    for _, child in ipairs(dataFolder:GetChildren()) do
        if child:IsA("ValueBase") and not string.find(string.lower(child.Name), "gold") then
            totalItems = totalItems + (tonumber(child.Value) or 0)
        end
    end

    countLabel.Text = string.format("[Items: %s]", string.format("%.0f", totalItems):reverse():gsub("(%d%d%d)","%1,"):reverse():gsub("^,",""))

    if totalItems < 100 then
        titleLabel.Text = "Starter"
        titleLabel.TextColor3 = Color3.fromRGB(160, 160, 160)
    elseif totalItems >= 100 and totalItems < 1000 then
        titleLabel.Text = "Little Pro"
        titleLabel.TextColor3 = Color3.fromRGB(0, 230, 100)
    elseif totalItems >= 1000 and totalItems < 5000 then
        titleLabel.Text = "Pro"
        titleLabel.TextColor3 = Color3.fromRGB(255, 230, 0)
    elseif totalItems >= 5000 and totalItems < 20000 then
        titleLabel.Text = "Very Pro"
        titleLabel.TextColor3 = Color3.fromRGB(255, 50, 50)
    elseif totalItems >= 20000 and totalItems < 100000 then
        titleLabel.Text = "Serious Pro"
        titleLabel.TextColor3 = Color3.fromRGB(170, 50, 255)
    elseif totalItems >= 100000 and totalItems < 1000000 then
        titleLabel.Text = "OG"
        titleLabel.TextColor3 = Color3.fromRGB(255, 120, 0)
        titleLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
        titleLabel.TextStrokeTransparency = 0
    elseif totalItems >= 1000000 and totalItems < 10000000 then
        titleLabel.Text = "Hacker"
        titleLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
        titleLabel.TextStrokeColor3 = Color3.fromRGB(255, 255, 255)
        titleLabel.TextStrokeTransparency = 0
    elseif totalItems >= 10000000 then
        titleLabel.Text = "GOD"
        rainbowElements[titleLabel] = "Text"
    end
end

local function setupRankTracking(player, titleLabel, countLabel)
    if playerTitleConnections[player.Name] then
        for _, c in ipairs(playerTitleConnections[player.Name]) do c:Disconnect() end
    end
    playerTitleConnections[player.Name] = {}

    local function watchDataFolder()
        local dataFolder = player:FindFirstChild("Data")
        if dataFolder then
            local function hookItems()
                updatePlayerDataDisplays(player, titleLabel, countLabel)
                for _, item in ipairs(dataFolder:GetChildren()) do
                    if item:IsA("ValueBase") then
                        local ev = item.Changed:Connect(function()
                            updatePlayerDataDisplays(player, titleLabel, countLabel)
                        end)
                        table.insert(playerTitleConnections[player.Name], ev)
                    end
                end
            end
            hookItems()
            local chAdded = dataFolder.ChildAdded:Connect(function()
                task.wait(0.1)
                hookItems()
            end)
            table.insert(playerTitleConnections[player.Name], chAdded)
        end
    end

    watchDataFolder()
    local folderAdded = player.ChildAdded:Connect(function(child)
        if child.Name == "Data" then watchDataFolder() end
    end)
    table.insert(playerTitleConnections[player.Name], folderAdded)
end

local function clearInventoryConnections()
    for _, connection in ipairs(liveConnections) do
        connection:Disconnect()
    end
    liveConnections = {}
    for frame, _ in pairs(shakingFrames) do shakingFrames[frame] = nil end
    for _, child in ipairs(ItemScroll:GetChildren()) do
        if child:IsA("Frame") then
            child:Destroy()
        end
    end
end

local function filterVisibleItems()
    local searchText = string.lower(SearchBar.Text)
    for _, child in ipairs(ItemScroll:GetChildren()) do
        if child:IsA("Frame") then
            local targetNameLabel = child:FindFirstChild("ItemNameLabel")
            if targetNameLabel then
                local labelText = string.lower(targetNameLabel.Text)
                if string.find(labelText, searchText) then
                    child.Visible = true
                else
                    child.Visible = false
                end
            end
        end
    end
end

SearchBar:GetPropertyChangedSignal("Text"):Connect(filterVisibleItems)

CloseBtn.MouseButton1Click:Connect(function()
    DetailFrame.Visible = false
    clearInventoryConnections()
    activeTargetPlayer = nil
    isViewingSnapshot = false
    activeSnapshotData = nil
    SearchBar.Text = ""
end)

local function loadPlayerDataDisplay(targetPlayer)
    clearInventoryConnections()
    activeTargetPlayer = targetPlayer
    isViewingSnapshot = false
    activeSnapshotData = nil
    DetailFrame.Visible = true

    if currentMode == "Data" then
        UserLabel.Text = targetPlayer.Name .. "'s Data"
        local dataFolder = targetPlayer:WaitForChild("Data", 5)
        if not dataFolder then return end

        local function renderItemRow(item)
            if not item:IsA("ValueBase") then return end
            if isFiltered(item.Name) then return end

            local ContainerFrame = Instance.new("Frame")
            ContainerFrame.Name = item.Name
            ContainerFrame.Parent = ItemScroll
            ContainerFrame.Size = UDim2.new(1, 0, 0, 32)
            ContainerFrame.BackgroundTransparency = 1

            local RowFrame = Instance.new("Frame")
            RowFrame.Name = "RowFrame"
            RowFrame.Parent = ContainerFrame
            RowFrame.Size = UDim2.new(1, 0, 1, 0)
            RowFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
            styleCorner(RowFrame, 4)

            local typeIconAsset, frameButtonAsset = getInventoryTemplateData(item.Name)

            local ButtonDecal = Instance.new("ImageLabel")
            ButtonDecal.Parent = RowFrame
            ButtonDecal.Size = UDim2.new(0, 24, 0, 24)
            ButtonDecal.Position = UDim2.new(0, 6, 0, 4)
            ButtonDecal.BackgroundTransparency = 1
            ButtonDecal.Image = frameButtonAsset ~= "" and frameButtonAsset or "rbxassetid://12328114032"

            local TypeDecal = Instance.new("ImageLabel")
            TypeDecal.Parent = RowFrame
            TypeDecal.Size = UDim2.new(0, 24, 0, 24)
            TypeDecal.Position = UDim2.new(0, 34, 0, 4)
            TypeDecal.BackgroundTransparency = 1
            TypeDecal.Image = typeIconAsset ~= "" and typeIconAsset or "rbxassetid://12328114032"

            local NameLabel = Instance.new("TextLabel")
            NameLabel.Name = "ItemNameLabel"
            NameLabel.Parent = RowFrame
            NameLabel.Size = UDim2.new(0.5, -65, 1, 0)
            NameLabel.Position = UDim2.new(0, 65, 0, 0)
            NameLabel.BackgroundTransparency = 1
            NameLabel.Font = Enum.Font.SourceSans
            NameLabel.Text = item.Name
            NameLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
            NameLabel.TextSize = 14
            NameLabel.TextXAlignment = Enum.TextXAlignment.Left

            local ValueLabel = Instance.new("TextLabel")
            ValueLabel.Parent = RowFrame
            ValueLabel.Size = UDim2.new(0.4, -10, 1, 0)
            ValueLabel.Position = UDim2.new(0.6, 0, 0, 0)
            ValueLabel.BackgroundTransparency = 1
            ValueLabel.Font = Enum.Font.SourceSansBold
            ValueLabel.Text = tostring(item.Value)
            ValueLabel.TextSize = 14
            ValueLabel.TextXAlignment = Enum.TextXAlignment.Right

            local monitoredImages = {ButtonDecal, TypeDecal}
            updateLabelStyle(RowFrame, ValueLabel, monitoredImages, item.Value)

            local changeEvent = item.Changed:Connect(function(newValue)
                ValueLabel.Text = tostring(newValue)
                updateLabelStyle(RowFrame, ValueLabel, monitoredImages, newValue)
            end)
            table.insert(liveConnections, changeEvent)
            
            local searchText = string.lower(SearchBar.Text)
            if searchText ~= "" and not string.find(string.lower(item.Name), searchText) then
                ContainerFrame.Visible = false
            end
        end

        for _, item in ipairs(dataFolder:GetChildren()) do
            renderItemRow(item)
        end

        local childAddedEvent = dataFolder.ChildAdded:Connect(function(newItem)
            renderItemRow(newItem)
        end)
        table.insert(liveConnections, childAddedEvent)

    elseif currentMode == "OtherData" then
        UserLabel.Text = targetPlayer.Name .. "'s Slots"
        local otherDataFolder = targetPlayer:WaitForChild("OtherData", 5)
        if not otherDataFolder then return end

        local function renderSlotRow(item)
            if not string.match(item.Name, "^NameOfSlot%d*$") then return end

            local numStr = string.match(item.Name, "%d+$")
            local numValue = numStr and tonumber(numStr) or 1

            local ContainerFrame = Instance.new("Frame")
            ContainerFrame.Name = item.Name
            ContainerFrame.Parent = ItemScroll
            ContainerFrame.Size = UDim2.new(1, 0, 0, 32)
            ContainerFrame.BackgroundTransparency = 1
            ContainerFrame.LayoutOrder = numValue

            local RowFrame = Instance.new("Frame")
            RowFrame.Name = "RowFrame"
            RowFrame.Parent = ContainerFrame
            RowFrame.Size = UDim2.new(1, 0, 1, 0)
            RowFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
            styleCorner(RowFrame, 4)

            local dynamicDisplayName = "Slot Name"
            if numValue > 1 then
                dynamicDisplayName = "Slot Name " .. tostring(numValue)
            end

            local NameLabel = Instance.new("TextLabel")
            NameLabel.Name = "ItemNameLabel"
            NameLabel.Parent = RowFrame
            NameLabel.Size = UDim2.new(0.5, 0, 1, 0)
            NameLabel.Position = UDim2.new(0, 10, 0, 0)
            NameLabel.BackgroundTransparency = 1
            NameLabel.Font = Enum.Font.SourceSans
            NameLabel.Text = dynamicDisplayName
            NameLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
            NameLabel.TextSize = 14
            NameLabel.TextXAlignment = Enum.TextXAlignment.Left

            local ValueLabel = Instance.new("TextLabel")
            ValueLabel.Parent = RowFrame
            ValueLabel.Size = UDim2.new(0.5, -10, 1, 0)
            ValueLabel.Position = UDim2.new(0.5, 0, 0, 0)
            ValueLabel.BackgroundTransparency = 1
            ValueLabel.Font = Enum.Font.SourceSansBold
            ValueLabel.Text = tostring(item.Value)
            ValueLabel.TextSize = 14
            ValueLabel.TextXAlignment = Enum.TextXAlignment.Right

            updateLabelStyle(RowFrame, ValueLabel, {}, item.Value)

            local changeEvent = item.Changed:Connect(function(newValue)
                ValueLabel.Text = tostring(newValue)
                updateLabelStyle(RowFrame, ValueLabel, {}, newValue)
            end)
            table.insert(liveConnections, changeEvent)
            
            local searchText = string.lower(SearchBar.Text)
            if searchText ~= "" and not string.find(string.lower(dynamicDisplayName), searchText) then
                ContainerFrame.Visible = false
            end
        end

        for _, item in ipairs(otherDataFolder:GetChildren()) do
            renderSlotRow(item)
        end

        local childAddedEvent = otherDataFolder.ChildAdded:Connect(function(newItem)
            renderSlotRow(newItem)
        end)
        table.insert(liveConnections, childAddedEvent)
    end
end

local function loadSnapshotDataDisplay(snapshotData)
    clearInventoryConnections()
    isViewingSnapshot = true
    activeSnapshotData = snapshotData
    DetailFrame.Visible = true

    if currentMode == "Data" then
        UserLabel.Text = "[Saved] " .. snapshotData.Username .. "'s Data"
        local itemsList = snapshotData.Data or {}

        for itemName, itemValue in pairs(itemsList) do
            local ContainerFrame = Instance.new("Frame")
            ContainerFrame.Name = itemName
            ContainerFrame.Parent = ItemScroll
            ContainerFrame.Size = UDim2.new(1, 0, 0, 32)
            ContainerFrame.BackgroundTransparency = 1

            local RowFrame = Instance.new("Frame")
            RowFrame.Name = "RowFrame"
            RowFrame.Parent = ContainerFrame
            RowFrame.Size = UDim2.new(1, 0, 1, 0)
            RowFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
            styleCorner(RowFrame, 4)

            local typeIconAsset, frameButtonAsset = getInventoryTemplateData(itemName)

            local ButtonDecal = Instance.new("ImageLabel")
            ButtonDecal.Parent = RowFrame
            ButtonDecal.Size = UDim2.new(0, 24, 0, 24)
            ButtonDecal.Position = UDim2.new(0, 6, 0, 4)
            ButtonDecal.BackgroundTransparency = 1
            ButtonDecal.Image = frameButtonAsset ~= "" and frameButtonAsset or "rbxassetid://12328114032"

            local TypeDecal = Instance.new("ImageLabel")
            TypeDecal.Parent = RowFrame
            TypeDecal.Size = UDim2.new(0, 24, 0, 24)
            TypeDecal.Position = UDim2.new(0, 34, 0, 4)
            TypeDecal.BackgroundTransparency = 1
            TypeDecal.Image = typeIconAsset ~= "" and typeIconAsset or "rbxassetid://12328114032"

            local NameLabel = Instance.new("TextLabel")
            NameLabel.Name = "ItemNameLabel"
            NameLabel.Parent = RowFrame
            NameLabel.Size = UDim2.new(0.5, -65, 1, 0)
            NameLabel.Position = UDim2.new(0, 65, 0, 0)
            NameLabel.BackgroundTransparency = 1
            NameLabel.Font = Enum.Font.SourceSans
            NameLabel.Text = itemName
            NameLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
            NameLabel.TextSize = 14
            NameLabel.TextXAlignment = Enum.TextXAlignment.Left

            local ValueLabel = Instance.new("TextLabel")
            ValueLabel.Parent = RowFrame
            ValueLabel.Size = UDim2.new(0.4, -10, 1, 0)
            ValueLabel.Position = UDim2.new(0.6, 0, 0, 0)
            ValueLabel.BackgroundTransparency = 1
            ValueLabel.Font = Enum.Font.SourceSansBold
            ValueLabel.Text = tostring(itemValue)
            ValueLabel.TextSize = 14
            ValueLabel.TextXAlignment = Enum.TextXAlignment.Right

            updateLabelStyle(RowFrame, ValueLabel, {ButtonDecal, TypeDecal}, itemValue)

            local searchText = string.lower(SearchBar.Text)
            if searchText ~= "" and not string.find(string.lower(itemName), searchText) then
                ContainerFrame.Visible = false
            end
        end
    elseif currentMode == "OtherData" then
        UserLabel.Text = "[Saved] " .. snapshotData.Username .. "'s Slots"
        local slotsList = snapshotData.OtherData or {}

        for slotName, slotValue in pairs(slotsList) do
            local numStr = string.match(slotName, "%d+$")
            local numValue = numStr and tonumber(numStr) or 1

            local ContainerFrame = Instance.new("Frame")
            ContainerFrame.Name = slotName
            ContainerFrame.Parent = ItemScroll
            ContainerFrame.Size = UDim2.new(1, 0, 0, 32)
            ContainerFrame.BackgroundTransparency = 1
            ContainerFrame.LayoutOrder = numValue

            local RowFrame = Instance.new("Frame")
            RowFrame.Name = "RowFrame"
            RowFrame.Parent = ContainerFrame
            RowFrame.Size = UDim2.new(1, 0, 1, 0)
            RowFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
            styleCorner(RowFrame, 4)

            local dynamicDisplayName = "Slot Name"
            if numValue > 1 then
                dynamicDisplayName = "Slot Name " .. tostring(numValue)
            end

            local NameLabel = Instance.new("TextLabel")
            NameLabel.Name = "ItemNameLabel"
            NameLabel.Parent = RowFrame
            NameLabel.Size = UDim2.new(0.5, 0, 1, 0)
            NameLabel.Position = UDim2.new(0, 10, 0, 0)
            NameLabel.BackgroundTransparency = 1
            NameLabel.Font = Enum.Font.SourceSans
            NameLabel.Text = dynamicDisplayName
            NameLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
            NameLabel.TextSize = 14
            NameLabel.TextXAlignment = Enum.TextXAlignment.Left

            local ValueLabel = Instance.new("TextLabel")
            ValueLabel.Parent = RowFrame
            ValueLabel.Size = UDim2.new(0.5, -10, 1, 0)
            ValueLabel.Position = UDim2.new(0.5, 0, 0, 0)
            ValueLabel.BackgroundTransparency = 1
            ValueLabel.Font = Enum.Font.SourceSansBold
            ValueLabel.Text = tostring(slotValue)
            ValueLabel.TextSize = 14
            ValueLabel.TextXAlignment = Enum.TextXAlignment.Right

            updateLabelStyle(RowFrame, ValueLabel, {}, slotValue)

            local searchText = string.lower(SearchBar.Text)
            if searchText ~= "" and not string.find(string.lower(dynamicDisplayName), searchText) then
                ContainerFrame.Visible = false
            end
        end
    end
end

SwitchBtn.MouseButton1Click:Connect(function()
    if currentMode == "Data" then
        currentMode = "OtherData"
    else
        currentMode = "Data"
    end
    if isViewingSnapshot and activeSnapshotData then
        loadSnapshotDataDisplay(activeSnapshotData)
    elseif activeTargetPlayer then
        loadPlayerDataDisplay(activeTargetPlayer)
    end
end)

local function addPlayerButton(player)
    if PlayerScroll:FindFirstChild(player.Name) then return end

    local Container = Instance.new("Frame")
    Container.Name = player.Name
    Container.Parent = PlayerScroll
    Container.Size = UDim2.new(1, 0, 0, 52)
    Container.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    styleCorner(Container, 4)

    local Btn = Instance.new("TextButton")
    Btn.Size = UDim2.new(1, 0, 1, 0)
    Btn.BackgroundTransparency = 1
    Btn.Text = ""
    Btn.Parent = Container

    local CountLabel = Instance.new("TextLabel")
    CountLabel.Parent = Container
    CountLabel.Size = UDim2.new(1, -10, 0, 15)
    CountLabel.Position = UDim2.new(0, 8, 0, 4)
    CountLabel.BackgroundTransparency = 1
    CountLabel.Font = Enum.Font.SourceSansBold
    CountLabel.Text = "[Items: Calculating...]"
    CountLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
    CountLabel.TextSize = 11
    CountLabel.TextXAlignment = Enum.TextXAlignment.Left

    local NameLabel = Instance.new("TextLabel")
    NameLabel.Parent = Container
    NameLabel.Size = UDim2.new(1, -10, 0, 16)
    NameLabel.Position = UDim2.new(0, 8, 0, 18)
    NameLabel.BackgroundTransparency = 1
    NameLabel.Font = Enum.Font.SourceSansBold
    NameLabel.Text = player.Name
    NameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    NameLabel.TextSize = 13
    NameLabel.TextXAlignment = Enum.TextXAlignment.Left

    local TitleLabel = Instance.new("TextLabel")
    TitleLabel.Name = "RankTitle"
    TitleLabel.Parent = Container
    TitleLabel.Size = UDim2.new(1, -10, 0, 15)
    TitleLabel.Position = UDim2.new(0, 8, 0, 33)
    TitleLabel.BackgroundTransparency = 1
    TitleLabel.Font = Enum.Font.SourceSansBold
    TitleLabel.Text = "Calculating..."
    TitleLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
    TitleLabel.TextSize = 12
    TitleLabel.TextXAlignment = Enum.TextXAlignment.Left

    Btn.MouseButton1Click:Connect(function()
        loadPlayerDataDisplay(player)
    end)

    setupRankTracking(player, TitleLabel, CountLabel)
end

local function removePlayerButton(player)
    local Frame = PlayerScroll:FindFirstChild(player.Name)
    if Frame then Frame:Destroy() end

    if playerTitleConnections[player.Name] then
        for _, c in ipairs(playerTitleConnections[player.Name]) do c:Disconnect() end
        playerTitleConnections[player.Name] = nil
    end

    if activeTargetPlayer == player and not isViewingSnapshot then
        DetailFrame.Visible = false
        clearInventoryConnections()
        activeTargetPlayer = nil
        SearchBar.Text = ""
    end
end

local activeSelectedSlotIndex = nil
local initializedSlots = {}

-- HARD DRIVE SYSTEM REGISTRY
local function secureWriteStorage(fileName, payloadString)
    pcall(function()
        if writefile then
            writefile(fileName .. ".txt", payloadString)
        end
    end)
end

local function secureReadStorage(fileName)
    local success, content = pcall(function()
        if readfile and isfile and isfile(fileName .. ".txt") then
            return readfile(fileName .. ".txt")
        end
    end)
    return success and content or nil
end

local function loadFullSlotSystemRegistry()
    for index = 1, 20 do
        local SlotCardFrame = Instance.new("Frame")
        SlotCardFrame.Name = "Slot" .. tostring(index)
        SlotCardFrame.Parent = SavesScroll
        SlotCardFrame.Size = UDim2.new(1, 0, 0, 30)
        SlotCardFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
        SlotCardFrame.LayoutOrder = index
        styleCorner(SlotCardFrame, 4)

        local SelectionButton = Instance.new("TextButton")
        SelectionButton.Size = UDim2.new(1, 0, 1, 0)
        SelectionButton.BackgroundTransparency = 1
        SelectionButton.Font = Enum.Font.SourceSansBold
        SelectionButton.Text = "Slot " .. tostring(index) .. ": [Empty]"
        SelectionButton.TextColor3 = Color3.fromRGB(160, 160, 160)
        SelectionButton.TextSize = 11
        SelectionButton.Parent = SlotCardFrame

        initializedSlots[index] = {Frame = SlotCardFrame, Button = SelectionButton, LoadedData = nil}

        local encryptedPayload = secureReadStorage("Tracker_SaveSlot_" .. tostring(index))
        if encryptedPayload and encryptedPayload ~= "" then
            pcall(function()
                local parsedJson = HttpService:JSONDecode(encryptedPayload)
                if parsedJson and parsedJson.Username then
                    initializedSlots[index].LoadedData = parsedJson
                    SelectionButton.Text = "Slot " .. tostring(index) .. ": " .. parsedJson.Username
                    SelectionButton.TextColor3 = Color3.fromRGB(100, 200, 255)
                end
            end)
        end

        SelectionButton.MouseButton1Click:Connect(function()
            if activeSelectedSlotIndex and initializedSlots[activeSelectedSlotIndex] then
                initializedSlots[activeSelectedSlotIndex].Frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
            end
            
            activeSelectedSlotIndex = index
            SlotCardFrame.BackgroundColor3 = Color3.fromRGB(70, 70, 120)

            if initializedSlots[index].LoadedData then
                loadSnapshotDataDisplay(initializedSlots[index].LoadedData)
            end
        end)
    end
end

SaveCurrentBtn.MouseButton1Click:Connect(function()
    if not activeSelectedSlotIndex then return end
    if isViewingSnapshot or not activeTargetPlayer then return end

    local primaryDataFolder = activeTargetPlayer:FindFirstChild("Data")
    local alternativeDataFolder = activeTargetPlayer:FindFirstChild("OtherData")
    if not primaryDataFolder and not alternativeDataFolder then return end

    local capturedPayloadSnapshot = {
        Username = activeTargetPlayer.Name,
        Data = {},
        OtherData = {}
    }

    if primaryDataFolder then
        for _, child in ipairs(primaryDataFolder:GetChildren()) do
            if child:IsA("ValueBase") and not isFiltered(child.Name) then
                capturedPayloadSnapshot.Data[child.Name] = child.Value
            end
        end
    end

    if alternativeDataFolder then
        for _, child in ipairs(alternativeDataFolder:GetChildren()) do
            if child:IsA("ValueBase") and string.match(child.Name, "^NameOfSlot%d*$") then
                capturedPayloadSnapshot.OtherData[child.Name] = child.Value
            end
        end
    end

    local serializedString = HttpService:JSONEncode(capturedPayloadSnapshot)
    secureWriteStorage("Tracker_SaveSlot_" .. tostring(activeSelectedSlotIndex), serializedString)

    initializedSlots[activeSelectedSlotIndex].LoadedData = capturedPayloadSnapshot
    initializedSlots[activeSelectedSlotIndex].Button.Text = "Slot " .. tostring(activeSelectedSlotIndex) .. ": " .. activeTargetPlayer.Name
    initializedSlots[activeSelectedSlotIndex].Button.TextColor3 = Color3.fromRGB(100, 200, 255)

    loadSnapshotDataDisplay(capturedPayloadSnapshot)
end)

ClearSlotBtn.MouseButton1Click:Connect(function()
    if not activeSelectedSlotIndex then return end

    pcall(function()
        if delfile and isfile and isfile("Tracker_SaveSlot_" .. tostring(activeSelectedSlotIndex) .. ".txt") then
            delfile("Tracker_SaveSlot_" .. tostring(activeSelectedSlotIndex) .. ".txt")
        else
            secureWriteStorage("Tracker_SaveSlot_" .. tostring(activeSelectedSlotIndex), "")
        end
    end)
    
    initializedSlots[activeSelectedSlotIndex].LoadedData = nil
    initializedSlots[activeSelectedSlotIndex].Button.Text = "Slot " .. tostring(activeSelectedSlotIndex) .. ": [Empty]"
    initializedSlots[activeSelectedSlotIndex].Button.TextColor3 = Color3.fromRGB(160, 160, 160)

    if isViewingSnapshot then
        DetailFrame.Visible = false
        clearInventoryConnections()
        isViewingSnapshot = false
        activeSnapshotData = nil
        SearchBar.Text = ""
    end
end)

loadFullSlotSystemRegistry()

for _, p in ipairs(Players:GetPlayers()) do
    addPlayerButton(p)
end

Players.PlayerAdded:Connect(addPlayerButton)
Players.PlayerRemoving:Connect(removePlayerButton)

Kommentare (0)

Melde an, um an der Unterhaltung teilzunehmen

  • Sei der Erste, der kommentiert.

Häufig gestellte Fragen

Wie verwende ich den Gold and Block checker-Script?
Kopiere den obigen Code, öffne deinen Roblox-Executor, füge den Code ein und drücke Ausführen, während du im Spiel bist. Die Funktionen werden sofort aktiviert, sobald der Script läuft.
Ist der Gold and Block checker-Script kostenlos?
Ja. Dieser Script ist völlig kostenlos zu kopieren und zu verwenden. Wenn er ein Schlüsselsystem nutzt, folge dem Link "Schlüssel erhalten", um ihn kostenlos freizuschalten.
Ist der Gold and Block checker-Script sicher zu verwenden?
Der vollständige Quellcode wird auf dieser Seite angezeigt, damit du genau lesen kannst, was er tut, bevor du ihn ausführst. Verwende immer einen vertrauenswürdigen Executor, und denke daran, dass die Verwendung von Scripts gegen die Nutzungsbedingungen von Roblox verstößt — verwende sie auf eigene Gefahr.
Welcher Executor funktioniert mit Gold and Block checker?
Dieser Script funktioniert mit den meisten beliebten Roblox-Executoren. Besuche unsere Executor-Seite, um einen vertrauenswürdigen kostenlosen oder kostenpflichtigen Executor für dein Gerät zu finden.
Gold and Block checker | BloxScripter