Advertisement
GaryScripts

roblox datastore saving

Dec 23rd, 2021
1,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.56 KB | None | 0 0
  1. local Data = game:GetService("DataStoreService")
  2. local RunService = game:GetService("RunService")
  3. local XPSaveData = Data:GetDataStore("Experience")
  4.  
  5. game.Players.PlayerAdded:Connect(function(plr)
  6.     local leaderstats = Instance.new("Folder", plr)
  7.     leaderstats.Name = "leaderstats"
  8.    
  9.     local Level = Instance.new("IntValue", leaderstats)
  10.     Level.Name = "Level"
  11.    
  12.     local EXP = Instance.new("IntValue", plr)
  13.     EXP.Name = "EXP"
  14.    
  15.     local dataEXP
  16.     local dataLVL
  17.    
  18.     local success, err = pcall(function()
  19.         dataLVL = XPSaveData:GetAsync(plr.UserId.."-Level")
  20.         dataEXP = XPSaveData:GetAsync(plr.UserId.."-EXP")
  21.     end)
  22.    
  23.     if success then
  24.         Level.Value = dataLVL
  25.         EXP.Value = dataEXP
  26.        
  27.         print("data retrieved successfully")
  28.     else
  29.         warn("didn't retrieve data properly", err)
  30.     end
  31. end)
  32.  
  33. game.Players.PlayerRemoving:Connect(function(plr)
  34.     local success, err = pcall(function()
  35.         XPSaveData:SetAsync(plr.UserId.."-Level", plr.leaderstats.Level.Value)
  36.         XPSaveData:SetAsync(plr.UserId.."-EXP", plr.EXP.Value)
  37.     end)
  38.    
  39.     if success then
  40.         print("player data saved")
  41.     else
  42.         warn("player data didn't save", err)
  43.     end
  44. end)
  45.  
  46. game:BindToClose(function()
  47.     if RunService:IsStudio() then
  48.         return
  49.     end
  50.    
  51.     local plrs = game.Players:GetPlayers()
  52.    
  53.     for i, v in pairs(plrs) do
  54.         local success, err = pcall(function()
  55.             XPSaveData:SetAsync(v.UserId.."-Level", v.leaderstats.Level.Value)
  56.             XPSaveData:SetAsync(v.UserId.."-EXP", v.EXP.Value)
  57.         end)
  58.        
  59.         if success then
  60.             print("player data saved")
  61.         else
  62.             warn("player data didn't save", err)
  63.         end
  64.     end
  65. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement