← 목록

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

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

[task] | extract_knowledge [title] | ChatComponent [category] | Components [rephrased] | # ChatComponent: 이모지 텍스트 길이에 따른 표시 시간 제어 ## 개념 설명 `ChatComponent`는 캐릭터의 채팅 발화를 관리하는 컴포넌트입니다. `ChatEvent` 핸들러를 통해 채팅 메시지를 수신할 때, 메시지에 포함된 이모지(`EmotionalType`)를 감지할 수 있습니다. 이 예제에서는 감지된 이모지 타입의 문자열 표현 길이만큼 채팅 이모지(`ChatEmotion`)와 말풍선(`ChatBalloon`)의 표시 시간(`Duration`)을 동적으로 조정하는 로직을 구현합니다. ## API 사용법 [original] | `EmotionalType`의 텍스트 길이만큼 `ChatEmotionDuration`과 `ChatBalloonComponent`의 `ShowDuration`을 변경하는 예제입니다. `ChatEvent`를 통해 EmotionalType이 메시지에 포함되었는지 확인합니다. ```lua Event Handler: [self] HandleChatEvent (ChatEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: ChatComponen [chunk_id] | Components:332:1

[task] | knowledge_list [title] | AIChaseComponent [category] | Components [rephrased] | - `AIChaseComponent`는 몬스터가 단순히 가까운 적을 따라가지 않고, 자신을 공격한 대상을 추적하도록 설정하는 데 사용되는 컴포넌트이며, 해당 예제 코드를 적용하려면 Chase 몬스터에 추가해야 합니다. - `OnBeginPlay` 메서드는 `[server only]` 실행 공간에서 동작하며, `self.Entity.AIChaseComponent`의 `IsChaseNearPlayer` 프로퍼티를 `false`로 설정하여 근접 플레이어 추적을 비활성화합니다. - `OnBeginPlay` 메서드 내에서 `self.Enti [original] | 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하는 예제입니다. Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용할 수 있습니다. ```lua Method: [server only] void OnBeginPlay () { local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent == nil then return end aiChaseComponent.IsChaseNearPlayer = false [chunk_id] | Components:335:2

[task] | distill [title] | FootholdComponent [category] | Components [rephrased] | **FootholdComponent** `InputService`의 `HandleScreenTouchEvent` 핸들러에서 터치 위치를 세계 좌표로 변환(`_UILogic:ScreenToWorldPosition`)하여 지형 탐색 메서드를 호출합니다. ```lua [service: InputService] HandleScreenTouchEvent(ScreenTouchEvent event) { local TouchPoint = event.TouchPoint local rand = _UtilLogic:RandomIntegerRan [original] | Event Handler: [service: InputService] HandleScreenTouchEvent(ScreenTouchEvent event) { -- Parameters local TouchPoint = event.TouchPoint -------------------------------------------------------- local rand = _UtilLogic:RandomIntegerRange(1,3) log(rand) if rand == 1 then self:GetNearestFoot [chunk_id] | Components:336:2

[task] | extract_knowledge [title] | AIChaseComponent [category] | Components [rephrased] | # AIChaseComponent `AIChaseComponent`는 엔티티가 특정 대상 엔티티를 추적하도록 제어하는 컴포넌트입니다. 이 컴포넌트는 `AIComponent`와 `Component`에서 상속된 기능도 제공합니다. ## 개념 설명 `AIChaseComponent`는 주로 추적 대상(Target)을 설정하고 현재 추적 대상을 조회하는 기능을 제공합니다. 추적 대상을 수동으로 설정하면 플레이어 근접 시 자동 추적 기능이 비활성화됩니다. ## API 사용법 ### AIChaseComponent 고유 메서드 1. [original] | - **Entity GetCurrentTarget()** 추적 대상 엔티티를 반환합니다. - **void SetTarget(Entity targetEntity)** targetEntity를 추적하도록 설정합니다. 함수 호출 시 IsChaseNearPlayer 프로퍼티는 자동으로 비활성화됩니다 ##### inherited from AIComponent: - **BTNode CreateLeafNode(string nodeName, func<float> -> BehaviourTreeStatus onBehaveFunction)* [chunk_id] | Components:335:1

[task] | knowledge_list [title] | FootholdComponent [category] | Components [rephrased] | 제시된 원문에는 `FootholdComponent`의 `Property`나 `Method` 정의가 포함되어 있지 않으며, `Event Handler` 블록 하나만 존재합니다. 따라서 원문에 명시된 정보만으로 추출할 수 있는 핵심 사실은 다음과 같습니다. 1. `FootholdComponent`는 `[service: InputService]` 태그가 부여된 `HandleScreenTouchEvent(ScreenTouchEvent event)`라는 이벤트 핸들러를 정의하고 있습니다. 2. `HandleScreenTouchEvent` [original] | Event Handler: [service: InputService] HandleScreenTouchEvent(ScreenTouchEvent event) { -- Parameters local TouchPoint = event.TouchPoint -------------------------------------------------------- local rand = _UtilLogic:RandomIntegerRange(1,3) log(rand) if rand == 1 then self:GetNearestFoot [chunk_id] | Components:336:2

[task] | wikipedia [title] | FootholdComponent [category] | Components [rephrased] | # FootholdComponent FootholdComponent는 맵 내의 모든 발판(foot hold)을 관리하는 컴포넌트입니다. 이 컴포넌트는 RigidbodyComponent와 상호작용하여 물리 시뮬레이션이 이루어지도록 합니다. ## 속성 (Properties) 이 컴포넌트는 `Component`로부터 다음 속성들을 상속받습니다. * **Enable**: `boolean` 타입의 속성으로, `[Sync]` 특성을 가집니다. 이 컴포넌트가 활성화되어 있는지 여부를 확인합니다. * **EnableInHierarc [original] | 맵의 모든 발판을 관리합니다. 발판은 RigidbodyComponent와 상호작용합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다 [chunk_id] | Components:336:0

[task] | diverse_qa [title] | AIChaseComponent [category] | Components [rephrased] | 질문: AIChaseComponent 예제 스크립트의 주요 목적은 무엇인가요? 답변: 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하도록 하는 기능을 구현하는 것입니다. 질문: 이 예제 코드를 적용하기 위해 어떤 몬스터에 컴포넌트를 추가해야 하나요? 답변: Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용해야 합니다. 질문: OnBeginPlay 메서드에서 aiChaseComponent가 nil일 때 어떤 동작을 수행하나요? 답변: 함수를 즉시 종료(return)합니다. 질문: OnB [original] | 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하는 예제입니다. Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용할 수 있습니다. ```lua Method: [server only] void OnBeginPlay () { local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent == nil then return end aiChaseComponent.IsChaseNearPlayer = false [chunk_id] | Components:335:2

[task] | wikipedia [title] | AIChaseComponent [category] | Components [rephrased] | # AIChaseComponent **AIChaseComponent**는 메이플스토리 월드(mLua)에서 몬스터 AI의 추적을 제어하는 컴포넌트이다. 기본적으로 AIChaseComponent는 근처에 있는 적을 무작정 따라가는 방식을 취하지만, 이 컴포넌트를 활용하여 몬스터가 자신을 공격한 특정 대상만을 추적하도록 동작을 변경할 수 있다. ## 동작 방식 AIChaseComponent를 사용하여 '자신을 공격한 대상 추적' 기능을 구현하려면, 해당 컴포넌트를 Chase 타입의 몬스터에 추가하고 아래 예시와 같이 스크립트를 작성 [original] | 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하는 예제입니다. Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용할 수 있습니다. ```lua Method: [server only] void OnBeginPlay () { local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent == nil then return end aiChaseComponent.IsChaseNearPlayer = false [chunk_id] | Components:335:2

[task] | wikipedia [title] | FootholdComponent [category] | Components [rephrased] | # FootholdComponent **FootholdComponent**는 메이플스토리 월드(mLua) 환경에서 사용 가능한 컴포넌트 중 하나로, 특정 위치나 방향에 기반하여 발판(Foothold) 객체를 탐색하는 기능을 제공합니다. 해당 컴포넌트는 입력 서비스(InputService)의 터치 이벤트를 수신하여, 화면 좌표를 월드 좌표로 변환한 뒤 다양한 메서드를 통해 발판을 조회합니다. ## 이벤트 핸들러 FootholdComponent는 `[service: InputService]` 범위의 `HandleScreenTouc [original] | Event Handler: [service: InputService] HandleScreenTouchEvent(ScreenTouchEvent event) { -- Parameters local TouchPoint = event.TouchPoint -------------------------------------------------------- local rand = _UtilLogic:RandomIntegerRange(1,3) log(rand) if rand == 1 then self:GetNearestFoot [chunk_id] | Components:336:2

[task] | distill [title] | ClimbableComponent [category] | Components [rephrased] | **ClimbableComponent** 트리거 이벤트 활용 예제 `TriggerEnterEvent` 발생 시 충돌 엔티티 이름(`Name`)에 따라 `BoxSize`와 `SpeedFactor`를 변경합니다. ```lua Method: [server] void ChangeBoxSize (Vector2 boxSize) { local entity = _EntityService:GetEntityByPath(EntityPath) entity.ClimbableComponent.BoxSize = boxSize } [client] vo [original] | `TriggerEnterEvent` 발생 시 충돌한 엔티티의 이름에 따라 `ClimbableComponent`의 `BoxSize`와 `SpeedFactor`가 변경되는 예제입니다. ```lua Method: [server] void ChangeBoxSize (Vector2 boxSize) { local entity = _EntityService:GetEntityByPath(EntityPath) entity.ClimbableComponent.BoxSize = boxSize } [client] void ChangeSpeedVec [chunk_id] | Components:337:1

[task] | diverse_qa [title] | FootholdComponent [category] | Components [rephrased] | 질문: 제공된 코드에서 이벤트 핸들러는 어떤 서비스의 이벤트를 처리하나요? 답변: 제공된 코드에서 이벤트 핸들러는 `InputService`의 `ScreenTouchEvent`를 처리합니다. 질문: `HandleScreenTouchEvent` 함수 내에서 `event` 객체에서 추출하는 파라미터는 무엇인가요? 답변: `event` 객체에서 추출하는 파라미터는 `TouchPoint`입니다. 질문: 코드에서 무작위 정수를 생성하기 위해 어떤 API를 사용하며, 생성되는 범위는 어디인가요? 답변: `_UtilLogic:RandomIn [original] | Event Handler: [service: InputService] HandleScreenTouchEvent(ScreenTouchEvent event) { -- Parameters local TouchPoint = event.TouchPoint -------------------------------------------------------- local rand = _UtilLogic:RandomIntegerRange(1,3) log(rand) if rand == 1 then self:GetNearestFoot [chunk_id] | Components:336:2

[task] | distill [title] | ClimbableComponent [category] | Components [rephrased] | # ClimbableComponent 등반 액션이 가능한 영역을 정의하는 컴포넌트입니다. ## Properties | 프로퍼티 | 타입/수식어 | 설명 | | :--- | :--- | :--- | | `AllowHorizontalMove` | `boolean` | `true`일 때 X, Y 축 모두 등반 이동 가능. | | `BoxOffset` | `Vector2` [Sync] | 충돌체 직사각형 중심점 위치(엔티티 기준). `IsUseDefaultObjectBoxSize`가 `false`일 때 적용. | | `BoxSize` [original] | 등반 액션을 할 수 있는 영역을 지정합니다. # Properties - **boolean AllowHorizontalMove** 자유로운 등반 이동 여부를 설정합니다. true일 경우 X, Y 축 모두 이동 가능합니다. - **Vector2 BoxOffset [Sync]** 엔티티를 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. IsUseDefaultObjectBoxSize를 false로 설정해 BoxOffset을 적용할 수 있습니다. - **Vector2 BoxSize [Sync]** 충돌체 직사각형의 너비와 [chunk_id] | Components:337:0

[task] | diverse_qa [title] | FootholdComponent [category] | Components [rephrased] | 질문: FootholdComponent의 주요 역할은 무엇인가요? 답변: FootholdComponent는 맵의 모든 발판을 관리하며, 발판은 RigidbodyComponent와 상호작용합니다. 질문: FootholdComponent의 Enable 프로퍼티는 어떤 속성을 가지나요? 답변: Enable 프로퍼티는 boolean 타입이며 [Sync] 속성을 가지고 있어 컴포넌트 활성화 여부를 동기화하여 확인합니다. 질문: EnableInHierarchy 프로퍼티가 true를 반환하기 위한 조건은 무엇인가요? 답변: EnableInH [original] | 맵의 모든 발판을 관리합니다. 발판은 RigidbodyComponent와 상호작용합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다 [chunk_id] | Components:336:0

[task] | knowledge_list [title] | ClimbableComponent [category] | Components [rephrased] | ClimbableComponent는 등반 액션을 수행할 수 있는 영역을 지정하는 컴포넌트입니다. Property `AllowHorizontalMove`는 자유로운 등반 이동 여부를 설정하는 boolean 타입이며, true일 경우 X, Y 축 모두 이동 가능합니다. Property `BoxOffset`은 [Sync] 속성을 가진 Vector2 타입으로, IsUseDefaultObjectBoxSize가 false일 때 적용되며 엔티티 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. Property `BoxSize`는 [Sync] [original] | 등반 액션을 할 수 있는 영역을 지정합니다. # Properties - **boolean AllowHorizontalMove** 자유로운 등반 이동 여부를 설정합니다. true일 경우 X, Y 축 모두 이동 가능합니다. - **Vector2 BoxOffset [Sync]** 엔티티를 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. IsUseDefaultObjectBoxSize를 false로 설정해 BoxOffset을 적용할 수 있습니다. - **Vector2 BoxSize [Sync]** 충돌체 직사각형의 너비와 [chunk_id] | Components:337:0

[task] | knowledge_list [title] | FootholdComponent [category] | Components [rephrased] | ```lua local items = { "문서 위치는 [Components] FootholdComponent 입니다.", "화면을 터치하면 랜덤한 한 수를 뽑아 GetNearestFootholdByPoint, Raycast, RaycastAll를 매칭합니다.", "이 세 함수를 사용해 탐색되는 동적 발판을 파괴하는 예제입니다.", "GetNearstFootholdByPoint 메서드는 [server] 실행 공간에서 작동합니다.", "GetNearstFootholdByPoint 메서드의 매개변수는 [original] | 화면을 터치하면 랜덤한 한 수를 뽑아 `GetNearestFootholdByPoint`, `Raycast`, `RaycastAll`를 매칭합니다. 이 세 함수를 사용해 탐색되는 동적 발판을 파괴하는 예제입니다. ```lua Method: [server] void GetNearstFootholdByPoint(Vector point, number distance) { local footholdComponent = self.Entity.CurrentMap.FootholdComponent if footholdComponent == n [chunk_id] | Components:336:1

[task] | distill [title] | DamageSkinComponent [category] | Components [rephrased] | # DamageSkinComponent 공격자 엔티티의 `DamageSkinSettingComponent`에서 지정된 형식으로 대미지를 시각적으로 표현합니다. ## Properties *inherited from Component* - `boolean Enable [Sync]`: 컴포넌트 활성화 여부. - `boolean EnableInHierarchy [ReadOnly] [HideFromInspector]`: 계층 구조상 활성화 여부. `Enable`이 `true`여도 소유 엔티티의 `Enable`이 `false`이면 `fa [original] | 대미지를 시각적으로 표현하는 대미지 스킨을 구성합니다. 대미지 스킨의 형식은 공격자 엔티티의 DamageSkinSettingComponent에서 지정합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true [chunk_id] | Components:338:0

[task] | extract_knowledge [title] | FootholdComponent [category] | Components [rephrased] | # FootholdComponent `FootholdComponent`는 맵 내의 모든 발판(ground/platform)을 관리하는 컴포넌트입니다. 이 컴포넌트는 물리 엔진의 `RigidbodyComponent`와 상호작용하여 캐릭터나 객체의 착지 및 충돌을 처리합니다. ## 1. 개념 설명 맵에는 수많은 발판이 존재하며, 각 발판은 고유한 ID를 가집니다. `FootholdComponent`를 통해 개발자는 특정 발판을 식별하거나, 특정 위치에서 가장 가까운 발판을 찾기, 또는 레이캐스트(Raycast)를 통해 충돌하는 발 [original] | 맵의 모든 발판을 관리합니다. 발판은 RigidbodyComponent와 상호작용합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다 [chunk_id] | Components:336:0

[task] | knowledge_list [title] | FootholdComponent [category] | Components [rephrased] | 제공된 문서에 포함된 핵심 사실을 바탕으로 정리한 목록입니다. ```lua -- 아래는 문서에 명시된 API 정보만 기반으로 작성된 참고용 코드 스니펫입니다. -- 실제 실행을 위한 전체 스크립트는 아닙니다. -- [server only] void Example() { -- GetFoothold: int32형 발판 ID를 인자로 받아 Foothold 객체를 반환합니다. Foothold hold = self.FootholdComponent:GetFoothold(1); -- GetFootholdAll: [original] | 맵의 모든 발판을 관리합니다. 발판은 RigidbodyComponent와 상호작용합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다 [chunk_id] | Components:336:0

[task] | knowledge_list [title] | ClimbableComponent [category] | Components [rephrased] | 1. `TriggerEnterEvent`가 발생하면 `event.TriggerBodyEntity`를 통해 충돌한 엔티티의 `Name`을 확인하여 `ClimbableComponent`의 속성을 변경할 수 있습니다. 2. `ClimbableComponent`의 `BoxSize` 속성은 `Vector2` 타입으로, 서버 공간(`[server]`)에서 `_EntityService:GetEntityByPath(EntityPath)`를 사용하여 접근된 엔티티의 `entity.ClimbableComponent.BoxSize`에 대입하여 변경합니 [original] | `TriggerEnterEvent` 발생 시 충돌한 엔티티의 이름에 따라 `ClimbableComponent`의 `BoxSize`와 `SpeedFactor`가 변경되는 예제입니다. ```lua Method: [server] void ChangeBoxSize (Vector2 boxSize) { local entity = _EntityService:GetEntityByPath(EntityPath) entity.ClimbableComponent.BoxSize = boxSize } [client] void ChangeSpeedVec [chunk_id] | Components:337:1

[task] | wikipedia [title] | DamageSkinComponent [category] | Components [rephrased] | # DamageSkinComponent **DamageSkinComponent**는 메이플스토리 월드(mLua)에서 대미지를 시각적으로 표현하는 대미지 슂(Damage Skin)을 구성하기 위한 컴포넌트입니다. 이 컴포넌트에서 사용할 대미지 슂의 구체적 형식이나 설정 값은 공격자 엔티티에 부착된 `DamageSkinSettingComponent`에서 지정합니다. ## 속성(Properties) 이 컴포넌트는 `Component` 베이스 클래스로부터 다음과 같은 속성을 상속받습니다. * **`Enable`** (`boole [original] | 대미지를 시각적으로 표현하는 대미지 스킨을 구성합니다. 대미지 스킨의 형식은 공격자 엔티티의 DamageSkinSettingComponent에서 지정합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true [chunk_id] | Components:338:0

[task] | wikipedia [title] | ClimbableComponent [category] | Components [rephrased] | # ClimbableComponent `ClimbableComponent`는 엔티티의 등반 가능 속성을 관리하는 컴포넌트입니다. 이 문서에서는 `TriggerEnterEvent`가 발생했을 때, 트리거 영역에 진입한 엔티티의 이름(`Name`)을 판별하여 `ClimbableComponent`의 `BoxSize`와 `SpeedFactor`를 동적으로 변경하는 예제를 다룹니다. ## 동작 원리 및 예제 아래 예제 코드는 서버와 클라이언트에서 각각 실행되는 메서드와, 트리거 진입 이벤트를 처리하는 이벤트 핸들러로 구성됩니다. 1. [original] | `TriggerEnterEvent` 발생 시 충돌한 엔티티의 이름에 따라 `ClimbableComponent`의 `BoxSize`와 `SpeedFactor`가 변경되는 예제입니다. ```lua Method: [server] void ChangeBoxSize (Vector2 boxSize) { local entity = _EntityService:GetEntityByPath(EntityPath) entity.ClimbableComponent.BoxSize = boxSize } [client] void ChangeSpeedVec [chunk_id] | Components:337:1

[task] | distill [title] | FootholdComponent [category] | Components [rephrased] | # FootholdComponent 현재 맵의 발판(Static/Dynamic)을 조회하는 컴포넌트입니다. `self.Entity.CurrentMap.FootholdComponent`를 통해 접근합니다. ## API 시그니처 | 메서드 | 반환값 | 설명 | | :--- | :--- | :--- | | `GetNearestFootholdByPoint(Vector point, number distance)` | `Foothold` \| `nil` | 지점에서 반경 `distance` 이내 가장 가까운 발판 반환 | | `Rayc [original] | 화면을 터치하면 랜덤한 한 수를 뽑아 `GetNearestFootholdByPoint`, `Raycast`, `RaycastAll`를 매칭합니다. 이 세 함수를 사용해 탐색되는 동적 발판을 파괴하는 예제입니다. ```lua Method: [server] void GetNearstFootholdByPoint(Vector point, number distance) { local footholdComponent = self.Entity.CurrentMap.FootholdComponent if footholdComponent == n [chunk_id] | Components:336:1

[task] | wikipedia [title] | ClimbableComponent [category] | Components [rephrased] | # ClimbableComponent **ClimbableComponent**는 메이플스토리 월드에서 특정 영역을 등반 가능한 상태로 지정하기 위한 컴포넌트입니다. 이 컴포넌트를 통해 엔티티가 이동할 수 있는 등반 영역의 물리적 범위, 이동 제약 조건, 그리고 시각적 애니메이션 타입을 제어할 수 있습니다. ## 속성 (Properties) ClimbableComponent는 등반 동작을 정의하는 고유 속성과, 모든 컴포넌트가 기본적으로 상속받는 속성으로 구성됩니다. ### 고유 속성 **AllowHorizontalMove* [original] | 등반 액션을 할 수 있는 영역을 지정합니다. # Properties - **boolean AllowHorizontalMove** 자유로운 등반 이동 여부를 설정합니다. true일 경우 X, Y 축 모두 이동 가능합니다. - **Vector2 BoxOffset [Sync]** 엔티티를 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. IsUseDefaultObjectBoxSize를 false로 설정해 BoxOffset을 적용할 수 있습니다. - **Vector2 BoxSize [Sync]** 충돌체 직사각형의 너비와 [chunk_id] | Components:337:0

[task] | knowledge_list [title] | DamageSkinComponent [category] | Components [rephrased] | 1. `DamageSkinComponent`는 대미지를 시각적으로 표현하는 대미지 스킨을 구성하는 컴포넌트이며, 대미지 스킨의 형식은 공격자 엔티티의 `DamageSkinSettingComponent`에서 지정합니다. 2. `DamageSkinComponent`는 `Component`로부터 `Enable` 속성을 상속하며, 이는 `boolean` 타입의 `[Sync]` 속성으로 컴포넌트 활성화 여부를 확인합니다. 3. `DamageSkinComponent`는 `Component`로부터 `EnableInHierarchy` 속성을 상속 [original] | 대미지를 시각적으로 표현하는 대미지 스킨을 구성합니다. 대미지 스킨의 형식은 공격자 엔티티의 DamageSkinSettingComponent에서 지정합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true [chunk_id] | Components:338:0

[task] | diverse_qa [title] | ClimbableComponent [category] | Components [rephrased] | 질문: ClimbableComponent의 주된 기능은 무엇인가요? 답변: 등반 액션을 할 수 있는 영역을 지정하는 기능입니다. 질문: AllowHorizontalMove 속성이 true로 설정되면 어떤 이동이 가능해지나요? 답변: X, Y 축 모두 자유로운 등반 이동이 가능해집니다. 질문: BoxOffset 속성의 데이터 타입은 무엇이며, 어떤 값을 설정하나요? 답변: Vector2 타입이며, 엔티티를 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. 질문: BoxSize 속성은 무엇을 지정하나요? 답변: 충돌체 직사각형 [original] | 등반 액션을 할 수 있는 영역을 지정합니다. # Properties - **boolean AllowHorizontalMove** 자유로운 등반 이동 여부를 설정합니다. true일 경우 X, Y 축 모두 이동 가능합니다. - **Vector2 BoxOffset [Sync]** 엔티티를 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. IsUseDefaultObjectBoxSize를 false로 설정해 BoxOffset을 적용할 수 있습니다. - **Vector2 BoxSize [Sync]** 충돌체 직사각형의 너비와 [chunk_id] | Components:337:0

[task] | wikipedia [title] | FootholdComponent [category] | Components [rephrased] | `FootholdComponent`는 맵 내의 발판(Foothold) 데이터를 조회하는 데 사용되는 컴포넌트입니다. 이 컴포넌트는 특정 지점이나 방향을 기준으로 발판을 탐색할 수 있는 세 가지 주요 메서드를 제공합니다. 해당 메서드들은 주로 화면 터치 이벤트와 결합하여 랜덤한 상호작용 대상(발판)을 선정하거나, 레이캐스팅을 통해 직진 방향에 있는 발판들을 식별하는 데 활용됩니다. 특히 동적 발판(Dynamic Foothold)의 존재 여부 확인 및 파괴 처리를 위한 로직 구현에 적합합니다. 탐색 기능을 제공하는 세 가지 메서드는 [original] | 화면을 터치하면 랜덤한 한 수를 뽑아 `GetNearestFootholdByPoint`, `Raycast`, `RaycastAll`를 매칭합니다. 이 세 함수를 사용해 탐색되는 동적 발판을 파괴하는 예제입니다. ```lua Method: [server] void GetNearstFootholdByPoint(Vector point, number distance) { local footholdComponent = self.Entity.CurrentMap.FootholdComponent if footholdComponent == n [chunk_id] | Components:336:1

[task] | diverse_qa [title] | FootholdComponent [category] | Components [rephrased] | 질문: `FootholdComponent`는 어떤 목적으로 사용되나요? 답변: `FootholdComponent`는 화면 터치 시 랜덤한 한 수를 뽑아 `GetNearestFootholdByPoint`, `Raycast`, `RaycastAll` 함수를 매칭하여 동적 발판을 탐색하고 파괴하는 데 사용됩니다. 질문: 문서에 제시된 세 가지 발판 탐색 함수의 이름은 무엇인가요? 답변: `GetNearestFootholdByPoint`, `Raycast`, `RaycastAll`입니다. 질문: `GetNearstFootholdByPo [original] | 화면을 터치하면 랜덤한 한 수를 뽑아 `GetNearestFootholdByPoint`, `Raycast`, `RaycastAll`를 매칭합니다. 이 세 함수를 사용해 탐색되는 동적 발판을 파괴하는 예제입니다. ```lua Method: [server] void GetNearstFootholdByPoint(Vector point, number distance) { local footholdComponent = self.Entity.CurrentMap.FootholdComponent if footholdComponent == n [chunk_id] | Components:336:1

[task] | extract_knowledge [title] | ClimbableComponent [category] | Components [rephrased] | # ClimbableComponent `ClimbableComponent`는 엔티티가 등반 액션을 수행할 수 있는 영역을 정의하는 컴포넌트입니다. 이 컴포넌트는 등반 가능한 충돌체 영역, 이동 제약, 그리고 등반 시 적용되는 속력과 애니메이션 타입을 제어합니다. ## 1. 개념 설명 `ClimbableComponent`는 기본적으로 엔티티의 스프라이트 크기나 사용자 지정 직사각형(Box)을 기준으로 등반 가능 영역을 설정합니다. * **영역 정의:** `IsUseDefaultObjectBoxSize` 속성에 따라 등반 영 [original] | 등반 액션을 할 수 있는 영역을 지정합니다. # Properties - **boolean AllowHorizontalMove** 자유로운 등반 이동 여부를 설정합니다. true일 경우 X, Y 축 모두 이동 가능합니다. - **Vector2 BoxOffset [Sync]** 엔티티를 기준으로 충돌체 직사각형의 중심점 위치를 설정합니다. IsUseDefaultObjectBoxSize를 false로 설정해 BoxOffset을 적용할 수 있습니다. - **Vector2 BoxSize [Sync]** 충돌체 직사각형의 너비와 [chunk_id] | Components:337:0

[task] | extract_knowledge [title] | AIChaseComponent [category] | Components [rephrased] | # AIChaseComponent: 특정 공격 대상 추적 ## 개념 설명 `AIChaseComponent`는 몬스터 AI의 추적 로직을 제어하는 컴포넌트입니다. 기본적으로 몬스터는 주변에 있는 적을 무작위로 추적할 수 있지만, 이 컴포넌트를 통해 **자신을 직접 공격한 대상(Attacker)** 만을 추적하도록 동작을 제한할 수 있습니다. 주요 속성 및 메서드: * `IsChaseNearPlayer` (boolean): 주변 플레이어 무조건 추적을 활성화/비활성화합니다. * `GetCurrentTarget()` (Ent [original] | 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하는 예제입니다. Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용할 수 있습니다. ```lua Method: [server only] void OnBeginPlay () { local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent == nil then return end aiChaseComponent.IsChaseNearPlayer = false [chunk_id] | Components:335:2

[task] | extract_knowledge [title] | FootholdComponent [category] | Components [rephrased] | # FootholdComponent: 지면 탐색 및 레이캐스트 ## 1. 개념 설명 `FootholdComponent`는 엔티티가 서 있는 지면(Foothold) 정보를 관리하거나, 특정 지점에서의 지면 충돌을 탐지하기 위한 컴포넌트입니다. 이 컴포넌트는 화면 좌표와 월드 좌표 변환을 결합하여, 사용자가 터치한 위치나 특정 방향에서의 지면 탐색을 수행합니다. 주요 기능은 다음과 같습니다: - **Nearest Foothold Search**: 특정 월드 좌표에서 가장 가까운 지면 찾기. - **Raycast**: 특정 방향/거리 [original] | Event Handler: [service: InputService] HandleScreenTouchEvent(ScreenTouchEvent event) { -- Parameters local TouchPoint = event.TouchPoint -------------------------------------------------------- local rand = _UtilLogic:RandomIntegerRange(1,3) log(rand) if rand == 1 then self:GetNearestFoot [chunk_id] | Components:336:2

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