M MY Multiplayer: Wiki
Lado
Tipo

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

NombreTipoDescripción
sendToplayer|table|elementUn 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
eventNamestringNombre del evento en los clientes.
bandwidthintBytes por segundo, desde 1. Por encima de 128 KB por segundo vale 128 KB.por defecto 5000
persistboolSeguir enviando después de que este recurso se detenga. Con false, el envío se cancela cuando el recurso se detiene.por defecto false
sourceelementElemento donde ocurre el evento en los clientes.
...anyArgumentos 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).

Ver también