I have two scripts. One is a module script containing two tables. Another is a server script containing leaderstats and the data store part. How do I save the leaderstats and tables?
Module Script (ReplicatedStorage)
local module = {}
module.Data = { --Creates Data Table
BodyType = {},
BodyColor = {}
}
module.CurrentFluff = { --Sets Current Fluff Variables
BodyType = (""),
BodyColor = (""),
FluffDescription = (""),
FluffInfo = {
FluffName = (""),
FluffGender = ("")
}
}
return module
Server Script (ServerScriptStorage)
local DSS = game:GetService("DataStoreService")
local DataStore1 = DSS:GetDataStore("DataStore1")
local DataModule = require(game.ReplicatedStorage.Scripts.DataModule)
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder", player)
leaderstats.Name = "leaderstats"
local Money = Instance.new("IntValue", leaderstats)
Money.Name = "Money"
local Gems = Instance.new("IntValue", leaderstats)
Gems.Name = "Gems"
local PlrLeaderstatsData
local PlrInventoryData
local PlrCurrentFluffData
local success, errormessage = pcall(function()
PlrLeaderstatsData = DataStore1:GetAsync("PlrLeaderstats".. player.UserId)
PlrInventoryData = DataStore1:GetAsync("PlrInventory".. player.UserId)
PlrCurrentFluffData = DataStore1:GetAsync("PlrCurrentFluff".. player.UserId)
end)
if success then
player.leaderstats = PlrLeaderstatsData
DataModule.Data = PlrInventoryData
DataModule.CurrentFluff = PlrCurrentFluffData
else
print(player.Name .. "'s Data Was NOT loaded")
warn(errormessage)
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local success, errormessage = pcall(function()
DataStore1:SetAsync("PlrLeaderstats".. player.UserId, DataModule.Data)
DataStore1:SetAsync("PlrInventory".. player.UserId, DataModule.Data)
DataStore1:SetAsync("PlrCurrentFluff".. player.UserId, DataModule.CurrentFluff)
end)
if success then
print(player.Name .. "'s Data Was Saved")
else
print(player.Name .. "'s Data Was NOT Saved")
warn(errormessage)
end
end)
