I was watching a tutorial and there was a saving feature and I made it but It doesn't seem to work for me but it did work for them can you please help

--leaderstats

game.Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player
	
	local shirts = Instance.new("IntValue")
	shirts.Name = "Shirts"
	shirts.Value = 0
	shirts.Parent = stats
	
		local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Value = 250
	cash.Parent = stats
end)

--Save System

local DS = game:GetService("DataStoreService"):GetDataStore("SaveData")
game.Players.PlayerAdded:Connect(function(plr)
	wait()
	local plrKey = "id_"..plr.UserId
	local save1 = plr.leaderstats.Shirts
	local save2 = plr. leaderstats.Cash
	
	local GetSaved = DS:GetAsync(plrKey)
	if GetSaved then
		save1.Value = GetSaved[1]
		save2.Value = GetSaved[2]
	else
		local NumberForSaving = {save1.Value,save2.Value}
		DS:GetAsync(plrKey, NumberForSaving)
	end
end)

game.Players.PlayerRemoving:Connect(function(plr)
	DS:SetAsync("id_"..plr.UserId,{plr.leaderstats.Shirts.Value,plr.leaderstats.Cash.Value})
end)