triggerLatentClientEvent
Client-side
Server-side
Shared
This function is the same as triggerClientEvent except the transmission rate of the data contained in the arguments can be limited and other network traffic is not blocked while the data is being transferred.
Note
You should avoid triggering events on the root element unless you really need to. Doing this triggers the event on every element in the element tree, which is potentially very CPU intensive. Use as specific (i.e. low down the tree) element as you can.
Syntax
bool triggerLatentClientEvent ( [ table/element sendTo = getRootElement() ], string name, [ int bandwidth = 50000, bool persist = false ], element theElement, [ mixed arguments = nil ] )Required Arguments
- name: The name of the event to trigger client side. You should register this event with addEvent and add at least one event handler using addEventHandler.
- theElement: The element that is the source of the event. This could be another player, or if this isn't relevant, use the root element.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use.
- sendTo (default: getRootElement()): The event will be sent to all players that are children of the specified element. By default this is the root element, and hence the event is sent to all players. If you specify a single player it will just be sent to that player. This argument can also be a table of player elements.
- bandwidth (default: 50000): The bytes per second rate to send the data contained in the arguments.
- persist (default: false): A bool indicating whether the transmission should be allowed to continue even after the resource that triggered it has since stopped.
- arguments (default: nil): A list of arguments to trigger with the event. You can pass any Lua data type (except functions). You can also pass elements. The total amount of data should not exceed 100MB.
Returns
- bool: result
Returns true if the event trigger has been sent, otherwise false if invalid arguments were specified.
Code Examples
server
-- *****************************************************************************-- SERVER CODEif fileExists("text.txt") then file = fileOpen("test.txt") -- Open a file (you can create it yourself). local data = fileRead(file, 100 * 1024 * 1024) -- Max 100 MB fileClose(file) -- Close File triggerLatentClientEvent("onClientReadFile", 5000, false, root, data) -- trigger - Avoid triggering to root element (Read note above)end
-- *****************************************************************************-- CLIENT CODEaddEvent("onClientReadFile", true)addEventHandler("onClientReadFile", root, function(data) local file = fileCreate("text.txt") -- Save "data" into "text.txt" fileWrite(file, data) fileClose(file)end)Changelog
Added option to use a list of player elements for the sendTo argument.