# triggerLatentClientEvent (Servidor)

> Envia um evento aos clientes dos jogadores aos poucos, em segundo plano, a no máximo `bandwidth` bytes por segundo para cada jogador. Serve para dados grandes que não podem segurar o resto do tráfego.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Servidor
- **Categoria**: Eventos
- **URL**: https://wiki.mymp.gg/pt/triggerLatentClientEvent

## Sintaxe

```lua
bool triggerLatentClientEvent(string eventName, element source, any ... [, player|table|element sendTo = root, int bandwidth = 5000, bool persist = false])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `sendTo` | `player\|table\|element` | Um jogador, uma tabela de jogadores ou um elemento cujos jogadores descendentes recebem o evento. Se omitido, vai para todos os jogadores. *(padrão: `root`)* |
| `eventName` | `string` | Nome do evento nos clientes. |
| `bandwidth` | `int` | Bytes por segundo, a partir de 1. Acima de 128 KB por segundo vale 128 KB. *(padrão: `5000`)* |
| `persist` | `bool` | Continuar enviando depois que este recurso parar. Com `false`, o envio é cancelado quando o recurso para. *(padrão: `false`)* |
| `source` | `element` | Elemento onde o evento acontece nos clientes. |
| `...` | `any` | Argumentos passados aos handlers do outro lado: `nil`, booleanos, números, strings, elementos, vetores e tabelas deles. |

## Retorno

`true` se o evento entrou na fila, `false` se ele passa de 16 MB ou de um milhão de valores.

Cada jogador recebe sua própria cópia, com seu próprio handle. Os eventos latentes para o mesmo destino saem um de cada vez, na ordem em que foram disparados. `getLatentEventHandles` dá o handle de cada um, para acompanhar com `getLatentEventStatus` ou parar com `cancelLatentEvent`.

## Exemplo

```lua
addEventHandler("onPlayerJoin", root, function()
    local map = { name = "downtown", objects = {} }
    triggerLatentClientEvent(source, "onMapDownload", 50000, resourceRoot, map)
end)
```

### Atenção

O cliente só aceita o evento se o registrou com `addEvent(eventName, true)`.

## Veja também

- [triggerClientEvent (Servidor)](https://wiki.mymp.gg/pt/triggerClientEvent.md): Envia um evento aos clientes dos jogadores, que o disparam em source. A função retorna antes de os clientes receberem.
- [getLatentEventHandles (Servidor)](https://wiki.mymp.gg/pt/getLatentEventHandles-server.md): Lista os eventos latentes que o servidor ainda está enviando a um jogador.
- [getLatentEventStatus (Servidor)](https://wiki.mymp.gg/pt/getLatentEventStatus-server.md): Diz como está o envio de um evento latente do servidor a um jogador.
- [cancelLatentEvent (Servidor)](https://wiki.mymp.gg/pt/cancelLatentEvent-server.md): Para o envio de um evento latente do servidor a um jogador. O cliente descarta o que já tinha recebido e o evento não é disparado lá.
