[task] | wikipedia [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | # 아이템 배지 서비스 활용하기 이 가이드는 메이플스토리 월드에서 배지 획득 확인창을 여는 버튼을 생성하고, 클릭 시 배지 보기 창을 토글하며 버튼 텍스트를 변경하는 방법을 설명합니다. 또한 배지 확인창 UI를 구성하고 특정 배지의 정보를 가져오는 절차를 다룹니다. ## 배지 획득 확인창 토글 버튼 구현 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 버튼의 텍스트가 '배지 보기'에서 '닫기'로, 또는 그 반대로 변경되도록 설정합니다. ### 버튼 엔티티 생성 및 텍스트 설정 1. UI 에디터에서 `DefaultGr [original] | 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 '배지보기'에서 '닫기'로 바뀌게 만들어봅시다. 1. **UI 에디터 - DefaultGroup - BadgeOpenBtn** 버튼을 배치합니다. 2. 프로퍼티 에디터에서 TextComponent를 추가하고, **Text**에 **배지 보기**를 입력합니다. 3. 새로운 **BadgeOpenBtn 컴포넌트**를 생성하고, **BadgeOpenBtn**에 추가합니다. 4. 버튼을 클릭할 때 발생하는 ButtonClickEvent를 받아서 BadgeLayer 엔티티의 E [chunk_id] | Guides:664:2
[task] | wikipedia [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | # 아이템 배지 서비스 활용하기 이 가이드는 특정 장소를 통과하는 플레이어에게 아이템 배지(Badge)를 자동으로 지급하는 게임 로직 구현 방법을 설명합니다. `BadgeService` API와 트리거 컴포넌트를 활용하여 서버 측에서 배지 수여 여부를 검증하고, 클라이언트에서 획득 이벤트를 처리하는 흐름을 다룹니다. ## 구현 절차 ### 1. 트리거 오브젝트 설정 배지 획득 조건이 되는 장소 역할을 수행할 오브젝트를 월드에 배치합니다. 해당 오브젝트에 **TriggerComponent**를 추가하여 플레이어와의 충돌 또는 진 [original] | 특정 장소를 지나가는 플레이어에게 배지를 지급해봅시다. 1. 플레이어 캐릭터가 배지를 획득할 장소 역할을 할 오브젝트를 골라 월드에 배치합니다. 2. 오브젝트에 **TriggerComponent**를 추가합니다. 3. Workspace - MyDesk에 새로운 **SendBadgeInfo 컴포넌트**를 생성하고, 배지를 획득하는 장소 오브젝트에 추가합니다. 4. 스크립트 에디터를 열어 **SendBadgeInfo 컴포넌트**에 배지 ID를 확인하기 위한 프로퍼티를 추가합니다. ```lua Property: [chunk_id] | Guides:664:1
[task] | knowledge_list [title] | 확률 정보 공개 [category] | Guides [rephrased] | 제시된 문서에는 mLua 스크립트 언어, API 명세, 코드 예제, 또는 서버/클라이언트 동기화 기술적 사항이 포함되어 있지 않습니다. 해당 문서는 메이플스토리 월드 운영 정책 및 법적 준수 사항(확률 정보 공개 가이드)에 대한 안내 내용입니다. 따라서 요청하신 "API 이름·매개변수·반환 타입·동기화/서버·클라이언트 제약"을 명시하는 기술적 사실 추출은 불가능하며, 문서에 존재하는 정책적 사실만을 다음과 같이 정리합니다. 1. 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우, 확률 정보 공 [original] | # 확률 정보 공개란? 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. * 메이플스토리 월드의 확률 정보 공개 가이드는 ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한이 적용될 수 있습니다. # 확률 정보 공개 대상 및 방법 아래 항목에 해당할 경우 확률형 아이템 정보 공개 대상이 될 수 있으며, 자세한 확률 정보 공개 대상 및 [chunk_id] | Guides:667:0
[task] | wikipedia [title] | 확률 정보 공개 [category] | Guides [rephrased] | # 제작 시 준수 사항: 확률 정보 공개 메이플스토리 월드(MapleStory Worlds)의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 다음 내용을 모두 준수하였는지 확인해야 합니다. 본 준수사항 및 기타 해설서에 안내되어 있는 항목을 위반할 경우, 최대 월드 이용 제한이 적용될 수 있습니다. 확률 정보의 표시 방법은 백분율로 표기해야 하며, 이때 확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시해야 합니다. 개별 확률 안내가 어려운 경우에는 분수 [original] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내 [chunk_id] | Guides:667:1
[task] | distill [title] | 확률 정보 공개 [category] | Guides [rephrased] | # 확률 정보 공개 준수 사항 메이플스토리 월드의 확률형 아이템 제공 시 아래 사항을 모두 준수해야 하며, 위반 시 최대 월드 이용 제한이 적용될 수 있습니다. ## 1. 표시 방법 - 확률은 **백분율**로 표시합니다. - 소수점 자릿수는 **최초로 0이 아닌 숫자가 나오는 자리보다 4자리 이상 아래**에서 반올림합니다. - 개별 확률 안내가 어려운 경우, **분수** 등 플레이어가 쉽게 이해할 수 있는 방식으로 표시합니다. ## 2. 고지 경로 및 방식 - **월드 내**: 사용 화면에서 확률 정보를 직접 확인 가능하도록 [original] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내 [chunk_id] | Guides:667:1
[task] | extract_knowledge [title] | 확률 정보 공개 [category] | Guides [rephrased] | # 확률 정보 공개 가이드 ## 1. 개념 설명 메이플스토리 월드(MapleStory Worlds)에서 크리에이터가 제작한 아이템 내에 **확률형 아이템**이 포함된 경우, 해당 아이템을 사용하기 전 사용자에게 확률 정보를 고지해야 하는 의무가 있습니다. 이 가이드는 문화체육관광부의 ‘확률형 아이템 확률 정보공개 관련 해설서’ 내용을 따르며, 이를 준수하지 않을 경우 월드 이용 제한 등 제재가 적용될 수 있습니다. ### 확률형 아이템의 정의 플레이어가 직접적 또는 간접적으로 유상으로 구매하는 아이템 중, 구체적 종류, 효과 및 [original] | # 확률 정보 공개란? 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. * 메이플스토리 월드의 확률 정보 공개 가이드는 ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한이 적용될 수 있습니다. # 확률 정보 공개 대상 및 방법 아래 항목에 해당할 경우 확률형 아이템 정보 공개 대상이 될 수 있으며, 자세한 확률 정보 공개 대상 및 [chunk_id] | Guides:667:0
[task] | wikipedia [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | # 아이템 배지 서비스 활용하기 이 가이드에서는 메이플스토리 월드(MapleStory Worlds)에서 `BadgeSlot` 컴포넌트를 사용하여 아이템 배지(Item Badge)의 정보를 조회하고, 플레이어가 해당 배지를 소유하고 있는지 여부를 UI에 표시하는 방법을 설명합니다. 이 과정은 `BadgeSlot_01` 엔티티를 기반으로 진행되며, `TextComponent`를 통해 배지 이름, 소유 상태, 설명을 출력합니다. ## 1. BadgeSlot 컴포넌트 생성 및 프로퍼티 설정 먼저 새로운 **BadgeSlot 컴포넌트* [original] | 1. 새로운 **BadgeSlot 컴포넌트**를 생성하고 **BadgeSlot_01**에 추가합니다. 2. 획득한 배지의 이름, 소유 정보, 설명을 가져올 수 있도록 프로퍼티를 추가합니다. ```lua Property: [None] string BadgeId = "" -- 조회할 배지 ID [None] TextComponent BadgeTitle = nil -- 배지 이름 [None] TextComponent Hasbadge = nil -- 배지 소유 정보 [Non [chunk_id] | Guides:664:3
[task] | extract_knowledge [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | # 아이템 배지 서비스 활용하기 ## 1. 개념 설명 `BadgeService`를 활용하여 플레이어에게 특정 배지를 지급하는 시스템입니다. 이 시스템은 플레이어가 지정된 트리거 영역에 진입했을 때 서버에서 배지 지급 여부를 확인하고, 성공 시 클라이언트에서 배지 획득 UI를 표시하는 흐름으로 동작합니다. ## 2. API 및 컴포넌트 사용법 ### 2.1. 관련 컴포넌트 * **TriggerComponent**: 플레이어의 진입을 감지하기 위해 배치되는 오브젝트에 추가됩니다. * **SendBadgeInfo**: 배지를 [original] | 특정 장소를 지나가는 플레이어에게 배지를 지급해봅시다. 1. 플레이어 캐릭터가 배지를 획득할 장소 역할을 할 오브젝트를 골라 월드에 배치합니다. 2. 오브젝트에 **TriggerComponent**를 추가합니다. 3. Workspace - MyDesk에 새로운 **SendBadgeInfo 컴포넌트**를 생성하고, 배지를 획득하는 장소 오브젝트에 추가합니다. 4. 스크립트 에디터를 열어 **SendBadgeInfo 컴포넌트**에 배지 ID를 확인하기 위한 프로퍼티를 추가합니다. ```lua Property: [chunk_id] | Guides:664:1
[task] | diverse_qa [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | 질문: BadgeSlot 컴포넌트를 어디에 추가해야 하는가? 답변: BadgeSlot 컴포넌트는 BadgeSlot_01에 추가해야 합니다. 질문: 배지 이름, 소유 정보, 설명을 가져오기 위해 추가하는 프로퍼티의 타입은 무엇인가? 답변: 배지 이름(BadgeTitle), 소유 정보(Hasbadge), 설명(BadgDesc)을 위한 프로퍼티의 타입은 TextComponent입니다. 질문: 배지 정보를 비동기적으로 조회하기 위해 사용하는 메서드는 무엇인가? 답변: 배지 정보를 비동기적으로 조회하기 위해 GetBadgeInfoAsyn [original] | 1. 새로운 **BadgeSlot 컴포넌트**를 생성하고 **BadgeSlot_01**에 추가합니다. 2. 획득한 배지의 이름, 소유 정보, 설명을 가져올 수 있도록 프로퍼티를 추가합니다. ```lua Property: [None] string BadgeId = "" -- 조회할 배지 ID [None] TextComponent BadgeTitle = nil -- 배지 이름 [None] TextComponent Hasbadge = nil -- 배지 소유 정보 [Non [chunk_id] | Guides:664:3
[task] | knowledge_list [title] | 확률 정보 공개 [category] | Guides [rephrased] | 제시된 원문은 메이플스토리 월드의 **정책 및 가이드라인(컴플라이언스)** 문서이며, mLua 스크립트 언어의 API, 메서드, 이벤트 핸들러, 또는 코드 구현 사항에 대한 기술적 정보가 포함되어 있지 않습니다. 따라서 요청하신 대로 **API 이름·매개변수·반환 타입·동기화/서버·클라이언트 제약**을 명시하는 기술적 사실은 원문에 존재하지 않으며, 이를 지어내거나 추측하여 작성할 수 없습니다. 대신, 원문에 명시된 **확률 정보 공개 준수 사항**의 핵심 정책 내용을 빠짐없이 추출하여 목록으로 정리합니다. 1. 확률 정보는 [original] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내 [chunk_id] | Guides:667:1
[task] | distill [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | # 스크립트 라이프 사이클 ## 개념 컴포넌트 스크립트 내 함수의 호출 시점을 이해하여 의도한 로직을 작성합니다. 실행 환경은 **제작 중/출시**, **서버/클라이언트**로 구분되며, 기본 이벤트 함수는 기본적으로 **서버 공간**에서 호출됩니다. ## 함수 분류 1. **기본 이벤트 함수**: 시스템이 특정 조건 충족 시 자동으로 호출. 크리에이터가 호출 시점을 수정 불가. * 종류: `OnInitialize`, `OnUpdate`, `OnBeginPlay`, `OnMapEnter`, `OnMapLeave`, ` [original] | # 학습 과정 소개 기본 이벤트 함수의 라이프 사이클과 플레이할 때의 전체 라이프 사이클을 알아봅시다. 라이프 사이클을 이해하면 특정 함수가 언제 불리는지 예상할 수 있고, 전체 월드의 동작을 고려하며 제작할 수 있습니다. # 기본 이벤트 함수의 라이프 사이클 월드에 필요한 로직을 만들기 위해서는 컴포넌트 스크립트를 만들어야만 합니다. 필요한 컴포넌트 스크립트를 만들 때 호출되는 시점을 예상해 의도한 로직에 맞게 동작할 수 있도록 작성해야 합니다. 라이프 사이클의 개념을 익혀두면 전체 흐름을 파악할 수 있기에 스크립트를 작성 [chunk_id] | Guides:668:0
[task] | diverse_qa [title] | 확률 정보 공개 [category] | Guides [rephrased] | 질문: 메이플스토리 월드에서 확률형 아이템을 제공할 때 크리에이터는 어떤 의무가 있는가? 답변: 창작한 아이템 내에 확률형 아이템을 제공하는 경우, 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. 질문: 메이플스토리 월드의 확률 정보 공개 가이드 기준이 되는 문서는 무엇입니까? 답변: ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 질문: 확률 정보 공개 가이드를 위반할 경우 어떤 제재가 적용될 수 있는가? 답변: 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한 [original] | # 확률 정보 공개란? 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. * 메이플스토리 월드의 확률 정보 공개 가이드는 ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한이 적용될 수 있습니다. # 확률 정보 공개 대상 및 방법 아래 항목에 해당할 경우 확률형 아이템 정보 공개 대상이 될 수 있으며, 자세한 확률 정보 공개 대상 및 [chunk_id] | Guides:667:0
[task] | knowledge_list [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | ```lua -- 핵심 사실 목록 ``` 1. **맵 로딩 방식 차이**: 제작 중인 월드에서 플레이할 때는 플레이어가 현재 위치하고 있는 맵만 로딩되는 반면, 출시된 월드에서는 플레이어 유무와 관계없이 서버가 모든 맵을 로딩합니다. 2. **월드(World) 정의 및 격리**: 월드는 실행 환경에 따라 하나씩 생성되는 최상위 레벨 엔티티이며, 동시에 여러 월드가 존재할 수 있으나 서로 간에 상호작용하거나 영향을 미치지 않습니다. 3. **편집용 월드의 라이프사이클 제한**: 제작 중인 월드의 클라이언트 편집용 엔티티는 `OnBe [original] | 서버와 클라이언트가 호출되는 전체 흐름을 알아봅시다. 플레이 라이프 사이클은 **제작 중인 월드**와 **출시된 월드**에서 약간의 차이가 있습니다. 가장 큰 차이점은 맵을 불러오는 방식입니다. * **제작 중인 월드**에서 플레이할 때는 10개의 맵을 만들었더라도 플레이어가 있는 맵만 불러옵니다. * **출시된 월드**에서는 플레이어 유무와 상관없이 모든 맵을 불러옵니다. 이와 같은 차이를 알고 있다면 **제작 중인 월드** 또는 **출시된 월드**에서 크리에이터 의도대로 동작하지 않는 무언가가 있을 때, 그 원인이 잘못된 [chunk_id] | Guides:668:1
[task] | knowledge_list [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | 제시된 문서 내용만을 바탕으로 핵심 사실을 추출하여 정리한 목록입니다. 1. 메이플스토리 월드 스크립트 컴포넌트는 로직 구현을 위해 필수적이며, 라이프 사이클 이해는 함수의 호출 시점을 예측하고 전체 월드 동작을 고려하여 제작하는 데 도움을 줍니다. 2. 스크립트 실행 환경은 '제작 중인 월드/출시된 월드'와 '서버/클라이언트'로 구분되며, 실행 환경에 따라 라이프 사이클의 기본 차이가 존재합니다. 3. 함수는 크리에이터가 호출 시점을 수정할 수 없고 특정 조건에서 자동으로 호출되는 '기본 이벤트 함수'와 사용자가 직접 정의하여 [original] | # 학습 과정 소개 기본 이벤트 함수의 라이프 사이클과 플레이할 때의 전체 라이프 사이클을 알아봅시다. 라이프 사이클을 이해하면 특정 함수가 언제 불리는지 예상할 수 있고, 전체 월드의 동작을 고려하며 제작할 수 있습니다. # 기본 이벤트 함수의 라이프 사이클 월드에 필요한 로직을 만들기 위해서는 컴포넌트 스크립트를 만들어야만 합니다. 필요한 컴포넌트 스크립트를 만들 때 호출되는 시점을 예상해 의도한 로직에 맞게 동작할 수 있도록 작성해야 합니다. 라이프 사이클의 개념을 익혀두면 전체 흐름을 파악할 수 있기에 스크립트를 작성 [chunk_id] | Guides:668:0
[task] | diverse_qa [title] | 확률 정보 공개 [category] | Guides [rephrased] | 질문: 메이플스토리 월드 크리에이터가 준수사항 및 해설서 항목을 위반할 경우 어떤 제재가 적용될 수 있는가? 답변: 최대 월드 이용 제한이 적용될 수 있습니다. 질문: 확률 정보는 어떤 단위로 표시해야 하는가? 답변: 백분율로 표시해야 합니다. 질문: 확률 표기 시 반올림은 어떤 기준으로 수행해야 하는가? 답변: 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시해야 합니다. 질문: 개별 확률 안내가 어려운 경우, 확률을 어떻게 표시해야 하는가? 답변: 분수 등 플레이어가 쉽게 이용할 [original] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내 [chunk_id] | Guides:667:1
[task] | distill [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | # 스크립트 라이프 사이클 서버/클라이언트 호출 흐름은 **제작 중**과 **출시** 월드에서 맵 로딩 방식에 따라 차이가 있습니다. ## 핵심 차이점: 맵 로딩 | 환경 | 서버 (Server) | 클라이언트 (Client) | | :--- | :--- | :--- | | **제작 중** | 플레이어/접근이 있는 맵만 로딩<br>*(초기: 편집 중 맵, 포탈 이동/`_EntityService` 접근 시 해당 맵 로딩)* | 플레이어 엔티티가 있는 맵만 로딩 | | **출시** | **전체 맵** 로딩 | 플레이어 엔티티가 있 [original] | 서버와 클라이언트가 호출되는 전체 흐름을 알아봅시다. 플레이 라이프 사이클은 **제작 중인 월드**와 **출시된 월드**에서 약간의 차이가 있습니다. 가장 큰 차이점은 맵을 불러오는 방식입니다. * **제작 중인 월드**에서 플레이할 때는 10개의 맵을 만들었더라도 플레이어가 있는 맵만 불러옵니다. * **출시된 월드**에서는 플레이어 유무와 상관없이 모든 맵을 불러옵니다. 이와 같은 차이를 알고 있다면 **제작 중인 월드** 또는 **출시된 월드**에서 크리에이터 의도대로 동작하지 않는 무언가가 있을 때, 그 원인이 잘못된 [chunk_id] | Guides:668:1
[task] | wikipedia [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | # 스크립트 라이프 사이클 메이플스토리 월드(MapleStory Worlds)의 스크립트 라이프 사이클은 서버와 클라이언트에서 함수가 호출되는 전체 흐름을 정의합니다. 이 라이프 사이클은 **제작 중인 월드**(개발 단계)와 **출시된 월드**(운영 단계) 간에 맵 로딩 방식의 차이로 인해 동작이 달라집니다. **제작 중인 월드**에서 플레이할 경우, 사용자가 10개의 맵을 생성했더라도 현재 플레이어가 존재하는 맵만 선택적으로 불러옵니다. 반면, **출시된 월드**에서는 플레이어의 존재 여부나 위치와 무관하게 서버가 모든 맵을 [original] | 서버와 클라이언트가 호출되는 전체 흐름을 알아봅시다. 플레이 라이프 사이클은 **제작 중인 월드**와 **출시된 월드**에서 약간의 차이가 있습니다. 가장 큰 차이점은 맵을 불러오는 방식입니다. * **제작 중인 월드**에서 플레이할 때는 10개의 맵을 만들었더라도 플레이어가 있는 맵만 불러옵니다. * **출시된 월드**에서는 플레이어 유무와 상관없이 모든 맵을 불러옵니다. 이와 같은 차이를 알고 있다면 **제작 중인 월드** 또는 **출시된 월드**에서 크리에이터 의도대로 동작하지 않는 무언가가 있을 때, 그 원인이 잘못된 [chunk_id] | Guides:668:1
[task] | distill [title] | 공동 제작 [category] | Guides [rephrased] | # 메이커 사용 공동 제작 그룹 월드에서 **Panels - Cooperation**을 통해 함께 접속 중인 멤버(닉네임, 메이커 ID)를 확인합니다. ## Local Changes 작업자가 Check Out한 항목을 모아볼 수 있는 창입니다. Hierarchy, Workspace에서 변경된 항목을 확인하고 **Check In**할 수 있습니다. * **경로**: Panels - Cooperation - Local Changes ## 복구 모드 리비전 되돌리기나 **Import from File**은 월드 전체에 큰 영 [original] | 함께 제작하는 그룹 월드에서 **Panels - Cooperation**을 누릅니다. 해당 월드에 함께 접속 중인 사람들의 닉네임과 메이커 아이디가 보입니다. ## Local Changes 그룹 월드에서 작업자가 Check Out한 항목을 모아 볼 수 있는 창입니다. Hierarchy, Workspace에서 내가 변경한 항목을 확인하고, 한 번에 **Check In**할 수 있습니다. **Panels - Cooperation - Local Changes**를 눌러 창을 엽니다. ## 복구 모드 그룹 월드의 리비전을 되돌리기나 [chunk_id] | Guides:670:1
[task] | extract_knowledge [title] | 확률 정보 공개 [category] | Guides [rephrased] | 제공된 원문은 메이플스토리 월드의 확률형 아이템 관련 **운영 정책 및 가이드라인**이며, mLua 스크립트 언어, API 문서, 또는 실제 코드 예제가 포함되어 있지 않습니다. 규칙에 따라 **"주어진 원문에 있는 정보만 사용하고, 없는 사실·API·코드 예제를 지어내지 않는다"**는 원칙을 준수하여, 원문에 존재하지 않는 mLua 코드나 API 설명을 생성할 수 없습니다. 따라서 원문에 포함된 텍스트 정보만을 바탕으로, 요청하신 구조(개념 설명 → API 사용법 → 예제 → 주의사항)에 맞춰 재구성한 내용은 다음과 같습니다. [original] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내 [chunk_id] | Guides:667:1
[task] | extract_knowledge [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | # 배지 획득 확인창 UI 및 로직 구현 본 절에서는 메이플스토리 월드의 UI 에디터와 mLua 스크립트를 활용하여 배지 획득 확인창(배지보기)을 열고 닫는 기능을 구현하는 방법을 다룹니다. 버튼 클릭 시 배지 레이어의 표시 여부(`Enable`)를 토글하고, 버튼 텍스트를 동적으로 변경하는 로직을 구성합니다. ## 1. 개념 및 구조 배지 획득 확인창 기능은 다음과 같은 두 가지 핵심 요소로 구성됩니다. 1. **개폐 버튼 (BadgeOpenBtn)**: * 사용자가 클릭하여 배지 확인창을 열거나 닫는 UI 버 [original] | 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 '배지보기'에서 '닫기'로 바뀌게 만들어봅시다. 1. **UI 에디터 - DefaultGroup - BadgeOpenBtn** 버튼을 배치합니다. 2. 프로퍼티 에디터에서 TextComponent를 추가하고, **Text**에 **배지 보기**를 입력합니다. 3. 새로운 **BadgeOpenBtn 컴포넌트**를 생성하고, **BadgeOpenBtn**에 추가합니다. 4. 버튼을 클릭할 때 발생하는 ButtonClickEvent를 받아서 BadgeLayer 엔티티의 E [chunk_id] | Guides:664:2
[task] | knowledge_list [title] | 공동 제작 [category] | Guides [rephrased] | 제시된 문서에 포함된 핵심 사실과 제약 조건은 다음과 같습니다. 1. 그룹 월드에서 `Panels - Cooperation` 패널을 열면 해당 월드에 함께 접속 중인 멤버들의 닉네임과 메이커 아이디를 확인할 수 있습니다. 2. `Panels - Cooperation - Local Changes` 창을 통해 `Hierarchy` 또는 `Workspace`에서 작업자가 `Check Out`한 항목 및 자신이 변경한 항목을 조회하고, 이를 일괄적으로 `Check In`할 수 있습니다. 3. 그룹 월드에서 리비션을 되돌리거나 `Impor [original] | 함께 제작하는 그룹 월드에서 **Panels - Cooperation**을 누릅니다. 해당 월드에 함께 접속 중인 사람들의 닉네임과 메이커 아이디가 보입니다. ## Local Changes 그룹 월드에서 작업자가 Check Out한 항목을 모아 볼 수 있는 창입니다. Hierarchy, Workspace에서 내가 변경한 항목을 확인하고, 한 번에 **Check In**할 수 있습니다. **Panels - Cooperation - Local Changes**를 눌러 창을 엽니다. ## 복구 모드 그룹 월드의 리비전을 되돌리기나 [chunk_id] | Guides:670:1
[task] | wikipedia [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | # 스크립트 라이프 사이클 스크립트 라이프 사이클은 메이플스토리 월드에서 컴포넌트 스크립트의 함수들이 언제 호출되는지를 설명하는 개념입니다. 라이프 사이클을 이해하면 특정 함수의 실행 시점을 예측할 수 있으며, 전체 월드의 동작 흐름을 고려하여 논리적으로 스크립트를 작성하는 데 도움이 됩니다. ## 기본 이벤트 함수의 라이프 사이클 월드에 필요한 로직을 구현하기 위해서는 컴포넌트 스크립트를 생성해야 합니다. 컴포넌트 스크립트를 작성할 때는 함수가 호출되는 시점을 정확히 파악하여 의도한 대로 동작하도록 구성해야 합니다. 라이프 [original] | # 학습 과정 소개 기본 이벤트 함수의 라이프 사이클과 플레이할 때의 전체 라이프 사이클을 알아봅시다. 라이프 사이클을 이해하면 특정 함수가 언제 불리는지 예상할 수 있고, 전체 월드의 동작을 고려하며 제작할 수 있습니다. # 기본 이벤트 함수의 라이프 사이클 월드에 필요한 로직을 만들기 위해서는 컴포넌트 스크립트를 만들어야만 합니다. 필요한 컴포넌트 스크립트를 만들 때 호출되는 시점을 예상해 의도한 로직에 맞게 동작할 수 있도록 작성해야 합니다. 라이프 사이클의 개념을 익혀두면 전체 흐름을 파악할 수 있기에 스크립트를 작성 [chunk_id] | Guides:668:0
[task] | extract_knowledge [title] | 배지 서비스 활용하기 [category] | Guides [rephrased] | # 아이템 배지 서비스 활용하기 ## 1. 개념 설명 메이플스토리 월드에서는 `BadgeService`를 통해 게임 내 배지(Badge)의 정보 조회 및 소유 여부를 관리할 수 있습니다. 이 서비스를 이용하면 특정 배지의 이름과 설명을 텍스트 컴포넌트에 표시하거나, 현재 플레이어가 해당 배지를 보유하고 있는지 확인하여 UI를 동적으로 변경하는 로직을 구현할 수 있습니다. 배지 정보 조회는 비동기(`Async`) 방식으로 수행되며, 소유 여부 확인 시에는 `Wait` 함수를 사용하여 동기적으로 결과를 반환받아 처리합니다. ## [original] | 1. 새로운 **BadgeSlot 컴포넌트**를 생성하고 **BadgeSlot_01**에 추가합니다. 2. 획득한 배지의 이름, 소유 정보, 설명을 가져올 수 있도록 프로퍼티를 추가합니다. ```lua Property: [None] string BadgeId = "" -- 조회할 배지 ID [None] TextComponent BadgeTitle = nil -- 배지 이름 [None] TextComponent Hasbadge = nil -- 배지 소유 정보 [Non [chunk_id] | Guides:664:3
[task] | knowledge_list [title] | 공동 제작 [category] | Guides [rephrased] | 제시된 원문 문서에 기반하여 핵심 사실을 정리한 목록입니다. 1. 메이플스토리 월드의 공동 제작은 크게 로컬 환경에서 스크립트를 작성 후 메이플스토리 월드로 동기화하는 `LocalWorkspace` 방식과, 메이커의 `Cooperation` 기능을 활용해 메이커 내에서 동시에 편집하는 방식의 두 가지로 나뉩니다. 2. `Cooperation` 방식은 월드에 접속 중인 멤버들과 함께 메이커에서 실시간으로 월드를 공동 제작할 수 있게 해주는 기능입니다. 3. `Cooperation`에서 엔트리(Entry) 편집을 시작하려면 **Wor [original] | # 학습 과정 소개 다양한 사람들이 함께 모여 월드를 제작할 수 있는 방법에 대해 알아봅시다. ##### 참고 가이드 * [그룹 생성과 멤버 관리](/docs/?postId=1325"target":"_self"}) * [공동 제작 그룹 멤버의 등급과 권한](/docs/?postId=1077) * [LocalWorkspace](/docs/?postId=1165) * [ExtendedScriptFormat](/docs/?postId=1166) # 공동 제작 함께 월드를 제작하기 위해서는 우선 그룹을 형성하고, 멤버 권한을 설정해 [chunk_id] | Guides:670:0
[task] | diverse_qa [title] | 공동 제작 [category] | Guides [rephrased] | 질문: 그룹 월드에서 함께 접속 중인 사람들의 닉네임과 메이커 아이디를 확인하려면 어떤 메뉴를 눌러야 하나요? 답변: **Panels - Cooperation**을 누르면 해당 월드에 함께 접속 중인 사람들의 닉네임과 메이커 아이디를 볼 수 있습니다. 질문: **Panels - Cooperation - Local Changes** 창은 어떤 기능을 제공하는 창인가요? 답변: 그룹 월드에서 작업자가 Check Out한 항목을 모아 볼 수 있으며, Hierarchy와 Workspace에서 내가 변경한 항목을 확인하고 한 번에 **Ch [original] | 함께 제작하는 그룹 월드에서 **Panels - Cooperation**을 누릅니다. 해당 월드에 함께 접속 중인 사람들의 닉네임과 메이커 아이디가 보입니다. ## Local Changes 그룹 월드에서 작업자가 Check Out한 항목을 모아 볼 수 있는 창입니다. Hierarchy, Workspace에서 내가 변경한 항목을 확인하고, 한 번에 **Check In**할 수 있습니다. **Panels - Cooperation - Local Changes**를 눌러 창을 엽니다. ## 복구 모드 그룹 월드의 리비전을 되돌리기나 [chunk_id] | Guides:670:1
[task] | wikipedia [title] | 공동 제작 [category] | Guides [rephrased] | # 메이커 사용 공동 제작 함께 제작하는 그룹 월드에서 공동 작업을 수행하려면 메이커 인터페이스의 **Panels - Cooperation** 메뉴를 사용합니다. 이 메뉴를 통해 해당 월드에 현재 접속 중인 참여자들의 닉네임과 메이커 아이디를 확인할 수 있습니다. ## Local Changes (로컬 변경 사항) 그룹 월드에서 작업자가 **Check Out**한 항목들을 한눈에 모아 볼 수 있는 창입니다. **Hierarchy** 및 **Workspace**에서 사용자가 직접 변경한 항목들을 확인하고, 선택된 항목들을 한 번에 [original] | 함께 제작하는 그룹 월드에서 **Panels - Cooperation**을 누릅니다. 해당 월드에 함께 접속 중인 사람들의 닉네임과 메이커 아이디가 보입니다. ## Local Changes 그룹 월드에서 작업자가 Check Out한 항목을 모아 볼 수 있는 창입니다. Hierarchy, Workspace에서 내가 변경한 항목을 확인하고, 한 번에 **Check In**할 수 있습니다. **Panels - Cooperation - Local Changes**를 눌러 창을 엽니다. ## 복구 모드 그룹 월드의 리비전을 되돌리기나 [chunk_id] | Guides:670:1
[task] | distill [title] | 공동 제작 [category] | Guides [rephrased] | # 메이플스토리 월드 공동 제작 공동 제작은 **그룹 생성** 및 **멤버 권한 설정** 후, 월드 규모와 작업 방식에 따라 두 가지 모드로 나뉩니다. 1. **LocalWorkspace**: 대규모 월드 또는 외부 도구 활용 시. 로컬에서 스크립트를 작성 후 메이플스토리 월드로 동기화(Sync)하는 방식입니다. 상세 방법은 [LocalWorkspace](/docs/?postId=1165) 문서 참조. 2. **Cooperation**: 메이커(Maker) 내에서 온라인으로 동시에 편집하는 방식입니다. 멤버의 작업 현황을 실 [original] | # 학습 과정 소개 다양한 사람들이 함께 모여 월드를 제작할 수 있는 방법에 대해 알아봅시다. ##### 참고 가이드 * [그룹 생성과 멤버 관리](/docs/?postId=1325"target":"_self"}) * [공동 제작 그룹 멤버의 등급과 권한](/docs/?postId=1077) * [LocalWorkspace](/docs/?postId=1165) * [ExtendedScriptFormat](/docs/?postId=1166) # 공동 제작 함께 월드를 제작하기 위해서는 우선 그룹을 형성하고, 멤버 권한을 설정해 [chunk_id] | Guides:670:0
[task] | diverse_qa [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | 질문: mLua 스크립트에서 함수의 종류는 크게 몇 가지로 나눌 수 있으며 각각 무엇인가요? 답변: 함수의 종류는 크게 **기본 이벤트 함수**와 **사용자 정의 함수** 두 가지로 나눌 수 있습니다. 질문: 크리에이터는 기본 이벤트 함수의 호출 시점을 임의로 수정할 수 있나요? 답변: 아니요, 크리에이터는 기본 이벤트 함수들의 호출 시점을 수정할 수 없으며, 이 함수들의 시점을 기본으로 사용자 정의 함수를 만들어 호출해야 합니다. 질문: 기본 이벤트 함수는 기본적으로 어떤 실행 공간에서 호출되나요? 답변: 기본 이벤트 함수는 [original] | # 학습 과정 소개 기본 이벤트 함수의 라이프 사이클과 플레이할 때의 전체 라이프 사이클을 알아봅시다. 라이프 사이클을 이해하면 특정 함수가 언제 불리는지 예상할 수 있고, 전체 월드의 동작을 고려하며 제작할 수 있습니다. # 기본 이벤트 함수의 라이프 사이클 월드에 필요한 로직을 만들기 위해서는 컴포넌트 스크립트를 만들어야만 합니다. 필요한 컴포넌트 스크립트를 만들 때 호출되는 시점을 예상해 의도한 로직에 맞게 동작할 수 있도록 작성해야 합니다. 라이프 사이클의 개념을 익혀두면 전체 흐름을 파악할 수 있기에 스크립트를 작성 [chunk_id] | Guides:668:0
[task] | knowledge_list [title] | 카드 섞기, 선택하기 [category] | Guides [rephrased] | ```markdown 1. CardBoard 컴포넌트의 SetCards() 함수 내에서 카드 쌍을 만들기 위해 카드 삽입 루프의 반복 범위를 deckCount에서 (deckCount / 2)로 변경하고, 각 반복에서 table.insert(cardTable, deckTable[i])를 두 번 호출하여 동일한 카드를 두 번 테이블에 추가한다. 2. 카드 쌍 구성 후洗牌(섞기)를 위해 #cardTable 길이만큼 반복하며, _UtilLogic:RandomIntegerRange(1, #cardTable)로 무작위 인덱스를 생성하고 car [original] | # 카드 섞기 카드 보여주기에 성공했으니 이번에는 한 쌍의 카드가 나오게 만들어 봅시다. 1. **CardBoard** 컴포넌트의 `SetCards()` 함수에서 세 번째 `for i = 1, deckCount do`를 찾습니다. 처음에는 deckCount의 수만큼 실행했지만, 이번에는 deckCount의 절반만큼만 실행하기 위해 (deckCount / 2)로 변경합니다. 그 절반을 동일하게 두 번 불러와 쌍을 이루는 판을 만듭니다. `table.insert`는 [table](/apiReference/Lua/table) 레 [chunk_id] | Guides:671:0
[task] | diverse_qa [title] | 스크립트 라이프 사이클 [category] | Guides [rephrased] | 질문: 제작 중인 월드와 출시된 월드에서 맵을 불러오는 방식의 가장 큰 차이점은 무엇인가요? 답변: 제작 중인 월드에서는 플레이어가 있는 맵만 불러오지만, 출시된 월드에서는 플레이어 유무와 상관없이 모든 맵을 불러옵니다. 질문: 월드는 어떤 레벨의 엔티티이며, 실행 환경에 따라 몇 개씩 생성되나요? 답변: 월드는 최상위 레벨의 엔티티로써 실행 환경에 따라 하나씩 생성됩니다. 질문: 동시에 여러 개의 월드가 존재할 때, 월드끼리는 상호작용하여 서로에게 영향을 미칠 수 있나요? 답변: 아니요, 동시에 여러 개의 월드가 존재할 수 있 [original] | 서버와 클라이언트가 호출되는 전체 흐름을 알아봅시다. 플레이 라이프 사이클은 **제작 중인 월드**와 **출시된 월드**에서 약간의 차이가 있습니다. 가장 큰 차이점은 맵을 불러오는 방식입니다. * **제작 중인 월드**에서 플레이할 때는 10개의 맵을 만들었더라도 플레이어가 있는 맵만 불러옵니다. * **출시된 월드**에서는 플레이어 유무와 상관없이 모든 맵을 불러옵니다. 이와 같은 차이를 알고 있다면 **제작 중인 월드** 또는 **출시된 월드**에서 크리에이터 의도대로 동작하지 않는 무언가가 있을 때, 그 원인이 잘못된 [chunk_id] | Guides:668:1