It does not print any error whatsoever. Script is in ServerScriptStorage of course I added prints so it just prints the values it just prints "" and "0" "" for the StringValue and "0" for the NumberValue Yes I edited the values of the items so it has something to save...

wait()
local DataStoreService = game:GetService("DataStoreService")
local SafeStore = game.ReplicatedStorage:FindFirstChild("PlayersData")
game.Players.PlayerAdded:connect(
function(Player) 
	local PlayerStore = DataStoreService:GetDataStore(tostring(Player.userId), "PlayerData")
	-----
	----Start Of Client Store
	local PlayerTag = Instance.new("StringValue",SafeStore)
	PlayerTag.Value = Player.userId
	PlayerTag.Name = (Player.userId)
	print(PlayerTag.Name)
	------
	local DataStore = Instance.new("Folder",PlayerTag)
	DataStore.Name = "Data"
	------Player load
	local SlotHold = Instance.new("Folder",DataStore)
	SlotHold.Name = "SlotHold"
	-------------------Slot One VVVVV
	local SlotOne = Instance.new("Folder",SlotHold)
	SlotOne.Name = "Slot1"
	--
	local SlotOneName = Instance.new("StringValue",SlotOne)
	SlotOneName.Name = "ItemName"
	SlotOneName.Value = PlayerStore:GetAsync("SlotOneName")
	print(SlotOneName.Value)
	--
	local SlotOneStock = Instance.new("NumberValue",SlotOne)
	SlotOneStock.Name = "ItemStock"
	SlotOneStock.Value = PlayerStore:GetAsync("SlotOneStock")
	local SlotOneUsed = Instance.new("BoolValue",SlotHold)
	SlotOneUsed.Name = "Slot1Used"
	print(SlotOneStock.Value)
	----
	local SlotOneUsedSlot = Instance.new("StringValue",SlotOneUsed)
	SlotOneUsedSlot.Name = "Slot"
	SlotOneUsedSlot.Value = (SlotOne.Name)
	---
	if SlotOneName.Value == "" and SlotOneStock.Value <= 0 then
		SlotOneUsed.Value = false
	else
		SlotOneUsed.Value = true
	end
	-------------------Slot One^^ 
	-------------------Slot Two VVVVV
	local SlotTwo = Instance.new("Folder",SlotHold)
	SlotTwo.Name = "Slot2"
	--
	local SlotTwoName = Instance.new("StringValue",SlotTwo)
	SlotTwoName.Name = "ItemName"
	SlotTwoName.Value = PlayerStore:GetAsync("SlotTwoName")
	print(SlotTwoName.Value)
	--
	local SlotTwoStock = Instance.new("NumberValue",SlotTwo)
	SlotTwoStock.Name = "ItemStock"
	SlotTwoStock.Value = PlayerStore:GetAsync("SlotTwoStock")
	print(SlotTwoStock.Value)
	-----
	local SlotTwoUsed = Instance.new("BoolValue",SlotHold)
	SlotTwoUsed.Name = "Slot2Used"
	-----
	local SlotTwoUsedSlot = Instance.new("StringValue",SlotTwoUsed)
	SlotTwoUsedSlot.Name = "Slot"
	SlotTwoUsedSlot.Value = (SlotTwo.Name)
	-----
	if SlotTwoName.Value == "" and SlotTwoStock.Value <= 0 then
		SlotTwoUsed.Value = false
	else
		SlotTwoUsed.Value = true
	end
	-------------------Slot Two^^^^
	-------------------Slot Three VVVVV
	local SlotThree = Instance.new("Folder",SlotHold)
	SlotThree.Name = "Slot3"
	--
	local SlotThreeName = Instance.new("StringValue",SlotThree)
	SlotThreeName.Name = "ItemName"
	SlotThreeName.Value = PlayerStore:GetAsync("SlotThreeName")
	print(SlotThreeName.Value)
	--
	local SlotThreeStock = Instance.new("NumberValue",SlotThree)
	SlotThreeStock.Name = "ItemStock"
	SlotThreeStock.Value = PlayerStore:GetAsync("SlotThreeStock")
	print(SlotThreeStock.Value)
	-----
	local SlotThreeUsed = Instance.new("BoolValue",SlotHold)
	SlotThreeUsed.Name = "Slot3Used"
	----
	local SlotThreeUsedSlot = Instance.new("StringValue",SlotThreeUsed)
	SlotThreeUsedSlot.Name = "Slot"
	SlotThreeUsedSlot.Value = (SlotThree.Name)
	----
	if SlotThreeName.Value == "" and SlotThreeStock.Value <= 0 then
		SlotThreeUsed.Value = false
	else
		SlotThreeUsed.Value = true
	end
	-------------------Slot Three ^^^^
    repeat wait() until SafeStore:findFirstChild(Player.userId)
	local PlayerData = SafeStore:findFirstChild(Player.userId)
	repeat wait() until PlayerTag:findFirstChild("Data")
	------
	DataStore:Clone().Parent = Player
end) 
-----UpdateAsync
game.Players.PlayerRemoving:connect(function(Player)
	local PlayerStore = DataStoreService:GetDataStore(tostring(Player.userId), "PlayerData")
	local PlayerData = SafeStore:findFirstChild(Player.userId)
	local PlrData = Player.Data.SlotHold
	if SafeStore:findFirstChild(Player.userId) then
		PlayerStore:SetAsync("Slot1Name", PlrData.Slot1.ItemName.Value)
		print(PlrData.Slot1.ItemName.Value)
		PlayerStore:SetAsync("Slot1Stock", PlrData.Slot1.ItemStock.Value)
		print(PlrData.Slot1.ItemStock.Value)
		-----SlotOne
		PlayerStore:SetAsync("Slot2Name", PlrData.Slot2.ItemName.Value)
		print(PlrData.Slot2.ItemName.Value)
		PlayerStore:SetAsync("Slot2Stock", PlrData.Slot2.ItemStock.Value)
		print(PlrData.Slot2.ItemStock.Value)
		----SlotTwo
		PlayerStore:SetAsync("Slot3Name", PlrData.Slot3.ItemName.Value)
		print(PlrData.Slot3.ItemName.Value)
		PlayerStore:SetAsync("Slot3Stock", PlrData.Slot3.ItemStock.Value)
		print(PlrData.Slot3.ItemStock.Value)
		----SlotThree
		SafeStore:findFirstChild(Player.userId):remove()
		print(Player.Name .. " Saved")
	end
end)
----10
game.OnClose = function()
	wait(5)
end