tobik_roblox

Data Script

Aug 6th, 2024
9
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. local DataStoreService = game:GetService("DataStoreService")
  2. local DataStore = DataStoreService:GetDataStore("DataStore")
  3. local Players = game:GetService("Players")
  4. local Autosave = 10
  5. local Data
  6. local StartData = {1}
  7. local DataNames = {"Stage"}
  8. local DataTypes = {Instance.new("NumberValue")}
  9.  
  10. Players.PlayerAdded:Connect(function(Player)
  11. local Key = "Key: "..Player.UserId
  12. local success, errormessage = pcall(function()
  13. Data = DataStore:GetAsync(Key)
  14. end)
  15. local leaderstats = Instance.new("Folder", Player)
  16. leaderstats.Name = "leaderstats"
  17. if success then
  18. if Data == nil then
  19. print("Data = nil, Setting Data to StartData")
  20. Data = StartData
  21. print(Data)
  22. end
  23. for X = 1,#Data do
  24. local Value = DataTypes[X]
  25. Value.Name = DataNames[X]
  26. Value.Value = Data[X]
  27. Value.Parent = leaderstats
  28. end
  29. else
  30. print("Error While Loading Data, Setting To Default Values Anyway. ErrorMessage: "..errormessage)
  31. for X = 1,#StartData do
  32. local Value = DataTypes[X]
  33. Value.Name = DataNames[X]
  34. Value.Value = StartData[X]
  35. Value.Parent = leaderstats
  36. end
  37. end
  38. while wait(Autosave) do
  39. local DataToSave = {}
  40. for X = 1, #Player.leaderstats:GetChildren() do
  41. table.insert(DataToSave,X,Player.leaderstats:GetChildren()[X].Value)
  42. end
  43. local success, errormessage = pcall(function()
  44. DataStore:SetAsync(Key,DataToSave)
  45. end)
  46. if success then
  47. print("Successfully Saved Data")
  48. else
  49. print("Error While Saving Data, ErrorMessage: "..errormessage)
  50. end
  51. end
  52. end)
  53.  
  54. Players.PlayerRemoving:Connect(function(Player)
  55. local Key = "Key: "..Player.UserId
  56. local DataToSave = {}
  57. for X = 1, #Player.leaderstats:GetChildren() do
  58. table.insert(DataToSave,X,Player.leaderstats:GetChildren()[X].Value)
  59. end
  60. local success, errormessage = pcall(function()
  61. DataStore:SetAsync(Key,DataToSave)
  62. end)
  63. if success then
  64. print("Successfully Saved Data")
  65. else
  66. print("Error While Saving Data, ErrorMessage: "..errormessage)
  67. end
  68. end)
  69.  
Add Comment
Please, Sign In to add comment