#data stores behaving weirdly

1 messages · Page 1 of 1 (latest)

sleek vapor
#

when i try to save the player's data when they leave, it only works like 10% of the time. ive never had this problem

#
local DataStoreService = game:GetService("DataStoreService")
local PlayerDataStore = DataStoreService:GetDataStore("PlayerData")
local PlayerHandler = require(game.ReplicatedStorage.Modules.PlayerHandler)
local ActivePlayers = {}

Players.PlayerAdded:Connect(function(player)
    local playerObject = PlayerHandler.CreatePlayer(player)
    local playerData
    local success, err = pcall(function()
        playerData = PlayerDataStore:GetAsync(player.UserId)
    end)
    if success then
        print(playerData)
    end
    if playerData == nil then
        local success, err = pcall(function()
            PlayerDataStore:SetAsync(player.UserId, playerObject)
        end)
    end

    ActivePlayers[player.UserId] = playerObject
    
end)

Players.PlayerRemoving:Connect(function(player)
    print(ActivePlayers)
    local playerObject = ActivePlayers[player.UserId]
    local success, err = pcall(function()
        PlayerDataStore:UpdateAsync(player.UserId, function(playerObject)
            local playerData = playerObject
            return playerData
        end)
    end)
    
    if success then
        print("data saved")
        ActivePlayers[player.UserId] = nil
    end
    
    if not success then
        print(err)
    end
end)```
gaunt aspen
#

Also its not success, err it’s success, data

sleek vapor
#

i thought err was for like

#

the error message if the pcall fails

tacit solstice
grave fractal
#

Why not use the new one Module ProfileStore or ProfileService an (Legacy)? It handles everything you need, safe server switching fixing duplication and data overwrite issues, instead of relying on this old one
https://devforum.roblox.com/t/profilestore-save-your-player-data-easy-datastore-module/3190543

sleek vapor
#

but i could try

timber kayak
#

why u saving on player removing lol

#

just add it to the datastore when a player gets an item its way better

gaunt aspen
#

Yeah datastore gets exhausted