Integration Examples
Lock a Door From Another Server Resource
local success, result =
exports.nord_doorlock:LockDoor(12)
if not success then
print(('Failed to lock door: %s'):format(result))
end
Unlock a Door Temporarily
If the door has an auto-lock delay, using UnlockDoor schedules its normal relock behavior.
exports.nord_doorlock:UnlockDoor(12)
Toggle by Door Name
local door =
exports.nord_doorlock:GetDoorByName('Bank Main Entrance')
if door then
exports.nord_doorlock:ToggleDoorState(door.id)
end
Check Player Access Before Running Another Action
RegisterNetEvent('my_script:server:secureAction', function(doorId)
local src = source
if not exports.nord_doorlock:HasAccess(src, doorId) then
return
end
-- Run protected server-side action.
end)
Find a Door Near Coordinates
local door, distance =
exports.nord_doorlock:FindDoorByCoords(
vector3(440.0, -998.0, 30.0),
10.0
)
if door then
print(('Found %s at %.2fm'):format(
door.name,
distance
))
end
Create a Job Door Programmatically
local ok, doorOrError, duplicateId =
exports.nord_doorlock:CreateDoor({
name = 'EMS Secure Room',
distance = 2.0,
locked = true,
defaultLocked = true,
parts = {
{
model = 123456789,
coords = {
x = 300.0,
y = -600.0,
z = 43.0
},
heading = 180.0
}
},
access = {
jobs = {
ambulance = 2
},
identifiers = {},
ace = {}
},
lockpick = {
enabled = false
}
})
if not ok then
print('CreateDoor failed:', doorOrError, duplicateId)
end
Add Temporary Custom Access With a Hook
local hook = exports.nord_doorlock:RegisterHook(
'doorAuthorization',
function(payload)
if payload.door.name == 'Event Room' then
return GlobalState.eventRoomOpen == true
end
end
)
Client HUD Integration
CreateThread(function()
while true do
local door, distance =
exports.nord_doorlock:GetNearestDoor()
if door and distance then
-- Update your HUD.
end
Wait(250)
end
end)
Client Interaction Button
Do not set the local state yourself.
Use:
exports.nord_doorlock:RequestToggle(doorId)
This preserves server-side permissions and distance validation.