As in the title above, im not sure why my code isnt working, there are no errors but the values will not save at all.
local DataStoreService = game:GetService('DataStoreService')
local playerData = DataStoreService:GetDataStore('PlayerData')
local function onplayerjoin(player)
local folder = Instance.new("Folder")
folder.Name = "Locker"
folder.Parent = player
local ShirtA = Instance.new("BoolValue")
ShirtA.Name = "LumberShirt"
ShirtA.Parent = folder
local PantsA = Instance.new("BoolValue")
PantsA.Name = "NicePants"
PantsA.Parent = folder
local playeruserid = 'Player_'..player.UserId
local data = playerData:GetAsync(playeruserid)
if data then
ShirtA.Value = data['LumberShirt']
PantsA.Value = data['NicePants']
else
ShirtA.Value = false
PantsA.Value = false
end
end
local function create_table(player)
local player_stats = {}
for _, stat in pairs(player.Locker:GetChildren()) do
player_stats[stat.Name] = stat.Value
end
return player_stats
end
local function onplayerexit(player)
local player_stats = create_table(player)
local success, err = pcall(function()
local playeruserid = 'Player_'..player.UserId
playerData:SetAsync(playeruserid, player_stats)
print('Data saved')
end)
if not success then
warn('Could not save data.')
end
end
game.Players.PlayerAdded:Connect(onplayerjoin)
game.Players.PlayerRemoving:Connect(onplayerexit)
