← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 255/274
🔀 랜덤
불러오는 중…

[task] | distill [title] | Play [category] | Guides [rephrased] | # Play 창 제작한 월드를 테스트하는 전용 창입니다. **[시작]** 버튼 실행 시에만 활성화되며, Scene 창과 독립된 카메라를 사용해 화면 이동이 동기화되지 않습니다. 단, Scene에서 클라이언트 관련 변경 사항은 Play 창에 반영됩니다. ## 주요 기능 | 기능 | 설명 | | --- | --- | | **시뮬레이터** | 테스트 화면비 설정. 기본값: PC.<br>- **PC**: FHD(1920x1080), 16:9 고정<br>- **Mobile**: 모바일 기기 화면비 적용, Safe Area 활성화 가능< [original] | # 학습 과정 소개 제작한 월드를 테스트할 수 있는 Play 창에 대해 알아봅시다. #### 참고 가이드 * [Scene](/docs/?postId=1152) * [Workspace](/docs/?postId=121) * [Hierarchy](/docs/?postId=453) * [프로퍼티 에디터](/docs/?postId=1087) * [UI 에디터 활용과 제어](/docs/?postId=120) # Play Play 창은 만든 월드를 테스트할 때 사용합니다. **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 [chunk_id] | Guides:1280:0

[task] | diverse_qa [title] | VS Code: mLua Extension [category] | Guides [rephrased] | 질문: mLua VS Code Extension을 설치하기 위해 먼저 설치해야 하는 소프트웨어는 무엇인가요? 답변: VS Code를 설치해야 합니다. 질문: mLua Extension은 어떤 환경에서 사용하는 크리에이터를 위해 제공되는 확장 프로그램인가요? 답변: LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터를 위해 제공됩니다. 질문: mLua Extension에서는 MSW 메이커의 스크립트 에디터와 달리 경고가 표시되지 않는가요? 답변: 네, mLua Extension에서는 MSW 메이 [original] | # 학습 과정 소개 LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터는 메이플스토리 월드에서 제공하는 mLua VS Code Extension을 활용하여 스크립트를 효율적으로 작성할 수 있습니다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua](/docs?postId=1287) [공동 제작](/docs/?postId=670) # mLua VS Code Exten [chunk_id] | Guides:1209:0

[task] | distill [title] | Play [category] | Guides [rephrased] | # 메이커 사용 Play (테스트) Play 창에서 월드를 테스트할 때 사용할 수 있는 기능 목록입니다. | 이름 | 설명 및 주의사항 | | :--- | :--- | | **시뮬레이터** | 테스트 중인 화면비 정보를 표시합니다. | | **테스트 플레이 언어** | 테스트 중인 언어 설정을 표시합니다. **주의:** 테스트 중에는 언어 변경이 불가능합니다. | | **성능 통계** | 플레이 중인 월드의 FPS, 메모리 정보를 실시간으로 표시합니다. | | **창 최대화** | Play 창을 전체 화면으로 전환합니다. `[축 [original] | 테스트 시 Play 창에서 사용할 수 있는 기능이 변경됩니다. | 아이콘 | 이름 | 설명 | | --- | --- | --- | | - | 시뮬레이터 | 테스트 중인 화면비 정보를 나타냅니다. | | - | 테스트 플레이 언어 | 테스트 중인 언어 설정을 나타냅니다. 테스트 중에는 언어 변경은 불가능합니다.| | ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/storage/icons/common/icon_latency_01.png "latency") | 성능 통계 |플레이 [chunk_id] | Guides:1280:1

[task] | wikipedia [title] | Play [category] | Guides [rephrased] | 테스트 실행 중 Play 창에서는 특정 기능이 활성화되며, 해당 창 상단에 다음과 같은 컨트롤들이 표시됩니다. 먼저, **시뮬레이터** 아이콘은 현재 테스트 중인 화면 비율 정보를 시각적으로 나타냅니다. 이와 유사하게, **테스트 플레이 언어** 아이콘은 현재 적용 중인 언어 설정을 보여주며, 테스트가 진행되는 동안에는 이 언어 설정을 변경할 수 없습니다. 성능 모니터링을 위한 **성능 통계** 기능은 플레이 중인 월드의 프레임 속도(FPS)와 메모리 사용량을 실시간으로 추적하여 표시합니다. 창 크기 조절을 위해 **창 최대화* [original] | 테스트 시 Play 창에서 사용할 수 있는 기능이 변경됩니다. | 아이콘 | 이름 | 설명 | | --- | --- | --- | | - | 시뮬레이터 | 테스트 중인 화면비 정보를 나타냅니다. | | - | 테스트 플레이 언어 | 테스트 중인 언어 설정을 나타냅니다. 테스트 중에는 언어 변경은 불가능합니다.| | ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/storage/icons/common/icon_latency_01.png "latency") | 성능 통계 |플레이 [chunk_id] | Guides:1280:1

[task] | extract_knowledge [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용하기 ## 1. 개념 설명 `RateLimitService`는 스크립트 함수의 호출 빈도를 제한하여 클라이언트 측 변조(예: 텔레포트 로직 조작으로 인한 과도한 맵 이동 시도)를 방지하는 서비스입니다. 기본적으로 특정 이동 경로(예: InteractionEntity를 통한 텔레포트)에는 물리적 제약이나 로직상 최소 소요 시간이 존재합니다. 만약 클라이언트가 이 최소 소요 시간보다 빠르게 다음 동작(예: 맵 이동)을 시도한다면, 이는 스크립트 로직이 변조되었을 가능성이 높다고 판단할 수 있습 [original] | 맵에 텔레포트를 위해 이동할 수 있는 **InteractionEntity**를 만들고, 타일에 도착 장소인 **Destination**을 배치합니다. 이 맵은 InteractionEntity를 통해 이동한 후, 다시 이동 가능 지점까지 걸리는 시간이 3초라고 가정합니다. 3초보다 빠르게 맵 이동을 시도한다면 이는 함수를 변조했다고 간주할 수 있습니다. 이러한 변조를 막기 위해 `RateLimitService`를 활용해 함수 사용을 제한하는 예제 월드를 만들어 봅시다. ![[object Object]](https://mod-file [chunk_id] | Guides:1197:1

[task] | wikipedia [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # 메이커 사용 VS Code: mLua Extension 메이플스토리 월드의 mLua 스크립트 개발 환경인 Visual Studio Code(VS Code)에서 mLua Extension을 활용할 때, 특정 심볼의 색상과 단축키 기능을 설정하는 방법을 설명합니다. ## 에디터 토큰 및 스코프 검사 **Inspect Editor Tokens and Scopes** 기능의 **foreground scope** 값을 수정하여 특정 심볼의 색상과 글꼴 스타일을 변경할 수 있습니다. 이 기능을 사용하려면 로컬 워크스페이스를 설정해야 [original] | **Inspect Editor Tokens and Scopes**의 **foreground scope**값을 변경해 특정 심볼의 색상을 변경할 수 있습니다. 로컬 워크스페이스를 통해 로컬로 **다운 받은 프로젝트 폴더 - .vscode폴더** 하위에 **settings.json**파일을 생성해야만 색상 변경 기능을 사용할 수 있습니다. **settings.json** 파일 생성 방법은 [LocalWorkspace](/docs?postId=1165)가이드를 참고합니다. 1. VS Code에서 **Ctrl + Shift + P**를 [chunk_id] | Guides:1209:2

[task] | knowledge_list [title] | Play [category] | Guides [rephrased] | * Play 창은 **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 활성화되며, 만든 월드를 테스트할 때 사용합니다. * Play 창은 Scene 창과 별개의 카메라로 동작하여 테스트 시 화면 이동이 동기화되지 않습니다. * Scene에서 클라이언트 부분을 변경하면, Play 창에도 해당 변경 사항이 반영됩니다. * 테스트 플레이 전 시뮬레이터를 통해 테스트 화면비를 설정할 수 있으며, 기본값은 PC입니다. * 시뮬레이터의 **PC** 모드는 FHD 해상도(1920x1080)를 기준으로 동작하며, 화면 비 [original] | # 학습 과정 소개 제작한 월드를 테스트할 수 있는 Play 창에 대해 알아봅시다. #### 참고 가이드 * [Scene](/docs/?postId=1152) * [Workspace](/docs/?postId=121) * [Hierarchy](/docs/?postId=453) * [프로퍼티 에디터](/docs/?postId=1087) * [UI 에디터 활용과 제어](/docs/?postId=120) # Play Play 창은 만든 월드를 테스트할 때 사용합니다. **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 [chunk_id] | Guides:1280:0

[task] | wikipedia [title] | Play [category] | Guides [rephrased] | # 학습 과정 소개 메이플스토리 월드 메이커에서 제작한 월드를 테스트하기 위한 Play 창에 대해 설명합니다. Play 창은 월드의 동작을 확인하고, 다양한 환경에서의 호환성을 검증하는 데 사용됩니다. #### 참고 가이드 Play 창을 효과적으로 활용하기 위해 다음 문서들을 함께 참조할 수 있습니다: Scene, Workspace, Hierarchy, 프로퍼티 에디터, 그리고 UI 에디터 활용과 제어에 대한 가이드입니다. # Play Play 창은 사용자가 만든 월드를 플레이 테스트할 때 사용하는 전용 환경입니다. 이 창 [original] | # 학습 과정 소개 제작한 월드를 테스트할 수 있는 Play 창에 대해 알아봅시다. #### 참고 가이드 * [Scene](/docs/?postId=1152) * [Workspace](/docs/?postId=121) * [Hierarchy](/docs/?postId=453) * [프로퍼티 에디터](/docs/?postId=1087) * [UI 에디터 활용과 제어](/docs/?postId=120) # Play Play 창은 만든 월드를 테스트할 때 사용합니다. **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 [chunk_id] | Guides:1280:0

[task] | knowledge_list [title] | VS Code: mLua Extension [category] | Guides [rephrased] | 제시된 문서의 내용을 바탕으로 핵심 사실을 추출한 목록입니다. 1. `Inspect Editor Tokens and Scopes` 기능의 **foreground scope** 값을 변경하여 특정 심볼의 색상을 수정할 수 있습니다. 2. 색상 변경 기능을 사용하려면 로컬 워크스페이스의 로컬 프로젝트 폴더 하위 `.vscode` 폴더 내에 `settings.json` 파일이 생성되어 있어야 합니다. 3. `settings.json` 파일 생성 방법은 `LocalWorkspace` 가이드를 참고해야 합니다. 4. VS Code에 [original] | **Inspect Editor Tokens and Scopes**의 **foreground scope**값을 변경해 특정 심볼의 색상을 변경할 수 있습니다. 로컬 워크스페이스를 통해 로컬로 **다운 받은 프로젝트 폴더 - .vscode폴더** 하위에 **settings.json**파일을 생성해야만 색상 변경 기능을 사용할 수 있습니다. **settings.json** 파일 생성 방법은 [LocalWorkspace](/docs?postId=1165)가이드를 참고합니다. 1. VS Code에서 **Ctrl + Shift + P**를 [chunk_id] | Guides:1209:2

[task] | knowledge_list [title] | Play [category] | Guides [rephrased] | ```lua -- 본 출력은 mLua 코드 블록이 아닌, 문서 검토 결과를 텍스트로 제공합니다. -- 요청 사항에 따라 핵심 사실을 빠짐없이 추출하여 목록으로 정리합니다. ``` 1. 메이플스토리 월드 메이커의 Play 창에서 테스트 시 사용할 수 있는 기능이 변경됩니다. 2. 시뮬레이터 아이콘은 테스트 중인 화면비 정보를 나타냅니다. 3. 테스트 플레이 언어 아이콘은 테스트 중인 언어 설정을 나타내며, 테스트 중에는 언어 변경이 불가능합니다. 4. 성능 통계 아이콘은 플레이 중인 월드의 FPS와 메모리 정보를 실시간으로 보여줍니 [original] | 테스트 시 Play 창에서 사용할 수 있는 기능이 변경됩니다. | 아이콘 | 이름 | 설명 | | --- | --- | --- | | - | 시뮬레이터 | 테스트 중인 화면비 정보를 나타냅니다. | | - | 테스트 플레이 언어 | 테스트 중인 언어 설정을 나타냅니다. 테스트 중에는 언어 변경은 불가능합니다.| | ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/storage/icons/common/icon_latency_01.png "latency") | 성능 통계 |플레이 [chunk_id] | Guides:1280:1

[task] | wikipedia [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # mLua VS Code Extension **mLua VS Code Extension**은 메이플스토리 월드(MapleStory Worlds)의 스크립트 언어인 mLua를 Visual Studio Code(이하 VS Code) 환경에서 효율적으로 작성하기 위해 제공하는 확장 프로그램입니다. LocalWorkspace와 ExtendedScriptFormat을 활용하는 크리에이터는 이 확장 프로그램을 통해 스크립트 작성의 생산성을 높일 수 있습니다. 관련 개념에 대한 자세한 내용은 각각의 [LocalWorkspace](/docs/ [original] | # 학습 과정 소개 LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터는 메이플스토리 월드에서 제공하는 mLua VS Code Extension을 활용하여 스크립트를 효율적으로 작성할 수 있습니다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua](/docs?postId=1287) [공동 제작](/docs/?postId=670) # mLua VS Code Exten [chunk_id] | Guides:1209:0

[task] | diverse_qa [title] | VS Code: mLua Extension [category] | Guides [rephrased] | 질문: 특정 심볼의 색상을 변경하기 위해 수정해야 하는 값은 무엇인가요? 답변: Inspect Editor Tokens and Scopes의 foreground scope 값을 변경해야 합니다. 질문: 색상 변경 기능을 사용하려면 어떤 파일 구조를 갖추어야 하나요? 답변: 로컬 워크스페이스를 통해 로컬로 다운받은 프로젝트 폴더 하위의 .vscode 폴더 안에 settings.json 파일을 생성해야 합니다. 질문: VS Code에서 토큰과 스코프를 검사하는 명령을 실행하는 단축키는 무엇인가요? 답변: Ctrl + Shift + [original] | **Inspect Editor Tokens and Scopes**의 **foreground scope**값을 변경해 특정 심볼의 색상을 변경할 수 있습니다. 로컬 워크스페이스를 통해 로컬로 **다운 받은 프로젝트 폴더 - .vscode폴더** 하위에 **settings.json**파일을 생성해야만 색상 변경 기능을 사용할 수 있습니다. **settings.json** 파일 생성 방법은 [LocalWorkspace](/docs?postId=1165)가이드를 참고합니다. 1. VS Code에서 **Ctrl + Shift + P**를 [chunk_id] | Guides:1209:2

[task] | diverse_qa [title] | Play [category] | Guides [rephrased] | 질문: Play 창은 언제 활성화되나요? 답변: **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 활성화됩니다. 질문: Play 창과 Scene 창은 카메라 동작에서 어떤 차이가 있나요? 답변: Play 창은 월드를 편집하는 Scene 창과 별개의 카메라로 동작하므로, 테스트 시에 화면 이동이 동기화되지 않습니다. 질문: Scene 창에서 클라이언트 부분을 변경하면 Play 창에 반영되나요? 답변: 네, Scene에서 클라이언트 부분을 변경하면 Play 창에도 반영됩니다. 질문: 테스트 플레이 전후로 할 수 있는 설정 [original] | # 학습 과정 소개 제작한 월드를 테스트할 수 있는 Play 창에 대해 알아봅시다. #### 참고 가이드 * [Scene](/docs/?postId=1152) * [Workspace](/docs/?postId=121) * [Hierarchy](/docs/?postId=453) * [프로퍼티 에디터](/docs/?postId=1087) * [UI 에디터 활용과 제어](/docs/?postId=120) # Play Play 창은 만든 월드를 테스트할 때 사용합니다. **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 [chunk_id] | Guides:1280:0

[task] | diverse_qa [title] | Play [category] | Guides [rephrased] | 질문: 테스트 시 Play 창에서 사용할 수 있는 기능은 어떻게 되나요? 답변: 테스트 시 Play 창에서 사용할 수 있는 기능이 변경됩니다. 질문: '시뮬레이터' 기능의 역할은 무엇인가요? 답변: 시뮬레이터는 테스트 중인 화면비 정보를 나타내는 기능입니다. 질문: 테스트 진행 중 '테스트 플레이 언어' 설정을 변경할 수 있나요? 답변: 아니요, 테스트 중에는 언어 변경이 불가능합니다. 질문: '성능 통계' 기능이 실시간으로 제공하는 정보에는 어떤 것들이 있나요? 답변: 성능 통계 기능은 플레이 중인 월드의 FPS와 메모리 정 [original] | 테스트 시 Play 창에서 사용할 수 있는 기능이 변경됩니다. | 아이콘 | 이름 | 설명 | | --- | --- | --- | | - | 시뮬레이터 | 테스트 중인 화면비 정보를 나타냅니다. | | - | 테스트 플레이 언어 | 테스트 중인 언어 설정을 나타냅니다. 테스트 중에는 언어 변경은 불가능합니다.| | ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/storage/icons/common/icon_latency_01.png "latency") | 성능 통계 |플레이 [chunk_id] | Guides:1280:1

[task] | extract_knowledge [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용: 서버 함수 호출 제한 `RateLimitService`는 클라이언트에서 서버로 전송되는 특정 컴포넌트 함수의 호출 빈도를 제한하여 악성 스크립트나 과도한 요청으로부터 월드를 보호하는 보안 및 최적화 서비스를 제공합니다. 본 절에서는 유저 입장 시 특정 함수에 대한 제한을 설정하고, 제한 초과 시 경고를 출력하는 방법을 다룹니다. ## 개념 설명 RateLimitService는 토큰 버킷(Token Bucket) 알고리즘을 기반으로 작동합니다. * **토큰 수 (Token Count) [original] | 유저가 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수를 제한할 수 있도록 아래와 같이 작성합니다. 1. **Workspace - MyDesk - Create Scripts - Create Logic**을 선택해 **RateLimitLogic**을 생성합니다. 2. 유저가 월드에 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수의 사용량을 제한하도록 `SetServerFunctionRateLimitForComponent()` 함수를 활용합니다. 토큰 수는 2, [chunk_id] | Guides:1197:3

[task] | distill [title] | mLua [category] | Guides [rephrased] | # mLua 개요 및 문법 메이플스토리 월드 스크립트는 외부 편집기에서 **mLua** 문법으로 작성합니다. ## 정의문 문법 ### 1. 스크립트 정의 상속 유무에 따라 `extends`를 사용합니다. ```lua script 타입이름 end -- 상속 예시 script 타입명 extends 타입명 end ``` ### 2. 프로퍼티 정의 우측 식은 필수이며, `SyncTable` 타입은 할당이 불가하므로 생략합니다. ```lua property 타입명 이름 = 식 ``` ### 3. 메소드 정의 ```lua metho [original] | # 학습 과정 소개 메이플스토리 월드 메이커를 벗어나 외부 편집기에서 스크립트를 작성하기 위해서는 mLua 문법에 맞게 작성해야 합니다. mLua의 문법에 대해 알아봅시다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua Extension](/docs?postId=1209) [공동 제작](/docs/?postId=670) # mLua MSW 메이커의 스크립트 엔트리를 표현하기 위한 프로그래밍 언어입니 [chunk_id] | Guides:1287:0

[task] | knowledge_list [title] | mLua [category] | Guides [rephrased] | 1. mLua는 메이플스토리 월드 메이커의 스크립트 엔트리를 표현하기 위한 프로그래밍 언어입니다. 2. 스크립트 정의문은 `script 타입이름`으로 시작하고 `end`로 종료되는 문법을 사용하며, 상속 관계가 있을 경우 `script 타입명 extends 타입명` 형식으로 상속받는 타입을 명시합니다. 3. 프로퍼티 정의문은 `property 타입명 이름 = 식`의 문법을 사용하며, SyncTable 타입을 제외한 대부분의 타입은 우측 식(할당 값) 작성이 필수입니다. 4. SyncTable 타입은 할당이 불가능하여 프로퍼티 정의문 [original] | # 학습 과정 소개 메이플스토리 월드 메이커를 벗어나 외부 편집기에서 스크립트를 작성하기 위해서는 mLua 문법에 맞게 작성해야 합니다. mLua의 문법에 대해 알아봅시다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua Extension](/docs?postId=1209) [공동 제작](/docs/?postId=670) # mLua MSW 메이커의 스크립트 엔트리를 표현하기 위한 프로그래밍 언어입니 [chunk_id] | Guides:1287:0

[task] | diverse_qa [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 질문: RateLimitLogic 스크립트를 생성하기 위한 메뉴 경로와 생성할 스크립트 이름은 무엇인가요? 답변: Workspace - MyDesk - Create Scripts - Create Logic 경로를 선택해 RateLimitLogic 스크립트를 생성합니다. 질문: 유저가 월드에 입장할 때 특정 함수의 사용량을 제한하기 위해 어떤 서비스의 어떤 함수를 사용해야 하나요? 답변: _RateLimitService의 SetServerFunctionRateLimitForComponent() 함수를 사용해야 합니다. 질문: 문서 [original] | 유저가 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수를 제한할 수 있도록 아래와 같이 작성합니다. 1. **Workspace - MyDesk - Create Scripts - Create Logic**을 선택해 **RateLimitLogic**을 생성합니다. 2. 유저가 월드에 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수의 사용량을 제한하도록 `SetServerFunctionRateLimitForComponent()` 함수를 활용합니다. 토큰 수는 2, [chunk_id] | Guides:1197:3

[task] | extract_knowledge [title] | Play [category] | Guides [rephrased] | # 메이커 Play 창 기능 ## 개념 설명 메이커(Maker)의 `Play` 창은 제작한 월드를 테스트하기 위한 실행 환경입니다. 테스트 세션이 시작되면, 실제 런타임과 유사한 환경을 제공하면서 개발자가 디버깅과 성능 모니터링을 수행할 수 있도록 다양한 도구를 제공합니다. 주요 기능은 시뮬레이터 상태 확인, 언어 고정, 실시간 성능 통계, 화면 모드 전환, 그리고 멀티플레이어 시나리오를 위한 가상 클라이언트 스폰으로 구성됩니다. ## API 사용법 및 기능 구성 `Play` 창 내에서 사용 가능한 기능들은 다음과 같은 속성과 [original] | 테스트 시 Play 창에서 사용할 수 있는 기능이 변경됩니다. | 아이콘 | 이름 | 설명 | | --- | --- | --- | | - | 시뮬레이터 | 테스트 중인 화면비 정보를 나타냅니다. | | - | 테스트 플레이 언어 | 테스트 중인 언어 설정을 나타냅니다. 테스트 중에는 언어 변경은 불가능합니다.| | ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/storage/icons/common/icon_latency_01.png "latency") | 성능 통계 |플레이 [chunk_id] | Guides:1280:1

[task] | extract_knowledge [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # mLua Extension 기능 ## 개념 설명 mLua Extension은 VS Code에서 mLua 스크립트를 작성할 때 다음과 같은 기능을 제공합니다. 1. **자동 완성 (IntelliSense)**: 현재 스크립트에서 사용 가능한 심볼을 추론하여 자동 완성을 제공합니다. 인덱싱 과정에서도 해당 심볼로부터 접근 가능한 멤버를 추론하여 자동 완성을 지원합니다. 2. **Entity Id Completion**: 엔티티 경로를 기반으로 엔티티의 Id를 식별하고 자동 완성에 포함합니다. 선택 시 엔티티 Id로 치환되며 [original] | 스크립트 작성 시 특정 스크립트에 사용 가능한 심볼을 추론하고, 자동 완성을 제공합니다. 인덱싱할 때도 해당 심볼로부터 접근 가능한 멤버를 추론하고, 자동 완성을 제공합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173925981885800cc64e8e22a4c6bab618d241f270495.png{"width":"430px"} "123") #### Entity Id Completion 엔티티 경로를 이용해서 엔티티의 Id를 쉽게 찾을 수 있습니다. Compl [chunk_id] | Guides:1209:1

[task] | knowledge_list [title] | mLua [category] | Guides [rephrased] | ```lua -- Return Annotation은 함수 정의문 및 메소드 정의문에 사용되며, `---@return TYPE` 구문을 통해 대상 함수의 반환 타입을 지정하여 스크립트 어시스트의 도움을 받을 수 있습니다. -- Deprecated Annotation은 스크립트 정의문, 프로퍼티 정의문, 메소드 정의문, 이벤트 핸들러 정의문에 사용되며, `---@deprecated` 구문을 통해 해당 멤버가 더 이상 사용되지 않음을 명시합니다. -- Sealed Annotation은 프로퍼티 정의문, 메소드 정의문, 이벤트 핸들러 정의 [original] | Return Annotation은 대상 함수의 반환 타입을 지정할 수 있습니다. 함수 정의문, 메소드 정의문에 사용할 수 있습니다. Return Annotation은 대상 함수의 반환 타입을 지정하여 스크립트 어시스트의 도움을 받을 수 있습니다. ```lua ---@return TYPE ``` **사용 예시** ```lua ---@return Entity local function TestFunction(testParamA, testParamB) return self.Entity end ``` ```lua ---@retu [chunk_id] | Guides:1287:3

[task] | extract_knowledge [title] | Play [category] | Guides [rephrased] | # Play 창(테스트 실행 환경) ## 1. 개념 설명 Play 창은 제작한 월드를 실행하여 테스트하는 전용 뷰포트입니다. 편집 모드인 Scene 창과 물리적으로 분리되어 있으며, 독립된 카메라를 사용하여 동작합니다. * **활성화 조건**: Scene 창 상단의 **[시작]** 버튼을 누를 때만 활성화됩니다. * **카메라 동기화**: Scene 창과 Play 창은 서로 다른 카메라를 사용하므로, 한 창에서의 화면 이동(뷰포트 조작)이 다른 창으로 동기화되지 않습니다. * **클라이언트 반영**: Scene 창에 [original] | # 학습 과정 소개 제작한 월드를 테스트할 수 있는 Play 창에 대해 알아봅시다. #### 참고 가이드 * [Scene](/docs/?postId=1152) * [Workspace](/docs/?postId=121) * [Hierarchy](/docs/?postId=453) * [프로퍼티 에디터](/docs/?postId=1087) * [UI 에디터 활용과 제어](/docs/?postId=120) # Play Play 창은 만든 월드를 테스트할 때 사용합니다. **[시작]** 버튼을 눌러 플레이 테스트를 실행했을 때만 [chunk_id] | Guides:1280:0

[task] | distill [title] | mLua [category] | Guides [rephrased] | ### Return Annotation 대상 함수의 반환 타입을 지정하여 스크립트 어시스트 지원을 제공합니다. 함수 정의문, 메소드 정의문에 사용 가능합니다. **구문** ```lua ---@return TYPE ``` **예시** ```lua ---@return Entity local function TestFunction(testParamA, testParamB) return self.Entity end ``` ```lua ---@return Entity, string local function TestFunctio [original] | Return Annotation은 대상 함수의 반환 타입을 지정할 수 있습니다. 함수 정의문, 메소드 정의문에 사용할 수 있습니다. Return Annotation은 대상 함수의 반환 타입을 지정하여 스크립트 어시스트의 도움을 받을 수 있습니다. ```lua ---@return TYPE ``` **사용 예시** ```lua ---@return Entity local function TestFunction(testParamA, testParamB) return self.Entity end ``` ```lua ---@retu [chunk_id] | Guides:1287:3

[task] | extract_knowledge [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # mLua Extension: 토큰 색상 커스터마이징 및 단축키 ## 개념 설명 mLua Extension은 VS Code에서 mLua 스크립트를 편집할 때 특정 문법 요소(심볼)의 표시 색상과 글꼴 스타일을 변경할 수 있는 기능을 제공합니다. 이 기능은 VS Code의 `Inspect Editor Tokens and Scopes` 명령을 통해 각 심볼에 할당된 TextMate Scope를 확인하고, 로컬 워크스페이스의 설정 파일(`settings.json`)에서 해당 Scope에 대한 색상 규칙(`foreground`, `f [original] | **Inspect Editor Tokens and Scopes**의 **foreground scope**값을 변경해 특정 심볼의 색상을 변경할 수 있습니다. 로컬 워크스페이스를 통해 로컬로 **다운 받은 프로젝트 폴더 - .vscode폴더** 하위에 **settings.json**파일을 생성해야만 색상 변경 기능을 사용할 수 있습니다. **settings.json** 파일 생성 방법은 [LocalWorkspace](/docs?postId=1165)가이드를 참고합니다. 1. VS Code에서 **Ctrl + Shift + P**를 [chunk_id] | Guides:1209:2

[task] | knowledge_list [title] | mLua [category] | Guides [rephrased] | ```lua @ExecSpace("Client") @ExecSpace("Server") @ExecSpace("ServerOnly") @ExecSpace("ClientOnly") @ExecSpace("Multicast") ``` - `@ExecSpace` Attribute는 메소드와 이벤트 핸들러의 실행제어 공간을 지정하며, 적용 대상 컴포넌트 타입은 Component와 Logic이며 매개변수는 "Server", "Client", "ServerOnly", "ClientOnly", "Multicast" 중 하나의 string만 사용할 [original] | 메소드와 이벤트 핸들러의 실행제어 공간을 지정합니다. 파라미터는 string으로 지정된 문자열로만 사용이 가능합니다. 적용 대상은 **메소드, 이벤트 핸들러**입니다. 적용 가능 타입은 **Component, Logic**입니다. * 매개 변수: **string** ("Server", "Client", "ServerOnly", "ClientOnly", "Multicast") ```lua @ExecSpace("Client") @ExecSpace("Server") @ExecSpace("ServerOnly") @ExecSpace("C [chunk_id] | Guides:1287:1

[task] | distill [title] | mLua [category] | Guides [rephrased] | # mLua 어트리뷰트 및 어노테이션 ### 어트리뷰트 (Attributes) MSW 메이커에서 스크립트 또는 프로퍼티의 동작을 지정하는 데 사용합니다. | 어트리뷰트 | 적용 대상 | 매개 변수 | 설명 | | :--- | :--- | :--- | :--- | | `@MaxLength(n)` | `string` 프로퍼티 | `integer` | 프로퍼티 에디터의 최대 길이 제한 | | `@Component` | 스크립트 | 없음 | `Component`로 지정 | | `@Event` | 스크립트 | 없음 | `EventType [original] | #### MaxLength Attribute MSW 메이커의 프로퍼티 에디터에 최대 길이를 지정합니다. 적용 대상은 **string 타입의 프로퍼티**입니다. * 매개 변수: **integer** ```lua @MaxLength(5) property string NewVlaue = "test" ``` #### Component Attribute 스크립트를 Component로 지정합니다. 적용 대상은 **스크립트**입니다. * 매개 변수: **없음** ```lua @Component script NewComponent e [chunk_id] | Guides:1287:2

[task] | knowledge_list [title] | mLua [category] | Guides [rephrased] | ```lua -- 문서에서 추출된 핵심 사실 목록 -- 1. MaxLength Attribute -- 적용 대상: string 타입의 프로퍼티 -- 매개 변수: integer (최대 길이 지정) -- 기능: MSW 메이커의 프로퍼티 에디터에 최대 길이를 지정 -- 예시: @MaxLength(5) property string NewVlaue = "test" -- 2. Component Attribute -- 적용 대상: 스크립트 -- 매개 변수: 없음 -- 기능: 스크립트를 Component로 지정 -- 예시: @Component [original] | #### MaxLength Attribute MSW 메이커의 프로퍼티 에디터에 최대 길이를 지정합니다. 적용 대상은 **string 타입의 프로퍼티**입니다. * 매개 변수: **integer** ```lua @MaxLength(5) property string NewVlaue = "test" ``` #### Component Attribute 스크립트를 Component로 지정합니다. 적용 대상은 **스크립트**입니다. * 매개 변수: **없음** ```lua @Component script NewComponent e [chunk_id] | Guides:1287:2

[task] | distill [title] | mLua [category] | Guides [rephrased] | ```lua @ExecSpace("Client") @ExecSpace("Server") @ExecSpace("ServerOnly") @ExecSpace("ClientOnly") @ExecSpace("Multicast") ``` - **ExecSpace**: 메소드/이벤트 핸들러의 실행 공간을 지정합니다. - 대상: 메소드, 이벤트 핸들러 | 타입: Component, Logic - 매개변수: `string` ("Server", "Client", "ServerOnly", "ClientOnly", "Multicast") ```lua [original] | 메소드와 이벤트 핸들러의 실행제어 공간을 지정합니다. 파라미터는 string으로 지정된 문자열로만 사용이 가능합니다. 적용 대상은 **메소드, 이벤트 핸들러**입니다. 적용 가능 타입은 **Component, Logic**입니다. * 매개 변수: **string** ("Server", "Client", "ServerOnly", "ClientOnly", "Multicast") ```lua @ExecSpace("Client") @ExecSpace("Server") @ExecSpace("ServerOnly") @ExecSpace("C [chunk_id] | Guides:1287:1

[task] | diverse_qa [title] | mLua [category] | Guides [rephrased] | 질문: `@ExecSpace` Attribute의 매개 변수로 사용할 수 있는 문자열 값은 무엇인가요? 답변: "Server", "Client", "ServerOnly", "ClientOnly", "Multicast" 중 하나를 사용할 수 있습니다. 질문: `@ExecSpace` Attribute는 어떤 대상에 적용될 수 있나요? 답변: 메소드와 이벤트 핸들러에 적용됩니다. 질문: `@InspectorButton` Attribute의 주요 기능은 무엇인가요? 답변: 프로퍼티 에디터에 대상 메소드를 실행하는 버튼을 추가하는 것입니 [original] | 메소드와 이벤트 핸들러의 실행제어 공간을 지정합니다. 파라미터는 string으로 지정된 문자열로만 사용이 가능합니다. 적용 대상은 **메소드, 이벤트 핸들러**입니다. 적용 가능 타입은 **Component, Logic**입니다. * 매개 변수: **string** ("Server", "Client", "ServerOnly", "ClientOnly", "Multicast") ```lua @ExecSpace("Client") @ExecSpace("Server") @ExecSpace("ServerOnly") @ExecSpace("C [chunk_id] | Guides:1287:1

[task] | wikipedia [title] | mLua [category] | Guides [rephrased] | # mLua (MapleStory Worlds Scripting Language) mLua는 메이플스토리 월드(MSW) 메이커의 스크립트 엔트리를 표현하기 위한 프로그래밍 언어입니다. 메이플스토리 월드 메이커 내장 편집기를 벗어나 외부 편집기에서 스크립트를 작성하기 위해서는 반드시 mLua의 문법을 준수해야 합니다. mLua 스크립트는 정의문과 Attribute를 기반으로 구성되며, 이를 통해 스크립트의 구조, 프로퍼티, 메소드, 이벤트 핸들러 및 실행 제어 기능을 정의합니다. ## 스크립트 정의문 스크립트 정의문은 스크립트 [original] | # 학습 과정 소개 메이플스토리 월드 메이커를 벗어나 외부 편집기에서 스크립트를 작성하기 위해서는 mLua 문법에 맞게 작성해야 합니다. mLua의 문법에 대해 알아봅시다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua Extension](/docs?postId=1209) [공동 제작](/docs/?postId=670) # mLua MSW 메이커의 스크립트 엔트리를 표현하기 위한 프로그래밍 언어입니 [chunk_id] | Guides:1287:0

← → 방향키로 페이지 이동 · 숫자 입력 후 Enter로 점프