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