Im doing it this way, but is there a more efficient way to do this?
local DSS = game:GetService("DataStoreService")
local dataStore = DSS:GetDataStore("dataStore")
game.Players.PlayerAdded:Connect(function(plr)
local folder = Instance.new("Folder",plr)
folder.Name = "leaderstats"
local inventory = Instance.new("Folder",plr)
inventory.Name = "Inventory"
local coins = Instance.new("IntValue",folder)
coins.Name = "Coins"
local xp = Instance.new("IntValue",folder)
xp.Name = "XP"
local crops = Instance.new("IntValue",inventory)
crops.Name = "Crops"
local dataCoins
local dataXP
local dataCrops
dataCoins = dataStore:GetAsync(plr.UserId.."-Coins")
dataXP = dataStore:GetAsync(plr.UserId.."-XP")
dataCrops = dataStore:GetAsync(plr.UserId.."-Crops")
coins.Value = dataCoins
xp.Value = dataXP
crops.Value = dataCrops
end)
game.Players.PlayerRemoving:Connect(function(plr)
dataStore:SetAsync(plr.UserId.."-Coins",plr.leaderstats.Coins.Value)
dataStore:SetAsync(plr.UserId.."-XP",plr.leaderstats.XP.Value)
dataStore:SetAsync(plr.UserId.."-Crops",plr.Inventory.Crops.Value)
end)
