local plrs = game.Players
local values = {}
local highestValue = 1
plrs.PlayerAdded:Connect(function(player)
local inventoryFolder = Instance.new("Folder")
inventoryFolder.Name = "BackpackInventory"
inventoryFolder.Parent = player
wait(1)
while wait(1) do
if inventoryFolder:FindFirstChild("Sand") then
-- Create data for the blocks
local sandData = Instance.new("Folder")
sandData.Name = "SandData"
sandData.Parent = inventoryFolder.Sand
local sandSellWorth = Instance.new("IntValue")
sandSellWorth.Value = 1
sandSellWorth.Parent = sandData
sandSellWorth.Name = "SellWorth"
local sandId = Instance.new("IntValue")
sandId.Name = "SandId"
sandId.Parent = sandData
-- Give the sand an ID
for i, v in pairs(inventoryFolder.Sand:GetChildren()) do
table.insert(values,v.SandId.Value)
for valueNumber, IDvalue in pairs(values) do
if IDvalue > highestValue then
highestValue = v
end
end
end
sandId.Value = highestValue + 1
highestValue = 0
values = {}
else
local sandFolder = Instance.new("Folder")
sandFolder.Parent = inventoryFolder
sandFolder.Name = "Sand"
local sandData = Instance.new("Folder")
sandData.Name = "SandData"
sandData.Parent = inventoryFolder.Sand
local sandSellWorth = Instance.new("IntValue")
sandSellWorth.Value = 1
sandSellWorth.Parent = sandData
sandSellWorth.Name = "SellWorth"
local sandId = Instance.new("IntValue")
sandId.Name = "SandId"
sandId.Parent = sandData
sandId.Value = 1
end
end
end)
And in the output it says:
ServerScriptService.Script:40: attempt to compare Instance < number
I've tested it out and it seems highestValue is considered an instance, for some reason. Using tonumber(highestValue) declares it nil.
