Here Is The Current Code
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local DataStore = DataStoreService:GetDataStore("DataStore")
local function SavePlayerData(Player)
local UserIdKey = Player.UserId.."-TableData"
local TableToSave = {
Player.leaderstats["💰Coins"].Value,
Player.leaderstats["🏆Wins"].Value,
Player.HiddenStats.EquipedTag.Value,
Player.HiddenStats.MinigamerTagOwned.Value,
}
local Success, errormessage = pcall(function()
DataStore:SetAsync(UserIdKey, TableToSave)
end)
if Success then
print("Data was Saved")
else
print(errormessage)
end
end
Players.PlayerAdded:Connect(function(Player)
local UserIdKey = Player.UserId.."-TableData"
local Leaderstats = Instance.new("Folder")
Leaderstats.Name = "leaderstats"
Leaderstats.Parent = Player
local Money = Instance.new("IntValue")
Money.Name = "💰Coins"
Money.Parent = Leaderstats
local Snowballs = Instance.new("IntValue")
Snowballs.Name = "🏆Wins"
Snowballs.Parent = Leaderstats
local hidden = Instance.new("Folder")
hidden.Name = 'HiddenStats'
hidden.Parent = Player
local equipedtag = Instance.new("StringValue")
equipedtag.Name = 'EquipedTag'
equipedtag.Parent = hidden
local minigtag = Instance.new("BoolValue")
minigtag.Name = 'MinigamerTagOwned'
minigtag.Parent = hidden
local data
local Success,Err = pcall(function()
data = DataStore:GetAsync(UserIdKey)
end)
if data ~= nil then
print("data loaded")
Money.Value = data[1]
Snowballs.Value = data[2]
equipedtag.Value = data[3]
minigtag.Value = data[4]
else
Money.Value = 0
Snowballs.Value = 0
equipedtag.Value = 'none'
minigtag.Value = false
end
end)
Players.PlayerRemoving:Connect(function(Player)
task.spawn(function()
SavePlayerData(Player)
end)
end)
game:BindToClose(function()
for _, Player in pairs(Players:GetChildren()) do
task.spawn(function()
SavePlayerData(Player)
end)
end
end)