Fire
Calling this method will fire the BindableEvent/Event
event.
This function does not yield, even if no script has connected to the “Event” event and even if a connected function yields.
Parameter Limitations
Any type of Roblox object such as an Enumeration, Instance
, or userdata can be passed as a parameter when a RemoteEvent
is fired or a RemoteFunction
invoked. Lua types such as numbers, strings, and booleans can also be passed, although there are some limitations on how data can be passed.
Mixed Tables
If a Table is passed as an argument to a BindableEvent it must be an array without missing entries or have string keys, not a mixture, or else the string keys will be lost.
Avoid passing a mixed table (some values indexed by number and others by key), as only the data indexed by number will be passed. For example, when the server receives the colorData
table illustrated below, it only sees indices 1 and 2 containing "Blue"
and "Yellow"
while the other data is lost in the transfer. Note, however, that sub-tables do not need to be indexed in the same way as their parent — in other words, as long as each individual sub-table is indexed with the same type, all of the data is preserved.
Metatables are not preserved.
Non-String Indices
If any indices of a passed table are non-string type (Instance
, userdata, function, another table, etc.), those indices will be converted to a string.
-- Mixed table local colorData = {} colorData[1] = "Blue" colorData[2] = "Yellow" colorData["Color1"] = "Green" colorData["Color2"] = "Red" -- Table with two key-indexed sub-tables local playerData = {} playerData["CharData"] = { -- All children indexed by key CharName = "Diva Dragonslayer", CharClass = "Knight" } playerData["Inventory"] = { -- All children numerically indexed "Sword", "Bow", "Rope" }
Functions
Functions passed as parameters will not be replicated, therefore making it impossible to use these objects to pass functions between scripts.
Parameters
Name | Type | Default | Description |
---|---|---|---|
|
Returns
Return Type | Summary |
---|---|
Code Samples
BindableEvent Theading Behavior
This code sample demonstrates how BindableEvents, like all Events, create threads of each connected function. Even if one errors, like ohNo
does, the others continue. In addition, this sample shows how functions connected to the event can yield without blocking the thread that fired the event.
Test this code by pasting it into a Script within a BindableEvent parented to the Workspace or ServerScriptService. When running it, you’ll notice the error by ohNo
does not stop the script from continuing (“Let’s-a-go!”) or any other connected function from being called. count
and alphabet
both do their tasks at the same time.
BindableEvent Valid Values
This code sample shows the kinds of values that can be sent when firing BindableEvents using Fire. Test this code by placing a Script within a BindableEvent inside the Workspace or ServerScriptService. It will raise errors on the values that cannot be fired.