triggerLatentClientEvent
Servidor
Envía un evento a los clientes de los jugadores poco a poco, en segundo plano, a no más de bandwidth bytes por segundo por jugador. Sirve para datos grandes que no deben frenar el resto del tráfico.
bool triggerLatentClientEvent(string eventName, element source, any ... [, player|table|element sendTo = root, int bandwidth = 5000, bool persist = false])
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| sendTo | player|table|element | Un jugador, una tabla de jugadores o un elemento cuyos jugadores descendientes reciben el evento. Si se omite, va a todos los jugadores.por defecto root |
| eventName | string | Nombre del evento en los clientes. |
| bandwidth | int | Bytes por segundo, desde 1. Por encima de 128 KB por segundo vale 128 KB.por defecto 5000 |
| persist | bool | Seguir enviando después de que este recurso se detenga. Con false, el envío se cancela cuando el recurso se detiene.por defecto false |
| source | element | Elemento donde ocurre el evento en los clientes. |
| ... | any | Argumentos pasados a los handlers del otro lado: nil, booleanos, números, cadenas, elementos, vectores y tablas de ellos. |
Retorno
true si el evento entró en la cola, false si pasa de 16 MB o de un millón de valores.
Cada jugador recibe su propia copia, con su propio handle. Los eventos latentes hacia el mismo destino salen de uno en uno, en el orden en que se dispararon. getLatentEventHandles da el handle de cada uno, para seguirlo con getLatentEventStatus o detenerlo con cancelLatentEvent.
Ejemplo
addEventHandler("onPlayerJoin", root, function()
local map = { name = "downtown", objects = {} }
triggerLatentClientEvent(source, "onMapDownload", 50000, resourceRoot, map)
end)AtenciónEl cliente solo acepta el evento si lo registró con
addEvent(eventName, true).