[task] | extract_knowledge [title] | CompositeNode [category] | Misc [rephrased] | # CompositeNode `CompositeNode`는 여러 개의 자식 노드(`BTNode`)를 가질 수 있는 행동 트리(Behavior Tree) 노드입니다. 이 노드는 자식 노드들의 실행을 제어하는 역할을 수행합니다. ## 1. 개념 설명 `CompositeNode`는 `BTNode`를 상속받아 동작하며, 단일 노드로서의 실행(`Behave`)과 자식 노드 관리 기능을 모두 제공합니다. 주요 특징은 다음과 같습니다. * **자식 노드 관리**: `AttachChild`, `DetachChild` 등을 통해 자식 노 [original] | 여러 개의 자식 노드를 가질 수 있는 노드입니다. 자식 노드들의 실행을 제어합니다. # Properties - **int32 ChildCount [ReadOnly]** 자식 노드의 개수입니다. ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. [chunk_id] | Misc:454:0
[task] | wikipedia [title] | ResourceObject [category] | Misc [rephrased] | # ResourceObject **ResourceObject**는 MSW(메이플스토리 월드) 환경에서 다양한 리소스를 표현하기 위해 설계된 리소스 추상 클래스입니다. ## 속성(Properties) ResourceObject 클래스는 다음과 같은 읽기 전용(ReadOnly) 속성을 제공합니다. * **IsLoadComplete** (boolean): 리소스가 정상적으로 로딩을 완료했는지를 나타내는 플래그입니다. MSW 내부에서 모든 리소스는 로딩이 완료된 상태에서만 사용이 가능하며, 이 속성을 통해 해당 상태를 확인합니다 [original] | MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. # Properties - **boolean IsLoadComplete [ReadOnly]** 리소스가 정상적으로 로드가 완료됐는지를 확인하는 플래그입니다. MSW 내 모든 리소스는 로드가 완료되어야 사용이 가능합니다. - **string RUID [ReadOnly]** 리소스의 RUID입니다. - **ResourceType Type [ReadOnly]** 이 리소스의 타입입니다. [chunk_id] | Misc:465:0
[task] | distill [title] | ResourceObject [category] | Misc [rephrased] | # ResourceObject MSW 리소스를 추상화한 기본 클래스입니다. 모든 리소스는 `IsLoadComplete`가 `true`일 때만 사용 가능합니다. ## Properties * **boolean IsLoadComplete** `[ReadOnly]` * 리소스 로드 완료 여부 플래그. * **string RUID** `[ReadOnly]` * 리소스 고유 식별자(RUID). * **ResourceType Type** `[ReadOnly]` * 리소스 타입. [original] | MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. # Properties - **boolean IsLoadComplete [ReadOnly]** 리소스가 정상적으로 로드가 완료됐는지를 확인하는 플래그입니다. MSW 내 모든 리소스는 로드가 완료되어야 사용이 가능합니다. - **string RUID [ReadOnly]** 리소스의 RUID입니다. - **ResourceType Type [ReadOnly]** 이 리소스의 타입입니다. [chunk_id] | Misc:465:0
[task] | extract_knowledge [title] | RandomSelectorNode [category] | Misc [rephrased] | # RandomSelectorNode ## 개념 설명 `RandomSelectorNode`는 행동 트리(Behavior Tree)의 복합 노드(Composite Node) 유형 중 하나로, 연결된 자식 노드 중 하나를 무작위로 선택하여 실행하는 역할을 수행합니다. 이 노드는 각 자식 노드에 확률 값을 부여하여 특정 노드가 선택될 가능성을 제어할 수 있습니다. ## API 사용법 ### Properties (속성) `RandomSelectorNode`는 `CompositeNode` 및 `BTNode`에서 상속받은 속성을 포함합니 [original] | 자식 노드 중에 하나를 무작위로 선택해 실행합니다. # Properties ##### inherited from CompositeNode: - **int32 ChildCount [ReadOnly]** 자식 노드의 개수입니다. ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Na [chunk_id] | Misc:457:0
[task] | extract_knowledge [title] | SequenceNode [category] | Misc [rephrased] | # SequenceNode ## 개념 설명 `SequenceNode`는 Behavior Tree(행동 트리)의 컴포짓 노드(Composite Node) 중 하나로, 등록된 자식 노드(Child Node)들을 **순서대로** 실행합니다. 모든 자식 노드가 `Success`를 반환해야만 `SequenceNode` 자체도 `Success`를 반환하며, 자식 노드 중 하나라도 `Failure`를 반환하는 즉시 해당 `SequenceNode`의 실행은 중단되고 `Failure` 상태를 반환합니다. ## API 사용법 ### 생성자 (C [original] | 자식 노드가 Failure를 반환할 때까지 순서대로 실행합니다. # Properties ##### inherited from CompositeNode: - **int32 ChildCount [ReadOnly]** 자식 노드의 개수입니다. ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **st [chunk_id] | Misc:459:0
[task] | knowledge_list [title] | ResourceObject [category] | Misc [rephrased] | 1. `ResourceObject`는 MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. 2. `IsLoadComplete` 속성은 `boolean` 타입이며 `[ReadOnly]` 제약이 적용되어 읽기 전용입니다. 3. `IsLoadComplete` 속성은 리소스가 정상적으로 로드가 완료되었는지를 확인하는 플래그 역할을 합니다. 4. MSW 내 모든 리소스는 `IsLoadComplete`가 `true`가 되어 로드가 완료된 상태에서만 사용이 가능합니다. 5. `RUID` 속성은 `string` 타입이며 `[ReadO [original] | MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. # Properties - **boolean IsLoadComplete [ReadOnly]** 리소스가 정상적으로 로드가 완료됐는지를 확인하는 플래그입니다. MSW 내 모든 리소스는 로드가 완료되어야 사용이 가능합니다. - **string RUID [ReadOnly]** 리소스의 RUID입니다. - **ResourceType Type [ReadOnly]** 이 리소스의 타입입니다. [chunk_id] | Misc:465:0
[task] | diverse_qa [title] | PlayerComponent [category] | Components [rephrased] | 질문: "Check Point"라는 이름의 오브젝트에 닿으면 어떤 일이 발생합니까? 답변: 리스폰 위치가 해당 오브젝트의 위치로 변경됩니다. 질문: "Do Not Touch"라는 이름의 오브젝트에 닿으면 어떤 효과가 있나요? 답변: 플레이어가 죽게 되어 리스폰 위치가 잘 변경되었는지 확인할 수 있습니다. 질문: 다음 코드의 `HandleTriggerEnterEvent` 핸들러는 어떤 실행 공간에서 동작합니까? ```lua [server only] [self] HandleTriggerEnterEvent (TriggerEnterEv [original] | "Check Point"라는 이름의 오브젝트에 닿으면 리스폰 위치를 오브젝트의 위치로 변경합니다. "Do Not Touch"라는 이름의 오브젝트에 닿으면 플레이어가 죽게 하여 리스폰 위치가 잘 변경됐는지 확인합니다. ```lua [server only] [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { -- Parameters local TriggerBodyEntity = event.TriggerBodyEntity ----------------------------- [chunk_id] | Components:462:1
[task] | knowledge_list [title] | TransformComponent [category] | Components [rephrased] | 제시된 문서에 포함된 정보만을 바탕으로 `TransformComponent` 관련 핵심 사실을 정리한 목록입니다. 1. `TransformComponent`의 `ZRotation` 프로퍼티는 `[server only]` 실행 공간에서 `OnUpdate(number delta)` 이벤트 핸들러를 통해 접근 및 수정할 수 있으며, 현재 회전값에 `AngularSpeed * delta`를 더하여 매개변수 `delta`를 기반으로 한 시간 경과에 따른 회전량을 누적시키는 방식으로 Entity의 Z축 회전을 제어합니다. 2. `Transf [original] | 다음은 `ZRotation` 프로퍼티를 이용해 Entity를 일정한 속력으로 회전시키는 예제입니다. ```lua Property: [None] number AngularSpeed = 360 Method: [server only] void OnUpdate (number delta) { local transform = self.Entity.TransformComponent local zRotation = transform.ZRotation transform.ZRotation = zRotation + (self.Angular [chunk_id] | Components:463:1
[task] | distill [title] | PlayerComponent [category] | Components [rephrased] | # PlayerComponent 플레이어를 나타내고 관련 기능을 제공하는 컴포넌트입니다. ## Properties | Property | Type | Flags | Description | | :--- | :--- | :--- | :--- | | `Hp` | `integer` | `[Sync] [HideFromInspector]` | 현재 HP | | `MaxHp` | `integer` | `[Sync]` | 최대 HP | | `Nickname` | `string` | `[Sync] [HideFromInspector]` | 플 [original] | 플레이어를 나타내고, 관련 기능을 제공합니다. # Properties - **integer Hp [Sync] [HideFromInspector]** 현재 Hp입니다. - **integer MaxHp [Sync]** 최대 Hp입니다. - **string Nickname [Sync] [HideFromInspector]** 플레이어의 닉네임입니다. - **string ProfileCode [Sync] [ReadOnly] [HideFromInspector]** 플레이어의 프로필 코드입니다. - **boolean PVPMo [chunk_id] | Components:462:0
[task] | distill [title] | TransformComponent [category] | Components [rephrased] | # TransformComponent 예제 `ZRotation` 프로퍼티 또는 `Rotate` 메서드를 이용해 Entity를 회전시키고, `Translate` 메서드를 이용해 자유낙하를 구현하는 예제입니다. ### 1. 회전 (ZRotation 프로퍼티) `ZRotation` 값을 매 프레임마다 증가시켜 회전시킵니다. ```lua Property: [None] number AngularSpeed = 360 Method: [server only] void OnUpdate (number delta) { local transfo [original] | 다음은 `ZRotation` 프로퍼티를 이용해 Entity를 일정한 속력으로 회전시키는 예제입니다. ```lua Property: [None] number AngularSpeed = 360 Method: [server only] void OnUpdate (number delta) { local transform = self.Entity.TransformComponent local zRotation = transform.ZRotation transform.ZRotation = zRotation + (self.Angular [chunk_id] | Components:463:1
[task] | diverse_qa [title] | ResourceObject [category] | Misc [rephrased] | 질문: ResourceObject 클래스의 주요 목적은 무엇인가요? 답변: MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. 질문: ResourceObject에서 리소스가 정상적으로 로드가 완료되었는지 확인할 수 있는 프로퍼티는 무엇이며, 그 타입은 무엇인가요? 답변: IsLoadComplete 프로퍼티이며, 타입은 boolean입니다. 질문: IsLoadComplete 프로퍼티의 접근 권한은 어떻게 설정되어 있나요? 답변: ReadOnly(읽기 전용)로 설정되어 있습니다. 질문: MSW에서 리소스를 사용하려면 [original] | MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. # Properties - **boolean IsLoadComplete [ReadOnly]** 리소스가 정상적으로 로드가 완료됐는지를 확인하는 플래그입니다. MSW 내 모든 리소스는 로드가 완료되어야 사용이 가능합니다. - **string RUID [ReadOnly]** 리소스의 RUID입니다. - **ResourceType Type [ReadOnly]** 이 리소스의 타입입니다. [chunk_id] | Misc:465:0
[task] | distill [title] | TransformComponent [category] | Components [rephrased] | # TransformComponent 엔티티의 위치, 회전, 크기를 관리합니다. ## Properties | Property | Type | Attributes | Description | | :--- | :--- | :--- | :--- | | `Position` | `Vector3` | `[Sync]` | 부모 기준 좌표 | | `QuaternionRotation` | `Quaternion` | `[Sync]`<br>`[HideFromInspector]` | Quaternion 기반 회전 값 | | `Rotation` | [original] | 엔티티의 위치, 회전, 크기를 나타냅니다. # Properties - **Vector3 Position [Sync]** 엔티티의 부모를 기준으로 좌표를 나타냅니다. - **Quaternion QuaternionRotation [Sync] [HideFromInspector]** 엔티티의 회전 값을 Quaternion으로 나타냅니다. - **Vector3 Rotation** 엔티티의 회전 값을 오일러 각으로 나타냅니다. 2차원에서는 Z축을 이용하여 회전할 수 있습니다. QuaternitonRotation에 의해 동기화됩니 [chunk_id] | Components:463:0
[task] | extract_knowledge [title] | PlayerComponent [category] | Components [rephrased] | # PlayerComponent 리스폰 위치 제어 ## 개념 설명 `PlayerComponent`는 플레이어 엔티티의 상태와 설정을 관리하는 컴포넌트입니다. 이 컴포넌트에는 플레이어가 사망했을 때 부활하는 위치를 정의하는 `RespawnPosition` 속성이 존재합니다. 트리거 영역(Trigger)에 진입하는 이벤트를 통해 특정 조건을 만족하면 `RespawnPosition` 값을 동적으로 변경하여, 플레이어가 해당 지점으로 리스폰되도록 할 수 있습니다. ## API 사용법 * **`PlayerComponent`**: 플레 [original] | "Check Point"라는 이름의 오브젝트에 닿으면 리스폰 위치를 오브젝트의 위치로 변경합니다. "Do Not Touch"라는 이름의 오브젝트에 닿으면 플레이어가 죽게 하여 리스폰 위치가 잘 변경됐는지 확인합니다. ```lua [server only] [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { -- Parameters local TriggerBodyEntity = event.TriggerBodyEntity ----------------------------- [chunk_id] | Components:462:1
[task] | extract_knowledge [title] | ResourceObject [category] | Misc [rephrased] | # ResourceObject ## 개념 설명 `ResourceObject`는 MapleStory Worlds(MSW) 내에서 다양한 리소스를 표현하기 위한 추상 클래스입니다. 이 클래스는 모든 리소스가 공통적으로 갖는 상태와 식별 정보를 제공합니다. MSW의 모든 리소스는 로드가 완료되어야만 사용 가능하며, `ResourceObject`는 이러한 로드 상태를 관리합니다. ## API 사용법 `ResourceObject`는 읽기 전용(ReadOnly) 속성만 노출하며, 직접 수정할 수 있는 프로퍼티는 없습니다. * **`I [original] | MSW의 다양한 리소스를 표현하기 위한 리소스 추상 클래스입니다. # Properties - **boolean IsLoadComplete [ReadOnly]** 리소스가 정상적으로 로드가 완료됐는지를 확인하는 플래그입니다. MSW 내 모든 리소스는 로드가 완료되어야 사용이 가능합니다. - **string RUID [ReadOnly]** 리소스의 RUID입니다. - **ResourceType Type [ReadOnly]** 이 리소스의 타입입니다. [chunk_id] | Misc:465:0
[task] | diverse_qa [title] | PlayerComponent [category] | Components [rephrased] | 질문: PlayerComponent의 `Hp` 속성은 어떤 타입이며, 어떤 플래그가 붙어 있습니까? 답변: `Hp` 속성은 `integer` 타입이며, `[Sync]`와 `[HideFromInspector]` 플래그가 붙어 있습니다. 질문: 플레이어가 죽은 후 리스폰까지 걸리는 시간을 설정하는 속성은 무엇입니까? 답변: `RespawnDuration` 속성입니다. 질문: `RespawnPosition`이 지정되지 않은 경우, 리스폰 위치는 어떤 순서로 결정됩니까? 답변: 1순위로 SpawnLocation의 위치, 2순위로 맵 진 [original] | 플레이어를 나타내고, 관련 기능을 제공합니다. # Properties - **integer Hp [Sync] [HideFromInspector]** 현재 Hp입니다. - **integer MaxHp [Sync]** 최대 Hp입니다. - **string Nickname [Sync] [HideFromInspector]** 플레이어의 닉네임입니다. - **string ProfileCode [Sync] [ReadOnly] [HideFromInspector]** 플레이어의 프로필 코드입니다. - **boolean PVPMo [chunk_id] | Components:462:0
[task] | distill [title] | AttackEvent [category] | Events [rephrased] | **AttackEvent** `AttackComponent`에서 엔티티가 공격할 때 발생하는 이벤트입니다. Server, Client 공간에서 발생합니다. **Properties** * `DefenderEntity` (Entity): 피격자 엔티티. **Constructors** * `AttackEvent(Entity defenderEntity = nil)`: 지정한 값으로 초기화합니다. [original] | 엔티티가 공격할 때 발생하는 이벤트입니다. AttackComponent에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * AttackComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity DefenderEntity** 피격 [chunk_id] | Events:467:0
[task] | wikipedia [title] | AttackEvent [category] | Events [rephrased] | **AttackEvent**는 게임 내 엔티티가 공격 행위를 수행할 때 발생하는 이벤트로, **AttackComponent**를 통해 트리거됩니다. 이 이벤트는 서버(Server)와 클라이언트(Client) 양쪽 환경에서 모두 발생하도록 설계되어 있습니다. AttackEvent 객체는 다음 속성을 포함합니다. * **DefenderEntity**: 공격을 받은 피격자 엔티티를 나타내는 **Entity** 타입의 속성입니다. 생성자(Constructor)를 통해 AttackEvent를 초기화할 수 있으며, 다음과 같은 시그니 [original] | 엔티티가 공격할 때 발생하는 이벤트입니다. AttackComponent에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * AttackComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity DefenderEntity** 피격 [chunk_id] | Events:467:0
[task] | distill [title] | CameraSwitchEvent [category] | Events [rephrased] | **CameraSwitchEvent** 카메라 추적 대상이 전환될 때 발생하는 이벤트입니다. **Client** 공간에서 발생합니다. ### Properties - `CameraComponent PreviousComponent`: 이전 추적 대상. `nil`일 수 있음. - `CameraComponent SwitchedComponent`: 새로운 추적 대상. ### Constructor - `CameraSwitchEvent(CameraComponent previousComponent = nil, CameraComponent sw [original] | 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent PreviousComponent** 이전에 비추던 대상 CameraCompone [chunk_id] | Events:468:0
[task] | knowledge_list [title] | AttackEvent [category] | Events [rephrased] | 1. `AttackEvent`는 엔티티가 공격할 때 발생하며, `AttackComponent`에 의해 트리거되는 이벤트입니다. 2. `AttackEvent`는 `AttackComponent` API에 의해 발생하며, 해당 이벤트는 서버(Server) 및 클라이언트(Client) 양쪽 공간에서 발생합니다. 3. `AttackEvent`의 `DefenderEntity` 프로퍼티는 피격자 엔티티를 나타내며, 타입은 `Entity`입니다. 4. `AttackEvent`의 생성자는 `AttackEvent(Entity defenderEntit [original] | 엔티티가 공격할 때 발생하는 이벤트입니다. AttackComponent에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * AttackComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity DefenderEntity** 피격 [chunk_id] | Events:467:0
[task] | knowledge_list [title] | PlayerComponent [category] | Components [rephrased] | 1. `PlayerComponent`는 플레이어를 나타내고 관련 기능을 제공하는 컴포넌트입니다. 2. `integer Hp` 속성은 `[Sync] [HideFromInspector]` 태그를 가지며 현재 Hp 값을 저장합니다. 3. `integer MaxHp` 속성은 `[Sync]` 태그를 가지며 최대 Hp 값을 저장합니다. 4. `string Nickname` 속성은 `[Sync] [HideFromInspector]` 태그를 가지며 플레이어의 닉네임을 저장합니다. 5. `string ProfileCode` 속성은 `[Sync] [ [original] | 플레이어를 나타내고, 관련 기능을 제공합니다. # Properties - **integer Hp [Sync] [HideFromInspector]** 현재 Hp입니다. - **integer MaxHp [Sync]** 최대 Hp입니다. - **string Nickname [Sync] [HideFromInspector]** 플레이어의 닉네임입니다. - **string ProfileCode [Sync] [ReadOnly] [HideFromInspector]** 플레이어의 프로필 코드입니다. - **boolean PVPMo [chunk_id] | Components:462:0
[task] | wikipedia [title] | TransformComponent [category] | Components [rephrased] | # TransformComponent `TransformComponent`는 엔티티의 위치, 크기, 회전 등 공간적 속성을 관리하는 컴포넌트입니다. 이 문서는 `ZRotation` 프로퍼티를 활용한 회전 제어와 `Rotate`, `Translate` 메서드를 이용한 이동 및 회전 처리에 대한 예시를 다룹니다. ## ZRotation 프로퍼티를 이용한 회전 `ZRotation` 프로퍼티를 직접 조작하여 엔티티를 일정한 각속도로 회전시키는 스크립트는 다음과 같습니다. `AngularSpeed` 프로퍼티에 360을 할당하여 초당 3 [original] | 다음은 `ZRotation` 프로퍼티를 이용해 Entity를 일정한 속력으로 회전시키는 예제입니다. ```lua Property: [None] number AngularSpeed = 360 Method: [server only] void OnUpdate (number delta) { local transform = self.Entity.TransformComponent local zRotation = transform.ZRotation transform.ZRotation = zRotation + (self.Angular [chunk_id] | Components:463:1
[task] | distill [title] | Sprite [category] | Misc [rephrased] | # [Misc] Sprite 이미지 텍스처 바이너리와 피벗, 보더 등 메타 정보를 담는 클래스입니다. ## Properties | Property | Type | Description | | :--- | :--- | :--- | | `Border` | `Vector4` [ReadOnly] | Sliced 렌더링 시 경곗값 | | `Collision` | `RectOffset` [ReadOnly] | 충돌 범위 (AABB) | | `Footholds` | `ReadOnlyList<ReadOnlyList<Vector2Int>>` [original] | MSW의 이미지를 표현하기 위한 메타 정보(피벗, 보더 등)와 이미지의 텍스쳐 바이너리를 담고 있는 클래스입니다. # Properties - **Vector4 Border [ReadOnly]** UI에서 Sprite를 Sliced 방식으로 렌더링할 때 사용하는 경곗값입니다. - **RectOffset Collision [ReadOnly]** 충돌 범위를 표현하는 aabb 박스입니다. - **ReadOnlyList<ReadOnlyList<Vector2Int>> Footholds [ReadOnly]** 엔티티가 올라설 수 [chunk_id] | Misc:466:0
[task] | wikipedia [title] | CameraSwitchEvent [category] | Events [rephrased] | # CameraSwitchEvent **CameraSwitchEvent**는 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 이 이벤트는 `CameraService` API에 의해 발생하며, 발생 공간은 **Client**입니다. ## 속성(Properties) 이벤트 객체는 다음 두 가지 속성을 포함합니다. * **PreviousComponent** (`CameraComponent`): 이전까지 카메라가 비추고 있던 대상 `CameraComponent`를 나타냅니다. 이전 대상이 없었던 경우 `nil` 값이 될 [original] | 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent PreviousComponent** 이전에 비추던 대상 CameraCompone [chunk_id] | Events:468:0
[task] | knowledge_list [title] | CameraSwitchEvent [category] | Events [rephrased] | 1. `CameraSwitchEvent`는 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 2. `CameraSwitchEvent`는 `CameraService` API에 의해 발생하며, 해당 이벤트는 클라이언트 공간(Client)에서 발생합니다. 3. `CameraSwitchEvent`의 프로퍼티 `PreviousComponent`는 타입이 `CameraComponent`이며, 이전에 비추던 대상을 나타내며 값이 `nil`일 수 있습니다. 4. `CameraSwitchEvent`의 프로퍼티 `SwitchedComponen [original] | 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent PreviousComponent** 이전에 비추던 대상 CameraCompone [chunk_id] | Events:468:0
[task] | extract_knowledge [title] | AttackEvent [category] | Events [rephrased] | # AttackEvent ## 1. 개념 설명 `AttackEvent`는 엔티티가 공격 행위를 수행할 때 발생하는 이벤트입니다. 이 이벤트는 `AttackComponent`에서 트리거되며, Server 및 Client 양쪽 공간에서 발생 가능합니다. 이벤트 객체는 피격자를 나타내는 `DefenderEntity` 속성을 포함합니다. ## 2. API 사용법 ### Properties - **DefenderEntity**: `Entity` 타입입니다. 공격을 받은 대상 엔티티를 참조합니다. ### Constructors - ** [original] | 엔티티가 공격할 때 발생하는 이벤트입니다. AttackComponent에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * AttackComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity DefenderEntity** 피격 [chunk_id] | Events:467:0
[task] | diverse_qa [title] | TransformComponent [category] | Components [rephrased] | 질문: `ZRotation` 프로퍼티를 사용하여 Entity를 일정한 속력으로 회전시키기 위해 `OnUpdate` 메서드에서 어떤 계산을 수행합니까? 답변: 현재 `ZRotation` 값에 `AngularSpeed`와 `delta`의 곱을 더하여 `ZRotation`을 업데이트합니다. 질문: 첫 번째 코드 예제에서 `AngularSpeed` 프로퍼티의 초기값은 얼마이며, 이는 어떤 단위를 의미합니까? 답변: 초기값은 360이며, 문서에는 명시적 단위 단위가 주어지지 않았으나 `ZRotation` 값에 직접 더해지는 수치로 사용됩니 [original] | 다음은 `ZRotation` 프로퍼티를 이용해 Entity를 일정한 속력으로 회전시키는 예제입니다. ```lua Property: [None] number AngularSpeed = 360 Method: [server only] void OnUpdate (number delta) { local transform = self.Entity.TransformComponent local zRotation = transform.ZRotation transform.ZRotation = zRotation + (self.Angular [chunk_id] | Components:463:1
[task] | diverse_qa [title] | AttackEvent [category] | Events [rephrased] | 질문: AttackEvent는 언제 발생하는 이벤트인가요? 답변: 엔티티가 공격할 때 발생하는 이벤트입니다. 질문: AttackEvent를 발생하는 컴포넌트는 무엇인가요? 답변: AttackComponent에서 발생합니다. 질문: AttackEvent는 서버(Server)와 클라이언트(Client) 모두에서 발생합니까? 답변: 네, AttackEvent는 Server, Client 공간에서 이벤트가 발생합니다. 질문: AttackEvent의 DefenderEntity 프로퍼티는 어떤 정보를 가리킵니까? 답변: 피격자 엔티티를 [original] | 엔티티가 공격할 때 발생하는 이벤트입니다. AttackComponent에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * AttackComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity DefenderEntity** 피격 [chunk_id] | Events:467:0
[task] | wikipedia [title] | PlayerComponent [category] | Components [rephrased] | # PlayerComponent **PlayerComponent**는 메이플스토리 월드(MapleStory Worlds) 스크립트 언어 mLua에서 플레이어를 나타내고 관련 기능을 제공하는 컴포넌트입니다. 이 컴포넌트는 플레이어의 생명력, 닉네임, PVP 모드 설정, 리스폰 로직, 위치 이동 및 상태 변경(사망, 부활) 등을 관리하는 프로퍼티와 메서드를 제공합니다. ## 프로퍼티 (Properties) PlayerComponent는 자체적으로 정의된 프로퍼티와 상위 클래스인 `Component`에서 상속받은 프로퍼티로 구성됩니 [original] | 플레이어를 나타내고, 관련 기능을 제공합니다. # Properties - **integer Hp [Sync] [HideFromInspector]** 현재 Hp입니다. - **integer MaxHp [Sync]** 최대 Hp입니다. - **string Nickname [Sync] [HideFromInspector]** 플레이어의 닉네임입니다. - **string ProfileCode [Sync] [ReadOnly] [HideFromInspector]** 플레이어의 프로필 코드입니다. - **boolean PVPMo [chunk_id] | Components:462:0
[task] | diverse_qa [title] | CameraSwitchEvent [category] | Events [rephrased] | 질문: CameraSwitchEvent는 어떤 상황에서 발생하는 이벤트인가요? 답변: 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 질문: CameraSwitchEvent를 발생시키는 서비스는 무엇이며, 해당 이벤트는 어떤 공간에서 발생하나요? 답변: CameraService에 의해 발생하며, Client 공간에서 이벤트가 발생합니다. 질문: CameraSwitchEvent의 PreviousComponent 속성이 nil일 수 있는 이유는 무엇인가요? 답변: 문서에 명시된 바와 같이 이전에 비추던 대상 CameraCo [original] | 카메라가 비추는 대상이 전환될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent PreviousComponent** 이전에 비추던 대상 CameraCompone [chunk_id] | Events:468:0
[task] | diverse_qa [title] | Sprite [category] | Misc [rephrased] | 질문: MSW에서 이미지를 표현하기 위해 메타 정보와 텍스처 바이너리를 담고 있는 클래스의 이름은 무엇인가요? 답변: Sprite 클래스입니다. 질문: Sprite의 Border 프로퍼티는 어떤 렌더링 방식에서 사용되며, 어떤 값을 담고 있나요? 답변: UI에서 Sprite를 Sliced 방식으로 렌더링할 때 사용하는 경곗값을 담고 있습니다. 질문: Sprite의 Collision 프로퍼티는 어떤 기하학적 형태로 충돌 범위를 표현하나요? 답변: aabb 박스 형태로 충돌 범위를 표현합니다. 질문: 엔티티가 올라설 수 있는 발판 [original] | MSW의 이미지를 표현하기 위한 메타 정보(피벗, 보더 등)와 이미지의 텍스쳐 바이너리를 담고 있는 클래스입니다. # Properties - **Vector4 Border [ReadOnly]** UI에서 Sprite를 Sliced 방식으로 렌더링할 때 사용하는 경곗값입니다. - **RectOffset Collision [ReadOnly]** 충돌 범위를 표현하는 aabb 박스입니다. - **ReadOnlyList<ReadOnlyList<Vector2Int>> Footholds [ReadOnly]** 엔티티가 올라설 수 [chunk_id] | Misc:466:0