This is a normal script running after a remote function is fired.

local AddItem = game:GetService("ReplicatedStorage").Events.AddItem

function UpdateQuantity(ItemName,Amount)
	script.Parent.Background.Holder[ItemName].ItemQuantity.Text = "x"..Amount
end

function AddItem.OnServerInvoke(player,ItemName,Quantity)
	if script.Parent.Inventory:FindFirstChild(ItemName) then
		script.Parent.Inventory[ItemName].Quantity.Value = script.Parent.Inventory[ItemName].Quantity.Value + Quantity
UpdateQuantity(ItemName,script.Parent.Inventory[ItemName].Quantity.Value)
		return
	end
	local Item = Instance.new("Folder")
	Item.Name = ItemName
	local Quantityy = Instance.new("NumberValue")
	Quantityy.Name = "Quantity"
	Quantityy.Value = Quantity
	Item.Parent = script.Parent.Inventory
	Quantityy.Parent = Item
end

It doesn't print any errors. It adds the frame in roblox studio but not in game.