Advertisement
Cakey3101

Data Script - Daily Rewards

Apr 26th, 2025
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.94 KB | Source Code | 0 0
  1. local Players = game:GetService("Players")
  2. local DataStoreService = game:GetService("DataStoreService")
  3.  
  4. local DataStore = DataStoreService:GetDataStore("MyDataStore2")
  5.  
  6. local function PlayerAdded(Player: Player)
  7.     local Leaderstats = Instance.new("Folder", Player)
  8.     Leaderstats.Name = "leaderstats"
  9.    
  10.     local Coins = Instance.new("NumberValue", Leaderstats)
  11.     Coins.Name = "Coins"
  12.     Coins.Value = 0
  13.    
  14.     local Gems = Instance.new("NumberValue", Leaderstats)
  15.     Gems.Name = "Gems"
  16.     Gems.Value = 0
  17.    
  18.     local DailyReward = Instance.new("NumberValue", Player)
  19.     DailyReward.Name = "DailyReward"
  20.     DailyReward.Value = 1
  21.    
  22.     local LastCollectTime = Instance.new("NumberValue", Player)
  23.     LastCollectTime.Name = "LastCollectTime"
  24.     LastCollectTime.Value = 0
  25.    
  26.     local Success, SavedData = pcall(function()
  27.         return DataStore:GetAsync(Player.UserId)
  28.     end)
  29.    
  30.     if Success and SavedData then
  31.         Coins.Value = SavedData.Coins or 0
  32.         Gems.Value = SavedData.Gems or 0
  33.         DailyReward.Value = SavedData.DailyReward or 1
  34.         LastCollectTime.Value = SavedData.LastCollectTime or 0
  35.     else
  36.         Coins.Value = 0
  37.         Gems.Value = 0
  38.         DailyReward.Value = 1
  39.         LastCollectTime.Value = 0
  40.     end
  41. end
  42.  
  43. local function PlayerRemoving(Player: Player)
  44.     local Leaderstats = Player:FindFirstChild("leaderstats")
  45.    
  46.     if Leaderstats then
  47.         local CoinsValue = Leaderstats:FindFirstChild("Coins")
  48.         local GemsValue = Leaderstats:FindFirstChild("Gems")
  49.         local DailyRewardValue = Player:FindFirstChild("DailyReward")
  50.         local LastCollectTime = Player:FindFirstChild("LastCollectTime")
  51.        
  52.         if CoinsValue and GemsValue and DailyRewardValue and LastCollectTime then
  53.             pcall(function()
  54.                 DataStore:SetAsync(Player.UserId, {
  55.                     Coins = CoinsValue.Value,
  56.                     Gems = GemsValue.Value,
  57.                     DailyReward = DailyRewardValue.Value,
  58.                     LastCollectTime = LastCollectTime.Value,
  59.                 })
  60.             end)
  61.         end
  62.     end
  63. end
  64.  
  65. Players.PlayerAdded:Connect(PlayerAdded)
  66. Players.PlayerRemoving:Connect(PlayerRemoving)
Tags: robloxstudio
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement