Sungmingamerpro13

New Wins and Rounds, Coins DataStore

Mar 10th, 2026
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 2.48 KB | None | 0 0
  1. local TeleportService = game:GetService("TeleportService")
  2. local WinsDataStore = game:GetService("DataStoreService"):GetDataStore("Wins")
  3. local RoundsDataStore = game:GetService("DataStoreService"):GetDataStore("Rounds")
  4. local coinsDataStore = game:GetService("DataStoreService"):GetDataStore("Coins")
  5.  
  6. game.Players.PlayerAdded:Connect(function(player)
  7.     local previousData = WinsDataStore:GetAsync(player.UserId) -- Returns a number value.
  8.     local previousData2 = RoundsDataStore:GetAsync(player.UserId)
  9.     local previousData3 = coinsDataStore:GetAsync(player.UserId)
  10.  
  11.     local leaderstats = Instance.new("Folder", player)
  12.     leaderstats.Name = "leaderstats"
  13.  
  14.     local Wins
  15.     local Rounds
  16.     local Coins
  17.  
  18.     if previousData ~= nil then
  19.         Wins = previousData
  20.     else
  21.         Wins = 0
  22.         WinsDataStore:SetAsync(player.UserId, 0)
  23.     end
  24.  
  25.     local WinsValue = Instance.new("NumberValue", leaderstats)
  26.     WinsValue.Name = "Wins"
  27.     WinsValue.Value = Wins
  28.  
  29.     if previousData2 ~= nil then
  30.         Rounds = previousData2
  31.     else
  32.         Rounds = 0
  33.         RoundsDataStore:SetAsync(player.UserId, 0)
  34.     end
  35.  
  36.     local RoundsValue = Instance.new("NumberValue", leaderstats)
  37.     RoundsValue.Name = "Rounds"
  38.     RoundsValue.Value = Rounds
  39.    
  40.     if previousData3 ~= nil then
  41.         Coins = previousData3
  42.     else
  43.         Coins = 0
  44.         coinsDataStore:SetAsync(player.UserId, 0)
  45.     end
  46.    
  47.     local coins_Value = Instance.new("NumberValue", player)
  48.     coins_Value.Name = "Coins"
  49.     coins_Value.Value = Coins
  50.  
  51. end)
  52.  
  53. game:BindToClose(function() -- Runs whenver the server is about to shut down/stop.
  54.     print("STOPPED!")
  55.  
  56.     for i,player in pairs(game.Players:GetPlayers()) do
  57.         local value = player.leaderstats.Wins.Value
  58.         local value2 = player.leaderstats.Rounds.Value
  59.         local value3 = player.Coins.Value
  60.  
  61.         WinsDataStore:SetAsync(player.UserId, value)
  62.         RoundsDataStore:SetAsync(player.UserId, value2)
  63.         coinsDataStore:SetAsync(player.UserId, value3)
  64.         print("Saved data for "..player.Name)
  65.     end
  66. end)
  67.  
  68. game.Players.PlayerRemoving:Connect(function(player)
  69.     local value = player.leaderstats.Wins.Value
  70.     local value2 = player.leaderstats.Rounds.Value
  71.     local value3 = player.Coins.Value
  72.  
  73.     if value ~= nil and value2 ~= nil and value3 ~= nil then
  74.         print("Found data to save for "..player.Name.."!")
  75.         WinsDataStore:SetAsync(player.UserId, value)
  76.         RoundsDataStore:SetAsync(player.UserId, value2)
  77.         coinsDataStore:SetAsync(player.UserId, value3)
  78.         print("Saved data for "..player.Name)
  79.     else
  80.         print("Did not manage to find data to save for "..player.Name.."!")
  81.     end
  82. end)
  83.  
Advertisement
Add Comment
Please, Sign In to add comment