World Event
월드 이벤트 관리 페이지 🚩
월드 관리 페이지에서 우측 상단의 🔽드롭다운을 눌러, 월드 이벤트 설정을 선택해요.

🚩월드 이벤트 설정 페이지에서 월드 이벤트를 등록하거나 편집할 수 있고, 등록한 월드 이벤트의 목록과 일정의 기록 내역을 확인할 수 있어요.

등록된 데이터의 초기값 영역에 마우스를 호버🖱️하면 전체 내용을 확인할 수 있어요.

월드 이벤트 데이터 🗃️
데이터 등록
월드 이벤트의 데이터는 월드 이벤트 설정 페이지에서 우측 상단의 ➕ 등록하기 버튼을 눌러 등록할 수 있어요.

월드 이벤트는 공지사항 타입 또는 데이터 타입으로 등록할 수 있어요.
공지사항
string
공지사항, 점검 메시지 등 단순 문자열 출력
없음
데이터
number string bool
경험치 배율, 특정 이름의 NPC 찾기, 던전 개방 여부 등 게임 데이터
설정 필요
데이터 이름은 영어/숫자/언더바만 입력 가능하며, 데이터 값 타입에 따라 입력할 수 있는 내용은 아래와 같아요.
number : 실수, 정수, 양수, 음수 입력 가능 (숫자 기준 최대 20자)
string : 한글/영어/숫자/언더바 입력 가능 (한글 기준 최대 20)
bool : true / false 중 선택 가능
데이터 삭제
데이터 이름 영역을 클릭하면 출력되는 월드 이벤트 관리 팝업에서 삭제 버튼을 클릭해서 지울 수 있어요.

데이터 수정
데이터 이름 영역을 클릭하면 출력되는 월드 이벤트 관리 팝업에서 원하는 값을 수정 후에 수정 버튼을 클릭해서 적용할 수 있어요.

월드 이벤트 데이터의 일정 관리 📅
데이터의 일정 설정 버튼을 클릭하면 출력되는 일정 설정 팝업에서 일정을 추가하거나 삭제, 편집할 수 있어요.

등록된 일정의 값 영역에 마우스를 호버🖱️하면 전체 내용을 확인할 수 있어요.

일정 등록
일정 설정 팝업에서 우측 상단의 ➕ 일정등록 버튼을 눌러 일정을 추가할 수 있어요.

[데이터 타입의 일정]
데이터 타입의 일정을 등록하면 설정한 시작일~종료일 안에서 적용 요일의 시작시간이 됐을때 설정한 값이 적용되고, 해제시간이 되면 초기값으로 복구돼요.

예를 들어 ExpRate의 초기값을 1로 설정한 다음, 2024. 08. 01 ~ 2024. 08. 31 토/일요일 오후 02:00 ~ 오후 04:00으로 일정을 등록하면 오후 02:00가 됐을 때 ExpRate의 값은 2로 변경되고 오후 04:00가 되면 초기값인 1로 복구돼요.
💡 데이터 타입은 일정을 등록하거나 날짜/요일/시간을 편집할 때, 이미 등록된 일정과 날짜나 요일, 시간이 겹치는게 있으면 등록할 수 없어요.

데이터 값 타입에 따라 입력할 수 있는 내용은 아래와 같아요.
number : 실수, 정수, 양수, 음수 입력 가능 (숫자 기준 최대 20자)
string : 한글/영어/숫자/언더바 입력 가능 (한글 기준 최대 20)
bool : true / false 중 선택 가능
[공지사항 타입의 일정]
공지사항 타입의 일정은 1회 발송할지, 반복 발송할지 선택할 수 있어요.

반복 설정이 비활성화인 경우 설정한 시작일의 시작시간이 됐을 때 1회 발송되며, 반복 설정이 활성화인 경우 설정한 시작일~종료일 안에서 적용 요일의 시작시간이 될 때 마다 발송돼요.
공지사항 타입은 한글/영어/숫자/언더바만 입력 가능해요. (한글 기준 최대 20)
일정 삭제
데이터에서 삭제 버튼을 클릭하면 출력되는 팝업에서 삭제 버튼을 클릭해서 지울 수 있어요.

일정 수정
데이터에서 편집 버튼을 클릭하면 출력되는 일정 편집 팝업에서 원하는 값을 수정 후에 수정 버튼을 클릭해서 적용할 수 있어요.

