← 목록

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

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

[task] | wikipedia [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | # 광부 시뮬레이터 리메이크: 스크립트로 월드 확장하기 이 가이드는 '광부 시뮬레이터' 월드의 기존 컴포넌트 로직을 수정하거나 새로운 엔티티 및 컴포넌트를 추가하여 플레이 경험을 확장하는 방법을 다룹니다. ## 포션 효과 변경하기 기본적으로 광산에서 획득한 포션을 사용 시 체력(HP)을 회복하도록 설정되어 있습니다. 이를 마나(MP) 회복 효과로 변경하는 과정을 통해 스크립트 수정 방법을 설명합니다. 수정 대상은 워크스페이스(Workspace)의 **MyDesk** 폴더 내 **Components** > **DefaultPl [original] | 광부 시뮬레이터의 기존 컴포넌트 내용을 수정하거나, 새로운 엔티티, 컴포넌트를 추가해 나만의 색다른 재미를 만들어봅시다. # 포션 효과 변경하기 광산에서 포션을 얻어 사용하면 HP 대신 MP를 회복하도록 만들어 봅시다. **Workspace - MyDesk - Components - DefaultPlayerComponents - PlayerMineData** 컴포넌트의 `UsePotion()`함수를 수정합니다. ```lua local recoveryAmount = self.Entity.PlayerStatus.MPMa [chunk_id] | Guides:1098:0

[task] | knowledge_list [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 제공된 원문에 포함된 정보만을 바탕으로 추출한 핵심 사실 목록입니다. 1. `PlayerMineData` 컴포넌트의 `UsePotion()` 함수는 포션 사용 시 HP가 아닌 MP를 회복하도록 수정될 수 있으며, 회복량은 `self.Entity.PlayerStatus.MPMax`의 20%를 기준으로 계산됩니다. 2. MP 회복 로직은 `recoveryAmount`가 현재 MP와 MPMax의 차이(`self.Entity.PlayerStatus.MPMax - self.Entity.PlayerStatus.MP`)보다 클 경우, 그 차이 [original] | 광부 시뮬레이터의 기존 컴포넌트 내용을 수정하거나, 새로운 엔티티, 컴포넌트를 추가해 나만의 색다른 재미를 만들어봅시다. # 포션 효과 변경하기 광산에서 포션을 얻어 사용하면 HP 대신 MP를 회복하도록 만들어 봅시다. **Workspace - MyDesk - Components - DefaultPlayerComponents - PlayerMineData** 컴포넌트의 `UsePotion()`함수를 수정합니다. ```lua local recoveryAmount = self.Entity.PlayerStatus.MPMa [chunk_id] | Guides:1098:0

[task] | wikipedia [title] | 스크립트 없이 리메이크 월드 확장하기 [category] | Guides [rephrased] | # 광부 시뮬레이터 리메이크: 스크립트 없이 월드 확장하기 본 가이드는 메이플스토리 월드(MapleStory Worlds)에서 '광부 시뮬레이터 리메이크' 템플릿을 기반으로, 코딩 없이 에디터 설정을 통해 월드를 확장하는 방법을 설명합니다. 주요 작업은 채광 대상(MiningTarget)의 난이도 조정, 데이터 테이블(VeinInfo, EquipmentInfo) 수정, 그리고 새로운 장비 리소스 연동으로 구성됩니다. ## 채광 대상(MiningTarget) 설정 및 난이도 조정 채광 대상의 난이도와 보상 구조를 조정하려면 `W [original] | 1. **Workspace - MyDesk - Models - MiningTarget**을 찾아 배치합니다. 2. **MiningTargetObject** 컴포넌트에서 **Level** 프로퍼티 값을 변경하면 채광에 필요한 체력을 변경할 수 있습니다. 광맥의 레벨은 광맥의 순서와 동일한 난이도로 설정해야 합니다. Mine1-3의 광맥 레벨은 **3**이어야 하고, Mine2-1의 광맥 레벨은 **4**여야 합니다.. 광맥의 Level을 추가할 때는 보너스 게임에서 획득하는 보석의 레벨도 추가되어야 합니다. 3. **WorkSp [chunk_id] | Guides:1097:1

[task] | diverse_qa [title] | InteractionObjectsComponents [category] | Guides [rephrased] | 질문: `InteractionObjectsComponents`에서 `OnBeginPlay` 메서드의 실행 공간은 무엇이며, 주로 어떤 역할을 수행합니까? 답변: `OnBeginPlay`는 `client only` 실행 공간에서 동작하며, 마을 간 이동 포탈에 목적지 마을 이름을 표시하고 플레이어의 이동 가능 여부에 따라 자식 엔티티를 활성화하거나 비활성화하는 역할을 합니다. 질문: `InteractionObjectsComponents`의 `InteractionEvent2` 이벤트 핸들러에서 플레이어가 마을 이동 권한이 없을 때 어 [original] | | 동기화 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | client only | void | OnBeginPlay | 마을에서 마을로 이동하는 포탈에 목적지 마을의 이름을 표시합니다. 플레이어가 포털로 이동 가능한지 여부에 따라 자식 엔티티를 활성화/비활성화 합니다. | #### Entity Event Handler | 실행제어 | 이벤트 중계자 |이름 | 설명 | | --- | --- | --- | --- | | client only | self |InteractionEvent2 | 이 [chunk_id] | Guides:1096:2

[task] | extract_knowledge [title] | DefaultPlayerComponents [category] | Guides [rephrased] | # PlayerMineData 컴포넌트 `PlayerMineData`는 광산 맵에 진입한 플레이어가 광산 내 이동, 자원 관리, 그리고 광산 전용 HUD(Heads-Up Display)를 제어하기 위해 사용되는 스크립트 컴포넌트입니다. 이 컴포넌트는 클라이언트와 서버 간에 광산 상태(깊이, 체류 시간, 보유 도구 수량 등)를 동기화하고, 광산 특유의 상호작용(밧줄, 트램펄린, 횃불, 포션 사용)을 처리합니다. ## 1. 개념 설명 광부 시뮬레이터에서는 플레이어가 지하 광산으로 내려가며 깊이를 기록하고, 다양한 도구를 사용하여 [original] | # PlayerMineData 광산에 들어간 플레이어가 사용하는 컴포넌트입니다. #### Property | 동기화 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | None | SyncTable < number > | Tools | 보유한 도구의 수량입니다. <ul><li>Tools[1]: 밧줄 수량 </li><li>Tools[2]: 트램펄린 수량 </li><li>Tools[3]: 횃불 수량 </li><li>Tools[4]: 포션 수량 </li></ul> | | None | number | D [chunk_id] | Guides:1088:3

[task] | distill [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | **1. `ExtendPlayerControllerComponent` Event Handler 추가** `InputService`의 `KeyDownEvent` 핸들러를 추가하여, `UserService`로 로컬 플레이어임을 확인한 후 공중 상태(`IsOnGround() == false`)에서 `Space` 또는 `LeftAlt` 키 입력 시 `ActionDoubleJump()`를 호출합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent [original] | 1. `ExtendPlayerControllerComponent` Entity Event Handler에 **KeyDownEvent**를 추가합니다. `UserService`를 활용해 키를 입력한 플레이어만 공중 점프할 수 있도록 조건을 추가해야 합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info [chunk_id] | Guides:1098:2

[task] | diverse_qa [title] | 스크립트 없이 리메이크 월드 확장하기 [category] | Guides [rephrased] | 질문: `Portal_TownToTown` 모델을 Scene에 배치할 때, 올바른 경로는 무엇인가요? 답변: Workspace - MyDesk - Models - Portal - Portal_TownToTown 경로에서 모델을 찾아 배치합니다. 질문: `Portal_TownToTown` 모델의 `SpriteRendererComponent` SortingLayer 값을 어떻게 설정해야 하나요? 답변: SortingLayer 값을 **Layer1**로 변경해야 합니다. 질문: `Portal_TownToTown` 컴포넌트에서 마을 이 [original] | # 포탈 만들기 #### 마을에서 마을로 이동 포탈 `Portal_TownToTown` 모델을 배치하고, 프로퍼티 값을 변경해 마을에서 마을로 이동할 수 있게 만들어 봅시다. 1. 마을로 이동할 수 있는 포탈 모델을 **Workspace - MyDesk - Models - Portal - Portal_TownToTown**을 Scene에 배치합니다. 2. `SpriteRendererComponent`의 SortingLayer 값을 **Layer1**로 변경합니다. 3. 프로퍼티 에디터 창에서 `Portal_TownToTow [chunk_id] | Guides:1097:0

[task] | wikipedia [title] | InteractionObjectsComponents [category] | Guides [rephrased] | # 광부 시뮬레이터 리메이크: 컴포넌트 상세 분석 본 섹션은 메이플스토리 월드의 '광부 시뮬레이터 리메이크' 프로젝트에서 사용되는 주요 컴포넌트들의 구조와 동작 방식을 기술합니다. 해당 컴포넌트들은 마을 포탈 이동, 탐험 도구 획득, 그리고 트램펄린 이용 등 게임 내 상호작용을 처리하는 역할을 수행합니다. ## InteractionObjectsComponents 이 컴포넌트는 마을 간 이동 포탈에 적용되며, 목적지 마을 이름 표시 및 플레이어의 이동 권한 검증 기능을 담당합니다. ### Property 및 일반 메서드 `O [original] | | 동기화 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | client only | void | OnBeginPlay | 마을에서 마을로 이동하는 포탈에 목적지 마을의 이름을 표시합니다. 플레이어가 포털로 이동 가능한지 여부에 따라 자식 엔티티를 활성화/비활성화 합니다. | #### Entity Event Handler | 실행제어 | 이벤트 중계자 |이름 | 설명 | | --- | --- | --- | --- | | client only | self |InteractionEvent2 | 이 [chunk_id] | Guides:1096:2

[task] | knowledge_list [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 1. `ExtendPlayerControllerComponent`의 Event Handler 블록에 `[service: InputService]` 속성을 가진 `HandleKeyDownEvent(KeyDownEvent event)` 함수를 추가해야 하며, 이 함수는 클라이언트 공간(Client Space)에서 실행됩니다. 2. `HandleKeyDownEvent` 함수 본문에서 `event.key` 매개변수를 통해 입력된 키 값을 `local key` 변수에 할당합니다. 3. 키 입력 이벤트 처리 시 `_UserService.Loc [original] | 1. `ExtendPlayerControllerComponent` Entity Event Handler에 **KeyDownEvent**를 추가합니다. `UserService`를 활용해 키를 입력한 플레이어만 공중 점프할 수 있도록 조건을 추가해야 합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info [chunk_id] | Guides:1098:2

[task] | extract_knowledge [title] | InteractionObjectsComponents [category] | Guides [rephrased] | # NPC 상호작용 및 포탈 이동 컴포넌트 ## 1. 개념 설명 본 절에서는 광부 시뮬레이터 리메이크 프로젝트에서 사용되는 NPC 및 포탈 상호작용 컴포넌트들을 다룹니다. 주요 컴포넌트는 다음과 같습니다. * **InteractionObjectsComponents**: NPC와 상호작용하여 특정 UI를 활성화하거나 사운드를 재생하는 데 사용됩니다. * **Portal_MineToMine**: 광산 간 이동 포탈로, 다음 광산의 이름과 권장 채광력을 표시하고 이동을 처리합니다. * **Portal_MineToTown* [original] | NPC와 상호 작용해 UI를 활성화하는 컴포넌트입니다. #### Property | 실행제어 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | None | Entity | TargetUI | 활성화할 UI엔티티입니다. 프로퍼티 에디터 창에서 프로퍼티를 변경해야 합니다. | | None | string | InteractionSoundRUID | 활성화되면 재생할 음원 RUID입니다. 재생할 사운드가 없다면 비워둡니다. 프로퍼티 에디터 창에서 프로퍼티를 변경해야 합니다.| #### Function [chunk_id] | Guides:1096:1

[task] | diverse_qa [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 질문: 광부 시뮬레이터 리메이크 가이드에서 포션 효과를 변경하기 위해 수정해야 하는 컴포넌트의 경로는 무엇인가요? 답변: Workspace - MyDesk - Components - DefaultPlayerComponents - PlayerMineData 컴포넌트입니다. 질문: 포션 효과 변경 시 기존에 회복되던 상태 값이 무엇에서 무엇으로 변경되나요? 답변: HP 대신 MP를 회복하도록 변경됩니다. 질문: 수정된 `UsePotion()` 함수에서 회복량(recoveryAmount)의 기준이 되는 최대 MP 비율은 얼마인가요? [original] | 광부 시뮬레이터의 기존 컴포넌트 내용을 수정하거나, 새로운 엔티티, 컴포넌트를 추가해 나만의 색다른 재미를 만들어봅시다. # 포션 효과 변경하기 광산에서 포션을 얻어 사용하면 HP 대신 MP를 회복하도록 만들어 봅시다. **Workspace - MyDesk - Components - DefaultPlayerComponents - PlayerMineData** 컴포넌트의 `UsePotion()`함수를 수정합니다. ```lua local recoveryAmount = self.Entity.PlayerStatus.MPMa [chunk_id] | Guides:1098:0

[task] | extract_knowledge [title] | DefaultPlayerComponents [category] | Guides [rephrased] | # PlayerStatus 컴포넌트 `PlayerStatus` 컴포넌트는 광부 시뮬레이터에서 플레이어의 스탯(체력, 기력, 채광력 등)을 관리하고, 광산 탐험 상태에 따른 체력/기력 변동 로직을 처리합니다. 이 컴포넌트는 클라이언트와 서버 모두에서 동작하며, 특정 함수들은 실행 공간(`client only`, `server`)에 따라 분리되어 있습니다. ## 1. 개념 설명 * **스탯 관리**: `HP`, `MP`, `Power`, `MaxStorage` 등 플레이어의 기본 능력치를 프로퍼티로 보유합니다. * **상태 [original] | #### Entity Event Handler | 실행제어 | 이벤트 중계자 | 이름| 설명 | | --- | --- | --- | --- | | - | InputService | KeyDownEvent | 숫자 1 - 4를 눌렀을 때 `UseTools()` 함수를 실행하는 함수입니다.| # PlayerStatus 플레이어의 스탯 정보 프로퍼티와 함수를 관리하는 컴포넌트입니다. #### Property | 동기화 | 타입 | 이름 | 설명 | | --- | --- | --- | --- | | Sync | number | P [chunk_id] | Guides:1088:4

[task] | extract_knowledge [title] | 스크립트 없이 리메이크 월드 확장하기 [category] | Guides [rephrased] | # 광부 시뮬레이터 월드 확장: 포탈, NPC, 광산 구성 본 절에서는 메이플스토리 월드의 광부 시뮬레이터 리메이크 월드를 확장하기 위해 포탈 배치, NPC 배치, 그리고 광산 내부 오브젝트 설치를 위한 mLua 및 에디터 설정 방법을 설명합니다. ## 1. 포탈 (Portal) 설정 마을 간 이동 및 마을에서 광산으로의 이동을 위해 특정 포탈 모델을 배치하고 프로퍼티를 설정해야 합니다. ### 1.1. 마을 간 이동 포탈 (`Portal_TownToTown`) 마을에서 다른 마을로 이동하는 기능을 구현합니다. **설정 [original] | # 포탈 만들기 #### 마을에서 마을로 이동 포탈 `Portal_TownToTown` 모델을 배치하고, 프로퍼티 값을 변경해 마을에서 마을로 이동할 수 있게 만들어 봅시다. 1. 마을로 이동할 수 있는 포탈 모델을 **Workspace - MyDesk - Models - Portal - Portal_TownToTown**을 Scene에 배치합니다. 2. `SpriteRendererComponent`의 SortingLayer 값을 **Layer1**로 변경합니다. 3. 프로퍼티 에디터 창에서 `Portal_TownToTow [chunk_id] | Guides:1097:0

[task] | knowledge_list [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 제시된 문서 내용만을 기반으로 추출한 핵심 사실 목록입니다. 1. `Trap_RiseupTrap` 엔티티에는 `SpriteRendererComponent`, `TransformComponent`, `TriggerComponent`가 필수로 추가되어야 하며, 이 엔티티는 배치된 함정 위쪽으로 위치해야 합니다. 2. `Trap_RiseupTrap` 컴포넌트의 `HandleTriggerEnterEvent` 이벤트 핸들러는 `[self]` 공간에서 실행되며, 매개변수로 `TriggetEnterEvent` 타입의 `event`를 받습니 [original] | 특정 영역에 플레이어 엔티티가 들어오면 솟아오르는 함정을 만들어 봅시다. 1. **Preset List - Trap - trap-26을** Scene에 배치합니다. 2. **trap-26** 엔티티의 SpriteRendererComponent의 SortingLayer를 **Background**로 변경합니다. 3. 새로운 **Trap_RiseupTrap** 엔티티를 생성합니다. **SpriteRendererComponent, TransformComponent, TriggerComponent**를 추가하고, 배치한 함정 위쪽으로 배 [chunk_id] | Guides:1098:1

[task] | wikipedia [title] | 슈피겔만 게임 리메이크 [category] | Guides [rephrased] | 본 문서는 『내가 직접 만드는 슈피겔만 게임』이라는 월드를 리메이크하여 플레이어 본인의 스타일에 맞는 슈피겔만 게임을 제작하는 과정을 안내하는 응용 제작 가이드입니다. 해당 가이드는 리메이크 대상 월드 내부에 포함된 컴포넌트(Component), 로직(Logic), 데이터셋(DataSet), 사용자 인터페이스(UI) 구성 요소를 확인하는 데 사용할 수 있으며, 『슈피겔만 게임』 관련 강의 학습 시 보조 교재로 활용하도록 설계되었습니다. [original] | [내가 직접 만드는 슈피겔만 게임](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/) 월드를 리메이크해 나만의 슈피겔만 게임을 만들어 봅시다. 리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고, [슈피겔만 게임](/resource/?postId=1091) 강의를 학습할 때 보조 교재로 활용할 수 있습니다. $$childList $$ [chunk_id] | Guides:1099:0

[task] | extract_knowledge [title] | 스크립트 없이 리메이크 월드 확장하기 [category] | Guides [rephrased] | # 광부 시뮬레이터 리메이크: 월드 확장 설정 본 절에서는 '광부 시뮬레이터' 리메이크 월드에서 채광 타겟(MiningTarget)의 난이도 설정, 광맥 정보(VeinInfo) 데이터 관리, 그리고 신규 장비 추가 시 준수해야 할 리소스 카테고리 및 테이블 데이터 입력 규칙을 설명합니다. ## 1. 채광 타겟 난이도 설정 (MiningTarget) 채광에 필요한 체력(HP)은 `MiningTargetObject` 컴포넌트의 `Level` 프로퍼티 값으로 제어됩니다. ### 개념 - `Level` 값은 채광 난이도와 직결됩니다 [original] | 1. **Workspace - MyDesk - Models - MiningTarget**을 찾아 배치합니다. 2. **MiningTargetObject** 컴포넌트에서 **Level** 프로퍼티 값을 변경하면 채광에 필요한 체력을 변경할 수 있습니다. 광맥의 레벨은 광맥의 순서와 동일한 난이도로 설정해야 합니다. Mine1-3의 광맥 레벨은 **3**이어야 하고, Mine2-1의 광맥 레벨은 **4**여야 합니다.. 광맥의 Level을 추가할 때는 보너스 게임에서 획득하는 보석의 레벨도 추가되어야 합니다. 3. **WorkSp [chunk_id] | Guides:1097:1

[task] | diverse_qa [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 질문: 솟아오르는 함정을 만들기 위해 Scene에 배치해야 하는 Preset은 무엇인가요? 답변: Preset List의 Trap 카테고리에 있는 trap-26입니다. 질문: trap-26 엔티티의 SpriteRendererComponent의 SortingLayer를 어떻게 설정해야 하나요? 답변: Background로 변경해야 합니다. 질문: Trap_RiseupTrap 엔티티에 추가해야 하는 컴포넌트 목록은 무엇인가요? 답변: SpriteRendererComponent, TransformComponent, TriggerCom [original] | 특정 영역에 플레이어 엔티티가 들어오면 솟아오르는 함정을 만들어 봅시다. 1. **Preset List - Trap - trap-26을** Scene에 배치합니다. 2. **trap-26** 엔티티의 SpriteRendererComponent의 SortingLayer를 **Background**로 변경합니다. 3. 새로운 **Trap_RiseupTrap** 엔티티를 생성합니다. **SpriteRendererComponent, TransformComponent, TriggerComponent**를 추가하고, 배치한 함정 위쪽으로 배 [chunk_id] | Guides:1098:1

[task] | wikipedia [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | # 광부 시뮬레이터 리메이크: 스크립트로 월드 확장하기 본 가이드는 mLua 스크립트를 사용하여 기존 월드의 플레이어 컨트롤러 기능을 확장하는 방법을 다룹니다. 예시로, 플레이어에게 공중에서 추가 점프(더블 점프)를 수행할 수 있는 기능을 구현하는 과정을 설명합니다. 이 과정은 `ExtendPlayerControllerComponent` 엔티티에 이벤트 핸들러를 추가하고, 관련 프로퍼티를 정의하는 두 단계로 구성됩니다. ## 1. KeyDownEvent 핸들러 추가 및 입력 처리 먼저, `ExtendPlayerControlle [original] | 1. `ExtendPlayerControllerComponent` Entity Event Handler에 **KeyDownEvent**를 추가합니다. `UserService`를 활용해 키를 입력한 플레이어만 공중 점프할 수 있도록 조건을 추가해야 합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info [chunk_id] | Guides:1098:2

[task] | distill [title] | 슈피겔만 게임 리메이크 [category] | Guides [rephrased] | **[Guides] 응용 제작 가이드: 슈피겔만 게임 리메이크** 기존 '내가 직접 만드는 슈피겔만 게임' ([월드 링크](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/))을 리메이크하여 커스텀 게임을 제작하는 과정입니다. * **활용 목적**: 리메이크 월드 내 `Component`, `Logic`, `DataSet`, `UI` 구조 분석 및 [슈피겔만 게임 강의](/resource/?postId=1091) 학습 보조 교재로 사용. [original] | [내가 직접 만드는 슈피겔만 게임](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/) 월드를 리메이크해 나만의 슈피겔만 게임을 만들어 봅시다. 리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고, [슈피겔만 게임](/resource/?postId=1091) 강의를 학습할 때 보조 교재로 활용할 수 있습니다. $$childList $$ [chunk_id] | Guides:1099:0

[task] | extract_knowledge [title] | 슈피겔만 게임 리메이크 [category] | Guides [rephrased] | 제시된 원문에는 mLua 스크립트 코드, API 명세, 또는 구체적인 기술 구현 정보가 포함되어 있지 않습니다. 원문은 "리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고"라는 안내 문구와 외부 링크만 포함하고 있어, 요청하신 "개념 설명 → API 사용법 → 예제 → 주의사항" 형태의 프로그래밍 교과서 절을 작성할 수 있는 데이터가 부족합니다. 따라서 원문에 있는 정보만으로 교과서 형식의 내용을 생성하는 것은 불가능합니다. [original] | [내가 직접 만드는 슈피겔만 게임](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/) 월드를 리메이크해 나만의 슈피겔만 게임을 만들어 봅시다. 리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고, [슈피겔만 게임](/resource/?postId=1091) 강의를 학습할 때 보조 교재로 활용할 수 있습니다. $$childList $$ [chunk_id] | Guides:1099:0

[task] | distill [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | **ExtendPlayerControllerComponent** 확장 절차 1. **`ActionDoubleJump()` 메서드 추가** - `[client]` 실행 공간. - `LeftAirJumpCount`가 0 이하이면 반환. - 현재 `RealMoveVelocity`의 x값을 유지하고 y값 10으로 `SetForce` 호출. - `LeftAirJumpCount` 감소. ```lua Method: [client] void ActionDoubleJump() { if self.LeftAirJumpC [original] | 3. **ExtendPlayerControllerComponent**에 `ActionDoubleJump()` 함수를 새로 생성합니다. ```lua Method: [client] void ActionDoubleJump() { if self.LeftAirJumpCount <= 0 then return end local currentSpeed = self.Entity.RigidbodyComponent.RealMo [chunk_id] | Guides:1098:3

[task] | distill [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | ## 광부 시뮬레이터: 솟아오르는 함정 구현 특정 영역에 플레이어가 진입하면 솟아오르는 함정을 만드는 스크립트 예시입니다. ### 1. 씬 구성 및 엔티티 구조 1. **Preset List**에서 `Trap - trap-26`을 씬에 배치합니다. 2. `trap-26`의 `SpriteRendererComponent` > `SortingLayer`를 `Background`로 설정합니다. 3. 새 엔티티 `Trap_RiseupTrap`을 생성합니다. * 컴포넌트 추가: `SpriteRendererComponent` [original] | 특정 영역에 플레이어 엔티티가 들어오면 솟아오르는 함정을 만들어 봅시다. 1. **Preset List - Trap - trap-26을** Scene에 배치합니다. 2. **trap-26** 엔티티의 SpriteRendererComponent의 SortingLayer를 **Background**로 변경합니다. 3. 새로운 **Trap_RiseupTrap** 엔티티를 생성합니다. **SpriteRendererComponent, TransformComponent, TriggerComponent**를 추가하고, 배치한 함정 위쪽으로 배 [chunk_id] | Guides:1098:1

[task] | diverse_qa [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 질문: `ExtendPlayerControllerComponent`의 Event Handler에 어떤 이벤트를 추가해야 하나요? 답변: `KeyDownEvent`를 추가해야 합니다. 질문: 공중 점프 기능에서 키를 입력한 플레이어만 동작하도록 확인하기 위해 어떤 서비스를 사용해야 하나요? 답변: `UserService`를 사용해야 합니다. 질문: 아래 코드가 수행하는 주요 기능은 무엇인가요? ```lua if _UserService.LocalPlayer ~= self.Entity then return end ``` 답변: [original] | 1. `ExtendPlayerControllerComponent` Entity Event Handler에 **KeyDownEvent**를 추가합니다. `UserService`를 활용해 키를 입력한 플레이어만 공중 점프할 수 있도록 조건을 추가해야 합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info [chunk_id] | Guides:1098:2

[task] | distill [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | # UI 툴팁 만들기 ### 체력바 가이드 UI 마우스 호버 또는 터치 시 설명 패널(`TargetPanel`)의 `Enable` 상태를 제어하는 `UI_MouseHoverGuide` 컴포넌트를 HP/MP 패널에 적용합니다. * **속성**: `[None] Entity TargetPanel` * **동작**: `Environment:IsMobilePlatform()`에서 `ButtonState.Pressed`, PC 플랫폼에서 `ButtonState.Hover` 이벤트 발생 시 `TargetPanel.Enable = tr [original] | # UI 툴팁 만들기 #### 체력바 가이드 UI 만들기 체력 바에 마우스를 올리거나, 터치했을 때 설명 UI가 나타나게 만들어 봅시다. 1. **Workspace - MyDesk - Component - UI**에 새로운 **UI_MouseHoverGuide** 컴포넌트를 추가합니다. ```lua Property: [None] Entity TargetPanel = nil Event Handler: [self] HandleButtonStateChangedEvent [chunk_id] | Guides:1098:4

[task] | knowledge_list [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | 제공된 문서 기반 핵심 사실 목록: 1. `ExtendPlayerControllerComponent` 컴포넌트에 `[client]` 실행 공간의 `void ActionDoubleJump()` 메서드를 생성하며, `self.LeftAirJumpCount`가 0 이하일 경우 즉시 종료됩니다. 2. `ActionDoubleJump()` 메서드 내에서 `self.Entity.RigidbodyComponent.RealMoveVelocity` 속성을 참조하여 현재 속도를 `currentSpeed` 로 저장합니다. 3. `ActionDoubl [original] | 3. **ExtendPlayerControllerComponent**에 `ActionDoubleJump()` 함수를 새로 생성합니다. ```lua Method: [client] void ActionDoubleJump() { if self.LeftAirJumpCount <= 0 then return end local currentSpeed = self.Entity.RigidbodyComponent.RealMo [chunk_id] | Guides:1098:3

[task] | diverse_qa [title] | 슈피겔만 게임 리메이크 [category] | Guides [rephrased] | 질문: 이 문서는 어떤 목적의 가이드인가요? 답변: 이 문서는 [내가 직접 만드는 슈피겔만 게임] 월드를 리메이크하여 나만의 슈피겔만 게임을 만드는 과정을 안내하는 응용 제작 가이드입니다. 질문: 리메이크 월드에서 확인할 수 있는 정보 유형은 무엇인가요? 답변: 리메이크 월드에서는 Component, Logic, DataSet, UI 정보를 확인할 수 있습니다. 질문: 이 문서는 어떤 강의의 보조 교재로 활용할 수 있나요? 답변: 이 문서는 [슈피겔만 게임] 강의를 학습할 때 보조 교재로 활용할 수 있습니다. 질문: 이 문서의 [original] | [내가 직접 만드는 슈피겔만 게임](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/) 월드를 리메이크해 나만의 슈피겔만 게임을 만들어 봅시다. 리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고, [슈피겔만 게임](/resource/?postId=1091) 강의를 학습할 때 보조 교재로 활용할 수 있습니다. $$childList $$ [chunk_id] | Guides:1099:0

[task] | knowledge_list [title] | 슈피겔만 게임 리메이크 [category] | Guides [rephrased] | 제시된 문서 원문에 포함된 사실만을 바탕으로 핵심 정보를 추출하여 목록으로 정리했습니다. 원문에 기술된 구체적인 mLua 코드, API 명세(매개변수, 반환 타입, 동기화 제약 등)는 존재하지 않으므로, 해당 항목은 원문 정보에 기반하여 서술했습니다. * **리메이크 대상 월드**: 이 가이드는 MapleStory Worlds의 "내가 직접 만드는 슈피겔만 게임" 월드를 리메이크하여 나만의 슈피겔만 게임을 만드는 것을 목적으로 합니다. * **제공 리소스 정보**: 리메이크에 사용되는 월드에는 Component, Logic [original] | [내가 직접 만드는 슈피겔만 게임](https://maplestoryworlds.nexon.com/ko/play/8e73281d15c34efa98baa2771d776434/) 월드를 리메이크해 나만의 슈피겔만 게임을 만들어 봅시다. 리메이크 월드에서 제공하는 Component, Logic, DataSet, UI 정보를 확인하고, [슈피겔만 게임](/resource/?postId=1091) 강의를 학습할 때 보조 교재로 활용할 수 있습니다. $$childList $$ [chunk_id] | Guides:1099:0

[task] | extract_knowledge [title] | InteractionObjectsComponents [category] | Guides [rephrased] | # GuideKeyComponent `GuideKeyComponent`는 플레이어가 해당 컴포넌트를 가진 엔티티의 상호작용 범위 내에 진입했을 때 가이드 UI를 활성화하고, 상호작용이 완료되면 비활성화하는 기능을 제공합니다. 이 컴포넌트는 클라이언트 사이드에서만 동작하며, 로컬라이제이션(번역) 키를 통해 텍스트를 관리합니다. ## 개념 설명 * **가이드 UI 활성화/비활성화**: `InteractionEnterEvent` 발생 시 UI를 표시하고, `InteractionLeaveEvent` 또는 `InteractionEv [original] | # GuideKeyComponent 플레이어가 이 컴포넌트를 가진 엔티티의 범위 내에 들어가면 가이드 UI를 활성화합니다. #### Property | 실행제어 | 타입 | 이름 | 설명 | | ---- | --- | --- | --- | | None | string | GuideText | 가이드 UI에 표기할 텍스트의 **Key** 값입니다. 엔티티에 달려있는 프로퍼티를 변경해야 합니다. 이 프로퍼티는 자동으로 번역되므로 Key 값으로 작성해야 합니다. 필요한 경우 **LocalizationTable**에 key와 데이터 [chunk_id] | Guides:1096:0

[task] | wikipedia [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | **ExtendPlayerControllerComponent** 컴포넌트에 `ActionDoubleJump()` 함수를 추가하여 더블 점프 동작을 구현합니다. 이 함수는 클라이언트에서만 실행되며, 현재 남은 공중 점프 횟수(`LeftAirJumpCount`)가 0 이하인 경우 즉시 반환됩니다. 점프가 허용되면 엔티티의 `RigidbodyComponent`를 통해 현재 실제 이동 속도(`RealMoveVelocity`)를 조회한 뒤, X축에는 해당 속도를 유지하고 Y축에는 10의 값을 가진 힘(`Vector2`)을 적용하여 점프를 수 [original] | 3. **ExtendPlayerControllerComponent**에 `ActionDoubleJump()` 함수를 새로 생성합니다. ```lua Method: [client] void ActionDoubleJump() { if self.LeftAirJumpCount <= 0 then return end local currentSpeed = self.Entity.RigidbodyComponent.RealMo [chunk_id] | Guides:1098:3

[task] | wikipedia [title] | 스크립트로 리메이크 월드 확장하기 [category] | Guides [rephrased] | # 광부 시뮬레이터 리메이크: 스크립트로 월드 확장하기 (솟아오르는 함정 구현) 본 가이드에서는 메이플스토리 월드의 '광부 시뮬레이터'를 기반으로, 특정 영역에 플레이어 엔티티가 진입할 때 솟아오르는 함정(Trap)을 스크립트로 구현하는 방법을 다룹니다. ## 구현 절차 솟아오르는 함정 기능을 구현하기 위해 다음과 같은 단계로 씬(Scene) 구성 및 스크립팅을 진행합니다. ### 1. 씬 구성 및 엔티티 배치 1. **Preset List**에서 **Trap** 카테고리 내의 **trap-26**을 씬에 배치합니다. 2 [original] | 특정 영역에 플레이어 엔티티가 들어오면 솟아오르는 함정을 만들어 봅시다. 1. **Preset List - Trap - trap-26을** Scene에 배치합니다. 2. **trap-26** 엔티티의 SpriteRendererComponent의 SortingLayer를 **Background**로 변경합니다. 3. 새로운 **Trap_RiseupTrap** 엔티티를 생성합니다. **SpriteRendererComponent, TransformComponent, TriggerComponent**를 추가하고, 배치한 함정 위쪽으로 배 [chunk_id] | Guides:1098:1

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