Hello, i would like to know how to make Global Leaderstats work for Datastores with tables.
Because i save my data in a table
like this
local SaveTable = {
100, --Money
5, --Kills
10, --Arrests
}
this is the leaderstats code
local List = script.Parent
local StarterList = List.Parent
local DataStore = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local Template = script:WaitForChild("Template")
local ResetTime = StarterList:WaitForChild("ResetTime")
local DataStoreName = DataStore:GetOrderedDataStore("PlayerData") --DataStore Name
local StatName = "Money"
local RefreshRate = 120 --In Seconds
local DataStarterText = "$" --Text Displayed Before DataStore Data
local Timer = 20
while wait(1) do
Timer = Timer - 1
ResetTime.Text = "Resetting in "..Timer.." seconds..."
if Timer <= 0 then
Timer = RefreshRate
for i, plr in pairs(Players:GetPlayers()) do
local SaveTable = {}
table.insert(SaveTable, plr:FindFirstChild("PlayerData"):FindFirstChild("Money").Value) --1
table.insert(SaveTable, plr:FindFirstChild("PlayerData"):FindFirstChild("Kills").Value) --2
table.insert(SaveTable, plr:FindFirstChild("PlayerData"):FindFirstChild("Arrests").Value) --3
--table.insert(SaveTable, Player:FindFirstChild("PlayerData"):FindFirstChild("").Value)
DataStoreName:SetAsync(plr.UserId, SaveTable)
end
for i, leaderboardRank in pairs(script.Parent:GetChildren()) do
if leaderboardRank.ClassName == "Frame" then
leaderboardRank:Destroy()
end
end
local success, errorMsg = pcall(function()
local Data = DataStoreName:GetSortedAsync(false, 50)
local DataPage = Data:GetCurrentPage()
for rankInLB, dataStored in ipairs(DataPage) do
local Player = Players:GetNameFromUserIdAsync(tonumber(dataStored.key))
local Data = dataStored.value
local TemplateFrame = Template:Clone()
TemplateFrame.Name = Player .. "Leaderboard"
TemplateFrame.Player.Text = Player
TemplateFrame.Rank.Text = "#" .. rankInLB
TemplateFrame.Data.Text = DataStarterText..Data
TemplateFrame.Parent = script.Parent
end
end)
end
end
Can someone help me how to make it pick a value from the table of the datastore?