월드 이벤트 스크립트 처리 📝
월드 이벤트의 데이터와 일정 정보를 가져오기 위한 준비 함수를 요청해요.
--Server Script에서
Game:RequestWorldEventList() --이 함수를 호출해서 OnGetWorldEventListEvent를 받아야
--월드 이벤트를 사용할 수 있어요.
--월드 이벤트 설정이 끝나거나 정보가 갱신될 때 호출되는 이벤트예요.
--(이 이벤트를 사용하려면 RequestWorldEventList를 호출해야 하며, 월드 이벤트에 대한 내부 설정이 모두 끝나면 이벤트가 호출돼요.)
--(월드 이벤트의 데이터를 추가하거나, 수정하면 다시 호출될 수 있어요.)
local function GetWorldEventListEvent()
print("월드이벤트의 세팅이 완료돼었어요!!")
end
Game.OnGetWorldEventListEvent:Connect(GetWorldEventListEvent)
현재 시간이 월드 이벤트에 등록한 어떤 데이터의 일정이 되면 호출되는 이벤트에요.
--Server Script에서
--현재 시간이 월드 이벤트에 등록한 문자열 데이터의 일정이 되면 호출되는 이벤트에요.
local function OnWorldEventString(keyName, keyValue)
--keyName으로 어떤 월드 이벤트인지 구분할 수 있어요.
print(keyName, " : ", keyValue)
end
Game.OnGetWorldEventString:Connect(OnWorldEventString)
--현재 시간이 월드 이벤트에 등록한 숫자 데이터의 일정이 되면 호출되는 이벤트에요.
local function OnWorldEventNumber(keyName, keyValue)
--keyName으로 어떤 월드 이벤트인지 구분할 수 있어요.
print(keyName, " : ", keyValue)
end
Game.OnGetWorldEventNumber:Connect(OnWorldEventNumber)
--현재 시간이 월드 이벤트에 등록한 불리언 데이터의 일정이 되면 호출되는 이벤트에요.
local function OnWorldEventBool(keyName, keyValue)
--keyName으로 어떤 월드 이벤트인지 구분할 수 있어요.
print(keyName, " : ", keyValue)
end
Game.OnGetWorldEventBool:Connect(OnWorldEventBool)
데이터 타입은 일정이 되지 않았더라도 현재 값을 가져올 수 있어요.
--Server Script에서
-- 숫자 타입의 데이터 현재값 가져오기
local expRate = Game:RequestWorldEventNumber("ExpRate")
--월드 이벤트에 대한 내부 설정이 끝나지 않았으면 nil이 반환될 수 있어요.
if expRate == nil or expRate == "nil" then
print("ExpRate가 설정되지 않았습니다. : ", expRate)
else
print("ExpRate : ", expRate)
end
-- 문자열 타입의 데이터 현재값 가져오기
local findNPCName = Game:RequestWorldEventString("FindNPCName")
--월드 이벤트에 대한 내부 설정이 끝나지 않았으면 nil이 반환될 수 있어요.
if findNPCName == nil or findNPCName == "nil" then
print("FindNPCName가 설정되지 않았습니다. : ", findNPCName)
else
print("FindNPCName : ", findNPCName)
end
-- 불리언 타입의 데이터 현재값 가져오기
local isOpenRaidDungeon = Game:RequestWorldEventBool("IsOpenRaidDungeon")
--월드 이벤트에 대한 내부 설정이 끝나지 않았으면 nil이 반환될 수 있어요.
if isOpenRaidDungeon == nil or isOpenRaidDungeon == "nil" then
print("IsOpenRaidDungeon가 설정되지 않았습니다. : ", isOpenRaidDungeon)
else
print("IsOpenRaidDungeon : ", isOpenRaidDungeon)
end
일정 기록 💾
일정 기록 항목에서 등록하거나 삭제한 일정의 내역을 확인할 수 있으며, 삭제한 일정은 취소선으로 표시돼요.
좌측 상단의 🔽드롭다운을 눌러 특정 데이터나 전체 데이터를 확인할 수 있어요.

필터를 기간으로 설정하면 일정의 시작일~종료일 안에서 목록이 출력되고, 기록 시간으로 설정하면 특정 시간에 기록된 일정 목록이 출력돼요.

기록의 값 영역에 마우스를 호버🖱️하면 전체 내용을 확인할 수 있어요.

Last updated
Was this helpful?