[task] | single_turn [pass] | ⏳ 미판정 [title] | AvatarGUIRendererComponent [question] | F1 키를 눌렀을 때 Vomit 감정이 5초 동안만 표시된 후 자동으로 사라지는 건지, 아니면 별도로 종료 처리를 해야 하는 건가요? [answer] | F1 키를 눌러 `PlayEmotion`을 호출할 때 두 번째 인자로 전달하는 숫자(예시에서는 5)는 해당 감정이 표시되는 **지속 시간(초)**입니다. 따라서 F1 키를 누르면 `EmotionalType.Vomit` 감정이 **5초 동안 표시된 후 자동으로 사라지며**, 별도의 종료 처리 코드를 작성할 필요가 없습니다. 참고로, 참고 문서에 포함된 `PlayEmotion` 메서드의 시그니처와 사용 예시는 다음과 같습니다: ```lua self.Entity.AvatarGUIRendererComponent:PlayEmotion( [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | F1부터 F5 키를 눌러 감정 표현을 변경합니다. ```lua Method: [client only] void ChangeEmotion (number emotionNumber) { if emotionNumber == 1 then self.Entity.AvatarGUIRendererComponent:PlayEmotion(EmotionalType.Vomit, 5) elseif emotionNumber == 2 then self.Entity.AvatarGUIRendererComponent:PlayEmotion(Em
[task] | single_turn [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-3022 InvalidExecSpace 오류가 나는 코드가 있는데, [server only]로 선언한 함수를 클라이언트에서 호출했을 때 이런 에러가 발생하는 건가요? [answer] | 네, `[server only]`로 선언한 함수를 클라이언트 쪽에서 직접 호출하거나 참조하려고 하면 `LEA-3022 InvalidExecSpace` 오류가 발생할 수 있습니다. `LEA-3022` 오류는 **유효하지 않은 실행공간(Exec Space)을 사용했을 때** 발생합니다. mLua에서는 메서드별로 `[server only]`, `[client only]`, `[multicast]` 등 실행 공간이 명확히 구분됩니다. ### 오류 발생 원리 1. **서버 전용 함수**: `[server only]`로 선언된 함수는 서버 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 을 사용했습니다. | | LEA-2010 | ForLimitNeedNumber | For문의 Limit 구문에 잘못된 타입을 사용했습니다. | | LEA-2011 | AttemptToCall | 함수 호출이 불가능한 타입에 함수 호출을 시도했습니다. | | LEA-3001 | NotSupported | 지원하지 않는 기능을 사용했습니다. | | LEA-3002 | InvalidOperation | 함수 호출이 객체의 현재 상태에 유효하지 않습니다. | | LEA-3003 | OutOfRange | 값의 허용 범위를 벗어났습니다. |
[task] | single_turn [pass] | ⏳ 미판정 [title] | AvatarGUIRendererComponent [question] | AvatarGUIRendererComponent의 RaycastTarget가 true일 때 아바타 뒤에 있는 버튼 클릭이 안 되는 현상을 방지하려면 어떻게 설정해야 하나요? [answer] | `AvatarGUIRendererComponent`의 `RaycastTarget` 프로퍼티를 `false`로 설정하면 됩니다. `RaycastTarget`이 `true`일 경우 아바타가 화면 터치 또는 마우스 클릭의 대상이 되어, 아바타 뒤에 배치된 UI 요소(버튼 등)가 입력 이벤트를 받을 수 없습니다. 따라서 아바타가 입력을 가로채지 않도록 `RaycastTarget`을 `false`로 변경해야 합니다. ```lua Property: [None] boolean RaycastTarget = false ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타 형태의 엔티티를 UI에 렌더링합니다. # Properties - **Color Color** 아바타 전체 색을 지정한 색상 값으로 변경합니다. - **boolean FlipX** X축을 기준으로 반전 여부를 결정합니다. - **boolean FlipY** Y축을 기준으로 반전 여부를 결정합니다. - **string MaterialId [Sync]** 렌더러에 적용할 머티리얼 Id를 지정합니다. - **float PlayRate** 아바타 애니메이션 재생 속도를 지정할 수 있습니다. 0 이상의 값을 지원하
[task] | single_turn [pass] | ⏳ 미판정 [title] | AvatarGUIRendererComponent [question] | SetAvatarPartColor 메서드로 아바타의 특정 파츠 색상을 변경할 때 MapleAvatarItemCategory에서 사용할 수 있는 값과 RGB 매개변수의 순서가 어떻게 되나요? [answer] | `SetAvatarPartColor` 메서드의 매개변수 순서는 `MapleAvatarItemCategory category, float r, float g, float b, float a`입니다. 즉, 첫 번째 인자로 변경할 아바타 파츠의 카테고리를 지정하고, 이후 `r`, `g`, `b`, `a` 순서로 RGB 색상 값과 알파(투명도) 값을 전달합니다. 참고 문서에는 `MapleAvatarItemCategory`에서 사용할 수 있는 구체적인 값(열거형 항목) 목록이 포함되어 있지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타 형태의 엔티티를 UI에 렌더링합니다. # Properties - **Color Color** 아바타 전체 색을 지정한 색상 값으로 변경합니다. - **boolean FlipX** X축을 기준으로 반전 여부를 결정합니다. - **boolean FlipY** Y축을 기준으로 반전 여부를 결정합니다. - **string MaterialId [Sync]** 렌더러에 적용할 머티리얼 Id를 지정합니다. - **float PlayRate** 아바타 애니메이션 재생 속도를 지정할 수 있습니다. 0 이상의 값을 지원하
[task] | single_turn [pass] | ⏳ 미판정 [title] | AvatarGUIRendererComponent [question] | HandleKeyDownEvent 핸들러에 [client only] 속성이 붙어 있는 이유는 무엇이며, 서버에서 이 이벤트를 처리하려 하면 어떻게 되나요? [answer] | `HandleKeyDownEvent` 핸들러에 `[client only]` 속성이 붙어 있는 이유는 키 입력(Key Input)이 클라이언트(플레이어 기기)에서만 발생하는 로컬 이벤트이기 때문입니다. 서버는 물리적으로 사용자의 키보드 상태를 알 수 없으므로, 키 입력 이벤트는 네트워크를 통해 서버로 전송되지 않으며 클라이언트 공간에서만 처리됩니다. 따라서 서버에서 이 이벤트를 처리하려 하면 **이벤트가 서버에 전달되지 않으므로 처리되지 않습니다.** `[client only]` 속성을 제거하거나 `[server]` 등으로 변경하여 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | F1부터 F5 키를 눌러 감정 표현을 변경합니다. ```lua Method: [client only] void ChangeEmotion (number emotionNumber) { if emotionNumber == 1 then self.Entity.AvatarGUIRendererComponent:PlayEmotion(EmotionalType.Vomit, 5) elseif emotionNumber == 2 then self.Entity.AvatarGUIRendererComponent:PlayEmotion(Em
[task] | single_turn [pass] | ⏳ 미판정 [title] | AvatarGUIRendererComponent [question] | PlayEmotion 메서드의 duration 인자가 0으로 설정되면 감정 표현이 즉시 종료되는지, 아니면 기본 지속시간으로 재생되는지 어떻게 구분할 수 있나요? [answer] | 제공된 문서에는 `PlayEmotion` 메서드의 `duration` 인자가 0으로 설정되었을 때의 구체적인 동작(즉시 종료 여부 또는 기본 지속시간 적용 여부)에 대한 설명이 없습니다. 문서에서는 해당 메서드에 대해 "감정 표현을 재생합니다"라고만 기술되어 있으며, `duration` 파라미터의 값이 0일 때의 예외 처리나 특수 동작에 대한 정보는 포함되어 있지 않습니다. 따라서 주어진 문서만으로는 이 두 가지 경우를 구분하거나 예측할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타 형태의 엔티티를 UI에 렌더링합니다. # Properties - **Color Color** 아바타 전체 색을 지정한 색상 값으로 변경합니다. - **boolean FlipX** X축을 기준으로 반전 여부를 결정합니다. - **boolean FlipY** Y축을 기준으로 반전 여부를 결정합니다. - **string MaterialId [Sync]** 렌더러에 적용할 머티리얼 Id를 지정합니다. - **float PlayRate** 아바타 애니메이션 재생 속도를 지정할 수 있습니다. 0 이상의 값을 지원하
[task] | single_turn [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-4014와 LEA-4002 오류 코드의 차이는 무엇이며, 각각 어떤 코드 수정으로 해결할 수 있나요? [answer] | LEA-4014와 LEA-4002 오류 코드는 모두 타입 관련 오류이지만, 발생 원인과 대상이 다릅니다. **1. LEA-4014 (TypeMismatch)** * **의미:** "입력 값의 타입이 올바르지 않습니다." * **원인:** 특정 함수나 메서드에 전달하려는 **인수(Argument)** 의 타입이 해당 함수가 기대하는 타입과 일치하지 않을 때 발생합니다. * **수정 방법:** 함수 호출 시 전달하는 변수의 타입을 함수 정의(Declaration)에서 요구하는 타입으로 변경하거나, 적절한 타입 변환(Cast [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 누수가 발생했습니다. | | LEA-3052 | InvalidName | 유효한 이름이 아닙니다. | | LEA-3053 | CannotDelete | 삭제에 실패했습니다. | | LEA-3054 | CannotApply | 적용에 실패했습니다. | | LEA-3056 | StackOverflow | 스택 오버플로우가 발생했습니다. | | LEA-3058 | CircularReference | 순환 참조가 발생했습니다. | | LEA-4002 | InvalidType | 타입이 유효하지 않습니다. | | LEA-4003 | Inva
[task] | instruction_following [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UITransformAxis 열거형의 멤버를 이름과 값이 일치하도록 2열 표로만 출력하세요. [answer] | | 이름 | 값 | |---|---| | Horizontal | 0 | | Vertical | 1 | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | single_turn [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | 숫자 0을 UITransformAxis 타입으로 변환하려면 어떤 메서드를 사용해야 하나요? [answer] | 숫자 0을 `UITransformAxis` 타입으로 변환하려면 `UITransformAxis.CastFrom(number value)` 정적 메서드를 사용합니다. ```lua local axis = UITransformAxis.CastFrom(0) log(axis) -- Horizontal (0) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | single_turn [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UITransformAxis에서 Horizontal과 Vertical의 값을 각각 어떻게 설정해야 하나요? [answer] | `UITransformAxis`에서 `Horizontal`과 `Vertical`의 값은 각각 다음과 같이 설정합니다. * `Horizontal`: **0** * `Vertical`: **1** 이 값들을 직접 숫자로 사용하거나, 해당 상수 이름을 참조하여 UI 시스템의 축을 설정할 때 사용합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | two_turn [pass] | ⏳ 미판정 [title] | AutomaticLayerOption [question] | RigidbodyComponent에 AutomaticLayerOption을 적용할 때 어떤 제한 사항이 있나요? [answer] | 제공된 참고 문서에는 `AutomaticLayerOption`이 `RigidbodyComponent`와 `ClimbableSpriteRendererComponent`의 `SortingLayer` 관계를 나타낸다는 정의만 포함되어 있습니다. 문서에는 `RigidbodyComponent`에 `AutomaticLayerOption`을 적용할 때의 구체적인 **제한 사항(예: 특정 컴포넌트 필수 여부, 특정 상태에서만 작동함 등)** 이 명시되어 있지 않습니다. 따라서 제공된 정보만으로는 제한 사항을 알 수 없습니다. [followup] | ClimbableSpriteRendererComponent와의 상호작용에서 특정 예외가 발생할 수 있는 경우를 알려주세요. [followup_answer] | 제공된 참고 문서에는 `ClimbableSpriteRendererComponent`와의 상호작용에서 발생할 수 있는 **특정 예외 상황**에 대한 정보가 없습니다. 문서에는 `AutomaticLayerOption`의 멤버(`None`, `Climbable`, `All`)가 `SortingLayer`를 어떻게 변경하는지 정의만 나와 있을 뿐, 에러, 예외, 또는 비정상적인 동작 조건에 대한 설명은 포함되어 있지 않습니다. [scores] | [judge_reason] | [source_doc] | RigidbodyComponent와 ClimbableSpriteRendererComponent의 SortingLayer와의 관계를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | Entity가 foothold, 사다리, 로프의 SortingLayer에 따라 변경되지 않습니다. | | Climbable | 1 | Entity가 사다리, 로프를 타면 해당 SortingLayer와 동일하게 변경됩니다. | | All | 2 | Entity가 밟고 있는 foothold, 타고
[task] | instruction_following [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UITransformAxis의 Horizontal과 Vertical 값이 0과 1임을 확인하기 위한 if 조건문만 1줄로 작성하세요. [answer] | ```lua if UITransformAxis.Horizontal == 0 and UITransformAxis.Vertical == 1 then log("값 확인 완료") end ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | instruction_following [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UITransformAxis CastFrom 메서드의 정적 호출 예제를 주석으로 설명을 포함해 5줄 이내의 코드 블록으로 작성하세요. [answer] | ```lua -- 숫자 0을 Horizontal 축으로 변환합니다. local axis1 = UITransformAxis.CastFrom(0) -- 문자열 "Vertical"을 Vertical 축으로 변환합니다. local axis2 = UITransformAxis.CastFrom("Vertical") log(axis1, axis2) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | single_turn [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UI 축 설정 시 Horizontal과 Vertical의 차이는 무엇인가요? [answer] | `UITransformAxis`는 UI 시스템에서 축을 설정할 때 사용하는 값으로, 가로와 세로 방향을 구분합니다. * **Horizontal (0)**: 가로 축을 의미합니다. * **Vertical (1)**: 세로 축을 의미합니다. 이 두 값은 UI 요소의 위치나 크기 변환 시 적용할 방향을 지정하는 데 사용됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | code [pass] | ⏳ 미판정 [title] | ImageComponent [question] | ImageComponent 의 FillAmount 를 0.0 에서 1.0 까지 1초 동안 점진적으로 증가시켜 프로그레스 바 효과를 구현하는 스크립트를 작성해줘 [answer] | ImageComponent는 UI에 이미지를 출력하는 컴포넌트의 부모 컴포넌트이며, 엔티티에 직접 추가할 수 없습니다. 따라서 실제 UI를 렌더링하는 자식 컴포넌트(예: SpriteGUIRendererComponent 등)를 통해 접근해야 합니다. 1초 동안 `FillAmount`를 0.0에서 1.0으로 증가시키는 로직은 `OnUpdate`에서 프레임 간격(delta)을 이용해 값을 누적하는 방식으로 구현할 수 있습니다. ```lua Property: [None] number FillProgress = 0.0 [None] boo [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | SpriteGUIRendererComponent등과 같이 UI에 이미지를 출력하는 컴포넌트의 부모 컴포넌트입니다. 엔티티에 직접 추가해서 사용할 수 없습니다. # Properties - **Color Color** 이미지의 기본 색상을 설정합니다 - **boolean DropShadow** 이미지의 그림자 출력 여부를 설정합니다. - **float DropShadowAngle** 그림자를 출력할 각도를 설정합니다 - **Color DropShadowColor** 그림자 색상을 설정합니다. - **float Drop
[task] | instruction_following [pass] | ⏳ 미판정 [title] | DestroyMapleCostumeEvent [question] | DestroyMapleCostumeEvent가 발생하는 컴포넌트와 실행 공간을 2문장 이내로 설명하세요. [answer] | DestroyMapleCostumeEvent는 CostumeManagerComponent가 삭제될 때 발생합니다. 이 이벤트는 Client 공간에서 발생합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | CostumeManagerComponent가 삭제될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CostumeManagerComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **DestroyMapleCostumeEvent()** 기본값으로 D
[task] | two_turn [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-3033(NilReference) 오류가 발생하는 일반적인 상황과, `wait()` 함수 사용 중 발생하는 nil 참조 예외를 어떻게 처리해야 하는가? [answer] | 제시된 참고 문서에는 LEA-3033(NilReference) 오류가 "nil을 참조했습니다"라는 정의만 제공되고 있으며, 구체적인 발생 상황 목록이나 `wait()` 함수 사용 중 발생하는 예외에 대한 상세 설명, 또는 해당 예외를 처리하는 구체적인 방법(예: pcall, xpcall 등)에 대한 정보는 포함되어 있지 않습니다. 따라서 문서에 근거하여 답변할 수 있는 범위는 다음과 같습니다: 1. **LEA-3033(NilReference) 오류 정의**: 이 오류는 코드가 `nil` 값을 참조할 때 발생합니다. 2. ** [followup] | `wait(1.0)` 호출 후 엔티티가 삭제된 상태에서 `self.Entity`에 접근할 때 발생하는 nil 참조 문제를 방지하는 mLua 방어적 코딩 예제를 작성해 주세요. [followup_answer] | 제공된 참고 문서에는 LEA-3033(NilReference) 오류가 "nil을 참조했습니다"라는 정의만 포함되어 있으며, `wait()` 함수 사용 후 엔티티가 삭제되었을 때 `self.Entity`가 nil이 되는 구체적인 메커니즘이나 이를 방지하기 위한 mLua 표준 API(예: `IsAlive()`, `IsValid()` 등)에 대한 정보는 명시되어 있지 않습니다. 따라서 문서에 근거하여 특정 API를 이용해 방어적 코딩을 작성하는 것은 불가능합니다. 다만, mLua 스크립트 규칙과 Lua 5.3 문법에 기반하여 **변수가 [scores] | [judge_reason] | [source_doc] | 을 사용했습니다. | | LEA-2010 | ForLimitNeedNumber | For문의 Limit 구문에 잘못된 타입을 사용했습니다. | | LEA-2011 | AttemptToCall | 함수 호출이 불가능한 타입에 함수 호출을 시도했습니다. | | LEA-3001 | NotSupported | 지원하지 않는 기능을 사용했습니다. | | LEA-3002 | InvalidOperation | 함수 호출이 객체의 현재 상태에 유효하지 않습니다. | | LEA-3003 | OutOfRange | 값의 허용 범위를 벗어났습니다. |
[task] | instruction_following [pass] | ⏳ 미판정 [title] | DestroyMapleCostumeEvent [question] | DestroyMapleCostumeEvent 생성자의 매개변수와 초기화 방식을 코드 블록으로만 출력하세요. [answer] | ```lua local event = DestroyMapleCostumeEvent() ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | CostumeManagerComponent가 삭제될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CostumeManagerComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **DestroyMapleCostumeEvent()** 기본값으로 D
[task] | two_turn [pass] | ⏳ 미판정 [title] | ImageComponent [question] | ImageComponent의 기본 색상과 그림자, 외곽선 등 시각적 속성을 설정할 때 주의할 점은 무엇인가요? [answer] | `ImageComponent`의 시각적 속성을 설정할 때는 각 속성이 서로 독립적으로 작동하며, 일부 속성은 특정 `Type`이나 `FillMethod` 설정이 전제되어야만 효과가 나타납니다. 주요 주의 사항은 다음과 같습니다. **1. 그림자(DropShadow) 관련 설정** * **활성화 우선**: 그림자를 보려면 반드시 `DropShadow` 프로퍼티를 `true`로 설정해야 합니다. * **속성 조합**: `DropShadow`가 `true`일 때만 `DropShadowAngle`(각도), `DropShadowCo [followup] | FillAmount가 0.5일 때 FillMethod가 Radial90으로 설정되어 있으면 채워지는 영역은 어떻게 달라지나요? [followup_answer] | `FillAmount`가 0.5이고 `FillMethod`가 `Radial90`으로 설정되어 있을 때, 이미지는 **90도(사분면) 범위 중 절반인 45도만큼** 채워집니다. 구체적인 동작 원리는 다음과 같습니다. 1. **Radial90의 의미**: `Radial90`은 원형(원호) 채우기 방식 중 90도(90°) 범위를 기준으로 채워지는 방식을 의미합니다. 2. **FillAmount 0.5의 적용**: `FillAmount`는 0~1 사이의 값으로, 전체 허용 범위(이 경우 90도) 중 어느 비율까지 채울지를 결정합니다 [scores] | [judge_reason] | [source_doc] | SpriteGUIRendererComponent등과 같이 UI에 이미지를 출력하는 컴포넌트의 부모 컴포넌트입니다. 엔티티에 직접 추가해서 사용할 수 없습니다. # Properties - **Color Color** 이미지의 기본 색상을 설정합니다 - **boolean DropShadow** 이미지의 그림자 출력 여부를 설정합니다. - **float DropShadowAngle** 그림자를 출력할 각도를 설정합니다 - **Color DropShadowColor** 그림자 색상을 설정합니다. - **float Drop
[task] | code [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-1101 오류를 방지하기 위해 `self.Entity.TransformComponent`에 접근할 때 콜론(`:`) 대신 도트(`.`) 연산자를 올바르게 사용하여 위치를 반환하는 스크립트를 작성해줘. [answer] | LEA-1101 오류는 **콜론(`:`) 사용이 권장되는 함수에 도트(`.`)를 사용했을 때** 발생하는 오류입니다. 질문에서 언급된 `self.Entity.TransformComponent`는 **프로퍼티(속성) 접근**이며, 함수 호출이 아닙니다. 따라서 `.` 연산자를 사용하는 것이 **이미 올바른 방식**이며, LEA-1101 오류와 관련이 없습니다. LEA-1101을 방지하려면 **함수 호출** 시에만 콜론(`:`)과 도트(`.`)의 차이를 정확히 구분해야 합니다. * **프로퍼티 접근 (변수/값 읽기):** 항상 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LEA-1001 | ExpectedSymbol | 코드를 구성하는데 필요한 심볼을 작성하지 않았습니다. | | LEA-1002 | NoReturnStatement | 반환 값이 필요한 함수에 반환 값을 작성하지 않았습니다. | | LEA-1003 | NeedPairKeyword | 코드를 구성에 필요한 쌍이 맞지 않습니다. | | LEA-1004 | DuplicateLabel | 라벨을 중복 정의했습니다. | | LEA-1005 | UnexpectedSymbol | 예상하지
[task] | single_turn [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UITransformAxis CastFrom 메서드에 문자열을 전달할 때 인수로 무엇을 넣어야 하나요? [answer] | `UITransformAxis.CastFrom(string value)` 메서드에 문자열을 전달할 때, 인수로 해당 축을 나타내는 문자열을 넣어야 합니다. 참고 문서에 명시된 `UITransformAxis` 멤버의 이름은 `Horizontal`과 `Vertical`이며, 각각 가로 축과 세로 축을 의미합니다. 따라서 `CastFrom` 메서드의 문자열 인수로 `"Horizontal"` 또는 `"Vertical"`을 전달하여 해당 축으로 변환할 수 있습니다. ```lua -- 문자열 "Horizontal"을 UITransformA [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | two_turn [pass] | ⏳ 미판정 [title] | AutomaticLayerOption [question] | AutomaticLayerOption의 기본 동작 방식이 무엇인가요? [answer] | `AutomaticLayerOption`은 `RigidbodyComponent`와 `ClimbableSpriteRendererComponent`가 상호작용할 때 SortingLayer가 어떻게 적용되는지를 제어하는 옵션입니다. 기본 동작 방식은 선택된 옵션에 따라 다음과 같이 나뉩니다. * **None (0)**: Entity가 foothold(밟히는 지면), 사다리, 로프의 SortingLayer에 영향을 받지 않으며, 자체의 SortingLayer를 유지합니다. * **Climbable (1)**: Entity가 사다리 [followup] | Climbable과 All의 차이는 구체적으로 어떤 상황에서 발생하며, 코드에서 어떻게 설정하나요? [followup_answer] | `Climbable`과 `All`의 차이는 Entity가 **foothold(밟히는 지면)** 위에서 이동할 때 SortingLayer가 변경되는지 여부에서 발생합니다. ### 구체적 상황 차이 1. **Climbable (1)** * **적용 대상**: 사다리, 로프 * **동작**: Entity가 사다리나 로프를 타는 경우에만 해당 사다리/로프의 SortingLayer와 동일하게 변경됩니다. * **비적용**: Entity가 일반 지면(foothold)을 밟고 이동할 때는 SortingLay [scores] | [judge_reason] | [source_doc] | RigidbodyComponent와 ClimbableSpriteRendererComponent의 SortingLayer와의 관계를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | Entity가 foothold, 사다리, 로프의 SortingLayer에 따라 변경되지 않습니다. | | Climbable | 1 | Entity가 사다리, 로프를 타면 해당 SortingLayer와 동일하게 변경됩니다. | | All | 2 | Entity가 밟고 있는 foothold, 타고
[task] | code [pass] | ⏳ 미판정 [title] | AvatarGUIRendererComponent [question] | 아바타 GUI 렌더러의 Body 엔티티를 가져와서 해당 파츠의 색상 값을 RGB 값으로 설정하는 클라이언트 전용 스크립트를 작성해줘. [answer] | 아바타 GUI 렌더러에서 Body 엔티티를 가져오고 해당 파츠의 색상을 RGB 값으로 설정하려면 `GetBodyEntity()` 메서드와 `SetAvatarPartColor()` 메서드를 사용합니다. 두 메서드 모두 `[ClientOnly]` 속성이 있으므로 클라이언트에서만 실행됩니다. 아바타의 Body 부분에 해당하는 카테고리(`MapleAvatarItemCategory`)와 RGB 색상을 지정하여 코드를 작성했습니다. 아래 예제에서는 Body 파츠를 빨간색(1, 0, 0, 1)으로 설정합니다. ```lua Property: [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타 형태의 엔티티를 UI에 렌더링합니다. # Properties - **Color Color** 아바타 전체 색을 지정한 색상 값으로 변경합니다. - **boolean FlipX** X축을 기준으로 반전 여부를 결정합니다. - **boolean FlipY** Y축을 기준으로 반전 여부를 결정합니다. - **string MaterialId [Sync]** 렌더러에 적용할 머티리얼 Id를 지정합니다. - **float PlayRate** 아바타 애니메이션 재생 속도를 지정할 수 있습니다. 0 이상의 값을 지원하
[task] | instruction_following [pass] | ⏳ 미판정 [title] | DestroyMapleCostumeEvent [question] | 이 문서에 명시된 API 정보만 사용하여 DestroyMapleCostumeEvent의 발생 조건을 표로 정리하세요. [answer] | DestroyMapleCostumeEvent는 `CostumeManagerComponent`가 삭제될 때 발생합니다. | 항목 | 내용 | | :--- | :--- | | **이벤트 이름** | `DestroyMapleCostumeEvent` | | **발생 조건** | `CostumeManagerComponent`가 삭제될 때 | | **발생 공간 (Space)** | Client | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | CostumeManagerComponent가 삭제될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CostumeManagerComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **DestroyMapleCostumeEvent()** 기본값으로 D
[task] | single_turn [pass] | ⏳ 미판정 [title] | AutomaticLayerOption [question] | AutomaticLayerOption CastFrom 메서드에 숫자 1을 전달하면 어떤 값이 반환되며, 이 값은 어떤 동작을 의미하나요? [answer] | `AutomaticLayerOption.CastFrom(1)`을 호출하면 **`Climbable`** 값이 반환됩니다. 이 값은 Entity가 사다리나 로프를 타는 경우, 해당 사다리나 로프의 SortingLayer와 동일하게 변경되는 동작을 의미합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | RigidbodyComponent와 ClimbableSpriteRendererComponent의 SortingLayer와의 관계를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | Entity가 foothold, 사다리, 로프의 SortingLayer에 따라 변경되지 않습니다. | | Climbable | 1 | Entity가 사다리, 로프를 타면 해당 SortingLayer와 동일하게 변경됩니다. | | All | 2 | Entity가 밟고 있는 foothold, 타고
[task] | single_turn [pass] | ⏳ 미판정 [title] | UITransformAxis [question] | UITransformAxis CastFrom 메서드가 정적(Static) 메서드라는 것은 어떤 의미인가요? [answer] | `UITransformAxis`의 `CastFrom` 메서드가 정적(Static) 메서드라는 것은, 이 메서드를 호출하기 위해 `UITransformAxis` 타입의 인스턴스(객체)를 생성할 필요가 없다는 의미입니다. 메서드가 선언부에서 `[Static]`으로 명시되어 있으므로, 특정 객체를 통해 호출하는 `:` 연산자 대신, 타입 이름에 `.`(점)을 붙여 직접 호출해야 합니다. mLua에서는 Static 메서드를 호출할 때 아래 형식을 사용합니다. ```lua -- 정적 메서드 호출 예시: : 대신 . 사용 local ax [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 시스템에서 축을 설정할 때 사용합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Horizontal | 0 | 가로 축입니다. | | Vertical | 1 | 세로 축입니다. | # Methods - **UITransformAxis CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **UITransformAxis CastFrom(string value) [Static]** 문자열을 해당 타입으로 변환합니다.
[task] | two_turn [pass] | ⏳ 미판정 [title] | AutomaticLayerOption [question] | AutomaticLayerOption을 number나 string으로 변환할 때 CastFrom 메서드는 어떻게 사용하나요? [answer] | `AutomaticLayerOption`을 number나 string으로 변환할 때는 정적 메서드인 `CastFrom`을 사용합니다. 1. **number로 변환**: `AutomaticLayerOption.CastFrom(number value)` - 예: 값 `1`을 `Climbable` 옵션으로 변환하려면 `AutomaticLayerOption.CastFrom(1)`을 호출합니다. - 값 `0`은 `None`, `2`는 `All`로 변환됩니다. 2. **string으로 변환**: `AutomaticLayerOpt [followup] | 변환이 실패하거나 잘못된 값이 들어올 경우 예외 처리는 어떻게 해야 하나요? [followup_answer] | 제공된 참고 문서에는 `AutomaticLayerOption.CastFrom` 메서드가 잘못된 값이나 존재하지 않는 값에 대해 어떤 예외를 던지거나, 실패 시 어떤 반환 값을 제공하는지에 대한 정보가 포함되어 있지 않습니다. 따라서 문서만으로는 예외 처리 방법(예: `pcall` 사용, 반환 값 확인 등)을 설명할 수 없습니다. 정확한 예외 동작을 확인하려면 mLua의 일반적인 Enum 변환 규칙이나 추가적인 API 문서가 필요합니다. [scores] | [judge_reason] | [source_doc] | RigidbodyComponent와 ClimbableSpriteRendererComponent의 SortingLayer와의 관계를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | Entity가 foothold, 사다리, 로프의 SortingLayer에 따라 변경되지 않습니다. | | Climbable | 1 | Entity가 사다리, 로프를 타면 해당 SortingLayer와 동일하게 변경됩니다. | | All | 2 | Entity가 밟고 있는 foothold, 타고
[task] | code [pass] | ⏳ 미판정 [title] | DestroyMapleCostumeEvent [question] | CostumeManagerComponent의 DestroyMapleCostumeEvent 핸들러를 작성하여 이벤트 발생 시 log로 "코스튬이 삭제되었습니다"를 출력하는 스크립트를 작성해줘 [answer] | `CostumeManagerComponent`가 삭제될 때 발생하는 `DestroyMapleCostumeEvent`는 Client 공간에서 발생합니다. 따라서 해당 이벤트를 수신하는 핸들러는 `self`에 대한 이벤트 핸들러로 작성해야 하며, 이벤트 파라미터는 해당 문서에 정의된 필드가 없습니다. 요청하신 로직을 적용한 mLua 스크립트는 다음과 같습니다. ```lua Event Handler: [self] HandleDestroyMapleCostumeEvent(DestroyMapleCostumeEvent event) { [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | CostumeManagerComponent가 삭제될 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CostumeManagerComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **DestroyMapleCostumeEvent()** 기본값으로 D
[task] | single_turn [pass] | ⏳ 미판정 [title] | AutomaticLayerOption [question] | AutomaticLayerOption CastFrom(string value) 메서드를 사용할 때, "Climbable" 문자열과 숫자 1은 동일한 결과를 내나요? [answer] | 네, 동일한 결과를 냅니다. `AutomaticLayerOption`의 멤버 정의에 따르면 `Climbable`은 값이 1입니다. `AutomaticLayerOption CastFrom(string value)`와 `AutomaticLayerOption CastFrom(number value)`는 각각 문자열이나 숫자를 해당 타입으로 변환하는 메서드입니다. 따라서 `"Climbable"` 문자열을 변환하거나 `1`이라는 숫자를 변환하는 경우 모두 값이 1인 `Climbable` 옵션으로 변환됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | RigidbodyComponent와 ClimbableSpriteRendererComponent의 SortingLayer와의 관계를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | Entity가 foothold, 사다리, 로프의 SortingLayer에 따라 변경되지 않습니다. | | Climbable | 1 | Entity가 사다리, 로프를 타면 해당 SortingLayer와 동일하게 변경됩니다. | | All | 2 | Entity가 밟고 있는 foothold, 타고
[task] | two_turn [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-1001부터 LEA-1009까지의 문법 오류 중, 코드의 구조적 문제(심볼, 문자열, 함수 인자)를 구분하는 기준은 무엇인가요? [answer] | LEA-1001부터 LEA-1009까지의 오류는 **문법적(lexical/syntactic) 구조**와 **문자열/함수 호출의 특정 요소**로 구분할 수 있습니다. 1. **코드의 기본 구조(심볼 및 매칭) 문제** - **LEA-1001 (ExpectedSymbol)**: 코드를 구성하는 데 필요한 심볼(구문 기호)이 누락된 경우입니다. - **LEA-1003 (NeedPairKeyword)**: 코드의 구성 요소(예: 중괄호, 괄호 등)가 짝을 이루지 못하는 경우입니다. - **LEA-1005 (Unexpect [followup] | LEA-1009(FunctionArgumentExpected)가 발생하는 구체적인 코드 예시와, 이를 해결하기 위해 수정해야 하는 함수 호출 식의 정확한 형태는 어떻게 되나요? [followup_answer] | LEA-1009(FunctionArgumentExpected)는 **함수 호출식의 인수를 작성하지 않았습니다.** 라는 오류로, 함수를 호출할 때 괄호 `()` 내부에 필요한 인수를 전혀 채우지 않거나, 인자 목록이 비어 있는 상태로 구문이 끝나는 경우 발생합니다. ### 구체적인 오류 코드 예시 ```lua Method: [server only] void OnBeginPlay() { -- 오류: 함수 호출 시 괄호 안에 아무것도 없습니다. log() -- 오류: 함수 호출 시 인자 목록이 비어 있 [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LEA-1001 | ExpectedSymbol | 코드를 구성하는데 필요한 심볼을 작성하지 않았습니다. | | LEA-1002 | NoReturnStatement | 반환 값이 필요한 함수에 반환 값을 작성하지 않았습니다. | | LEA-1003 | NeedPairKeyword | 코드를 구성에 필요한 쌍이 맞지 않습니다. | | LEA-1004 | DuplicateLabel | 라벨을 중복 정의했습니다. | | LEA-1005 | UnexpectedSymbol | 예상하지