이벤트를 전달하기 위해서는 클라이언트와 서버 모두에서 사용할수있는 "ReplicatedStorage" 를 사용한다.
사전준비
ReplicatedStorage 에서 + 버튼을 눌러 RemoteEvent 를 생성한다.
생성한 RemoteEvent 를 클릭하여 이름을 MyEvent 로 변경한다.
서버 -> 클라이언트
클라이언트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local myEvent = ReplicatedStorage:WaitForChild("MyEvent")
myEvent.OnClientEvent:Connect(function(message)
print( "Client " .. message )
end)
ReplicatedStorage 에 생성 되어있는 RemoteEvent 를 가져온 후에 OnClientEvent 에 이벤트를 연결한다.
서버
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MyEvent = ReplicatedStorage:WaitForChild("MyEvent")
task.wait(1)
MyEvent:FireAllClients("hello")
FireAllClients 함수를 사용하여 클라이언트에 이벤트를 전송한다.
클라이언트 -> 서버
서버
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ClientEvent = ReplicatedStorage:WaitForChild("ClientEvent")
-- 서버가 클라이언트의 요청을 받으면 다른 클라이언트에게 전달
ClientEvent.OnServerEvent:Connect(function(player, message)
print(player.Name .. " sent message: " .. message)
end)
OnServerEvent 를 사용하여 이벤트를 연결한다.
클라이언트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ClientEvent = ReplicatedStorage:WaitForChild("ClientEvent")
ClientEvent:FireServer("Hello, other clients!")
FireServer 함수를 사용하여 클라이언트에 이벤트를 전송한다.
'개발 > Roblox Studio Lua' 카테고리의 다른 글
[로블록스] Module 를 이용해 클래스 만들기 (0) | 2025.01.28 |
---|---|
[로블록스] 자신의 클라이언트에 이벤트 전달 (0) | 2025.01.28 |
[로블록스] 캐릭터 움직임 제한하기 (0) | 2025.01.22 |
로블록스 스튜디오 기본 디렉토리 (1) | 2025.01.15 |