So here's my current script:
local DataStore = game:GetService("DataStoreService"):GetDataStore("DataStore") game.Players.PlayerAdded:Connect(function(Player) local Leaderstats = Instance.new("Folder") Leaderstats.Name = "leaderstats" Leaderstats.Parent = Player local Clicks = Instance.new("IntValue") Clicks.Name = "Clicks" Clicks.Parent = Leaderstats local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Leaderstats local ClicksData local CashData local Success, ErrorMessage = pcall(function() ClicksData = DataStore:GetAsync(Player.UserId.."-ClicksData") CashData = DataStore:GetAsync(Player.UserId.."-CashData") end) if not Success then print(ErrorMessage) end if ClicksData ~= nil then Clicks.Value = ClicksData else Clicks.Value = 0 end if CashData ~= nil then Cash.Value = CashData else Cash.Value = 0 end end) game.Players.PlayerRemoving:Connect(function(Player) pcall(function() DataStore:SetAsync(Player.UserId.."-ClicksData", Player.leaderstats.Clicks.Value) DataStore:SetAsync(Player.UserId.."-CashData", Player.leaderstats.Cash.Value) end) end)