> For the complete documentation index, see [llms.txt](https://mole-resource.gitbook.io/mole-resource-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mole-resource.gitbook.io/mole-resource-docs/scripts/pager-system/examples.md).

# Examples

Ready-to-use snippets. The same code is in `examples.lua` (not loaded by the manifest).

***

## Display a message

{% tabs %}
{% tab title="Client" %}

```lua
exports['mr_pager']:ShowPager('Your message here!', 5000)
exports['mr_pager']:HidePager()
```

{% endtab %}

{% tab title="Server" %}

```lua
-- one player
TriggerClientEvent('mr_pager:showPager', playerId, 'Message from server!', 5000)

-- all players
TriggerClientEvent('mr_pager:showPager', -1, 'Message to all players!', 8000)

-- hide
TriggerClientEvent('mr_pager:hidePager', playerId)
```

{% endtab %}
{% endtabs %}

## Job messages

### Send from the client

```lua
exports['mr_pager']:SendJobMessage('Patrol on Alta St')
```

### Open the compose window

```lua
exports['mr_pager']:OpenCompose()
```

### /dispatch command (server)

Uses all the normal checks (cooldown, item, job, grade).

```lua
RegisterCommand('dispatch', function(source, args)
    local message = ('DISPATCH: %s'):format(table.concat(args, ' '))
    local count, reason = exports['mr_pager']:SendJobMessage(source, message)

    if not count then
        print(('dispatch rejected: %s'):format(reason))
    end
end, false)
```

### Page a whole job without checks (server, ESX)

```lua
local function pageJob(jobName, message)
    local ESX = exports['es_extended']:getSharedObject()

    for _, playerId in ipairs(ESX.GetPlayers()) do
        local xPlayer = ESX.GetPlayerFromId(playerId)

        if xPlayer and xPlayer.job.name == jobName then
            TriggerClientEvent('mr_pager:showPager', playerId, message, 10000)
        end
    end
end

pageJob('ambulance', 'MEDICAL: Officer down at Legion Square')
```

## Police dispatch

```lua
-- CLIENT
RegisterNetEvent('police:dispatch')
AddEventHandler('police:dispatch', function(location, callType)
    exports['mr_pager']:ShowPager(('DISPATCH: %s - %s'):format(callType, location), 10000)
end)
```

## Medical emergency

```lua
-- CLIENT
RegisterNetEvent('ems:emergency')
AddEventHandler('ems:emergency', function(location, injury)
    exports['mr_pager']:ShowPager(('MEDICAL: %s at %s'):format(injury, location), 8000)
end)
```

## Framework notifications on the pager

{% tabs %}
{% tab title="ESX" %}

```lua
-- CLIENT
RegisterNetEvent('esx:showNotification')
AddEventHandler('esx:showNotification', function(msg)
    exports['mr_pager']:ShowPager(msg, 6000)
end)
```

{% endtab %}

{% tab title="QBCore" %}

```lua
-- CLIENT
RegisterNetEvent('QBCore:Notify')
AddEventHandler('QBCore:Notify', function(text, notifyType, length)
    exports['mr_pager']:ShowPager(text, length or 5000)
end)
```

{% endtab %}
{% endtabs %}

## Prop only

`TogglePager` waits for the animation, so run it in a thread.

```lua
-- CLIENT
CreateThread(function()
    exports['mr_pager']:TogglePager()
end)
```
