> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apex-services.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Polizeicomputer hooks

> Every hook exposed by apex-polizeicomputer/hooks.lua.

Source: `apex-polizeicomputer/hooks.lua` (unencrypted).

## Client hooks

<AccordionGroup>
  <Accordion title="Hooks.ShowHelpText(key, text)" icon="comment">
    Default `lib.showTextUI(text, { position = 'right-center' })`.
  </Accordion>

  <Accordion title="Hooks.HideHelpText(key)" icon="comment-slash">
    Default `lib.hideTextUI`.
  </Accordion>

  <Accordion title="Hooks.ShowClientNotify(title, message, type)" icon="bell">
    Default `lib.notify`.
  </Accordion>

  <Accordion title="Hooks.SetRadioChannel(channel)" icon="radio">
    Default no-op. Hook your voice system.

    ```lua theme={null}
    function Hooks.SetRadioChannel(channel)
        exports['saltychat']:SetRadioChannel(channel)
    end
    ```
  </Accordion>
</AccordionGroup>

## Server hooks

<AccordionGroup>
  <Accordion title="Hooks.OnDispatchUpdate(externalDispatchId, status)" icon="rotate">
    Default no-op. Wire to your dispatch resource.

    ```lua theme={null}
    function Hooks.OnDispatchUpdate(externalDispatchId, status)
        if exports['bg-dispatch'] then
            exports['bg-dispatch']:UpdateDispatchFromDGL(externalDispatchId, status)
        end
    end
    ```
  </Accordion>

  <Accordion title="Hooks.OnAuditLog(source, action, details)" icon="file-lines">
    Default `lib.logger`.
  </Accordion>

  <Accordion title="Hooks.OnServerNotify(source, title, message, type)" icon="bell">
    Default `TriggerClientEvent('apex-polizeicomputer:client:notify', source, ...)`.
  </Accordion>
</AccordionGroup>
