#Data NOT saving

10 messages · Page 1 of 1 (latest)

grizzled dirge
#

Other data such as coins and levels save, i dont understand why this doesnt

shell oyster
#

did you enable Studio access to API services

grizzled dirge
#

And I made a script for it

granite burrow
#

One message removed from a suspended account.

grizzled dirge
#
local playerDataStore = DataStoreService:GetDataStore("CustomData")

-- Default data for new players
local defaultData = {
    CharacterName = "UnBound",
    Specie = "UnBound",
    Gender = "UnBound",
    EyeColor = Color3.new(0,0,0),
    SkinColor = Color3.new(0,0,0)
}

-- Function to load player data
local function loadData(player)
    local playerKey = "Player_" .. player.UserId
    local success, data = pcall(function()
        return playerDataStore:GetAsync(playerKey)
    end)

    if success and data then
        print("Custom Data loaded for", player.Name)
        return data
    else
        print("No Custom data found for", player.Name, ", using default data.")
        return defaultData
    end
end

-- Function to save player data
local function saveData(player)
    local playerKey = "Player_" .. player.UserId
    local playerData = player:FindFirstChild("CustomData")
    if playerData then
        local dataToSave = {
            CharacterName = playerData:FindFirstChild("CharacterName").Value,
            Specie = playerData:FindFirstChild("Specie").Value,
            Gender = playerData:FindFirstChild("Gender").Value,
            EyeColor = playerData:FindFirstChild("EyeColor").Value,
            SkinColor = playerData:FindFirstChild("SkinColor").Value,
        }
        local success, errorMessage = pcall(function()
            playerDataStore:SetAsync(playerKey, dataToSave)
        end)

        if success then
            print("Custom Data saved for", player.Name)
        else
            warn("Failed to save Custom Data for", player.Name, ":", errorMessage)
        end
    end
end

-- PlayerAdded event to load data
game.Players.PlayerAdded:Connect(function(player)
    local data = loadData(player)

    -- Store data in a Folder for easy access
    local playerData = Instance.new("Folder")
    playerData.Name = "CustomData"
    playerData.Parent = player

    -- Add CharacterName
    local CharacterName = Instance.new("StringValue")
    CharacterName.Name = "CharacterName"
    CharacterName.Value = data.CharacterName
    CharacterName.Parent = playerData

    -- Add Specie
    local Specie = Instance.new("StringValue")
    Specie.Name = "Specie"
    Specie.Value = data.Specie
    Specie.Parent = playerData

    -- Add Gender
    local Gender = Instance.new("StringValue")
    Gender.Name = "Gender"
    Gender.Value = data.Gender
    Gender.Parent = playerData

    -- Add EyeColor
    local EyeColor = Instance.new("Color3Value")
    EyeColor.Name = "EyeColor"
    EyeColor.Value = data.EyeColor
    EyeColor.Parent = playerData

    -- Add SkinColor
    local SkinColor = Instance.new("Color3Value")
    SkinColor.Name = "SkinColor"
    SkinColor.Value = data.SkinColor
    SkinColor.Parent = playerData
end)

-- PlayerRemoving event to save data
game.Players.PlayerRemoving:Connect(function(player)
    saveData(player)
end)
#

@granite burrow

#

@shell oyster

grizzled dirge
#

@granite burrow