Skip to main content

Client Exports

Client exports are intended for local door lookup, UI integrations and server-authoritative action requests.

Do not use client exports as a security boundary.

GetApiVersion

local version = exports.nord_doorlock:GetApiVersion()

GetDoor

local door = exports.nord_doorlock:GetDoor(id)

Returns a copied door table or nil.

GetDoors

local doors = exports.nord_doorlock:GetDoors()

Returns all locally synchronized doors sorted by ID.

GetDoorState

local locked = exports.nord_doorlock:GetDoorState(id)

Returns:

true
false
nil

IsDoorLocked

Alias-style state helper:

local locked = exports.nord_doorlock:IsDoorLocked(id)

GetDoorByName

local door = exports.nord_doorlock:GetDoorByName('Police Front Door')

Case-insensitive exact match.

FindDoorsByName

local doors = exports.nord_doorlock:FindDoorsByName('police')

Case-insensitive partial match.

GetDoorCenter

local coords = exports.nord_doorlock:GetDoorCenter(id)

Returns:

{
    x = 440.0,
    y = -998.0,
    z = 30.0
}

or nil.

For double doors, the logical center is calculated from both parts.

FindDoorByCoords

local door, distance =
    exports.nord_doorlock:FindDoorByCoords(
        GetEntityCoords(PlayerPedId()),
        5.0
    )

GetNearestDoor

Returns the nearest door currently tracked by Nord Doorlock's interaction loop:

local door, distance = exports.nord_doorlock:GetNearestDoor()

The result may be nil when no relevant nearby door is being tracked.

GetDoorEntities

local entities = exports.nord_doorlock:GetDoorEntities(id)

Returns an array indexed by door part.

Example:

local entities = exports.nord_doorlock:GetDoorEntities(12)

for index, entity in pairs(entities) do
    print(index, entity)
end

Only currently resolvable entities are returned.

RequestToggle

local sent = exports.nord_doorlock:RequestToggle(id)

This does not directly change the door state.

It sends the standard server request, where distance and access are validated.

Returns false if the local door ID does not exist.

RequestLockpick

local sent = exports.nord_doorlock:RequestLockpick(id)

Returns false if the local door does not exist or lockpicking is unavailable for that door.

The real validation still occurs server-side.

RequestSync

exports.nord_doorlock:RequestSync()

Requests a fresh full door synchronization from the server.

OpenAdmin

exports.nord_doorlock:OpenAdmin()

Requests the administrator panel.

The server still validates administrator permissions.