Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

inventory folder is empty so i cant use it as a table?

I put a folder in players on add when people join to act as a inventory, so when i am wanting to add an item into it, i first try to use for, i v inpairs to make sure the item isn't in inventory first but when i put inventory into the like this

for i, v in pairs(plr.Inventory)

i keep getting error saying inventory is an instance. I figure its considered an instance since there isnt any items in the inventory yet so i am not sure how to get around this. I don't want to just add an item into the persons inventory when they join because what if they sold every item in their inventory later and got a item, then the script would break. here is full code.

local dss = game:GetService("DataStoreService")
local ds = dss:GetDataStore("InventoryData")

game.Players.PlayerAdded:Connect(function(p)

	local invFolder = Instance.new("Folder", p)
	invFolder.Name = "Inventory"
	
end)

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr, item) -- put this item into plr inv folder
	print(item.Name)
	local list = game.ReplicatedStorage.items:GetChildren()
	for i, v in pairs(list) do
		local y = v
		if y.Name == item.Name then
			for i, v in pairs(plr.Inventory) do --mess up here
				if y.Name == v.Name then
					y.Amount.Value = y.Amount.Value +v.Amount.Value
				else
					local x = v:clone()
					x.parent = plr.Inventory
			
			break
		end
			end
		end
		end
	
	
	
	
	
end)

1 comment

0

if the table is empty it will return {}

1 answer

your supposed to do plr.Inventory:GetChildren() from what i can see

This discussion is preserved as it was. New answers, comments, and votes are closed.