← 목록

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

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

[task] | knowledge_list [title] | 월드 확장해보기 [category] | Guides [rephrased] | 1. `TeamStatusData` DataSet의 새로운 행에 `Gravity` 상태 값을 추가하여, `TeamA(1)` 컬럼에 `0.8`, `TeamB(2)` 컬럼에 `1.3`을 설정해야 합니다. 2. `InGameManager` 컴포넌트의 `PlayerSetting()` 메서드에서 `teamStatusData:FindRow("Status", "Gravity"):GetItem("TeamA(1)")`를 호출하여 반환된 값을 `tonumber()` 함수로 변환하고, `local teamAGravity` 변수에 할당해야 합니다. 3. [original] | DataSet에 새로운 값을 추가하고, **InGameManager** `PlayerSetting()`함수의 코드를 변경해 플레이어에게 중력을 부여할 수 있습니다. 1. **Workspace - MyDesk - 02_InstanceRoom - GameSetting - TeamStatusData**를 선택합니다. 2. 새로운 행에 **Gravity**를 추가합니다. | Status | TeamA(1) | TeamB(2) | | --- | --- | --- | | Gravity | 0.8 | 1.3 | 3. [chunk_id] | Guides:1103:1

[task] | knowledge_list [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 제시된 문서 내용만 기반으로 추출한 핵심 사실 목록입니다. 1. `SetMeso` 함수는 `[client only]` 실행 공간 제약이 적용되는 클라이언트 전용 함수입니다. 2. `SetMeso` 함수는 `integer` 타입의 매개변수 `meso`를 하나만 받습니다. 3. `SetMeso` 함수의 반환 타입은 `void`입니다. 4. `SetMeso` 함수 본문에서는 `self.MesoUI` 컴포넌트 접근자를 사용하여 인벤토리 UI 객체에 접근합니다. 5. `SetMeso` 함수 본문에서는 `self.MesoUI.TextComp [original] | 7. 새로운 함수 `SetMeso()`를 추가하고 메소UI에 메소 값이 나타날 수 있도록 아래와 같이 작성합니다. ```lua [client only] void SetMeso (integer meso) { self.MesoUI.TextComponent.Text = tostring(meso) } ``` [chunk_id] | Guides:1105:2

[task] | diverse_qa [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 질문: 이번 가이드에서 수정 대상이 되는 컴포넌트의 이름은 무엇인가요? 답변: 이번 과정에서는 `UIInventory` 컴포넌트만 수정합니다. 질문: `UIInventory` 컴포넌트는 언제 추가되나요? 답변: `UIInventory` 컴포넌트는 인벤토리 프리셋 추가 시 함께 자동으로 추가되는 컴포넌트입니다. 질문: `UIInventory` 컴포넌트의 기존 Event Handler를 어떻게 처리해야 하는지 추천 사항이 있나요? 답변: 이 컴포넌트의 기존 Event Handler를 모두 삭제한 뒤 아래 과정을 따라 만들어 보는 것 [original] | 메소와 아이템 데이터가 변경될 때 인벤토리 UI도 변경될 수 있도록 만들어 봅시다. 이번 과정에서는 `UIInventory` 컴포넌트만 수정합니다. # 인벤토리 변경값 UI에 반영하기 인벤토리 메소와 아이템 값 변경에 맞춰 UI가 갱신될 수 있도록 만들어봅시다. `UIInventory` 컴포넌트는 인벤토리 프리셋 추가 시 함께 자동으로 추가되는 컴포넌트입니다. >**Tip.** >이 컴포넌트의 기존 **Event Handler를 모두 삭제**한 뒤 아래 과정을 따라 만들어 봅시다. 1. 기존 프로퍼티를 유지한 채, 새로운 [chunk_id] | Guides:1105:0

[task] | distill [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | ### 인벤토리 스크립트 작성 **`HandleSimpleInventoryItemRemovedEvent`** 이벤트 핸들러는 `SimpleInventory`에서 아이템이 제거될 때 트리거됩니다. * **실행 공간**: `[localplayer]` * **이벤트 파라미터**: * `SlotIndex`: 제거된 아이템의 슬롯 인덱스 * `ItemId`: 제거된 아이템의 ID ```lua [localplayer] HandleSimpleInventoryItemRemovedEvent (SimpleInvent [original] | ```lua [localplayer] HandleSimpleInventoryItemRemovedEvent (SimpleInventoryItemRemovedEvent event) { -- Parameters local SlotIndex = event.SlotIndex local ItemId = event.ItemId --------------------------------------------------------- self:Cle [chunk_id] | Guides:1105:4

[task] | diverse_qa [title] | 월드 확장해보기 [category] | Guides [rephrased] | 질문: DataSet에 새로운 값을 추가하여 플레이어에게 중력을 부여하기 위해 `InGameManager` 컴포넌트의 어떤 함수 코드를 변경해야 하는가요? 답변: `PlayerSetting()` 함수의 코드를 변경해야 합니다. 질문: 중력값을 저장하기 위해 `TeamStatusData` DataSet에 추가해야 하는 Status 값은 무엇이며, TeamA와 TeamB에 각각 설정된 예시 값은 얼마인가요? 답변: Status 값은 `Gravity`이며, TeamA(1)에는 0.8, TeamB(2)에는 1.3이 설정된 예시가 있습니다 [original] | DataSet에 새로운 값을 추가하고, **InGameManager** `PlayerSetting()`함수의 코드를 변경해 플레이어에게 중력을 부여할 수 있습니다. 1. **Workspace - MyDesk - 02_InstanceRoom - GameSetting - TeamStatusData**를 선택합니다. 2. 새로운 행에 **Gravity**를 추가합니다. | Status | TeamA(1) | TeamB(2) | | --- | --- | --- | | Gravity | 0.8 | 1.3 | 3. [chunk_id] | Guides:1103:1

[task] | wikipedia [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | `HandleSimpleInventoryItemRemovedEvent` 이벤트 핸들러는 로컬 플레이어(`[localplayer]`)의 인벤토리에서 아이템이 제거될 때 트리거되는 함수입니다. 이 핸들러는 `SimpleInventoryItemRemovedEvent` 타입의 `event` 매개변수를 수신하며, 이벤트 객체로부터 `SlotIndex`(슬롯 인덱스)와 `ItemId`(아이템 식별자) 값을 추출할 수 있습니다. 제시된 코드 예제에서 해당 핸들러는 추출된 `SlotIndex` 값을 인수로 전달하여 `self:ClearSlot( [original] | ```lua [localplayer] HandleSimpleInventoryItemRemovedEvent (SimpleInventoryItemRemovedEvent event) { -- Parameters local SlotIndex = event.SlotIndex local ItemId = event.ItemId --------------------------------------------------------- self:Cle [chunk_id] | Guides:1105:4

[task] | extract_knowledge [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | # 인벤토리 변경값 UI에 반영하기 ## 1. 개념 설명 메소와 아이템 데이터가 변경될 때, 이 변화를 인벤토리 UI에 실시간으로 반영하기 위한 로직을 구현합니다. 이 과정은 `UIInventory` 컴포넌트를 수정하여 수행하며, 해당 컴포넌트는 인벤토리 프리셋을 추가할 때 자동으로 생성됩니다. UI 갱신을 위해 메소 표시 요소와 슬롯 목록 데이터를 관리하는 프로퍼티가 필요합니다. ## 2. API 사용법 ### 2.1. 프로퍼티 정의 `UIInventory` 컴포넌트의 `Property:` 블록에 다음과 같은 프로퍼티를 추가 [original] | 메소와 아이템 데이터가 변경될 때 인벤토리 UI도 변경될 수 있도록 만들어 봅시다. 이번 과정에서는 `UIInventory` 컴포넌트만 수정합니다. # 인벤토리 변경값 UI에 반영하기 인벤토리 메소와 아이템 값 변경에 맞춰 UI가 갱신될 수 있도록 만들어봅시다. `UIInventory` 컴포넌트는 인벤토리 프리셋 추가 시 함께 자동으로 추가되는 컴포넌트입니다. >**Tip.** >이 컴포넌트의 기존 **Event Handler를 모두 삭제**한 뒤 아래 과정을 따라 만들어 봅시다. 1. 기존 프로퍼티를 유지한 채, 새로운 [chunk_id] | Guides:1105:0

[task] | knowledge_list [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 1. `HandleSimpleInventoryItemRemovedEvent`는 `[localplayer]` 실행 공간에서 동작하며, `SimpleInventoryItemRemovedEvent` 타입의 `event` 매개변수를 받아 이벤트 발생 시 처리하는 이벤트 핸들러입니다. 2. `SimpleInventoryItemRemovedEvent` 객체의 `SlotIndex` 속성은 제거된 아이템이 있던 슬롯 인덱스를 `number` 타입으로 반환하며, 로컬 플레이어가 조작한 인벤토리 슬롯 번호를 식별하는 데 사용됩니다. 3. `Simpl [original] | ```lua [localplayer] HandleSimpleInventoryItemRemovedEvent (SimpleInventoryItemRemovedEvent event) { -- Parameters local SlotIndex = event.SlotIndex local ItemId = event.ItemId --------------------------------------------------------- self:Cle [chunk_id] | Guides:1105:4

[task] | diverse_qa [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 질문: `SetMeso()` 함수의 실행 공간은 어디인가요? 답변: `SetMeso()` 함수는 `[client only]` 블록에 정의되어 있어 클라이언트에서만 실행됩니다. 질문: `SetMeso()` 함수는 어떤 매개변수를 받아들이나요? 답변: `SetMeso()` 함수는 `integer` 타입의 `meso`를 매개변수로 받아들이며, 이 값은 메소(Meso) 수량을 나타냅니다. 질문: `SetMeso()` 함수 내에서 메소 값을 UI에 표시하기 위해 어떤 컴포넌트의 속성을 수정하나요? 답변: `self.MesoUI`의 `Te [original] | 7. 새로운 함수 `SetMeso()`를 추가하고 메소UI에 메소 값이 나타날 수 있도록 아래와 같이 작성합니다. ```lua [client only] void SetMeso (integer meso) { self.MesoUI.TextComponent.Text = tostring(meso) } ``` [chunk_id] | Guides:1105:2

[task] | extract_knowledge [title] | 월드 확장해보기 [category] | Guides [rephrased] | # 슈피겔만 게임 리메이크: 월드 확장 및 맵 설정 ## 1. 개념 설명 슈피겔만 게임 리메이크 월드를 확장할 때, 새로운 게임 맵(`InGameObj`)에 필요한 엔티티를 배치하고, 로비 매니저를 통해 해당 맵으로의 진입을 제어하는 과정이 필요합니다. 이 절에서는 `InGameObj` 내 필수 엔티티 배치가 원리와 `LobbyMatchManager` 컴포넌트를 이용한 맵 고정 이동 방법을 다룹니다. ## 2. API 및 컴포넌트 사용법 ### 2.1. InGameObj 엔티티 배치 `Workspace - MyDesk - 02 [original] | 1. **Workspace - MyDesk - 02_InstanceRoom - 003_InGame - InGameObj**의 3가지 모델을 배치합니다. * ASpawnLocation: A 팀 멤버가 소환 될 위치로 지정합니다. * BSpawnLocation: B팀이 소환될 위치로 지정합니다. * Target: 메워야하는 구멍 엔티티입니다. 게임을 하는 인원에 맞는 수가 소환되어야 하므로. MatchTeamData의 EnableTargetNum행의 가장 큰 수만큼 배치해야합니다. 2. 새로 만든 맵으로 바로 [chunk_id] | Guides:1103:2

[task] | distill [title] | UI Group [category] | Guides [rephrased] | # UI Group 컴포넌트 각 `Group` 컴포넌트는 특정 게임 상태에 대응하는 UI 패널입니다. * **000_BroadCastGroup**: 작은 크기의 시스템 메시지 표시 패널. * **000_LoadingGroup**: 맵 이동 시 사용되는 로딩 화면. * **001_LobbyGroup**: 로비 UI. 모바일 조작 버튼, 게임 준비, 매칭 정보 표시. * **002_IntroGroup**: 인트로 맵 UI. 준비 시간 및 준비 버튼 표시. * **003_InGameGroup**: 인게임 UI. 조작 [original] | # 000_BroadCastGroup 작은 사이즈의 시스템 메시지 패널입니다. # 000_LoadingGroup 맵을 이동할 때 사용하는 로딩 화면 UI입니다. # 001_LobbyGroup 로비에서 사용하는 UI입니다. 모바일 조작 버튼, 게임 준비, 매칭 정보 등을 보여줍니다. # 002_IntroGroup 인트로 맵에서 준비 시간과 준비 버튼을 보여주는 버튼입니다. # 003_InGameGroup 게임에서 사용하는 UI입니다. 조작 버튼, 미니맵, 플레이어 상태 등을 보여줍니다. # 004_OutroGroup [chunk_id] | Guides:1106:0

[task] | wikipedia [title] | 월드 확장해보기 [category] | Guides [rephrased] | # 슈피겔만 게임 리메이크 월드 확장하기 본 가이드는 메이플스토리 월드(MapleStory Worlds)의 슈피겔만 게임 리메이크 월드를 기반으로, DataSet을 활용하여 플레이어의 중력 값을 설정하고, 이모티콘 데이터를 추가하며, 맵의 인스턴스화 및 바운드를 설정하는 방법을 설명합니다. ## 플레이어 중력 설정 DataSet에 새로운 값을 추가하고, `InGameManager` 컴포넌트의 `PlayerSetting()` 함수 코드를 수정하여 플레이어에게 중력을 부여할 수 있습니다. 첫째, **Workspace - MyDe [original] | DataSet에 새로운 값을 추가하고, **InGameManager** `PlayerSetting()`함수의 코드를 변경해 플레이어에게 중력을 부여할 수 있습니다. 1. **Workspace - MyDesk - 02_InstanceRoom - GameSetting - TeamStatusData**를 선택합니다. 2. 새로운 행에 **Gravity**를 추가합니다. | Status | TeamA(1) | TeamB(2) | | --- | --- | --- | | Gravity | 0.8 | 1.3 | 3. [chunk_id] | Guides:1103:1

[task] | extract_knowledge [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | # 인벤토리 스크립트: 메소 UI 갱신 ## 개념 설명 메소(Meso)는 게임 내 화폐로, 플레이어의 보유량이 변경될 때마다 클라이언트 화면에 표시되는 텍스트가 즉시 업데이트되어야 합니다. 이를 위해 클라이언트에서만 실행되는 함수를 정의하여 UI 컴포넌트의 텍스트 속성을 직접 조작합니다. ## API 사용법 * **실행 공간**: `[client only]` * UI 요소의 상태 변경은 클라이언트에서 처리하므로, 해당 함수는 클라이언트에서만 실행되도록 지정합니다. * **메서드**: `SetMeso(intege [original] | 7. 새로운 함수 `SetMeso()`를 추가하고 메소UI에 메소 값이 나타날 수 있도록 아래와 같이 작성합니다. ```lua [client only] void SetMeso (integer meso) { self.MesoUI.TextComponent.Text = tostring(meso) } ``` [chunk_id] | Guides:1105:2

[task] | diverse_qa [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 질문: 제공된 코드 블록에서 `HandleSimpleInventoryItemRemovedEvent` 핸들러의 실행 공간은 무엇인가요? 답변: 제공된 코드 블록의 `HandleSimpleInventoryItemRemovedEvent` 핸들러는 `[localplayer]` 실행 공간에서 동작합니다. 질문: `HandleSimpleInventoryItemRemovedEvent` 함수에서 이벤트 객체(`event`)로부터 추출하는 두 가지 파라미터의 이름은 무엇인가요? 답변: `HandleSimpleInventoryItemRemovedE [original] | ```lua [localplayer] HandleSimpleInventoryItemRemovedEvent (SimpleInventoryItemRemovedEvent event) { -- Parameters local SlotIndex = event.SlotIndex local ItemId = event.ItemId --------------------------------------------------------- self:Cle [chunk_id] | Guides:1105:4

[task] | extract_knowledge [title] | 월드 확장해보기 [category] | Guides [rephrased] | # DataSet 기반 상태 데이터 활용 및 Rigidbody 중력 제어 ## 1. 개념 설명 mLua 환경에서는 `DataSet` 컴포넌트를 통해 게임 내 다양한 상태(이동, 점프, 중력 등)를 데이터로 관리할 수 있습니다. 특정 팀이나 플레이어의 물리적 속성을 변경하기 위해서는 DataSet에서 값을 조회한 후, 해당 엔티티에挂载된 컴포넌트(예: `RigidbodyComponent`)의 프로퍼티를 직접 수정하는 로직을 구현해야 합니다. 본 절에서는 `InGameManager`를 통해 DataSet에서 중력(Gravity) [original] | DataSet에 새로운 값을 추가하고, **InGameManager** `PlayerSetting()`함수의 코드를 변경해 플레이어에게 중력을 부여할 수 있습니다. 1. **Workspace - MyDesk - 02_InstanceRoom - GameSetting - TeamStatusData**를 선택합니다. 2. 새로운 행에 **Gravity**를 추가합니다. | Status | TeamA(1) | TeamB(2) | | --- | --- | --- | | Gravity | 0.8 | 1.3 | 3. [chunk_id] | Guides:1103:1

[task] | knowledge_list [title] | UI Group [category] | Guides [rephrased] | ```lua -- 문서에서 추출한 핵심 사실 목록 local facts = { "000_BroadCastGroup은 작은 사이즈의 시스템 메시지를 표시하는 패널 UI입니다.", "000_LoadingGroup은 맵 이동 시점에 사용되는 로딩 화면 UI입니다.", "001_LobbyGroup은 로비 환경에서 모바일 조작 버튼, 게임 준비 상태, 매칭 정보 등을 표시하는 UI입니다.", "002_IntroGroup은 인트로 맵에서 준비 시간과 준비 버튼을 표시하는 UI입니다.", "003_InGame [original] | # 000_BroadCastGroup 작은 사이즈의 시스템 메시지 패널입니다. # 000_LoadingGroup 맵을 이동할 때 사용하는 로딩 화면 UI입니다. # 001_LobbyGroup 로비에서 사용하는 UI입니다. 모바일 조작 버튼, 게임 준비, 매칭 정보 등을 보여줍니다. # 002_IntroGroup 인트로 맵에서 준비 시간과 준비 버튼을 보여주는 버튼입니다. # 003_InGameGroup 게임에서 사용하는 UI입니다. 조작 버튼, 미니맵, 플레이어 상태 등을 보여줍니다. # 004_OutroGroup [chunk_id] | Guides:1106:0

[task] | distill [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | ### 인벤토리 스크립트 작성 인벤토리 UI를 초기화하고, 슬롯 데이터를 설정/초기화하는 로직을 구현합니다. **1. 초기화 (`OnBeginPlay`)** - 인벤토리 패널, 스크롤뷰, 메소 UI를 경로로 참조합니다. - 인벤토리 열기/닫기 버튼에 `ButtonClickEvent`를 연결하여 패널 `Enable` 상태를 제어합니다. - `_UserService.LocalPlayer.SimpleInventory.Capacity` 값을 기준으로 슬롯 개수만큼 `_SpawnService:SpawnByEntity`로 슬롯을 생성하고 [original] | ```lua Method: [client only] void OnBeginPlay() { self.itemUI =_EntityService:GetEntityByPath(self.Entity.Path .. "/InventoryPanel/Inventory_ScrollView/item_slot") self.itemUI:SetEnable(false) self.scrollView = _EntityService:GetEntityByPath(self.Entity.Path . [chunk_id] | Guides:1105:1

[task] | knowledge_list [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 제공된 문서의 내용을 바탕으로 핵심 사실을 추출하여 정리했습니다. ```lua 1. OnBeginPlay 메서드는 [client only] 실행 공간에서 동작하며, void 반환 타입을 가진다. 2. OnBeginPlay 내부에서 _EntityService:GetEntityByPath(self.Entity.Path .. "/InventoryPanel/Inventory_ScrollView/item_slot")을 호출하여 item_slot 엔티티를 self.itemUI 변수에 할당한다. 3. OnBeginPlay 내부에서 self.i [original] | ```lua Method: [client only] void OnBeginPlay() { self.itemUI =_EntityService:GetEntityByPath(self.Entity.Path .. "/InventoryPanel/Inventory_ScrollView/item_slot") self.itemUI:SetEnable(false) self.scrollView = _EntityService:GetEntityByPath(self.Entity.Path . [chunk_id] | Guides:1105:1

[task] | knowledge_list [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | - `SimpleInventoryInitializedEvent` 이벤트 핸들러는 `[localplayer]` 중계자로 설정되며, 이벤트 객체의 `Meso`와 `ItemStacks` 속성을 추출하여 로컬 플레이어의 메소와 슬롯 상태를 초기화합니다. - `SimpleInventoryInitializedEvent` 핸들러 내에서 `ItemStacks` 테이블을 반복할 때 각 `stack`의 `SlotIndex`, `ItemId`, `Count` 값을 인자로 받아 `self:SetSlot(SlotIndex, ItemId, Count)` 메 [original] | #### Entity Event Handler 추가 1. `SimpleInventoryInitializedEvent`를 추가합니다. 이벤트 중계자를 localPlayer로 변경합니다. ```lua [localplayer] HandleSimpleInventoryInitializedEvent (SimpleInventoryInitializedEvent event) { -- Parameters local Meso = event.Meso local ItemStacks [chunk_id] | Guides:1105:3

[task] | extract_knowledge [title] | UI Group [category] | Guides [rephrased] | # 슈피겔만 게임 리메이크 UI Group 구성 ## 개념 설명 슈피겔만 게임 리메이크 프로젝트에서는 게임의 흐름과 상태에 따라 표시되는 UI를 그룹별로 관리합니다. 각 그룹은 특정 게임 상태(로비, 인트로, 인게임, 아웃트로 등)와 관련된 시각적 요소를 포함하며, 작은 사이즈의 시스템 메시지 패널부터 로딩 화면, 조작 버튼, 상태 표시까지 다양한 UI 요소를 담당합니다. ## API 사용법 본 문서에 제공된 mLua 코드 예제는 없습니다. 따라서 API 사용법에 대한 구체적인 코드 설명은 원문에 기반하여 작성할 수 없습니다 [original] | # 000_BroadCastGroup 작은 사이즈의 시스템 메시지 패널입니다. # 000_LoadingGroup 맵을 이동할 때 사용하는 로딩 화면 UI입니다. # 001_LobbyGroup 로비에서 사용하는 UI입니다. 모바일 조작 버튼, 게임 준비, 매칭 정보 등을 보여줍니다. # 002_IntroGroup 인트로 맵에서 준비 시간과 준비 버튼을 보여주는 버튼입니다. # 003_InGameGroup 게임에서 사용하는 UI입니다. 조작 버튼, 미니맵, 플레이어 상태 등을 보여줍니다. # 004_OutroGroup [chunk_id] | Guides:1106:0

[task] | wikipedia [title] | UI Group [category] | Guides [rephrased] | # 슈피겔만 게임 리메이크 UI Group 이 섹션은 '슈피겔만 게임 리메이크' 프로젝트에서 사용되는 주요 UI 그룹(Group)들의 정의와 역할을 설명합니다. 각 UI 그룹은 게임의 특정 상태나 화면에 맞춰 활성화되며, 플레이어에게 필요한 정보를 제공합니다. ## 000_BroadCastGroup `000_BroadCastGroup`은 작은 크기의 시스템 메시지 패널입니다. 게임 진행 중 발생하는 다양한 시스템 알림이나 메시지를 화면에 표시하는 데 사용됩니다. ## 000_LoadingGroup `000_LoadingGr [original] | # 000_BroadCastGroup 작은 사이즈의 시스템 메시지 패널입니다. # 000_LoadingGroup 맵을 이동할 때 사용하는 로딩 화면 UI입니다. # 001_LobbyGroup 로비에서 사용하는 UI입니다. 모바일 조작 버튼, 게임 준비, 매칭 정보 등을 보여줍니다. # 002_IntroGroup 인트로 맵에서 준비 시간과 준비 버튼을 보여주는 버튼입니다. # 003_InGameGroup 게임에서 사용하는 UI입니다. 조작 버튼, 미니맵, 플레이어 상태 등을 보여줍니다. # 004_OutroGroup [chunk_id] | Guides:1106:0

[task] | diverse_qa [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 질문: `SimpleInventoryInitializedEvent` 핸들러에서 이벤트 중계자는 무엇으로 설정해야 하나요? 답변: `localplayer`로 설정해야 합니다. 질문: 다음 코드가 수행하는 작업은 무엇인가요? ```lua for _, stack in pairs(ItemStacks) do if stack ~= nil then self:SetSlot(stack.SlotIndex, stack.ItemId, stack.Count) end end ``` 답변: `ItemStacks` 테이블의 각 아 [original] | #### Entity Event Handler 추가 1. `SimpleInventoryInitializedEvent`를 추가합니다. 이벤트 중계자를 localPlayer로 변경합니다. ```lua [localplayer] HandleSimpleInventoryInitializedEvent (SimpleInventoryInitializedEvent event) { -- Parameters local Meso = event.Meso local ItemStacks [chunk_id] | Guides:1105:3

[task] | distill [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | ### 인벤토리 이벤트 핸들러 (`[localplayer]`) `SimpleInventory` 컴포넌트의 상태 변경을 감지하여 로컬 인벤토리 UI를 동기화합니다. 모든 핸들러는 `[localplayer]` 실행 공간에 등록되며, 이벤트 객체(`event`)에서 데이터를 추출해 인벤토리 메서드를 호출합니다. #### 1. 초기화: `SimpleInventoryInitializedEvent` 인벤토리 로딩 완료 시 메소와 모든 슬롯 상태를 초기화합니다. ```lua [localplayer] HandleSimpleInventoryI [original] | #### Entity Event Handler 추가 1. `SimpleInventoryInitializedEvent`를 추가합니다. 이벤트 중계자를 localPlayer로 변경합니다. ```lua [localplayer] HandleSimpleInventoryInitializedEvent (SimpleInventoryInitializedEvent event) { -- Parameters local Meso = event.Meso local ItemStacks [chunk_id] | Guides:1105:3

[task] | diverse_qa [title] | UI Group [category] | Guides [rephrased] | 질문: 000_BroadCastGroup의 주요 용도는 무엇인가요? 답변: 작은 사이즈의 시스템 메시지 패널로 사용됩니다. 질문: 맵을 이동할 때 사용되는 로딩 화면 UI는 어떤 Group을 사용하나요? 답변: 000_LoadingGroup을 사용합니다. 질문: 로비에서 모바일 조작 버튼, 게임 준비, 매칭 정보 등을 보여주는 UI Group의 이름은 무엇인가요? 답변: 001_LobbyGroup입니다. 질문: 002_IntroGroup은 어떤 맵에서 무엇을 보여주는 UI인가요? 답변: 인트로 맵에서 준비 시간과 준비 버튼을 [original] | # 000_BroadCastGroup 작은 사이즈의 시스템 메시지 패널입니다. # 000_LoadingGroup 맵을 이동할 때 사용하는 로딩 화면 UI입니다. # 001_LobbyGroup 로비에서 사용하는 UI입니다. 모바일 조작 버튼, 게임 준비, 매칭 정보 등을 보여줍니다. # 002_IntroGroup 인트로 맵에서 준비 시간과 준비 버튼을 보여주는 버튼입니다. # 003_InGameGroup 게임에서 사용하는 UI입니다. 조작 버튼, 미니맵, 플레이어 상태 등을 보여줍니다. # 004_OutroGroup [chunk_id] | Guides:1106:0

[task] | distill [title] | 002_Intro [category] | Guides [rephrased] | **InstanceRoom 002_Intro (클라이언트 UI 제어)** * **`ReadyCheckUI`** (`void`) * 플레이어 준비 상태를 확인하여 스크롤 패널 내 준비 마크를 활성/비활성화합니다. * **`IntroTimerUI`** (`void`) * 인트로 남은 준비 시간을 표시합니다. * **`PlayerScrollSet`** (`void`) * 매칭 인원을 확인하여 상단 `TeamScroll` UI에 팀별 플레이어 아바타 및 닉네임을 갱신합니다. [original] | | 실행제어 | Type | 이름 | 설명 | | --- | --- | --- | --- | | client | void | ReadyCheckUI | 플레이어의 준비 상태를 확인해 플레이어 스크롤 패널에 준비 마크를 활성/비활성하는 함수입니다. | | client | void | IntroTimerUI | 인트로 남은 준비 시간을 표시해주는 함수입니다. | | client | void | PlayerScrollSet | 매칭 인원을 체크해서, 팀에 맞게 상단 TeamScroll에 플레이어의 아바타 및 닉네임 등 정보를 UI에 갱신 [chunk_id] | Guides:1109:1

[task] | wikipedia [title] | 002_Intro [category] | Guides [rephrased] | **02_InstanceRoom 002_Intro** `02_InstanceRoom 002_Intro` 스크립트는 클라이언트 실행 공간(`client`)에서 동작하며, 인트로 단계의 사용자 인터페이스(UI) 상태를 관리하는 세 가지 함수를 제공합니다. 첫째, `ReadyCheckUI` 함수는 플레이어의 준비 상태를 확인하여 플레이어 스크롤 패널 내의 준비 마크를 활성화하거나 비활성화하는 역할을 수행합니다. 둘째, `IntroTimerUI` 함수는 인트로 단계에서 남은 준비 시간을 화면에 표시해 주는 기능을 담당합니다. 셋째, [original] | | 실행제어 | Type | 이름 | 설명 | | --- | --- | --- | --- | | client | void | ReadyCheckUI | 플레이어의 준비 상태를 확인해 플레이어 스크롤 패널에 준비 마크를 활성/비활성하는 함수입니다. | | client | void | IntroTimerUI | 인트로 남은 준비 시간을 표시해주는 함수입니다. | | client | void | PlayerScrollSet | 매칭 인원을 체크해서, 팀에 맞게 상단 TeamScroll에 플레이어의 아바타 및 닉네임 등 정보를 UI에 갱신 [chunk_id] | Guides:1109:1

[task] | extract_knowledge [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | # 인벤토리 항목 제거 이벤트 처리 ## 개념 설명 `SimpleInventoryItemRemovedEvent`는 플레이어의 인벤토리 슬롯에서 아이템이 제거되었을 때 트리거되는 이벤트입니다. 이 이벤트 핸들러를 통해 제거된 아이템의 슬롯 인덱스(`SlotIndex`)와 아이템 ID(`ItemId`)를 획득할 수 있으며, 이를 기반으로 클라이언트 측 UI나 로직 상태를 업데이트할 수 있습니다. ## API 사용법 * **이벤트 핸들러 시그니처**: `HandleSimpleInventoryItemRemovedEvent(Simpl [original] | ```lua [localplayer] HandleSimpleInventoryItemRemovedEvent (SimpleInventoryItemRemovedEvent event) { -- Parameters local SlotIndex = event.SlotIndex local ItemId = event.ItemId --------------------------------------------------------- self:Cle [chunk_id] | Guides:1105:4

[task] | diverse_qa [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 질문: `OnBeginPlay()` 함수 내에서 `self.itemUI` 변수에 할당되는 값은 어떤 경로(Entity Path)를 가리킵니다? 답변: `self.Entity.Path` 뒤에 "/InventoryPanel/Inventory_ScrollView/item_slot"이 연결된 경로를 가리킵니다. 질문: 인벤토리 용량(Capacity)만큼 슬롯을 생성할 때 사용된 서비스와 메서드는 무엇인가요? 답변: `_SpawnService`의 `SpawnByEntity` 메서드를 사용합니다. 질문: `OnBeginPlay()`에서 인 [original] | ```lua Method: [client only] void OnBeginPlay() { self.itemUI =_EntityService:GetEntityByPath(self.Entity.Path .. "/InventoryPanel/Inventory_ScrollView/item_slot") self.itemUI:SetEnable(false) self.scrollView = _EntityService:GetEntityByPath(self.Entity.Path . [chunk_id] | Guides:1105:1

[task] | knowledge_list [title] | 002_Intro [category] | Guides [rephrased] | * `ReadyCheckUI`는 클라이언트(client)에서 실행되는 `void` 타입의 함수로, 매개변수를 받지 않으며 플레이어의 준비 상태를 확인하여 플레이어 스크롤 패널에 준비 마크의 활성 또는 비활성 상태를 설정합니다. * `IntroTimerUI`는 클라이언트(client)에서 실행되는 `void` 타입의 함수로, 매개변수를 받지 않으며 인트로 단계에서 남은 준비 시간을 UI에 표시하는 역할을 수행합니다. * `PlayerScrollSet`은 클라이언트(client)에서 실행되는 `void` 타입의 함수로, 매개 [original] | | 실행제어 | Type | 이름 | 설명 | | --- | --- | --- | --- | | client | void | ReadyCheckUI | 플레이어의 준비 상태를 확인해 플레이어 스크롤 패널에 준비 마크를 활성/비활성하는 함수입니다. | | client | void | IntroTimerUI | 인트로 남은 준비 시간을 표시해주는 함수입니다. | | client | void | PlayerScrollSet | 매칭 인원을 체크해서, 팀에 맞게 상단 TeamScroll에 플레이어의 아바타 및 닉네임 등 정보를 UI에 갱신 [chunk_id] | Guides:1109:1

[task] | wikipedia [title] | 5. 인벤토리 스크립트 작성 [category] | Guides [rephrased] | 인벤토리 스크립트 작성 단계에서 Entity Event Handler를 추가하는 과정은 총 5단계로 구성되며, 각 단계에서 특정 이벤트를 처리하기 위한 핸들러를 정의합니다. 모든 핸들러는 `[localplayer]` 실행 공간으로 설정되어 로컬 플레이어의 인벤토리 상태를 동기화하거나 업데이트하는 역할을 수행합니다. 첫째, `SimpleInventoryInitializedEvent`를 처리하는 핸들러를 추가합니다. 이 핸들러는 인벤토리가 초기화될 때 호출되며, 이벤트 객체에서 `Meso`와 `ItemStacks` 파라미터를 추출합니 [original] | #### Entity Event Handler 추가 1. `SimpleInventoryInitializedEvent`를 추가합니다. 이벤트 중계자를 localPlayer로 변경합니다. ```lua [localplayer] HandleSimpleInventoryInitializedEvent (SimpleInventoryInitializedEvent event) { -- Parameters local Meso = event.Meso local ItemStacks [chunk_id] | Guides:1105:3

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