The following code shows the key B gets culled without an error
local bindable = Instance.new("BindableEvent")
local function printTable(tab, depth)
depth = depth or 0
local indent = string.rep("\t", depth)
for i, v in pairs(tab) do
if type(v) == "table" then
print(indent .. i .. " : {")
printTable(v, depth + 1)
print(indent .. "}")
else
print(indent .. i .. ": " .. tostring(v))
end
end
end
bindable.Event:Connect(printTable)
bindable:Fire({ 1, 2, 3, B = 1 })
This is a feature request not a bug, the behavior is defined on the Wiki.
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.