🊅DataStoreService

Service for accessing and storing persistent data for a map.

Example usage:

-- Double the score of a player whenever they kill an entity
local function doubleScore(current)
    return current * 2
end

Events.EntityDeath(function (event)
    local killerPlayer = event.killer:getPlayer()
    if (killerPlayer == nil) then
        return
    end
    task.spawn(function()
        local currentValue = DataStoreService.getAsync(killerPlayer.userId)
        if (currentValue == nil) then
            currentValue = 1
        end
        DataStoreService.setAsync(killerPlayer.userId, doubleScore(currentValue))
    end)
end)

Functions

getAsync(key: string | number): any

Returns the latest stored value for the given key.

setAsync(key: string | number, value: any): bool

Sets the latest value for the given key. Returns true if the network call was successful.

incrementAsync(key: string | number, amount: number): bool

Increases the current integer value for the given key by the given amount (must also be an integer value). Returns true if the network call was successful.

removeAsync(key: string | number): bool

Marks the given key as deleted. Returns true if the network call was successful.

Last updated