Advertisement
Guest User

Data doesnt save

a guest
Jan 25th, 2020
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.76 KB | None | 0 0
  1. if game:GetService("RunService"):IsStudio() then
  2.     Data = game:GetService("DataStoreService"):GetDataStore("PeaaaaaaaaaaaaaaaaaaaaaaasStudio")
  3.     print("Currently in studio")
  4. else
  5.     Data = game:GetService("DataStoreService"):GetDataStore("Peaaaaaaaaaaaaaaaaaaaaaaas")
  6.     print("not in studio") 
  7. end
  8.  
  9. counter = 0
  10. remote = game:GetService("ReplicatedStorage").error
  11. dataErrored = false
  12. function getData(plr)
  13.     local success, errormsg = pcall(function()
  14.         data = Data:GetAsync(plr.UserId)
  15.     end)
  16.     if success then
  17.         counter = 0
  18.         return data
  19.     else
  20.         if counter >= 4 then
  21.             warn("Couldnt get user data")
  22.             return "dataError"
  23.         end
  24.         wait(.1)
  25.         counter = counter + 1
  26.         getData(plr)
  27.     end
  28. end
  29. function saveData(plr, save)
  30.     local success, errormsg = pcall(function()
  31.         data = Data:SetAsync(plr.UserId, save)
  32.     end)
  33.     if success then
  34.         counter = 0
  35.         print("saved data")
  36.         return data
  37.     else
  38.         wait(.1)
  39.         saveData(plr)
  40.     end
  41. end
  42. game.Players.PlayerAdded:Connect(function(plr)
  43.     local leaderstats = Instance.new("Folder")
  44.     leaderstats.Name = 'leaderstats'
  45.     leaderstats.Parent = plr
  46.     local money = Instance.new("NumberValue")
  47.     money.Name = "Cash"
  48.     money.Parent = leaderstats
  49.     local stat = Instance.new("StringValue")
  50.     stat.Name = 'Status'
  51.     stat.Parent = leaderstats
  52.     stat.Value = "None"
  53.     dataSave = {money.Value, stat.Value}
  54.     local data = getData(plr)
  55.     if data == "dataError" then
  56.         remote:FireClient(plr)
  57.         print("Error")
  58.         dataErrored = true
  59.     elseif data then
  60.         money.Value = data[1]
  61.         stat.Value = data[2]
  62.         print("Data loaded")
  63.     else
  64.         warn("New user.")
  65.         money.Value = 0
  66.        
  67.     end
  68. end)
  69. game.Players.PlayerRemoving:Connect(function(plr)
  70.     if not dataErrored then
  71.         print("Saving")
  72.         saveData(plr, dataSave)
  73.     else
  74.         print("Data has errored")
  75.     end
  76. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement