[category] | Guides [section] | 응용 제작 가이드 [title] | NPC 대화창 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=74 [text] | # 학습 과정 소개 이번 과정에서는 NPC들의 대화를 표현하기 위한 대화창을 제작해볼 것입니다. UI 편집기를 이용해 대화창을 구성하고 데이터 테이블에 데이터를 세팅 후 스크립트를 이용해 호출할 것입니다. 과정의 진행 순서는 다음과 같습니다. 1. UI 디자인 2. 데이터 테이블 추가 3. 스크립트 제작 제작 예시는 다음과 같습니다.  사용 방법을 알아보겠습니다. # 포탈 만들기 [PortalComponent](/apiReference/Components/PortalComponent)는 동일한 포탈 컴포넌트를 가진 엔티티를 목적지로 설정하고, 플레이어 아바타가 포탈 영역에서 특정 동작을 수행하면(키 입력) 목적지로 이동할 수 있는
[category] | Guides [section] | 기본 제작 가이드 > 객체 표현 > 스프라이트/애니메이션 [title] | 원하는 이미지 갖고 오기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=99 [text] | # 학습 과정 소개 게임에 필요한 이미지 리소스를 찾아 메이커에서 활용할 수 있습니다. # 이미지 불러오기 1. **Workspace - MyDesk**의 콘텍스트 메뉴를 열고, **Import From - Import Image**를 선택합니다.  2. 사용할 이미지를 선택하여 불러옵니다. **MyDesk** 하
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 메이커 사용 [title] | 게임 시작 위치 설정 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=115 [text] | # 학습 과정 소개 **플레이어 아바타**의 등장 위치 설정 방법을 소개합니다. 게임 시작 위치, 재등장(리스폰), 게임 제작 중 테스트 위치 설정에 대해 알아보겠습니다. # 플레이어 아바타의 기본 위치 플레이어 아바타의 기본 위치는 화면 중간입니다. X, Y 좌표상 X값 0, Y값 0인 위치입니다. 기본적으로 게임 시작과 리스폰 위치가 이 설정을 따릅니다. 플레이어 아바타의 기본 위치는 라 칭합니다. 스프라이트는 위치, 크기, 회전 등을 변경할 수 있습니다. 스프라이트마다 고유한 RUID 값을 갖고 있습니다. RUID 값을 이용해 간편하게 빈 모델에 스프라이트를 넣거나, 변경할 수 있습니다. 크리에이터가 직접 제작한 이미지 파일을 메이커에 업로드하면 RUID 또한 자동으로 발급됩니다. > Tip. > RU
[category] | Guides [section] | 기본 제작 가이드 > 연출 > 사운드 [title] | 배경음악 변경하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=117 [text] | # 학습 과정 소개 게임에 어울리는 배경음악을 간편하게 넣어봅시다. # 배경음악 넣기 1. **Preset List - BGM**을 선택합니다.  2. 원하는 배경음악을 클릭합니다. 3. map의 **Property**에 [**SoundComponent**](/apiReference/Components/SoundCo
[category] | Guides [section] | 기본 제작 가이드 > 연출 > 카메라 [title] | CameraService를 활용한 카메라 제어 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=118 [text] | # 학습 과정 소개 게임을 만들다 보면 카메라가 비추는 대상을 변경하거나 확대, 축소를 이용해 연출해야 할 때가 있습니다. 이번 과정에서는 [CameraService](/apiReference/Services/CameraService)를 통해 타깃 카메라를 제어하는 방법과 카메라 연출 효과에 대해 알아보도록 합니다. ##### 참고 가이드 [엔티티와 컴포넌트 참조](docs?postId=164%7B%22target%22:%22\_self%22%7D) [엔티티의 충돌을 감지하는 TriggerComponent](/docs?post
[category] | Guides [section] | 기본 제작 가이드 > UI [title] | 말풍선 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=119 [text] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다.  * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다.  [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에 따라
[category] | Guides [section] | 기본 제작 가이드 > 객체 제어 > 이동 [title] | 엔티티 구간 이동시키기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=122 [text] | # 학습 과정 소개 엔티티에 동작을 만드는 세 가지 **Tween Component**의 개념을 이해합니다. 컴포넌트를 이용해 크리에이터가 원하는 엔티티 운동 방향과 폭을 조정할 수 있습니다. ##### 참고 가이드 [엔티티의 위치, 크기, 회전 조정](/docs?postId=82) # Tween Component 소개 **Tween Component**를 이용하여 엔티티에 운동성을 만들고, 세부 설정을 조정할 수 있습니다. 운동 성질에 따른 세 가지 컴포넌트가 있으며, 상황에 맞게 단독으로 사용하거나 조합하여 사용할 수 있습
[category] | Guides [section] | 응용 제작 가이드 [title] | 물체의 이동 Ⅰ [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=123 [text] | # 학습 과정 소개 용감한 시그너스 기사단 소속 아잘린이 먼저 고통의 미궁으로 출발한 나이트워커 부대에 합류할 수 있도록 택시를 불러봅시다. 부른 택시가 아잘린을 지나치지 않고 아잘린 앞에서 멈춰서 아잘린이 탑승할 수 있도록 만들어야 합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1747902531299ee5bec9350ac458d9f255a76eba57191.gif "Example") # StaticNPC 모델 수정하기 StaticNPC 모델에서 Rigidbo
[category] | Guides [section] | 응용 제작 가이드 [title] | 물체의 이동 Ⅱ [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=125 [text] | # 학습 과정 소개 이번 가이드는 [물체의 이동 Ⅰ](/docs?postId=123)을 따라 만든 월드에서 이어서 제작해야 정상적으로 동작합니다. 택시가 아잘린을 태우러 가야하는데 원숭이가 길을 가로 막고 있습니다. `TransformComponent`의 `Translate`를 이용하여 택시를 이동시키고 `RigidbodyComponent`의 `Translate` 함수를 사용하여 원숭이를 밀어내봅시다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/174790801778
[category] | Guides [section] | 응용 제작 가이드 [title] | Maple GYM 만들기 Ⅰ [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=126 [text] | # 학습 과정 소개 운동할수록 캐릭터가 커지고, 그 힘을 돈으로 바꿀 수 있는 월드, 'Maple GYM'을 만들어봅시다. # 이동 방식 변경 RigidBodyComponent의 **KinematicMove**를 활용해 캐릭터의 이동 방식을 변경해봅시다. **DefaultPlayer - RigidBodyComponent**에서 **KinematicMove**를 선택합니다. #### 이동 영역 제한 캐릭터의 이동 방식을 **KinematicMove**로 변경하면 캐릭터가 자유롭게 상하좌우로 이동하게 됩니다. 캐릭터가 지면 영역에서
[category] | Guides [section] | 응용 제작 가이드 [title] | Maple GYM 만들기 Ⅱ [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=143 [text] | # 버튼 UI 제작 #### 상점 버튼 제작 1. **DefaultGroup**에 UI 버튼을 추가하고, 자유롭게 버튼 형태를 수정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17695121955247cf8228045bc45d49b963f35fcf1855b.png "shop") 2. 버튼의 이름을 **ShopButton**으로 변경하고,**TextComponent**를 추가합니다. ![[object Object]](https://mod-file.dn.nexoncdn
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | MSW 기본 이벤트 함수 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=163 [text] | # 학습 과정 소개 메이플스토리 월드에서 스크립트를 활용하면 크리에이터만의 독창적인 월드를 자유자재로 만들 수 있습니다. 스크립트를 작성할 때는 필요에 따라 기본 이벤트 함수를 활용하게 됩니다. **기본 이벤트 함수**란 다른 함수에서 직접 호출하지 않아도 **특정 조건이 되면 자동으로 호출되는 함수**를 말합니다. 이번 과정에서는 기본 이벤트 함수의 종류와 호출 시점을 알아봅시다. # 기본 이벤트 함수 추가하기 기본 이벤트 함수를 추가해 봅시다. 1. **Workspace - MyDesk**의 콘텍스트 메뉴에서 **Creat
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 엔티티와 컴포넌트 참조 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=164 [text] | # 학습 과정 소개 엔티티와 컴포넌트 구조를 간략하게 이해하고, 스크립트를 통해 엔티티와 컴포넌트에 접근하는 방법을 알아봅니다. # 엔티티와 컴포넌트 구조 먼저 엔티티와 컴포넌트의 구조를 알아보겠습니다. 기본적으로 엔티티는 각기 다른 컴포넌트들로 구성되어 있고, 각각의 엔티티는 상위, 하위 관계로 연결되어 있습니다. 이 연결 구조를 이용하면 특정 컴포넌트에서 다른 엔티티나 컴포넌트로 접근할 수 있습니다. 아래 이미지는 엔티티 간의 상-하위 구조와 각 엔티티를 구성하는 컴포넌트를 도식화한 것입니다. 이후 이 구조를 바탕으로 설명하겠
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 함수 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=172 [text] | # 학습 과정 소개 함수에 대한 간략한 소개와 함께 함수의 선언과 정의, 호출에 대해 알아봅니다. # 메소드 소개 **컴포넌트**는 기본적으로 **프로퍼티**와 **메소드**로 구성됩니다. 그중 함수는 객체지향 프로그래밍에서 사용되는 용어로, 특정 액션을 수행하기 위한 코드들의 집합체라 할 수 있습니다. 메이플스토리 월드의 함수는 함수의 호출 주체가 누구냐에 따라 **기본 이벤트 메소드**와 **사용자 지정 메소드**로 나눌 수 있습니다. 기본 이벤트 함수는 게임 시작, 플레이 중, 게임 종료 시 등 특정 이벤트가 발생했을 때 호
[category] | Guides [section] | 기본 제작 가이드 > 게임 로직/시스템 > 충돌 [title] | 엔티티의 충돌 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=175 [text] | # 학습 과정 소개 충돌 이벤트와 충돌 처리 방법에 대해 알아봅시다. ##### 참고 가이드 [Event System](https://mod-developers.nexon.com/docs?postId=73) [Entity Event System](https://mod-developers.nexon.com/docs?postId=176) # 충돌 **충돌**이란 충돌체를 포함하는 엔티티'의 충돌 영역이 서로 교차하는 것을 말합니다. 엔티티에 [TriggerComponent](/apiReference/Components/TriggerCo
[category] | Guides [section] | 기본 제작 가이드 > 게임 로직/시스템 > 이벤트 [title] | Entity Event System [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=176 [text] | # 학습 과정 소개 메이플스토리 월드에서는 Entity Event System을 사용해 이벤트를 제어할 수 있습니다. 이번 시간에는 Entity Event System을 이용해 "뱀파이어 vs 헌터"의 게임 요소 중 하나를 만들어봅시다. 다음 가이드를 먼저 학습하면 이번 과정을 이해하는 데 많은 도움이 됩니다. [Event System](https://mod-developers.nexon.com/docs?postId=73) # Entity Event System 이벤트를 받고 보내려면 먼저 Entity Event System을 이
[category] | Guides [section] | 기본 제작 가이드 > 객체 제어 > 심화 [title] | 엔티티를 탐색하는 EntityService [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=201 [text] | # 학습 과정 소개 월드를 제작하다 보면 특정 엔티티를 탐색하여 받아오거나, 혹은 관련 있는 여러 엔티티를 한 번에 받아야 하는 상황이 자주 발생합니다. 이럴 때 [**EntityService**](/apiReference/Services/EntityService)를 활용할 수 있습니다. **EntityService**는 엔티티 탐색, 삭제, 유효성 체크 등의 기능을 제공하고 있습니다. 이번 과정에서는 **EntityService**에서 제공하는 기능의 사용법을 하나씩 알아보도록 하겠습니다. **테스트 환경**  스크립트 디버깅의 시작은 중단점 설정에서 시작됩니다. 이상이 발생하거나, 오작동의 원인으로 의심되는 코드 라인에 중단점을 설정 또는 해제하는 방법을 알아봅니다. ### 중단점 아이콘 중단점 설정 상태에 따라 아이콘이 다르게 나타납니다. |아이콘 | 이름 | 설명| ---|---|--- | ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/176913580
[category] | Guides [section] | 응용 제작 가이드 [title] | 점프대 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=203 [text] | # 학습 과정 소개 점프대에 닿으면 캐릭터가 높이 솟아오르는 점프대를 만들어 봅니다. 이번 예제를 통해 확장 스크립트 작성법과 스크립트를 통해 물체와의 충돌 및 충돌 시 처리, 그리고 물체에 물리적인 힘을 가하는 방법에 대해 알아봅니다. 추가로 컴포넌트에 프로퍼티를 추가하고, 오브젝트별로 다른 프로퍼티 값을 설정하는 방법을 알아봅니다. # 점프대 배치하기 1. **Preset List**에서 스프링 모양의 모델(object-4575)을 찾아 맵에 배치합니다.  > 2편. [몬스터 드랍 아이템과 인벤토리 UI 만들기](/docs?postId=943) > 3편. [인벤토리 스크립트 작성하기](/docs?postId=942) > 4편. [인벤토리 UI 스크립트 작성하기](/docs?postId=946) > 5편. [아이템
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 프로퍼티 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=205 [text] | # 학습 과정 소개 이번 과정에서는 메이플스토리 월드의 프로퍼티가 무엇인지 알아봅니다. 또한 프로퍼티 선언 및 초깃값 설정, 프로퍼티 동기화 방법 등 프로퍼티 관련 정보를 살펴보겠습니다. # MSW의 프로퍼티 프로퍼티는 컴포넌트의 멤버 변수로써, 엔티티 별로 다른 값을 가질 수 있습니다. 프로퍼티는 세 가지 특징이 있습니다. * 루아 변수와 달리 메이플스토리 월드의 프로퍼티는 선언할 때 타입을 설정하고, 값을 대입하거나 참조할 수 있습니다. * 컴포넌트 내 외부에서 프로퍼티에 접근할 수 있고, 각 함수에서 값을 읽거나 쓸 수 있
[category] | Guides [section] | 기본 제작 가이드 > 게임 로직/시스템 > 게임 로직 [title] | 공격과 피격 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=206 [text] | # 학습 과정 소개 메이플스토리에서 플레이어는 모험가가 되어 메이플 세계를 탐험하고 몬스터를 만나 전투를 합니다. 전투 과정에서 다른 몬스터를 공격하거나 피격당합니다. 메이플스토리뿐만 아니라 다양한 게임에서 공격과 피격은 중요한 개념입니다. 이번 과정에서는 공격과 피격을 구현하는 방법을 학습합니다. ##### 참고 가이드/레퍼런스 [AttackComponent](/apiReference/Components/AttackComponent) [HitComponent](/apiReference/Components/HitComponent)
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 서버와 클라이언트 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=207 [text] | # 학습 과정 소개 멀티 플레이를 제공하는 게임의 경우 각 게임의 특성에 따라 사용되는 통신 모델들이 다양합니다. MapleStory World는 다양한 통신 모델 중에서도 서버 - 클라이언트 모델을 사용하고 있습니다. 이번 과정에서는 MapleStory World의 통신 모델인 서버와 클라이언트의 개념과 구조, 그리고 각 공간 간의 정보전달 방법에 대해 알아보도록 하겠습니다. # 서버와 클라이언트 클라이언트는 게임을 플레이하는 유저들의 모바일이나 PC, 또는 해당 기기에서 개별적으로 돌아가는 프로그램을 의미합니다.주로 유저의 입력
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 프로퍼티 동기화 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=208 [text] | # 학습 과정 소개 서버, 클라이언트 간 데이터 전송 방식 중 하나인 프로퍼티 동기화에 대해 알아봅시다. # 동기화 메이플스토리 월드에서의 동기화는 서버, 클라이언트 간 데이터 전송 방식의 일종으로,각각의 공간에 존재하는 같은 이름의 프로퍼티를 같은 값으로 맞춰주는 것을 의미합니다. 기본적으로 프로퍼티는 선언과 동시에 서버, 클라이언트 각각의 공간에 생성되지만, 만일 프로퍼티 동기화가 되지 않는다면 이름은 같지만 서로 다른 값으로 설정할 수 있습니다.  [Entity Event System](https://mod-developers.nexon.com/docs?postId=176)