[task] | distill [title] | AIComponent [category] | Components [rephrased] | # [Components] AIComponent 몬스터 AI 로직 구현 시 `AIComponent`를 상속(Extend)하여 사용하며, static 몬스터에 추가합니다. ## 핵심 API 및 구조 - **행동 트리(Behavior Tree) 구성**: - `SelectorNode(name)`: 자식 노드 중 하나라도 성공하면 성공. - `SequenceNode(name)`: 모든 자식 노드가 성공해야 성공. - `self:CreateLeafNode(name, func)`: 리프 노드 생성. - `node:Attac [original] | 몬스터가 잠을 자다가 플레이어가 다가오면 다가오지 말라고 말하는 예제입니다. AIComponent를 Extend해 사용합니다. 작성한 스크립트 컴포넌트를 static 몬스터에 추가해 사용합니다. ```lua Property: [Sync] number DetectDistance = 4 Method: [server only] void OnBeginPlay () { local chatBallon = self.Entity.ChatBalloonComponent if chatBallon == nil then chatBallon = [chunk_id] | Components:361:1
[task] | wikipedia [title] | StateComponent [category] | Components [rephrased] | # StateComponent **StateComponent**는 엔티티의 현재 상태(State)를 `ChatBalloonComponent`를 통해 시각적으로 표시하도록 도와주는 스크립트 컴포넌트입니다. 이 컴포넌트는 서버 측에서만 동작하며, 엔티티의 상태 이름이 변경될 때마다 채팅풍선(채팅버블)에 해당 텍스트가 노출되도록 설정합니다. ## 동작 원리 이 컴포넌트는 `OnBeginPlay` 이벤트와 `OnUpdate` 메서드를 통해 동작을 제어합니다. 1. **초기화 (`OnBeginPlay`)**: * 엔티티에 [original] | 엔티티의 현재 State를 ChatBalloon을 통해 표시해주는 컴포넌트입니다. ```lua Method: [server only] void OnBeginPlay () { local state = self.Entity.StateComponent if state == nil then state = self.Entity:AddComponent("StateComponent") end local chatBalloon = self.Entity.ChatBalloonComponent if chatBalloon == nil [chunk_id] | Components:363:1
[task] | diverse_qa [title] | AIComponent [category] | Components [rephrased] | 질문: 이 예제 스크립트의 주요 목적은 무엇인가요? 답변: 몬스터가 잠을 자다가 플레이어가 특정 거리 내에 다가오면 "Don't come!"이라고 말하는 동작을 구현하는 것입니다. 질문: 이 스크립트는 어떤 컴포넌트를 Extend하여 사용해야 하나요? 답변: AIComponent를 Extend하여 사용합니다. 질문: 작성된 스크립트 컴포넌트는 어떤 대상에 추가해 사용하나요? 답변: static 몬스터에 추가해 사용합니다. 질문: DetectDistance 속성의 초기값과 동기화(Sync) 설정은 어떻게 되어 있나요? 답변: 초 [original] | 몬스터가 잠을 자다가 플레이어가 다가오면 다가오지 말라고 말하는 예제입니다. AIComponent를 Extend해 사용합니다. 작성한 스크립트 컴포넌트를 static 몬스터에 추가해 사용합니다. ```lua Property: [Sync] number DetectDistance = 4 Method: [server only] void OnBeginPlay () { local chatBallon = self.Entity.ChatBalloonComponent if chatBallon == nil then chatBallon = [chunk_id] | Components:361:1
[task] | diverse_qa [title] | DamageSkinSpawnerComponent [category] | Components [rephrased] | 질문: DamageSkinSpawnerComponent의 주요 기능은 무엇인가요? 답변: Entity에 피격 이벤트가 발생했을 때 대미지 스킨을 출력하는 기능입니다. 질문: DamageSkinSpawnerComponent에서 대미지 스킨이 출력되는 위치를 설정하는 속성은 무엇인가요? 답변: Vector2 타입의 DamageSkinOffset 속성입니다. 질문: DamageSkinOffset 속성은 동기화(Sync) 속성인가요? 답변: 네, DamageSkinOffset은 [Sync] 속성입니다. 질문: Component에서 상 [original] | Entity에 피격 이벤트가 발생했을 때 대미지 스킨을 출력합니다. # Properties - **Vector2 DamageSkinOffset [Sync]** 대미지 스킨이 출력되는 위치를 설정합니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니 [chunk_id] | Components:362:0
[task] | knowledge_list [title] | StateComponent [category] | Components [rephrased] | 1. StateComponent는 엔티티의 현재 State를 ChatBalloon을 통해 표시해주는 컴포넌트입니다. 2. `OnBeginPlay` 메서드는 `[server only]` 실행 공간에서 동작하며, 반환 타입은 `void` 입니다. 3. `OnBeginPlay` 메서드는 매개변수가 없으며, `self.Entity.StateComponent` 가 `nil` 이면 `self.Entity:AddComponent("StateComponent")` 를 호출하여 컴포넌트를 추가합니다. 4. `OnBeginPlay` 메서드는 `sel [original] | 엔티티의 현재 State를 ChatBalloon을 통해 표시해주는 컴포넌트입니다. ```lua Method: [server only] void OnBeginPlay () { local state = self.Entity.StateComponent if state == nil then state = self.Entity:AddComponent("StateComponent") end local chatBalloon = self.Entity.ChatBalloonComponent if chatBalloon == nil [chunk_id] | Components:363:1
[task] | diverse_qa [title] | StateComponent [category] | Components [rephrased] | 질문: StateComponent의 주요 기능은 무엇인가요? 답변: StateComponent는 엔티티의 현재 State를 ChatBalloon을 통해 표시해주는 컴포넌트입니다. 질문: 아래 코드는 어떤 상황에서 실행되며, 어떤 컴포넌트들을 초기화합니까? ```lua [server only] void OnBeginPlay () { local state = self.Entity.StateComponent if state == nil then state = self.Entity:AddComponent("StateComponen [original] | 엔티티의 현재 State를 ChatBalloon을 통해 표시해주는 컴포넌트입니다. ```lua Method: [server only] void OnBeginPlay () { local state = self.Entity.StateComponent if state == nil then state = self.Entity:AddComponent("StateComponent") end local chatBalloon = self.Entity.ChatBalloonComponent if chatBalloon == nil [chunk_id] | Components:363:1
[task] | knowledge_list [title] | AIComponent [category] | Components [rephrased] | 제공된 문서에 포함된 정보만 기반으로 `AIComponent` 사용 예제의 핵심 사실과 API 명세를 정리한 목록입니다. 1. `AIComponent`는 몬스터가 플레이어를 감지하여 행동하는 AI 로직을 구현하기 위해 `Extend`하여 사용하며, 작성된 스크립트 컴포넌트는 `static` 타입의 몬스터 엔티티에 추가하여 적용해야 합니다. 2. `[Sync]` 속성으로 선언된 `number` 타입의 `DetectDistance` 프로퍼티는 플레이어 감지 거리를 제어하며, 기본값은 `4`입니다. 3. `[server only] [original] | 몬스터가 잠을 자다가 플레이어가 다가오면 다가오지 말라고 말하는 예제입니다. AIComponent를 Extend해 사용합니다. 작성한 스크립트 컴포넌트를 static 몬스터에 추가해 사용합니다. ```lua Property: [Sync] number DetectDistance = 4 Method: [server only] void OnBeginPlay () { local chatBallon = self.Entity.ChatBalloonComponent if chatBallon == nil then chatBallon = [chunk_id] | Components:361:1
[task] | diverse_qa [title] | StateComponent [category] | Components [rephrased] | 질문: StateComponent의 주요 기능은 무엇인가요? 답변: 사용자 정의 StateType, ConditionType 혹은 StateSet을 사용해 상태별 행동과 전이 규칙을 정의하고 제어하는 기능을 제공합니다. 질문: CurrentStateName 프로퍼티의 데이터 타입과 속성은 무엇인가요? 답변: CurrentStateName은 string 타입이며, [Sync], [ReadOnly], [HideFromInspector] 속성을 가집니다. 질문: IsLegacy 프로퍼티를 설정하면 어떤 부분에 영향을 미치나요? 답변: [original] | 사용자 정의 StateType, ConditionType 혹은 StateSet을 사용해 상태별 행동과 전이 규칙을 정의, 제어하는 기능을 제공합니다. # Properties - **string CurrentStateName [Sync] [ReadOnly] [HideFromInspector]** 현재 상태의 이름을 얻어올 수 있습니다. - **boolean IsLegacy [ReadOnly]** 이 Component가 이전의 시스템으로 동작할지를 설정합니다. 설정에 따라 상태의 전이 및 StateType과 Condition [chunk_id] | Components:363:0
[task] | wikipedia [title] | StateComponent [category] | Components [rephrased] | # StateComponent StateComponent는 사용자 정의 StateType, ConditionType 또는 StateSet을 활용하여 상태별 행동과 전이 규칙을 정의하고 제어하는 기능을 제공합니다. 이 컴포넌트는 게임 내 캐릭터나 객체의 상태 머신(State Machine)을 관리하는 데 사용됩니다. ## 속성(Properties) StateComponent는 다음 고유 속성들을 제공합니다. **CurrentStateName** 속성은 현재 상태의 이름을 문자열(string) 형태로 반환하며, [Sync], [ [original] | 사용자 정의 StateType, ConditionType 혹은 StateSet을 사용해 상태별 행동과 전이 규칙을 정의, 제어하는 기능을 제공합니다. # Properties - **string CurrentStateName [Sync] [ReadOnly] [HideFromInspector]** 현재 상태의 이름을 얻어올 수 있습니다. - **boolean IsLegacy [ReadOnly]** 이 Component가 이전의 시스템으로 동작할지를 설정합니다. 설정에 따라 상태의 전이 및 StateType과 Condition [chunk_id] | Components:363:0
[task] | knowledge_list [title] | StateComponent [category] | Components [rephrased] | ```lua -- 핵심 사실 목록 ``` 1. `StateComponent`는 사용자 정의 `StateType`, `ConditionType` 또는 `StateSet`을 사용하여 상태별 행동과 전이 규칙을 정의하고 제어하는 기능을 제공합니다. 2. `CurrentStateName` 속성은 `[Sync]`, `[ReadOnly]`, `[HideFromInspector]` 특성을 가지며, 현재 상태의 이름을 `string` 타입으로 반환합니다. 3. `IsLegacy` 속성은 `[ReadOnly]` 특성을 가지며, `boolean` [original] | 사용자 정의 StateType, ConditionType 혹은 StateSet을 사용해 상태별 행동과 전이 규칙을 정의, 제어하는 기능을 제공합니다. # Properties - **string CurrentStateName [Sync] [ReadOnly] [HideFromInspector]** 현재 상태의 이름을 얻어올 수 있습니다. - **boolean IsLegacy [ReadOnly]** 이 Component가 이전의 시스템으로 동작할지를 설정합니다. 설정에 따라 상태의 전이 및 StateType과 Condition [chunk_id] | Components:363:0
[task] | distill [title] | NameTagComponent [category] | Components [rephrased] | # NameTagComponent 엔티티의 이름표 표시 및 스타일 설정을 담당하는 컴포넌트입니다. ## Properties | Property | Type | Attributes | Description | | :--- | :--- | :--- | :--- | | `Bold` | `boolean` | `[Sync]` | 굵은 텍스트 사용 여부 | | `FontColor` | `Color` | `[Sync]` | 글자 색상 | | `FontOffset` | `Vector2` | `[Sync]` | 이름표 내 글자 위치 상하좌우 [original] | 엔티티 이름표를 표시하고 관련 정보들을 설정합니다. # Properties - **boolean Bold [Sync]** 굵은 텍스트 사용 여부를 설정합니다. - **Color FontColor [Sync]** 글자색을 변경합니다. - **Vector2 FontOffset [Sync]** 이름표 내 글자 위치를 상하좌우로 조정합니다. - **float FontSize [Sync]** 글자 크기를 설정합니다. - **string Name [Sync]** 이름표에 표시할 이름을 설정합니다. - **DataRef N [chunk_id] | Components:364:0
[task] | extract_knowledge [title] | DamageSkinSpawnerComponent [category] | Components [rephrased] | # DamageSkinSpawnerComponent `DamageSkinSpawnerComponent`는 엔티티(Entity)에 피격 이벤트가 발생했을 때 대미지 스킨을 출력하는 역할을 담당하는 컴포넌트입니다. 이 컴포넌트는 `HitComponent`와 `TransformComponent`의 정보(예: 충돌 박스 크기, 오프셋, 스케일)를 기반으로 대미지 스킨이 표시될 위치를 계산하고 설정하는 데 주로 사용됩니다. ## 1. 개념 설명 피격 시 나타나는 대미지 숫자나 이펙트(스킨)는 단순히 엔티티의 중심점이나 고정된 위치에 출 [original] | Entity에 피격 이벤트가 발생했을 때 대미지 스킨을 출력합니다. # Properties - **Vector2 DamageSkinOffset [Sync]** 대미지 스킨이 출력되는 위치를 설정합니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니 [chunk_id] | Components:362:0
[task] | distill [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | ## YoutubePlayerGUIComponent YouTube URL을 입력하여 특정 키로 재생/정지/이동/토글을 제어하는 컴포넌트입니다. ### 핵심 API * **속성**: `Urls` (string[]): 재생할 YouTube 영상 URL 배열. * **메서드**: * `Play()`: 재생 시작. * `Pause()`: 일시 정지. * `Jump(number)`: 지정된 초 단위로 이동. * `PlayPause()`: 재생/일시정지 상태 토글. ### 코드 예제 클라 [original] | 재생하고 싶은 Youtube 영상 url을 입력하고, 특정 키를 눌러 영상 재생시키고 정지시키는 예제입니다. ```lua Property: [None] YoutubePlayerGUIComponent youtubePlayer = nil Method: [client only] void OnBeginPlay () { self.youtubePlayer = self.Entity.YoutubePlayerGUIComponent self.youtubePlayer.Urls = {"Http://WebUrl"} } Event Handler: [chunk_id] | Components:365:1
[task] | wikipedia [title] | NameTagComponent [category] | Components [rephrased] | # NameTagComponent **NameTagComponent**는 엔티티(객체) 위에 표시되는 이름표(Name Tag)를 관리하고, 이름표의 텍스트 내용과 시각적 속성을 설정하기 위한 컴포넌트입니다. 이 컴포넌트를 통해 이름표에 표시할 이름, 글자 색, 크기, 위치 오프셋, 굵기 등 다양한 표시 옵션을 제어할 수 있습니다. ## 속성(Properties) NameTagComponent는 이름표의 시각적 표현을 제어하는 고유 속성들과, 모든 컴포넌트가 기본적으로 상속받는 속성들을 포함합니다. ### 고유 속성 * [original] | 엔티티 이름표를 표시하고 관련 정보들을 설정합니다. # Properties - **boolean Bold [Sync]** 굵은 텍스트 사용 여부를 설정합니다. - **Color FontColor [Sync]** 글자색을 변경합니다. - **Vector2 FontOffset [Sync]** 이름표 내 글자 위치를 상하좌우로 조정합니다. - **float FontSize [Sync]** 글자 크기를 설정합니다. - **string Name [Sync]** 이름표에 표시할 이름을 설정합니다. - **DataRef N [chunk_id] | Components:364:0
[task] | knowledge_list [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | * `YoutubePlayerGUIComponent` 컴포넌트는 `[None]` 동기화 속성으로 선언되며, 해당 엔티티의 `YoutubePlayerGUIComponent` 프로퍼티를 참조하기 위해 `self.Entity.YoutubePlayerGUIComponent`를 통해 접근합니다. * `OnBeginPlay` 메서드는 `[client only]` 실행 공간에서 동작하며, 클라이언트에서 게임 시작 시점에 유튜브 플레이어 컴포넌트를 초기화하고 재생할 영상 URL 목록을 설정합니다. * `YoutubePlayerGUICo [original] | 재생하고 싶은 Youtube 영상 url을 입력하고, 특정 키를 눌러 영상 재생시키고 정지시키는 예제입니다. ```lua Property: [None] YoutubePlayerGUIComponent youtubePlayer = nil Method: [client only] void OnBeginPlay () { self.youtubePlayer = self.Entity.YoutubePlayerGUIComponent self.youtubePlayer.Urls = {"Http://WebUrl"} } Event Handler: [chunk_id] | Components:365:1
[task] | distill [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | # YoutubePlayerGUIComponent UI에서 YouTube 영상을 재생하는 컴포넌트입니다. ## Properties ### YoutubePlayerGUIComponent * **boolean IgnoreMapLayerCheck [Sync]**: `SortingLayer`에 Map Layer 이름이 지정되어 있어도 자동 치환을 수행하지 않습니다. * **int32 OrderInLayer [Sync]**: 같은 Layer 내 우선순위. 값이 클수록 앞에 보입니다. * **boolean OverrideSor [original] | Youtube 영상을 UI에서 재생하는 기능을 제공합니다. # Properties - **boolean IgnoreMapLayerCheck [Sync]** SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다. - **int32 OrderInLayer [Sync]** 같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다. - **boolean OverrideSorting [Sync] [ReadOnly]** SortingLayer 및 OrderInLayer 값을 [chunk_id] | Components:365:0
[task] | extract_knowledge [title] | StateComponent [category] | Components [rephrased] | # StateComponent `StateComponent`는 사용자 정의 `StateType`, `ConditionType`, 또는 `StateSet`을 활용하여 엔티티의 상태별 행동과 전이 규칙을 정의하고 제어하는 컴포넌트입니다. ## 1. 개념 설명 `StateComponent`는 엔티티의 상태 머신(State Machine)을 관리합니다. - **상태(State)**: 엔티티가 가질 수 있는 동작 모드를 정의합니다. - **전이(Transition)**: 한 상태에서 다른 상태로 넘어가는 규칙입니다. - **StateS [original] | 사용자 정의 StateType, ConditionType 혹은 StateSet을 사용해 상태별 행동과 전이 규칙을 정의, 제어하는 기능을 제공합니다. # Properties - **string CurrentStateName [Sync] [ReadOnly] [HideFromInspector]** 현재 상태의 이름을 얻어올 수 있습니다. - **boolean IsLegacy [ReadOnly]** 이 Component가 이전의 시스템으로 동작할지를 설정합니다. 설정에 따라 상태의 전이 및 StateType과 Condition [chunk_id] | Components:363:0
[task] | wikipedia [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | # YoutubePlayerGUIComponent **YoutubePlayerGUIComponent**은 메이플스토리 월드(MapleStory Worlds)의 mLua 스크립트 환경에서 유튜브 영상을 재생, 일시정지, 이동(점프) 및 재생/일시정지 전환을 제어하기 위한 GUI 컴포넌트입니다. 이 컴포넌트는 클라이언트 공간에서 동작하며, 특정 키 입력 이벤트를 통해 영상의 재생 상태를 변경하는 데 사용할 수 있습니다. ## 주요 속성 및 메서드 컴포넌트에서 사용할 수 있는 주요 속성과 메서드는 다음과 같습니다. * **Ur [original] | 재생하고 싶은 Youtube 영상 url을 입력하고, 특정 키를 눌러 영상 재생시키고 정지시키는 예제입니다. ```lua Property: [None] YoutubePlayerGUIComponent youtubePlayer = nil Method: [client only] void OnBeginPlay () { self.youtubePlayer = self.Entity.YoutubePlayerGUIComponent self.youtubePlayer.Urls = {"Http://WebUrl"} } Event Handler: [chunk_id] | Components:365:1
[task] | knowledge_list [title] | NameTagComponent [category] | Components [rephrased] | ```lua -- NameTagComponent: 엔티티 이름표 표시 및 관련 정보 설정을 담당하는 컴포넌트입니다. ``` - `NameTagComponent`는 엔티티의 이름표를 표시하고, 이름, 색상, 크기, 위치 등 관련 정보를 설정하기 위한 컴포넌트입니다. - `NameTagComponent`의 `Bold` 속성은 `boolean` 타입이며 `[Sync]` 플래그를 가지고 있어, 굵은 텍스트 사용 여부를 설정하며 클라이언트와 서버 간 동기화됩니다. - `NameTagComponent`의 `FontColor` 속성은 `Col [original] | 엔티티 이름표를 표시하고 관련 정보들을 설정합니다. # Properties - **boolean Bold [Sync]** 굵은 텍스트 사용 여부를 설정합니다. - **Color FontColor [Sync]** 글자색을 변경합니다. - **Vector2 FontOffset [Sync]** 이름표 내 글자 위치를 상하좌우로 조정합니다. - **float FontSize [Sync]** 글자 크기를 설정합니다. - **string Name [Sync]** 이름표에 표시할 이름을 설정합니다. - **DataRef N [chunk_id] | Components:364:0
[task] | wikipedia [title] | AIComponent [category] | Components [rephrased] | # AIComponent **AIComponent**는 몬스터의 인공지능(AI) 동작을 제어하기 위한 스크립트 컴포넌트입니다. 이 컴포넌트를 상속(Extend)하여 사용하며, 작성한 스크립트 컴포넌트를 정적(static) 몬스터 엔티티에 추가하여 적용합니다. 본 문서의 예제는 플레이어가 특정 거리 내에 접근할 경우, 잠을 자던 몬스터가 깨어나서 플레이어를 향해 "다가오지 말라"고 말하게 하는 시나리오를 구현하고 있습니다. ## 동작 원리 및 구현 예제 스크립트는 `AIComponent`를 확장하여 작성되며, 주요 구성 요소는 [original] | 몬스터가 잠을 자다가 플레이어가 다가오면 다가오지 말라고 말하는 예제입니다. AIComponent를 Extend해 사용합니다. 작성한 스크립트 컴포넌트를 static 몬스터에 추가해 사용합니다. ```lua Property: [Sync] number DetectDistance = 4 Method: [server only] void OnBeginPlay () { local chatBallon = self.Entity.ChatBalloonComponent if chatBallon == nil then chatBallon = [chunk_id] | Components:361:1
[task] | diverse_qa [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | 질문: YoutubePlayerGUIComponent의 주요 기능은 무엇인가요? 답변: YoutubePlayerGUIComponent는 UI에서 Youtube 영상을 재생하는 기능을 제공합니다. 질문: IgnoreMapLayerCheck 속성이 true로 설정되면 어떤 동작이 수행되나요? 답변: SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다. 질문: OrderInLayer 속성 값이 클수록 화면에서 어떻게 표시되나요? 답변: 같은 Layer 내의 우선순위를 결정하며, 수가 클수록 앞 [original] | Youtube 영상을 UI에서 재생하는 기능을 제공합니다. # Properties - **boolean IgnoreMapLayerCheck [Sync]** SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다. - **int32 OrderInLayer [Sync]** 같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다. - **boolean OverrideSorting [Sync] [ReadOnly]** SortingLayer 및 OrderInLayer 값을 [chunk_id] | Components:365:0
[task] | distill [title] | WebSpriteComponent [category] | Components [rephrased] | # WebSpriteComponent 웹에서 스프라이트를 로드하여 출력합니다. ## Properties * **List<string> AnimationUrl** 1초 간격으로 순서대로 출력하는 URL 목록. 1개 이상 지정 시 `Url` 프로퍼티는 무시됩니다. * **Color Color [Sync]** 스프라이트에 적용할 색상. * **boolean FlipX [Sync]** / **boolean FlipY [Sync]** X축/Y축 기준 반전 여부. * **boolean IgnoreMap [original] | Web에서 받아온 스프라이트를 출력하는 기능을 제공합니다. # Properties - **List<string> AnimationUrl** 여러 개의 Url을 지정해 스프라이트를 1초 간격으로 순서대로 출력합니다. 스프라이트 Url을 한 개 이상 지정할 경우 Url 프로퍼티는 무시되고 AnimationUrl의 스프라이트가 출력됩니다. - **Color Color [Sync]** 스프라이트에 색깔을 덧씌웁니다. - **boolean FlipX [Sync]** 스프라이트의 X축을 기준으로 반전 여부를 결정합니다. - ** [chunk_id] | Components:366:0
[task] | extract_knowledge [title] | NameTagComponent [category] | Components [rephrased] | # NameTagComponent `NameTagComponent`는 엔티티 위에 이름표를 표시하고, 이름, 색상, 크기, 위치 등 이름표의 시각적 속성을 제어하는 컴포넌트입니다. ## 1. 개념 설명 이 컴포넌트는 엔티티의 식별 정보를 화면에 렌더링하는 데 사용됩니다. 대부분의 속성은 `[Sync]` 플래그를 가지므로, 서버에서 값을 변경하면 클라이언트로 동기화되어 화면에 반영됩니다. `NameTagRUID`만 `DataRef` 타입으로, 서버 동기화 대상이 아닌 리소스 참조 역할을 합니다. ## 2. API 사용법 ## [original] | 엔티티 이름표를 표시하고 관련 정보들을 설정합니다. # Properties - **boolean Bold [Sync]** 굵은 텍스트 사용 여부를 설정합니다. - **Color FontColor [Sync]** 글자색을 변경합니다. - **Vector2 FontOffset [Sync]** 이름표 내 글자 위치를 상하좌우로 조정합니다. - **float FontSize [Sync]** 글자 크기를 설정합니다. - **string Name [Sync]** 이름표에 표시할 이름을 설정합니다. - **DataRef N [chunk_id] | Components:364:0
[task] | diverse_qa [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | 질문: 이 문서의 예제 스크립트는 어떤 기능을 수행하나요? 답변: Youtube 영상 URL을 입력하고, 특정 키를 눌러 영상의 재생, 정지, 이동, 재생/정지 토글을 제어하는 기능을 수행합니다. 질문: YoutubePlayerGUIComponent를 참조하기 위한 Property 블록에서 변수의 타입과 초기값은 무엇인가요? 답변: 변수의 타입은 `YoutubePlayerGUIComponent`이며, 초기값은 `nil`입니다. 질문: `OnBeginPlay` 메서드의 실행 공간은 어디인가요? 답변: `[client only]` [original] | 재생하고 싶은 Youtube 영상 url을 입력하고, 특정 키를 눌러 영상 재생시키고 정지시키는 예제입니다. ```lua Property: [None] YoutubePlayerGUIComponent youtubePlayer = nil Method: [client only] void OnBeginPlay () { self.youtubePlayer = self.Entity.YoutubePlayerGUIComponent self.youtubePlayer.Urls = {"Http://WebUrl"} } Event Handler: [chunk_id] | Components:365:1
[task] | diverse_qa [title] | NameTagComponent [category] | Components [rephrased] | 질문: `NameTagComponent`의 주요 용도는 무엇인가요? 답변: 엔티티 이름표를 표시하고 관련 정보들을 설정하는 용도로 사용됩니다. 질문: 이름표 텍스트를 굵게 표시하려면 어떤 프로퍼티를 설정해야 하나요? 답변: `Bold` 프로퍼티를 설정해야 합니다. 질문: `FontColor` 프로퍼티의 데이터 타입은 무엇이며, 어떤 기능을 하나요? 답변: 데이터 타입은 `Color`이며, 글자색을 변경하는 기능을 합니다. 질문: 이름표 내 글자의 위치를 상하좌우로 조정하려면 어떤 프로퍼티를 사용해야 하나요? 답변: `FontO [original] | 엔티티 이름표를 표시하고 관련 정보들을 설정합니다. # Properties - **boolean Bold [Sync]** 굵은 텍스트 사용 여부를 설정합니다. - **Color FontColor [Sync]** 글자색을 변경합니다. - **Vector2 FontOffset [Sync]** 이름표 내 글자 위치를 상하좌우로 조정합니다. - **float FontSize [Sync]** 글자 크기를 설정합니다. - **string Name [Sync]** 이름표에 표시할 이름을 설정합니다. - **DataRef N [chunk_id] | Components:364:0
[task] | extract_knowledge [title] | StateComponent [category] | Components [rephrased] | # StateComponent `StateComponent`는 엔티티의 현재 상태(`State`)를 `ChatBalloon` 컴포넌트를 통해 시각적으로 표시하기 위한 컴포넌트입니다. 이 컴포넌트 자체는 상태를 직접 변경하지 않으며, 엔티티에 이미 존재하거나 다른 로직에 의해 설정된 `StateComponent`의 값을 읽어 `ChatBalloonComponent`에 전달하는 역할을 수행합니다. ## 개념 설명 `StateComponent`는 엔티티의 논리적 상태(예: "Idle", "Moving", "Attacking")를 관 [original] | 엔티티의 현재 State를 ChatBalloon을 통해 표시해주는 컴포넌트입니다. ```lua Method: [server only] void OnBeginPlay () { local state = self.Entity.StateComponent if state == nil then state = self.Entity:AddComponent("StateComponent") end local chatBalloon = self.Entity.ChatBalloonComponent if chatBalloon == nil [chunk_id] | Components:363:1
[task] | extract_knowledge [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | # YoutubePlayerGUIComponent 사용법 ## 1. 개념 설명 `YoutubePlayerGUIComponent`는 메이플스토리 월드에서 YouTube 영상을 재생, 정지, 탐색(Jump) 및 재생/정지 토글을 제어하기 위한 컴포넌트입니다. 이 컴포넌트는 클라이언트 공간(`[client only]`)에서 주로 동작하며, 사용자의 입력 이벤트(키보드 등)에 반응하여 영상 상태를 변경합니다. ## 2. API 사용법 `YoutubePlayerGUIComponent`는 엔티티의 프로퍼티로 접근하며, 다음과 같은 주요 메 [original] | 재생하고 싶은 Youtube 영상 url을 입력하고, 특정 키를 눌러 영상 재생시키고 정지시키는 예제입니다. ```lua Property: [None] YoutubePlayerGUIComponent youtubePlayer = nil Method: [client only] void OnBeginPlay () { self.youtubePlayer = self.Entity.YoutubePlayerGUIComponent self.youtubePlayer.Urls = {"Http://WebUrl"} } Event Handler: [chunk_id] | Components:365:1
[task] | wikipedia [title] | YoutubePlayerGUIComponent [category] | Components [rephrased] | # YoutubePlayerGUIComponent `YoutubePlayerGUIComponent`는 맵 스크립트에서 YouTube 영상을 사용자 인터페이스(UI)를 통해 재생하는 기능을 제공하는 컴포넌트입니다. 이 컴포넌트는 `YoutubePlayerCommonComponent`와 `Component`에서 상속된 속성, 메서드, 이벤트를 포함하며, GUI 전용인 정렬 관련 속성을 추가로 제공합니다. ## 속성(Properties) ### 자체 속성 * **IgnoreMapLayerCheck** (`boolean`, `[ [original] | Youtube 영상을 UI에서 재생하는 기능을 제공합니다. # Properties - **boolean IgnoreMapLayerCheck [Sync]** SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다. - **int32 OrderInLayer [Sync]** 같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다. - **boolean OverrideSorting [Sync] [ReadOnly]** SortingLayer 및 OrderInLayer 값을 [chunk_id] | Components:365:0
[task] | distill [title] | TagComponent [category] | Components [rephrased] | # TagComponent 엔티티에 태그를 지정하여 `EntityService`를 통해 조회할 수 있는 컴포넌트입니다. ## Properties - **SyncList\<string\> Tags [Sync]**: 지정된 태그 리스트. ## Methods - **void AddTag(string tag)**: 태그 추가. - **void RemoveTag(string tag)**: 태그 제거. ## Example 트리거 진입 시 `Qualified` 태그를 부여하고, 10초 후 해당 태그를 가진 엔티티의 이름표를 변경하는 예제 [original] | 엔티티에 태그를 지정합니다. EntityService를 이용하면 태그를 이용해 엔티티를 조회할 수 있습니다. # Properties - **SyncList<string> Tags [Sync]** 태그 리스트를 설정합니다. 여러 개의 태그를 지정할 수 있습니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계 [chunk_id] | Components:368:0
[task] | knowledge_list [title] | StateAnimationComponent [category] | Components [rephrased] | 1. `StateAnimationComponent`는 상태 변화에 따라 재생될 애니메이션을 지정하는 역할을 수행하는 컴포넌트입니다. 2. `ActionSheet` 속성은 `SyncDictionary<string, string>` 타입이며, `[Sync]` 속성을 가져 서버와 클라이언트 간에 동기화되는 애니메이션 이름과 AnimationClip RUID의 매핑 테이블입니다. 3. `Enable` 속성은 `boolean` 타입의 `[Sync]` 속성으로, 해당 컴포넌트의 활성화 여부를 확인합니다. 4. `EnableInHierarchy [original] | 상태 변화에 따라 재생될 애니메이션을 지정합니다. # Properties - **SyncDictionary<string, string> ActionSheet [Sync]** 애니메이션의 이름과 AnimationClip RUID가 매핑된 테이블입니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에 [chunk_id] | Components:367:0