Skip to content

shiva-player — API

This page is auto-generated from LuaLS annotations. Run shiva docs:api to regenerate.

Full API surface for the IPlayer contract as implemented by shiva-player. See Contracts: Player → for the contract definition.

PlayerService:get(serverId)

Get the in-memory player data for a connected player.

lua
local player = container:make('IPlayer')
local data = player:get(source)

Returns: PlayerData

lua
-- PlayerData shape
{
    id        = 1,          -- database ID
    serverId  = 5,          -- FiveM server ID
    license   = 'license:...',
    charId    = 12,         -- active character database ID
    name      = 'John Doe',
    job       = 'police',
    jobGrade  = 2,
    gang      = 'none',
    metadata  = { hunger = 80, thirst = 60 },
}

PlayerService:getCharacter(charId)

lua
local char = player:getCharacter(12)

Returns: CharacterData

PlayerService:hasPermission(serverId, level)

lua
player:hasPermission(source, 'admin')  -- boolean

PlayerService:hasJob(serverId, job, grade?)

lua
player:hasJob(source, 'police')     -- true/false
player:hasJob(source, 'police', 2)  -- true if grade >= 2

PlayerService:setMetadata(serverId, key, value)

lua
player:setMetadata(source, 'hunger', 75)

PlayerService:getMetadata(serverId, key)

lua
local hunger = player:getMetadata(source, 'hunger')  -- 75

Released under the MIT License.