공지사항처럼 모든 서버에 보내야 할 이벤트가 있을 수 있다.
이 때는 Messaging Service 메세징 서비스를 쓴다.
https://developer.roblox.com/en-us/api-reference/class/MessagingService
나는 구조가 아래와 같아서 이렇게 코딩했다.
관리자가 전체 서버의 불꽃놀이 축제를 관리하는 기능이다.
1. (클라이언트) 관리자 UI에서 실행 버튼 클릭하면, 서버로 이벤트 전송하기.
EtcFireworksOnButton.MouseButton1Click:Connect(function()
FireworksProvider:FireServer()
end)
2. (서버) 이벤트 받아서 MessagingService 사용하기.
MessagingService는 등록(SubscribeAsync), 호출(PublishAsync)로 나뉘는데, 구분은 첫번째 인자로 한다.
local MessagingService = game:GetService("MessagingService")
--------------------------------------------------------------------------------
---- 전체 메세지 토픽
--------------------------------------------------------------------------------
GLOBAL_MSG_TOPIC_FIREWORK = "GlobalFirework"
----------------------------------------------------------------------------------
-- 메세징서비스 등록.
----------------------------------------------------------------------------------
local succces, errorMessage = pcall(function()
MessagingService:SubscribeAsync(GLOBAL_MSG_TOPIC_FIREWORK, function(rawData)
print(rawData.Data) -- 불꽃놀이 시작함!!
end)
end)
----------------------------------------------------------------------------------
-- 메세징서비스 호출.
----------------------------------------------------------------------------------
FireworksListener.OnServerEvent:Connect(function(player)
local success, errorMessage = pcall(function()
MessagingService:PublishAsync(GLOBAL_MSG_TOPIC_FIREWORK, '불꽃놀이 시작함!!')
end)
end)
'기타 > 로블록스 & Lua' 카테고리의 다른 글
로블록스 사용자 키 입력 감지하기 (0) | 2021.12.29 |
---|---|
로블록스 이미지 라벨 처음 로딩 때 깜빡거림 현상 (0) | 2021.12.24 |
로블록스 낮/밤 구분해서 자동 이벤트 발생시키기 (0) | 2021.12.16 |
로블록스 캐릭터 Shift 달리기 (2) | 2021.12.16 |
로블록스 GUI 애니메이션 간단하게 (0) | 2021.12.13 |