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.
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
addEventHandler("onPlayerJoin", root, function()
local map = { name = "downtown", objects = {} }
triggerLatentClientEvent(source, "onMapDownload", 50000, resourceRoot, map)
end)AtençãoO cliente só aceita o evento se o registrou com
addEvent(eventName, true).