BindableEvent
Overview
BindableEvent can be used to implement communication between servers or between clients within the same environment.
BindableEvent Object
BindableEvent is an object provided to handle events within the same environment, supporting one-way communication.
💡 Tip. To clearly distinguish whether the communication is between Server to Server or Client to Client when using BindableEvent, it is recommended to use prefixes such as S2S_ or C2C_ in the name. This makes the event’s role intuitive and improves code readability and maintainability.
Implementing Communication with BindableEvent
When firing an event with BindableEvent, you can send arguments along with it. These arguments are passed when calling the Fire method and can be received by the callback function on the receiving side.
Server ➡ Server
In Script1
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2S_SomeEvent = ReplicatedStorage:WaitForChild("S2S_SomeEvent")
local function TestFire()
local SomeText = "BindableEvents"
S2S_SomeEvent:Fire(SomeText) -- Passing arguments
end
In Script2
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2S_SomeEvent = ReplicatedStorage:WaitForChild("S2S_SomeEvent")
local function OnSomeEvent(text)
print("[SomeEvent]", "Parameter : ", text)
end
S2S_SomeEvent.Event:Connect(OnSomeEvent)
Client ➡ Client
In LocalScript1
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local C2C_SomeEvent = ReplicatedStorage:WaitForChild("C2C_SomeEvent")
local function TestFire()
local SomeText = "BindableEvents"
C2C_SomeEvent:Fire(SomeText) -- Passing arguments
end
In LocalScript2
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local C2C_SomeEvent = ReplicatedStorage:WaitForChild("C2C_SomeEvent")
local function OnSomeEvent(text)
print("[SomeEvent]", "Parameter : ", text)
end
C2C_SomeEvent.Event:Connect(OnSomeEvent)
Last updated