Hooks
Eventos de hook permitem que resources de terceiros definam novos comportamentos sem modificar diretamente o código do sistema de doorlock.
registerHook
exports.ox_doorlock:registerHook(eventName, function(payload) end, options)- eventName:
string - payload:
table - options?:
table- print?:
boolean- Imprime no console ao disparar o evento.
- nameFilter?:
string- O evento dispara apenas para portas específicas
- print?:
Retorno:
- hookId:
number
doorAuthorization
Disparado ao abrir/fechar porta.
Ao retornar false, você pode substituir a autorização da porta permitindo usar sua própria lógica.
- Payload:
table- source:
number - door:
DoorData - lockpick: boolean
- authorised: boolean
- source:
Exemplo
Permite que o dono do quarto de hotel abra/feche a porta
local hookId = exports.ox_doorlock:registerHook('doorAuthorization', function(payload)
local hotel, apartment = payload.door.name:match("HotelDoor_(%w+)_([%d]+)")
return IsAuthorized(payload.source, hotel, apartment)
end, {
nameFilter = "HotelDoor_%w+_[%d]+"
})removeHooks
Remove o hook com o id especificado, criado pelo resource que fez a chamada.
Se nenhum id for especificado então todos os hooks registrados pelo resource são removidos.
exports.ox_doorlock:removeHooks(id)- id?:
number