M MY Multiplayer: Wiki
Lado
Tipo

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

NomeTipoDescrição
sendToplayer|table|elementUm jogador, uma tabela de jogadores ou um elemento cujos jogadores descendentes recebem o evento. Se omitido, vai para todos os jogadores.padrão root
eventNamestringNome do evento nos clientes.
bandwidthintBytes por segundo, a partir de 1. Acima de 128 KB por segundo vale 128 KB.padrão 5000
persistboolContinuar enviando depois que este recurso parar. Com false, o envio é cancelado quando o recurso para.padrão false
sourceelementElemento onde o evento acontece nos clientes.
...anyArgumentos 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).

Veja também