Add. Data Store function to Inventory

Hi everyone I’ve been asking this ******* question for I think 8 times but I don’t really get the perfect answers I hope someone can help me this time so I’m currently working on an Inventory System and right now I want that if I leave a game or lose a Tool or idk a Tool gets added and I leave the Inventory should look the same I got tips on how to do this with steps who told me this
You would have to code for that.

When a player acquires an item, save that addition to your datastores at that moment.
When a player drops or loses an item remove that item from their Data Stores inventory.

That’s what I said but I got 2 Scripts here I used to use for my inventory System(I just need a code pls don’t tell me to go on an Assistant page or just paste me a Topic with Data Store Help for beginners I need the exact code so I can understand what is happening I’m not a pro scripter this all may sound a bit mean from me but…

–InventoryScript:

local inventoryEvent = game.ReplicatedStorage.Remotes.InventoryEvent

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

local inventory = player:WaitForChild("Inventory")

local inventoryFrame = player.PlayerGui:WaitForChild("InventoryGui").InventoryFrame.ItemsFrame:GetChildren()

inventory.ChildAdded:Connect(function(Item)
	inventoryEvent:FireClient(player, Item.Name, true)
end)
end)

inventoryEvent.OnServerEvent:Connect(function(player, ItemName, Value, button)

 if Value == false then
		local SelectedItem = player.Inventory:FindFirstChild(ItemName)
		local backpack = player.Backpack:GetChildren()
		local stuff = player.Character:GetChildren()
		
		if #backpack == 0 and not player.Character:FindFirstChildWhichIsA("Tool") then
			button.Text = "Unequip"
			button.BackgroundColor3 = Color3.new(255,0,0)
			SelectedItem:Clone().Parent = player.Backpack
		else
			for i,v in ipairs(backpack) do
				button.Text = "Equip"
				button.BackgroundColor3 = Color3.new(0,255,0)
				v:Destroy()
			end
			for i, v in ipairs(stuff) do
				if v:IsA("Tool") then
					button.Text = "Equip"
					button.BackgroundColor3 = Color3.new(0,255,0)
					v:Destroy()
				end
			end
		end
      end
end)



–InventoryLocalScript

local InventoryEvent = game.ReplicatedStorage.Remotes.InventoryEvent
local itemFrame = script.Parent:FindFirstChild(“ItemsFrame”)

InventoryEvent.OnClientEvent:Connect(function(ItemName, Value)
if Value == true then

local ItemButton = script.Parent.ItemsFrame.ItemButton:Clone()
ItemButton.Visible = true
ItemButton.Name = ItemName
ItemButton.Text = ItemName
ItemButton.Parent = itemFrame

local equipButton = script.Parent.EquipFrame[“EquipButton”]

ItemButton.MouseButton1Click:Connect(function()
script.Parent.EquipFrame.Title.Text = ItemName
script.Parent.EquipFrame.Title.Visible = true
equipButton.Visible = true
end)
end
end)