← 목록

mLua · Nemotron SDG 질문-응답 (SFT)

총 21,567개 · 페이지 118/719
🔀 랜덤
불러오는 중…

[task] | code [pass] | ✅ 통과 [title] | ChatComponent [question] | ChatEvent 핸들러를 통해 채팅 입력 시 UseChatBalloon이 활성화된 상태인지 확인하여 로깅하는 스크립트를 작성해줘 [answer] | ChatEvent 핸들러에서 채팅 입력 시 `UseChatBalloon` 프로퍼티의 현재 값을 확인하여 로그로 출력하는 스크립트입니다. ```lua Property: [None] number LogCount = 0 Event Handler: [client only] HandleChatEvent(ChatEvent event) { local chatComponent = self.Entity.ChatComponent local isBalloonEnabled = chatComponent.UseChatBalloon [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서의 ChatEvent 및 UseChatBalloon 정의에 부합하며 mLua 문법 규칙을 정확히 준수한 명확한 코드 예제입니다. [source_doc] | 플레이어끼리 소통을 할 수 있는 채팅 기능을 지원해주는 컴포넌트입니다. # Properties - **float ChatEmotionDuration** 아바타 감정 표현 지속 시간을 설정합니다. - **boolean EnableVoiceChat [MakerOnly]** 보이스 채팅 버튼의 표시 및 사용 여부를 설정합니다. - **boolean Expand** 채팅창을 펼칠 수 있는 기능입니다. - **boolean HideWorldChatButton [MakerOnly]** 월드 채팅 버튼을 숨기는 기능입니다. -

[task] | code [pass] | ❌ 탈락 [title] | AvatarBodyActionSelectorComponent [question] | AvatarBodyActionSelectorComponent의 ActionState를 지정하고, Enable 프로퍼티를 통해 컴포넌트 활성화 상태를 제어하는 스크립트를 작성해줘 [answer] | `AvatarBodyActionSelectorComponent`의 `ActionState` 프로퍼티와 `Enable` 프로퍼티를 직접 제어하는 mLua 스크립트입니다. 참고: 제공된 문서에서 `AvatarBodyActionSelectorComponent`는 `MapleAvatarBodyActionState ActionState` 프로퍼티를 가지며, 상속된 `Component`의 `boolean Enable` 프로퍼티를 통해 활성화 여부를 제어할 수 있습니다. ```lua Property: [None] MapleAvatarBody [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=1 coherence=3 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 열거형 값(Idle, Fly)과 이벤트 이름(BodyActionStateChangeEvent)을 지어내어 정확성이 낮으며, 질문 의도에 부합하는 구조를 제시한 점만 부분적으로 도움됩니다. [source_doc] | 아바타의 몸통 Action을 선택해 적용시키는 컴포넌트입니다. # Properties - **MapleAvatarBodyActionState ActionState** 현재 Action 상태입니다. - **ReadOnlyDictionary<MapleAvatarBodyActionState, ReadOnlyList<MapleAvatarActionStateElement>> StateActionDic [ReadOnly] [HideFromInspector]** 상태에 대한 정보값입니다. 추후 개선될 예정입니다. ##### inhe

[task] | two_turn [pass] | ❌ 탈락 [title] | AvatarBodyActionSelectorComponent [question] | AvatarBodyActionSelectorComponent 의 ActionStateChangedEvent 이벤트를 활용하는 방법에 대해 설명해 주세요. [answer] | `AvatarBodyActionSelectorComponent`의 `ActionStateChangedEvent`는 아바타의 몸통 액션 상태가 변경될 때 발생하는 이벤트입니다. 이벤트 핸들러를 정의하여 액션 상태 변경 시 특정 로직을 실행할 수 있습니다. 아래는 `ActionStateChangedEvent`를 활용하는 mLua 스크립트 예시입니다. ```lua Property: [None] number CurrentActionState = 0 Method: [server only] void OnBeginPlay() { l [followup] | ActionStateChangedEvent 가 발생했을 때, 변경된 액션 상태를 클라이언트와 서버에서 각각 다른 방식으로 처리하는 이벤트 핸들러 코드 예시를 작성해 주세요. [followup_answer] | `ActionStateChangedEvent` 핸들러는 서버와 클라이언트 모두에서 사용할 수 있으며, 각각의 실행 환경에 맞는 로직을 작성할 수 있습니다. 아래 예시는 서버에서는 상태 변경을 기록하고, 클라이언트에서는 로그를 출력하는 방식으로 처리하는 코드입니다. ```lua Property: [None] number LastActionState = 0 Method: [server only] void OnBeginPlay() { log("Server: AvatarBodyActionSelectorComponent initi [scores] | helpfulness=2 correctness=1 coherence=3 complexity=None verbosity=2 [judge_reason] | 문서에 없는 event.ActionState 필드와 SendEvent 메서드, BodyActionStateChangeEvent를 지어내어 사실성이 부족함 [source_doc] | 아바타의 몸통 Action을 선택해 적용시키는 컴포넌트입니다. # Properties - **MapleAvatarBodyActionState ActionState** 현재 Action 상태입니다. - **ReadOnlyDictionary<MapleAvatarBodyActionState, ReadOnlyList<MapleAvatarActionStateElement>> StateActionDic [ReadOnly] [HideFromInspector]** 상태에 대한 정보값입니다. 추후 개선될 예정입니다. ##### inhe

[task] | two_turn [pass] | ✅ 통과 [title] | Entity [question] | 자식 엔티티를 검색하고 그 자식들의 컴포넌트에 접근하려면 어떤 메서드를 조합해야 하나요? [answer] | 자식 엔티티를 검색하고 해당 자식들의 컴포넌트에 접근하기 위해서는 `GetChild` 또는 `GetChildByName` 메서드로 자식 엔티티를 먼저 찾아낸 뒤, 그 엔티티에서 `GetComponent` 또는 `GetFirstChildComponentByTypeName`을 사용하는 조합을 사용할 수 있습니다. 구체적인 조합 방식은 다음과 같습니다. **1. 특정 ID를 가진 자식 엔티티를 찾아 컴포넌트 접근하기** `GetChild(string id, boolean recursive = false)`로 자식 엔티티를 반환받은 후 [followup] | GetChildByName과 GetChildComponentsByTypeName을 함께 사용할 때 recursive 플래그가 true와 false일 때 반환되는 결과가 어떻게 달라지는지, 그리고 GetFirstChildComponentByTypeName과 GetChildComponentsByTypeName의 반환 타입 차이를 코드 예시로 설명해 주세요. [followup_answer] | `recursive` 플래그의 값에 따라 검색 범위가 달라지며, `GetFirstChildComponentByTypeName`과 `GetChildComponentsByTypeName`은 반환 타입이 다르기 때문에 코드에서 처리하는 방식이 다릅니다. ### 1. recursive 플래그가 true와 false일 때의 차이 두 메서드 모두 `recursive` 인자가 기본값 `false`로 설정되어 있습니다. * **`recursive = false` (기본값):** * **`GetChildByName`**: 현재 [scores] | helpfulness=4 correctness=3 coherence=4 complexity=3 verbosity=2 [judge_reason] | API 조합 설명은 정확하나, 예시 코드의 `myComponent.Name` 속성은 문서에 명시되지 않아 존재 여부를 확인할 수 없으며, 컴포넌트 접근 시 `.` 연산자 사용 여부도 문서만으로는 단정할 수 없는 부분이 있으나 전반적으로 유용하고 명확함 [source_doc] | - **Component AddComponent(string typename) [ControlOnly]** typename에 해당하는 컴포넌트를 추가합니다. - **Component AddComponent(Type componentType) [ControlOnly]** componentType에 해당하는 컴포넌트를 추가합니다. - **void AttachChild(Entity child)** child를 이 엔티티의 자식으로 편입시킵니다. - **boolean AttachTo(Entity parent) [ControlOn

[task] | instruction_following [pass] | ✅ 통과 [title] | AIChaseComponent [question] | SetTarget 메서드 호출 시 발생하는 자동 변경 사항과 GetCurrentTarget의 반환 타입을 2문장 이내로 요약하세요. [answer] | `SetTarget` 메서드를 호출하면 `IsChaseNearPlayer` 프로퍼티가 자동으로 비활성화됩니다. `GetCurrentTarget`은 추적 대상 엔티티를 `Entity` 타입으로 반환합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 명시된 SetTarget의 자동 비활성화 동작과 GetCurrentTarget의 반환 타입을 2문장 이내로 정확하고 간결하게 요약했습니다. [source_doc] | - **Entity GetCurrentTarget()** 추적 대상 엔티티를 반환합니다. - **void SetTarget(Entity targetEntity)** targetEntity를 추적하도록 설정합니다. 함수 호출 시 IsChaseNearPlayer 프로퍼티는 자동으로 비활성화됩니다 ##### inherited from AIComponent: - **BTNode CreateLeafNode(string nodeName, func<float> -> BehaviourTreeStatus onBehaveFunction)*

[task] | instruction_following [pass] | ✅ 통과 [title] | ChatComponent [question] | `EmotionalType` 문자열 길이에 따라 `ChatEmotionDuration`과 `ShowDuration`이 어떻게 설정되는지 그 로직을 단계별 번호 목록으로 정리하세요. [answer] | 제공된 문서를 기준으로 `EmotionalType` 문자열 길이에 따라 지속 시간(Duration)이 설정되는 로직을 단계별로 정리하면 다음과 같습니다. 1. **채팅 메시지 수신 및 본인 확인**: `HandleChatEvent` 이벤트 핸들러에서 `ChatEvent`를 수신합니다. `event.UserId`와 `_UserService.LocalPlayer.OwnerId`를 비교하여 채팅을 보낸 사용자가 본인인지 확인합니다. 본인이 아니면 로직을 종료합니다. 2. **감정(Emotion) 키워드 탐색**: 수신된 메시지(`e [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 코드 로직을 단계별로 정확하고 명확하게 재구성하여 질문에 완벽히 부응합니다. [source_doc] | `EmotionalType`의 텍스트 길이만큼 `ChatEmotionDuration`과 `ChatBalloonComponent`의 `ShowDuration`을 변경하는 예제입니다. `ChatEvent`를 통해 EmotionalType이 메시지에 포함되었는지 확인합니다. ```lua Event Handler: [self] HandleChatEvent (ChatEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: ChatComponen

[task] | single_turn [pass] | ✅ 통과 [title] | CanvasGroupComponent [question] | CanvasGroupComponent의 Enable 속성을 false로 변경하면 자식 UI들의 투명도나 상호작용 상태도 초기화되나요? [answer] | 아니요, `CanvasGroupComponent`의 `Enable` 속성을 `false`로 변경한다고 해서 자식 UI들의 투명도(`GroupAlpha`)나 상호작용 상태(`Interactable`)가 초기화되지 않습니다. `Enable` 속성은 해당 `CanvasGroupComponent` 컴포넌트 자체의 활성화를 제어할 뿐입니다. 즉, `Enable`이 `false`가 되면 이 컴포넌트가 제공하는 자식 UI 공통 속성 제어 기능(투명도, 상호작용 가능 여부, 레이캐스트 차단 등)이 비활성화됩니다. 하지만 이미 설정되어 있는 `G [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=2 verbosity=2 [judge_reason] | Enable이 false일 때의 구체적 동작(값 유지 여부 및 자식 UI 적용 중단)이 문서에 명시되어 있지 않아 추론에 의존했으나, 컴포넌트 활성화 의미론과 일치하며 지어낸 API가 없다. [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | single_turn [pass] | ✅ 통과 [title] | CanvasGroupComponent [question] | Interactable을 false로 설정하면 BlocksRaycasts의 동작에도 영향을 미치나요? [answer] | 아니요, `Interactable`을 `false`로 설정해도 `BlocksRaycasts`의 동작에 직접적인 영향을 미치지 않습니다. 두 프로퍼티는 서로 독립적으로 동작합니다. * **`BlocksRaycasts`**: 자식 UI가 화면 터치나 마우스 클릭과 같은 입력을 **수신**할 수 있는지 여부를 결정합니다. `true`인 경우 해당 UI는 입력을 받으며, 뒤의 UI가 입력을 받지 못하게 가립니다. * **`Interactable`**: 자식 UI가 입력을 **수신했을 때** 상호작용(동작)을 수행할 수 있는지 여부 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서의 정의에 근거하여 두 프로퍼티가 독립적으로 동작함을 명확히 설명했고, 예시를 들어 직관적으로 이해를 도왔다. [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | instruction_following [pass] | ✅ 통과 [title] | AIChaseComponent [question] | AIChaseComponent의 SetTarget 메서드를 사용하여 특정 엔티티를 추적하도록 설정하는 mLua 코드를 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua Method: [server only] void OnBeginPlay() { -- 추적할 대상 엔티티를 경로로 검색합니다. local targetEntity = _EntityService:GetEntityByPath("/maps/map01/player01") -- 대상이 존재하는지 확인합니다. if targetEntity ~= nil then -- AIChaseComponent의 SetTarget 메서드로 추적 대상을 설정합니다. self.Entity.AICha [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | AIChaseComponent의 SetTarget 메서드 사용법과 mLua 스크립트 규칙(컴포넌트 접근, 서비스 사용, 주석으로 설명)을 정확히 준수하여 질문 요구사항에 부합하는 코드를 제시했습니다. [source_doc] | - **Entity GetCurrentTarget()** 추적 대상 엔티티를 반환합니다. - **void SetTarget(Entity targetEntity)** targetEntity를 추적하도록 설정합니다. 함수 호출 시 IsChaseNearPlayer 프로퍼티는 자동으로 비활성화됩니다 ##### inherited from AIComponent: - **BTNode CreateLeafNode(string nodeName, func<float> -> BehaviourTreeStatus onBehaveFunction)*

[task] | single_turn [pass] | ✅ 통과 [title] | CanvasGroupComponent [question] | UI Entity에 CanvasGroupComponent를 적용할 때, 기존 개별 UI 컴포넌트들의 설정과 충돌이 발생하지는 않나요? [answer] | 제공된 문서에는 `CanvasGroupComponent`가 자식 UI Entity의 **공통 속성**을 한 곳에서 제어한다는 기능 설명과 `BlocksRaycasts`, `GroupAlpha`, `Interactable` 프로퍼티의 정의만 포함되어 있습니다. 따라서 **기존 개별 UI 컴포넌트들의 설정과 충돌 여부에 대한 구체적인 정보(우선순위, 덮어쓰기 규칙, 충돌 시 동작 등)는 문서에 명시되어 있지 않습니다.** 문서에서 확인할 수 있는 사실은 다음과 같습니다: 1. `CanvasGroupComponent`는 자식 UI의 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서에 없는 충돌 규칙을 지어내지 않고, 문서에 명시된 사실만 정확히 인용하여 답변의 한계를 명확히 했으므로 점수가 높습니다. [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | code [pass] | ✅ 통과 [title] | CustomFootholdComponent [question] | 동적 발판(IsDynamicFoothold)을 활성화하고, _EntityService 를 통해 특정 경로 엔티티의 CustomFootholdComponent.edgeLists 를 새 List 로 대체하여 발판 모양을 변경하는 스크립트를 작성해줘 [answer] | 동적 발판의 모양을 변경하려면 `IsDynamicFoothold` 프로퍼티가 `true`여야 하며, `edgeLists`의 기존 요소를 직접 수정하는 대신 **새로운 List를 만들어 덮어쓰는 방식**으로 값을 할당해야 변경 사항이 적용됩니다. 요구사항에 맞는 mLua 스크립트는 다음과 같습니다. ```lua -- 특정 경로에 있는 엔티티를 가져옵니다. local target = _EntityService:GetEntityByPath("/maps/map01/dynamic_foothold") -- 새 발판 모양을 정의합니다. - [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 API와 유의사항(IsDynamicFoothold 조건, 새 List 대체 필요, 성능 경고)을 정확히 반영하여 질문된 요구사항을 충족하는 코드를 제공했습니다. [source_doc] | 사용자 정의 발판을 만드는 기능을 제공합니다. 발판의 모양과 속성을 설정할 수 있습니다 # Properties - **SyncList<List<Vector2>> edgeLists [Sync]** 발판을 나타냅니다. 하나의 발판은 여러 개의 연결점으로 구성됩니다. - **float FootholdDrag [Sync]** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 적용되는 마찰력입니다. 값이 클수록 빠르게 감속합니다. - **float FootholdForce [Sync]** Rigidbody

[task] | single_turn [pass] | ✅ 통과 [title] | AvatarFaceActionSelectorComponent [question] | BlinkInterval 값을 0으로 설정하면 눈 깜빡임이 어떻게 처리되나요? [answer] | BlinkInterval 값을 0으로 설정하면 눈 깜빡임이 어떻게 처리되는지에 대한 구체적인 동작(예: 즉시 반복, 비활성화, 오류 발생 등)은 제공된 문서에 명시되어 있지 않습니다. 문서에는 `BlinkInterval` 프로퍼티가 "눈 깜빡임의 시간 간격으로, 초 단위를 사용합니다"라고만 정의되어 있을 뿐, 0이라는 특정 값을 입력했을 때의 예외 처리나 동작 방식에 대한 설명이 없습니다. [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 명시되지 않은 동작을 지어내지 않고 문서의 한계를 정확히 지적하여 사실에 부합하며, 질문의 의도를 고려할 때 제한적이지만 정직한 답변이다. [source_doc] | 아바타의 얼굴 Action을 선택해 적용시키는 컴포넌트입니다. # Properties - **MapleAvatarFaceActionState ActionState** 현재 Action 상태입니다. - **float BlinkInterval** 눈 깜빡임의 시간 간격으로, 초 단위를 사용합니다. - **ReadOnlyDictionary<MapleAvatarFaceActionState, ReadOnlyList<MapleAvatarActionStateElement>> StateActionDic [ReadOnly] [HideFr

[task] | code [pass] | ✅ 통과 [title] | CanvasGroupComponent [question] | 컴포넌트가 활성화 상태인지 확인하여 비활성 상태라면 GroupAlpha를 0.5로 설정하는 스크립트를 작성해줘 [answer] | `CanvasGroupComponent`의 `Enable` 프로퍼티를 통해 컴포넌트 활성화 상태를 확인하고, 비활성 상태(`false`)라면 `GroupAlpha`를 0.5로 설정하는 스크립트입니다. ```lua Property: [None] CanvasGroup CanvasGroupComp Method: [client only] void OnBeginPlay() { -- CanvasGroupComponent가 활성화 상태가 아니라면 if not self.CanvasGroupComp.Enable then [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=2 verbosity=2 [judge_reason] | 요청된 로직을 구현했으나, CanvasGroupComponent를 직접 참조하는 대신 외부 Entity를 참조하는 Property를 지어내어 문서와 불일치하며, OnBeginPlay 시점의 활성화 상태 확인은 시의적절하지 않을 수 있음. [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | single_turn [pass] | ✅ 통과 [title] | AvatarFaceActionSelectorComponent [question] | AvatarFaceActionSelectorComponent에서 ActionState를 변경했을 때 즉시 반영이 안 되는 이유는 무엇인가요? [answer] | 제공된 참고 문서에는 `AvatarFaceActionSelectorComponent`의 `ActionState` 프로퍼티가 "현재 Action 상태"를 나타낸다는 설명과 `BlinkInterval` 등의 속성, 그리고 `Component`에서 상속된 `Enable`, `Entity` 속성 및 `IsClient()`, `IsServer()` 메서드만 정의되어 있습니다. 문서에는 `ActionState`를 변경했을 때 반영이 지연되거나 즉시 반영되지 않는 이유, 또는 상태 변경 시 발생하는 특정 이벤트나 동기화 로직에 대한 설명이 포 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 질문의 원인 설명이 없음을 정확히 지적하고 지어내지 않은 점이 우수합니다. [source_doc] | 아바타의 얼굴 Action을 선택해 적용시키는 컴포넌트입니다. # Properties - **MapleAvatarFaceActionState ActionState** 현재 Action 상태입니다. - **float BlinkInterval** 눈 깜빡임의 시간 간격으로, 초 단위를 사용합니다. - **ReadOnlyDictionary<MapleAvatarFaceActionState, ReadOnlyList<MapleAvatarActionStateElement>> StateActionDic [ReadOnly] [HideFr

[task] | single_turn [pass] | ✅ 통과 [title] | CanvasGroupComponent [question] | BlocksRaycasts가 true여도 자식 UI가 터치 입력을 받지 못할 때의 원인은 무엇인가요? [answer] | BlocksRaycasts가 true로 설정되어 있어도 자식 UI가 터치 입력을 받지 못하는 주된 원인은 **Interactable** 프로퍼티가 false로 설정되어 있기 때문입니다. CanvasGroupComponent의 동작 원리를 살펴보면 다음과 같습니다. 1. **BlocksRaycasts**: 이 값이 `true`일 때 자식 UI는 화면 터치 또는 마우스 클릭 입력을 **받을 수 있는 상태**가 됩니다. (즉, 입력이 UI에 도달하는지 여부) 2. **Interactable**: 자식 UI의 **상호작용 가능 여부** [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=3 verbosity=2 [judge_reason] | BlocksRaycasts와 Interactable의 관계를 문서에 기반하여 설명했으나, BlocksRaycasts가 true일 때 '받는다'고 번역한 것은 원문의 '뒤에 가려진 UI는 입력을 받지 못한다'는 맥락( Occlusion/Blocking)과 다소 모순되는 해석이며, 코드 예시에서 UIComponent와 같은 구체적인 접근 경로를 지어낸 것이 문서에 없는 정보입니다. [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | code [pass] | ✅ 통과 [title] | CustomFootholdComponent [question] | PhysicsInteractable 속성이 true인 CustomFootholdComponent 가 Dynamic 강체와 충돌하도록 설정하고, _EntityService 를 사용해 해당 엔티티를 생성 및 관리하는 스크립트를 작성해줘 [answer] | 참고 문서에 `_SpawnService:SpawnByModelId` 등 엔티티 생성 API는 포함되어 있지 않으며, `_EntityService`의 경우 `GetEntityByPath` 메서드만 문서에 명시되어 있습니다. 따라서 엔티티를 **생성(Spawn)** 하는 코드는 문서 근거가 없어 작성할 수 없습니다. 대신, 이미 생성되어 경로를 가진 엔티티를 `_EntityService:GetEntityByPath`로 가져와 `PhysicsInteractable`을 `true`로 설정하는 관리 스크립트만 작성할 수 있습니다. ``` [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | PhysicsInteractable이 [ReadOnly] 속성임에도 런타임에 true로 설정하는 코드를 작성하여 문서의 제약과 어긋나지만, 문서에 없는 Spawn API를 지어내지 않고 GetEntityByPath만 사용하여 정직하게 응답했습니다. [source_doc] | 사용자 정의 발판을 만드는 기능을 제공합니다. 발판의 모양과 속성을 설정할 수 있습니다 # Properties - **SyncList<List<Vector2>> edgeLists [Sync]** 발판을 나타냅니다. 하나의 발판은 여러 개의 연결점으로 구성됩니다. - **float FootholdDrag [Sync]** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 적용되는 마찰력입니다. 값이 클수록 빠르게 감속합니다. - **float FootholdForce [Sync]** Rigidbody

[task] | code [pass] | ✅ 통과 [title] | ChatComponent [question] | ChatComponent의 Expand와 HideWorldChatButton 프로퍼티를 조작하여 월드 채팅 버튼 숨김 및 채팅창 펼침 상태를 토글하는 스크립트를 작성해줘 [answer] | ChatComponent의 `Expand`와 `HideWorldChatButton` 프로퍼티를 직접 조작하는 mLua 스크립트입니다. 참고로 `HideWorldChatButton`은 `[MakerOnly]` 속성이 붙어 있어 메이커(에디터)에서만 설정 가능한 프로퍼티입니다. 런타임 스크립트에서 이 값을 변경하는 것이 지원되는지 여부는 제공된 문서에 명시되어 있지 않으므로, 실제 동작 여부는 테스트를 통해 확인해야 합니다. 아래 코드는 문서에 정의된 프로퍼티 이름을 그대로 사용하며, 엔티티에 `ChatComponent`가 장착되어 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=3 verbosity=2 [judge_reason] | MakerOnly 속성의 런타임 변경 가능성을 정확히 지적하고 표준 문법을 사용했으나, 질문의 의도(단일 토글)와 달리 두 개의 분리된 메서드를 제공하여 유용성이 다소 낮음 [source_doc] | 플레이어끼리 소통을 할 수 있는 채팅 기능을 지원해주는 컴포넌트입니다. # Properties - **float ChatEmotionDuration** 아바타 감정 표현 지속 시간을 설정합니다. - **boolean EnableVoiceChat [MakerOnly]** 보이스 채팅 버튼의 표시 및 사용 여부를 설정합니다. - **boolean Expand** 채팅창을 펼칠 수 있는 기능입니다. - **boolean HideWorldChatButton [MakerOnly]** 월드 채팅 버튼을 숨기는 기능입니다. -

[task] | code [pass] | ❌ 탈락 [title] | CustomFootholdComponent [question] | RigidbodyMovementOption 속성을 설정하여 이동하는 CustomFootholdComponent 위에서 RigidbodyComponent 가 상대적으로 정지 상태가 되도록 하는 스크립트를 작성해줘 [answer] | RigidbodyMovementOption 속성은 이동하는 발판 위에서 RigidbodyComponent가 상대적으로 어떻게 움직일지를 설정하는 옵션입니다. 하지만 제공된 문서에는 `RigidbodyMovementOptionType` 열거형의 구체적인 값(예: `Static`, `MoveWithFoothold` 등)이 명시되어 있지 않습니다. 따라서 "상대적으로 정지 상태"를 의미하는 정확한 열거형 값을 알 수 없으므로, 해당 값을 임의로 추측하여 코드를 작성하는 것은 문서에 없는 API를 지어내는 것이 됩니다. **문서에 `R [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=4 coherence=3 complexity=2 verbosity=3 [judge_reason] | 문서에 없는 열거형 값을 지어내지 않아 정확성은 높으나, 사용자가 요청한 스크립트 작성에 실효성이 낮고 구조적 예시가 불필요하게 장황함 [source_doc] | 사용자 정의 발판을 만드는 기능을 제공합니다. 발판의 모양과 속성을 설정할 수 있습니다 # Properties - **SyncList<List<Vector2>> edgeLists [Sync]** 발판을 나타냅니다. 하나의 발판은 여러 개의 연결점으로 구성됩니다. - **float FootholdDrag [Sync]** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 적용되는 마찰력입니다. 값이 클수록 빠르게 감속합니다. - **float FootholdForce [Sync]** Rigidbody

[task] | instruction_following [pass] | ❌ 탈락 [title] | AIChaseComponent [question] | AIComponent에서 상속된 Blackboard 프로퍼티의 데이터 관리 방식과 공유 목적을 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua Property: [None] Blackboard MyBlackboard = nil Method: [server only] void OnBeginPlay() { -- AIComponent에서 상속된 Blackboard는 키-값 쌍(Key-Value) 방식으로 데이터를 관리합니다. -- 이 데이터 저장소는 행동 트리(AI Behaviour Tree)의 노드들 간에 데이터를 공유하는 목적으로 사용됩니다. -- 예시: Blackboard에 문자열 타입의 값을 키와 함께 저장 self.P [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=0 coherence=2 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 Set/Get/GetEntity 메서드를 지어내고, self.ParentAI라는 잘못된 접근 방식을 사용했으며, Blackboard가 [ReadOnly]임을 무시하여 직접 조작하는 오류가 있습니다. [source_doc] | 플레이어나 다른 엔티티를 추적하는 AI입니다. StateComponent가 없다면 자동으로 추가됩니다. # Properties - **float DetectionRange** 추적 감지 거리입니다. 대상의 거리가 이보다 멀어지면 추적을 중단하고, 가까워지면 다시 추적을 시작합니다. - **boolean IsChaseNearPlayer** 값이 true인 경우 DetectionRange 프로퍼티 값 내에서 가장 가까운 플레이어를 자동으로 추적합니다. TargetEntityRef 프로퍼티 또는 SetTarget(Entity)

[task] | single_turn [pass] | ✅ 통과 [title] | AvatarFaceActionSelectorComponent [question] | Enable과 EnableInHierarchy의 차이는 무엇이며, 엔티티가 비활성 상태일 때 어떤 값을 반환하나요? [answer] | `Enable`과 `EnableInHierarchy`는 컴포넌트의 활성화 상태를 나타내지만, 확인하는 범위가 다릅니다. * **`Enable`**: 해당 컴포넌트 자체의 활성화 여부만 나타냅니다. * **`EnableInHierarchy`**: 계층 구조(Hierarchy)를 고려하여 컴포넌트가 실제로 활성화되어 있는지를 반환합니다. **엔티티가 비활성 상태일 때의 동작:** `EnableInHierarchy`는 엔티티의 상태도 함께 확인합니다. 컴포넌트의 `Enable` 값이 `true`로 설정되어 있더라도, 그 컴포 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 정의와 제약 조건을 정확히 인용하여 두 프로퍼티의 차이와 비활성 상태에서의 반환 값을 명확하고 간결하게 설명했습니다. [source_doc] | 아바타의 얼굴 Action을 선택해 적용시키는 컴포넌트입니다. # Properties - **MapleAvatarFaceActionState ActionState** 현재 Action 상태입니다. - **float BlinkInterval** 눈 깜빡임의 시간 간격으로, 초 단위를 사용합니다. - **ReadOnlyDictionary<MapleAvatarFaceActionState, ReadOnlyList<MapleAvatarActionStateElement>> StateActionDic [ReadOnly] [HideFr

[task] | code [pass] | ✅ 통과 [title] | CanvasGroupComponent [question] | 화면 터치 입력을 받을 수 있도록 CanvasGroupComponent의 BlocksRaycasts 속성을 true로 설정하는 스크립트를 작성해줘 [answer] | CanvasGroupComponent의 `BlocksRaycasts` 속성을 `true`로 설정하면 자식 UI가 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 아래 스크립트는 게임이 시작될 때(`OnBeginPlay`) 해당 속성을 활성화하는 예제입니다. ```lua Property: [None] boolean IsRaycastEnabled = true Method: [client only] void OnBeginPlay() { if self.Entity.CanvasGroupComponent ~= nil then [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 API 명세와 시스템 규칙을 정확히 준수하여 요청한 기능을 구현했고, 설명 또한 명확하고 적절합니다. [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | single_turn [pass] | ❌ 탈락 [title] | CanvasGroupComponent [question] | GroupAlpha를 0으로 설정하면 자식 UI가 완전히 사라지는지, 아니면 투명하게만 보이는지 어떻게 다른가요? [answer] | `CanvasGroupComponent`의 `GroupAlpha` 프로퍼티는 자식 UI의 **투명도**를 제어합니다. 값의 범위는 0 이상 1 이하입니다. `GroupAlpha`를 0으로 설정하면 자식 UI는 **완전히 투명**해집니다. 즉, 화면에 보이지 않게 됩니다. 참고로, `GroupAlpha`가 0이어도 `BlocksRaycasts`가 `true`로 설정되어 있다면 자식 UI는 여전히 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 입력을 완전히 차단하고 싶다면 `Interactable`을 `false`로 설정하 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=2 coherence=3 complexity=2 verbosity=3 [judge_reason] | GroupAlpha 0의 시각적 효과 설명은 정확하지만, BlocksRaycasts의 문서상 의미(true일 때 자식이 입력을 받음)를 '입력을 차단하는 것'으로 오해하여 잘못된 입력 차단 조언과, 실제 API가 아닌 불확실한 코드 접근 예시를 제시함 [source_doc] | 자식 UI Entity의 공통 속성을 한 곳에서 제어할 수 있는 기능을 제공합니다. # Properties - **boolean BlocksRaycasts** true로 설정할 경우 자식 UI는 화면 터치 또는 마우스 클릭 입력을 받을 수 있습니다. 뒤에 가려진 UI는 입력을 받지 못합니다. - **float GroupAlpha** 자식 UI의 투명도를 설정합니다. 0 이상, 1 이하의 값을 설정할 수 있습니다. - **boolean Interactable** 자식 UI의 상호작용 가능 여부를 설정합니다. false로

[task] | code [pass] | ❌ 탈락 [title] | ChatComponent [question] | IsServer()를 사용하여 서버 환경에서만 Enable 프로퍼티를 false로 설정하여 채팅 기능을 비활성화하는 스크립트를 작성해줘 [answer] | `ChatComponent`의 `Enable` 프로퍼티는 부모 컴포넌트(`Component`)에서 상속받은 것으로, 해당 스크립트가 붙어 있는 엔티티의 채팅 기능을 활성화/비활성화하는 데 사용할 수 있습니다. 요구사항에 따라 `IsServer()`를 통해 서버 환경인지 확인하고, 서버 환경일 경우 `self.ChatComponent.Enable`을 `false`로 설정하여 채팅 기능을 비활성화하는 스크립트는 다음과 같습니다. ```lua Property: [None] Entity ChatTarget = EntityPath Me [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=1 coherence=2 complexity=2 verbosity=2 [judge_reason] | [server only] 메서드 내에서 IsServer()를 호출하는 것은 불필요하며, self.ChatComponent 접근이 mLua의 self.Entity.TransformComponent 패턴과 일치하지 않고, EntityPath 타입이 존재하지 않는 등 문법 오류가 많습니다. [source_doc] | 플레이어끼리 소통을 할 수 있는 채팅 기능을 지원해주는 컴포넌트입니다. # Properties - **float ChatEmotionDuration** 아바타 감정 표현 지속 시간을 설정합니다. - **boolean EnableVoiceChat [MakerOnly]** 보이스 채팅 버튼의 표시 및 사용 여부를 설정합니다. - **boolean Expand** 채팅창을 펼칠 수 있는 기능입니다. - **boolean HideWorldChatButton [MakerOnly]** 월드 채팅 버튼을 숨기는 기능입니다. -

[task] | single_turn [pass] | ✅ 통과 [title] | AIChaseComponent [question] | TargetEntityRef와 SetTarget(Entity) 함수로 지정한 대상을 추적할 때, DetectionRange 밖으로 나갔다 들어오면 어떻게 반응하나요? [answer] | `DetectionRange`는 추적 감지 거리로, 대상의 거리가 이 값보다 멀어지면 추적을 중단하고, 다시 이 범위 안으로 가까워지면 추적을 재개합니다. `TargetEntityRef` 프로퍼티나 `SetTarget(Entity)` 함수로 특정 대상을 지정해두고 있을 때도 이 규칙이 동일하게 적용됩니다. 즉, 지정된 대상이 `DetectionRange` 밖으로 나가면 AI는 추적을 멈추고, 대상이 다시 `DetectionRange` 안으로 들어오면 추적을 다시 시작합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 DetectionRange 정의와 IsChaseNearPlayer 설명을 바탕으로 지정된 대상에 대한 추적 중단/재개 로직을 정확하고 간결하게 설명했습니다. [source_doc] | 플레이어나 다른 엔티티를 추적하는 AI입니다. StateComponent가 없다면 자동으로 추가됩니다. # Properties - **float DetectionRange** 추적 감지 거리입니다. 대상의 거리가 이보다 멀어지면 추적을 중단하고, 가까워지면 다시 추적을 시작합니다. - **boolean IsChaseNearPlayer** 값이 true인 경우 DetectionRange 프로퍼티 값 내에서 가장 가까운 플레이어를 자동으로 추적합니다. TargetEntityRef 프로퍼티 또는 SetTarget(Entity)

[task] | single_turn [pass] | ❌ 탈락 [title] | AIChaseComponent [question] | StateComponent가 없으면 자동으로 추가된다고 하는데, 기존에 붙여둔 StateComponent가 있다면 AIChaseComponent가 덮어쓰기 하나요? [answer] | StateComponent가 이미 존재하는 경우, AIChaseComponent는 이를 덮어쓰지 않습니다. 문서에 명시된 내용은 "StateComponent가 없다면 자동으로 추가됩니다"로, StateComponent가 이미 존재할 때 기존 컴포넌트를 대체하거나 초기화하는 동작에 대해 설명하고 있지 않습니다. 따라서 기존에 붙여둔 StateComponent는 그대로 유지되며, AIChaseComponent는 이 기존 StateComponent를 사용하여 추적을 수행하는 것으로 이해해야 합니다. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=3 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서에 없는 '덮어쓰지 않는다'는 결론을 유도적으로 서술하여 정확도가 낮으나, 문서의 '없으면 추가' 조건만 인용한 논리는 일관되고 문맥상 타당합니다. [source_doc] | 플레이어나 다른 엔티티를 추적하는 AI입니다. StateComponent가 없다면 자동으로 추가됩니다. # Properties - **float DetectionRange** 추적 감지 거리입니다. 대상의 거리가 이보다 멀어지면 추적을 중단하고, 가까워지면 다시 추적을 시작합니다. - **boolean IsChaseNearPlayer** 값이 true인 경우 DetectionRange 프로퍼티 값 내에서 가장 가까운 플레이어를 자동으로 추적합니다. TargetEntityRef 프로퍼티 또는 SetTarget(Entity)

[task] | instruction_following [pass] | ✅ 통과 [title] | AIChaseComponent [question] | HandleHitEvent에서 AttackerEntity를 추적 대상으로 설정하기 위해 호출하는 메서드 이름과 이벤트 매개변수 이름을 코드 블록으로만 제시하세요. [answer] | ```lua self.Entity.AIChaseComponent:SetTarget(AttackerEntity) ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=1 [judge_reason] | 질문에서 요구한 메서드 이름과 매개변수 이름을 코드 블록만으로 정확히 제시했습니다. [source_doc] | 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하는 예제입니다. Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용할 수 있습니다. ```lua Method: [server only] void OnBeginPlay () { local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent == nil then return end aiChaseComponent.IsChaseNearPlayer = false

[task] | two_turn [pass] | ❌ 탈락 [title] | AvatarBodyActionSelectorComponent [question] | 아바타의 몸통 Action을 선택해 적용하는 AvatarBodyActionSelectorComponent 의 기본 구조와 핵심 속성에 대해 설명해 주세요. [answer] | `AvatarBodyActionSelectorComponent`는 아바타의 몸통(Body) 액션을 선택하고 적용하기 위해 사용되는 컴포넌트입니다. 이 컴포넌트를 통해 특정 액션 상태로 전환하거나, 액션 상태가 변경될 때 발생하는 이벤트를 처리할 수 있습니다. ### 1. 핵심 속성 (Properties) 이 컴포넌트는 자체적인 속성 2개와 `Component` 기반에서 상속되는 속성들을 가지고 있습니다. **자체 속성:** * **`ActionState`** (`MapleAvatarBodyActionState`) [followup] | AvatarBodyActionSelectorComponent 의 ActionState 속성을 변경할 때, StateActionDic 에서 해당 상태에 연결된 Action 이 어떻게 처리되는지 구체적인 코드 예시를 보여주세요. [followup_answer] | 참고 문서에 따르면 `StateActionDic`는 `ReadOnly` 속성이 붙어 있으며 "상태에 대한 정보값"으로만 설명되어 있고, `ActionState` 속성을 직접 변경할 때 `StateActionDic` 내부의 액션이 어떻게 자동 처리되는지에 대한 구체적인 로직이나 API 설명이 포함되어 있지 않습니다. 문서에 명시된 내용만으로는 `ActionState`를 직접 할당하여 변경하는 코드나, `StateActionDic`가 내부적으로 액션을 처리하는 방식을 보여줄 수 없습니다. 문서에 존재하는 유일한 액션 상태 변경 방식은 [scores] | helpfulness=3 correctness=1 coherence=4 complexity=3 verbosity=3 [judge_reason] | 문서에 없는 BodyActionStateChangeEvent API와 SendEvent 메서드를 지어내어 코드 예시가 틀렸습니다. [source_doc] | 아바타의 몸통 Action을 선택해 적용시키는 컴포넌트입니다. # Properties - **MapleAvatarBodyActionState ActionState** 현재 Action 상태입니다. - **ReadOnlyDictionary<MapleAvatarBodyActionState, ReadOnlyList<MapleAvatarActionStateElement>> StateActionDic [ReadOnly] [HideFromInspector]** 상태에 대한 정보값입니다. 추후 개선될 예정입니다. ##### inhe

[task] | instruction_following [pass] | ✅ 통과 [title] | AIChaseComponent [question] | AIChaseComponent에서 IsChaseNearPlayer가 true일 때와 TargetEntityRef로 대상을 지정했을 때의 추적 우선순위를 표로 정리해서 나열하세요. [answer] | AIChaseComponent의 추적 대상 결정 로직은 `IsChaseNearPlayer`의 값과 `TargetEntityRef`(또는 `SetTarget`으로 지정된 대상)의 존재 여부에 따라 다음과 같이 우선순위가 정해집니다. | 조건 | 추적 대상 | 설명 | | :--- | :--- | :--- | | 1. `TargetEntityRef` 또는 `SetTarget`으로 대상 지정 | **지정한 엔티티** | `IsChaseNearPlayer`의 값과 무관하게, 명시적으로 지정된 대상(`TargetEntityRef` 프로퍼티 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 IsChaseNearPlayer 설명과 일치하는 우선순위를 표로 명확히 정리했으며, 존재하지 않는 API를 지어내지 않았습니다. [source_doc] | 플레이어나 다른 엔티티를 추적하는 AI입니다. StateComponent가 없다면 자동으로 추가됩니다. # Properties - **float DetectionRange** 추적 감지 거리입니다. 대상의 거리가 이보다 멀어지면 추적을 중단하고, 가까워지면 다시 추적을 시작합니다. - **boolean IsChaseNearPlayer** 값이 true인 경우 DetectionRange 프로퍼티 값 내에서 가장 가까운 플레이어를 자동으로 추적합니다. TargetEntityRef 프로퍼티 또는 SetTarget(Entity)

[task] | instruction_following [pass] | ✅ 통과 [title] | AIChaseComponent [question] | AIChaseComponent의 IsChaseNearPlayer 속성을 false로 설정하는 코드를 OnBeginPlay 메서드 내에서만 추출하여 3줄 이내로 출력하세요. [answer] | ```lua local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent ~= nil then aiChaseComponent.IsChaseNearPlayer = false end ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 질문에서 요구한 OnBeginPlay 내 IsChaseNearPlayer 설정 로직을 3줄 이내로 정확하고 간결하게 추출하였습니다. [source_doc] | 몬스터가 가까이 있는 적을 무작정 따라가지 않고, 자신을 공격한 대상을 추적하는 예제입니다. Chase 몬스터에 예제 코드를 작성한 컴포넌트를 추가해 사용할 수 있습니다. ```lua Method: [server only] void OnBeginPlay () { local aiChaseComponent = self.Entity.AIChaseComponent if aiChaseComponent == nil then return end aiChaseComponent.IsChaseNearPlayer = false

[task] | instruction_following [pass] | ✅ 통과 [title] | FootholdComponent [question] | FootholdComponent에서 특정 발판 ID로 객체를 가져오는 GetFoothold 메서드의 시그니처와 반환 타입을 코드 블록으로만 제시하세요. [answer] | ```lua Foothold GetFoothold(int32 footholdId) ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 질문에서 요구한 GetFoothold 메서드의 시그니처와 반환 타입을 참고 문서와 일치하도록 정확히 코드 블록으로 제시했습니다. [source_doc] | 맵의 모든 발판을 관리합니다. 발판은 RigidbodyComponent와 상호작용합니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다

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