Hello, I’m looking for a good way to store players items. I’ve decided to use module scripts, and I already have an inventory system created. Here’s the inventory system I’ve made so far:
local Inventory = {}
Inventory.__index = Inventory
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Signal = require(ReplicatedStorage.Packages.Signal)
function Inventory.new(Player)
local self = setmetatable({}, Inventory)
self.Items = {}
self.ItemAdded = Signal.new()
return self
end
function Inventory:Add(Item)
if not self.Items[Item] then
table.insert(self.Items, Item)
self.ItemAdded:Fire(Item)
end
end
return Inventory
function Inventory:Add(Item, Attributes)
if not self.Items[Item] then
self.Items[Item] = Attributes -- Store attributes in dictionary format
self.ItemAdded:Fire(Item, Attributes)
end
end