[task] | code [pass] | ⏳ 미판정 [title] | OverflowType [question] | OverflowType CastFrom(string value) 메서드를 사용하여 "Truncate" 문자열을 넘겨받아 변수에 저장하고, 해당 값이 1과 같은지 확인하여 log 로 출력하는 스크립트를 작성해줘 [answer] | ```lua Method: [server only] void OnBeginPlay() { local overflowType = OverflowType.CastFrom("Truncate") local isTruncate = (overflowType == 1) log(isTruncate) } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 가로 너비를 벗어난 텍스트 처리 방식을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Overflow | 0 | 가로 너비를 벗어난 텍스트를 표시합니다. | | Truncate | 1 | 가로 너비를 벗어난 글자를 잘라낸 채로 표시합니다. | | ellipsis | 2 | 가로 너비를 벗어난 글자를 잘라냅니다. 잘린 뒷부분을 줄임표로 대체합니다. | # Methods - **OverflowType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변
[task] | single_turn [pass] | ⏳ 미판정 [title] | PlatformType [question] | UI 엔티티의 플랫폼 설정을 잘못해 PC에서만 작동하게 하려는데 Mobile 값 2를 사용했는데 오류가 납니다. 원인이 무엇일까요? [answer] | `PlatformType` enum 값을 잘못 선택했기 때문입니다. `PlatformType`의 각 값은 다음과 같습니다: * **PC**: 1 (PC 환경에서만 활성화) * **Mobile**: 2 (모바일 환경에서만 활성화) * **All**: 255 (PC, 모바일 모두 활성화) 질문에서 "PC에서만 작동하게 하려는데 Mobile 값 2를 사용했다"고 하셨으므로, 설정 값이 `2`(Mobile)이기 때문에 UI 엔티티가 **모바일 환경에서만** 활성화되고, PC 환경에서는 비활성화되어 오류나 동작하지 않는 현상이 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 엔티티를 활성화할 수 있는 플랫폼을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | PC | 1 | PC 환경에서 활성화되는 플랫폼입니다. | | Mobile | 2 | 모바일 환경에서 활성화되는 플랫폼입니다. | | All | 255 | PC, 모바일 환경에서 모두 활성화되는 플랫폼입니다. | # Methods - **PlatformType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **PlatformType CastFr
[task] | instruction_following [pass] | ⏳ 미판정 [title] | ResourceUploadError [question] | `ResourceUploadError` 멤버 중 값이 400 이상인 항목을 이름과 설명을 포함하여 표로 정리하세요. [answer] | 값이 400 이상인 `ResourceUploadError` 멤버는 다음과 같습니다. | 이름 | 값 | 설명 | |---|---|---| | HarmfulContent | 412 | 유해 리소스로 판단되어 업로드에 실패했습니다. | | TooLargeContent | 413 | 기준 크기를 초과한 리소스로 업로드에 실패했습니다. | | TooManyRequests | 429 | 너무 잦은 요청으로 업로드에 실패했습니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 리소스 업로드 성공과 실패 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 리소스 업로드를 완료했습니다. | | InternalError | 1 | 내부 오류로 인해 리소스 업로드에 실패했습니다. | | ValidationFailed | 2 | 제작자의 요청 거부, 요청 확인 중 오류 발생으로 업로드에 실패했습니다. | | AlreadyInProgress | 3 | 이전에 요청한 업로드가 완료되지 않았습니다. 한 번에 하나의 요청만 수행합니다. | | Inv
[task] | single_turn [pass] | ⏳ 미판정 [title] | PreserveSpriteType [question] | PreserveSpriteType CastFrom 메서드에 숫자나 문자열을 전달할 때 각각 어떤 결과가 나오나요? [answer] | `PreserveSpriteType CastFrom` 정적 메서드는 숫자나 문자열을 전달받아 `PreserveSpriteType` 열거형 값으로 변환합니다. **1. 숫자 전달 시** 숫자 값을 전달하면 해당 값에 해당하는 열거형 멤버로 변환됩니다. * `0` → `None` * `1` → `AspectOnly` * `2` → `NativeSize` ```lua local type0 = PreserveSpriteType.CastFrom(0) -- 결과: None local type1 = PreserveSpriteTy [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 이미지의 비율, 크기, 피봇 보존 방식을 정의합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 보존을 설정하지 않습니다. UITransformComponent의 RectSize에 따라 크기가 설정됩니다. | | AspectOnly | 1 | 원본 이미지의 비율을 유지하며 크기를 보정하고, 위치를 설정합니다. | | NativeSize | 2 | 원본 이미지의 크기를 그대로 사용하며 위치를 설정합니다. | # Methods - **PreserveSpriteType CastF
[task] | code [pass] | ⏳ 미판정 [title] | MapleAvatarBodyActionState [question] | MapleAvatarBodyActionState.CastFrom(string) 메서드를 사용하여 문자열 "Sit"와 "Crouch"를 열거형 값으로 변환 후, 두 상태 중 하나일 때만 아바타의 Y 좌표(높이)를 낮추는 로직을 구현하는 스크립트를 작성해줘 [answer] | `MapleAvatarBodyActionState`는 아바타의 몸동작 애니메이션 상태를 구분하는 열거형(Enum)입니다. `CastFrom(string)` 정적 메서드를 사용하면 `"Sit"`이나 `"Crouch"`와 같은 문자열을 해당 열거형 값으로 변환할 수 있습니다. 요청하신 로직은 다음과 같이 구성할 수 있습니다. 1. `MapleAvatarBodyActionState.CastFrom("Sit")`과 `MapleAvatarBodyActionState.CastFrom("Crouch")`를 호출하여 변환된 값을 저장합니다. 2 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타의 특정 애니메이션을 구분합니다. BodyActionStateChangeEvent로 이벤트를 전달받아 아바타 애니메이션을 출력합니다. AvatarStateAnimationComponent의 ActionSheet value와 대응합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 기본값입니다. 사용하지 않습니다. | | Stand | 1 | stand 값입니다. 아바타가 서있는 모습을 출력합니다. | | Walk | 2 | walk 값입니다. 아바타가 걷고 있는 모습을
[task] | two_turn [pass] | ⏳ 미판정 [title] | ResourceType [question] | `ResourceType`에서 `Sprite`와 `AnimationClip`의 차이점을 알려주세요 [answer] | `ResourceType`에서 `Sprite`와 `AnimationClip`의 차이점은 다음과 같습니다. **Sprite (값: 1)** * **정의**: Texture와 피봇(Pivot) 등의 메타 정보를 담은 2D에 특화된 그래픽 리소스 파일 타입입니다. * **특징**: 정적인(움직이지 않는) 2D 이미지나 텍스처 데이터를 표현하는 데 사용됩니다. **AnimationClip (값: 6)** * **정의**: 프레임 단위의 2D 그래픽스 애니메이션 메타 정보를 담은 파일 타입입니다. * **특징**: 여러 프 [followup] | `Npc` 리소스에 `AnimationClip`을 연결할 때 특정 프레임만 사용하려면 어떤 메타 정보 구조를 봐야 하나요? [followup_answer] | 제공된 참고 문서에는 `Npc` 리소스 내에서 특정 프레임을 선택하여 `AnimationClip`을 연결하기 위한 구체적인 메타 정보 구조나 API가 명시되어 있지 않습니다. 문서에는 `Npc`(값: 11)에 대해 "NPC의 기본 동작, 동작별 AnimationClip 테이블 확인이 가능합니다"라고만 기술되어 있으며, `AnimationClip`(값: 6)은 "프레임 단위의 2D 그래픽스 애니메이션 메타 정보를 담은 파일 타입"이라고만 설명하고 있습니다. 특정 프레임 인덱스나 슬라이싱 방식을 지정하는 프로퍼티, 메서드, 또는 이벤 [scores] | [judge_reason] | [source_doc] | 리소스 파일 헤더 포맷을 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 미정의 상태입니다. 내용물을 알 수 없습니다. | | Sprite | 1 | Texture와 피봇 등의 메타 정보를 담은 2D에 특화된 그래픽 리소스 파일 타입입니다. | | Atlas | 2 | 현재는 사용되지 않습니다. | | AudioClip | 3 | 음원 정보를 담은 AudioClip 리소스 파일 타입입니다. OGG 파일 형식을 사용합니다. | | Background | 4 | MapleS
[task] | code [pass] | ⏳ 미판정 [title] | OverflowType [question] | 스크립트 컴포넌트의 Property 블록에 number 타입의 OverflowValue 를 선언하고, OnBeginPlay() 에서 OverflowType CastFrom(number value) 를 호출하여 이 값을 OverflowType 으로 변환해 self.TextComponent.OverflowType 에 대입하는 스크립트를 작성해줘 [answer] | 요청하신 기능을 구현한 mLua 스크립트 컴포넌트입니다. `Property` 블록에 `number` 타입의 `OverflowValue`를 선언하고, `OnBeginPlay`에서 `OverflowType.CastFrom(self.OverflowValue)`를 호출하여 변환된 값을 `self.Entity.TextComponent.OverflowType`에 대입하도록 작성했습니다. ```lua Property: [None] number OverflowValue = 0 Method: [client only] void OnBeginPl [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 가로 너비를 벗어난 텍스트 처리 방식을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Overflow | 0 | 가로 너비를 벗어난 텍스트를 표시합니다. | | Truncate | 1 | 가로 너비를 벗어난 글자를 잘라낸 채로 표시합니다. | | ellipsis | 2 | 가로 너비를 벗어난 글자를 잘라냅니다. 잘린 뒷부분을 줄임표로 대체합니다. | # Methods - **OverflowType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변
[task] | instruction_following [pass] | ⏳ 미판정 [title] | ResourceType [question] | ResourceType Enum의 멤버 중 값이 5 이상 15 이하인 항목만 이름과 설명을 포함하여 표로 정리하세요. [answer] | | 이름 | 값 | 설명 | |---|---|---| | TileSet | 5 | MapleStory Worlds의 타일셋 메타 정보를 담은 타일셋 리소스 파일 타입입니다. PresetList에서 사용합니다. | | AnimationClip | 6 | 프레임 단위의 2D 그래픽스 애니메이션 메타 정보를 담은 파일 타입입니다. AnimationClip에서 사용합니다. | | MapleMapObject | 7 | MapleStory Worlds의 오브젝트의 메타 정보를 담은 리소스 파일 타입입니다. | | MapleRope | 8 | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 리소스 파일 헤더 포맷을 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 미정의 상태입니다. 내용물을 알 수 없습니다. | | Sprite | 1 | Texture와 피봇 등의 메타 정보를 담은 2D에 특화된 그래픽 리소스 파일 타입입니다. | | Atlas | 2 | 현재는 사용되지 않습니다. | | AudioClip | 3 | 음원 정보를 담은 AudioClip 리소스 파일 타입입니다. OGG 파일 형식을 사용합니다. | | Background | 4 | MapleS
[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceType [question] | OGG 형식이 아닌 MP3 파일을 AudioClip 리소스로 등록하려고 하면 어떤 오류가 발생하나요? [answer] | 제공된 문서에는 `ResourceType.AudioClip`가 OGG 파일 형식을 사용한다는 정보만 포함되어 있으며, MP3 파일을 등록했을 때 발생하는 구체적인 오류 메시지나 동작에 대한 내용은 없습니다. 따라서 해당 오류가 무엇인지 설명할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 리소스 파일 헤더 포맷을 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 미정의 상태입니다. 내용물을 알 수 없습니다. | | Sprite | 1 | Texture와 피봇 등의 메타 정보를 담은 2D에 특화된 그래픽 리소스 파일 타입입니다. | | Atlas | 2 | 현재는 사용되지 않습니다. | | AudioClip | 3 | 음원 정보를 담은 AudioClip 리소스 파일 타입입니다. OGG 파일 형식을 사용합니다. | | Background | 4 | MapleS
[task] | two_turn [pass] | ⏳ 미판정 [title] | PhysicsCollisionDetectionMode [question] | mLua에서 PhysicsCollisionDetectionMode의 Discrete와 Continuous의 차이와 선택 기준이 무엇인가요? [answer] | mLua에서 `PhysicsCollisionDetectionMode`는 물리 충돌을 어떻게 감지할지를 결정하는 설정입니다. `Discrete`와 `Continuous`의 차이와 선택 기준은 다음과 같습니다. **1. Discrete (값: 0)** * **동작 방식:** 충돌을 비연속적으로 확인합니다. * **특징:** 물체의 속도와 크기에 따라 충돌을 감지하지 못할 수 있습니다. * **선택 기준:** 속도가 느리고 크기가 큰 물체일 경우 적합합니다. 다만, 속도가 빠르거나 크기가 작은 물체는 충돌을 감지하지 못하고 [followup] | Discrete 모드로 설정했을 때 고속 이동 객체가 충돌체를 통과하는 문제를 방지하기 위해 Continuous로 변경하는 구체적인 코드 수정 예시를 보여주세요. [followup_answer] | `PhysicsCollisionDetectionMode`는 물리 충돌 감지 방식을 설정하는 Enum 타입이지만, 제공된 참고 문서에는 이 값을 실제로 적용하는 **물리 컴포넌트(예: Rigidbody, Collider 등)의 프로퍼티 이름이나 메서드**가 명시되어 있지 않습니다. 따라서 문서에 근거하여 "특정 물리 컴포넌트의 프로퍼티를 수정하는" 정확한 코드를 작성할 수 없습니다. 문서에 없는 API나 프로퍼티 이름을 지어내면 안 되므로, `PhysicsCollisionDetectionMode` 타입 자체를 사용하고 변환하는 방법 [scores] | [judge_reason] | [source_doc] | 물리 충돌의 감지 방식을 설정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Discrete | 0 | 충돌을 비연속적으로 확인합니다. 물체의 속도와 크기에 따라 충돌을 감지하지 못할 수 있습니다. 속도가 빠르거나, 크기가 작을수록 충돌을 감지하지 못하고 통과할 가능성이 있습니다. | | Continuous | 1 | 충돌을 연속적으로 확인합니다. 물체가 충돌하지 못하고 통과하는 상황을 막습니다. 연산에 더 많은 자원이 필요합니다. | # Methods - **PhysicsCollision
[task] | instruction_following [pass] | ⏳ 미판정 [title] | ResourceUploadError [question] | `ResourceUploadError`에서 `Success`와 `InternalError`를 제외한 나머지 멤버들의 값과 설명을 단계별 번호 목록으로 나열하세요. [answer] | `ResourceUploadError`에서 `Success`와 `InternalError`를 제외한 나머지 멤버는 다음과 같습니다. 1. `ValidationFailed` (값: 2) - 설명: 제작자의 요청 거부, 요청 확인 중 오류 발생으로 업로드에 실패했습니다. 2. `AlreadyInProgress` (값: 3) - 설명: 이전에 요청한 업로드가 완료되지 않았습니다. 한 번에 하나의 요청만 수행합니다. 3. `InvalidContent` (값: 4) - 설명: 매개 변수로 받은 리소스가 nil입니다. 4. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 리소스 업로드 성공과 실패 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 리소스 업로드를 완료했습니다. | | InternalError | 1 | 내부 오류로 인해 리소스 업로드에 실패했습니다. | | ValidationFailed | 2 | 제작자의 요청 거부, 요청 확인 중 오류 발생으로 업로드에 실패했습니다. | | AlreadyInProgress | 3 | 이전에 요청한 업로드가 완료되지 않았습니다. 한 번에 하나의 요청만 수행합니다. | | Inv
[task] | code [pass] | ⏳ 미판정 [title] | MapleAvatarBodyActionState [question] | AvatarStateAnimationComponent의 ActionSheet를 활용하여 아바타의 현재 MapleAvatarBodyActionState가 Attack, Hit, Dead 중 하나일 때만 특정 사운드 재생 로직을 실행하는 스크립트를 작성해줘 [answer] | `AvatarStateAnimationComponent`의 `ActionSheet` 프로퍼티나 `MapleAvatarBodyActionState` 값으로 현재 아바타 상태를 직접 조회하는 API(예: `GetCurrentActionState()`)가 제공된다고 명시되어 있지 않습니다. 제공된 문서에는 `BodyActionStateChangeEvent`를 수신하여 상태를 확인하는 방법과, `AvatarStateAnimationComponent`의 `ActionSheet` 값이 `MapleAvatarBodyActionState`와 대응 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타의 특정 애니메이션을 구분합니다. BodyActionStateChangeEvent로 이벤트를 전달받아 아바타 애니메이션을 출력합니다. AvatarStateAnimationComponent의 ActionSheet value와 대응합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 기본값입니다. 사용하지 않습니다. | | Stand | 1 | stand 값입니다. 아바타가 서있는 모습을 출력합니다. | | Walk | 2 | walk 값입니다. 아바타가 걷고 있는 모습을
[task] | code [pass] | ⏳ 미판정 [title] | MapleAvatarWeaponPoseType [question] | MapleAvatarWeaponPoseType.Invalid 값이 아닌 경우에만 MapleAvatarWeaponPoseType.Stand 또는 Prone 중 하나를 선택하여 아바타의 공격 포즈를 설정하는 스크립트를 작성해줘 [answer] | `MapleAvatarWeaponPoseType` enum의 `Invalid` 값(0)이 아닌 경우에만 `Stand`(2) 또는 `Prone`(1) 중 하나를 선택하여 아바타의 공격 포즈를 설정하는 로직은 다음과 같이 구현할 수 있습니다. 참고 문서에 제공된 정보에는 아바타의 공격 포즈를 직접 설정하는 구체적인 API 메서드(예: `SetAttackPose` 등)가 포함되어 있지 않습니다. 따라서 아래 코드는 주어진 조건(`Invalid` 아님)을 만족하는 enum 값을 결정하고, 그 결과를 로그로 출력하는 방식으로 작성되었습니다 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타의 공격 동작을 구분합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 기본값입니다. 사용하지 않습니다. | | Prone | 1 | 엎드려 공격 동작을 출력합니다. | | Stand | 2 | 서서 공격 동작을 출력합니다. | # Methods - **MapleAvatarWeaponPoseType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MapleAvatarWeaponPoseType CastFrom
[task] | code [pass] | ⏳ 미판정 [title] | ScreenshotError [question] | `ScreenshotError.CastFrom` 메서드를 사용하여 스크린샷 캡처 결과를 숫자 값과 문자열 값으로 변환하여 로그에 출력하는 스크립트를 작성해줘 [answer] | `ScreenshotError.CastFrom` 메서드는 정적(Static) 메서드로, 숫자나 문자열을 `ScreenshotError` 열거형 값으로 변환하는 데 사용됩니다. 아래 스크립트는 예시적인 숫자 값(`0`, `1`)과 문자열 값(`"Success"`, `"PlatformNotSupported"`)을 변환하여 그 결과를 로그에 출력하는 예제입니다. 참고로 `ScreenshotError`의 멤버 값은 다음과 같습니다: - Success: 0 - PlatformNotSupported: 1 - InvalidFileName: 2 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스크린샷 캡처 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 스크린샷 캡처에 성공했습니다. | | PlatformNotSupported | 1 | 해당 기기에서는 스크린샷 캡처를 지원하지 않습니다. | | InvalidFileName | 2 | 사용할 수 없는 파일 이름입니다. | | TooFrequentFileWrite | 3 | 스크린샷 저장 시도가 너무 잦습니다. | | InternalError | 4 | 내부 오류로 캡처에 실패했습니다. | | No
[task] | code [pass] | ⏳ 미판정 [title] | MapleAvatarWeaponPoseType [question] | MapleAvatarWeaponPoseType.CastFrom(string value) 메서드를 사용하여 UI에서 입력받은 문자열("Stand", "Prone")을 포즈 타입으로 변환하고 실패 시 MapleAvatarWeaponPoseType.Invalid 상태를 유지하도록 처리하는 스크립트를 작성해줘 [answer] | 사용자가 요청한 `MapleAvatarWeaponPoseType`의 정적 메서드 `CastFrom(string value)`는 제공된 문서에 명시되어 있으며, "Stand" 또는 "Prone"과 같은 문자열을 해당 타입으로 변환하는 용도로 사용할 수 있습니다. 문서에 따르면 `Invalid` 값(0)은 "기본값입니다. 사용하지 않습니다."라고 설명되어 있으므로, 변환 실패 시 이 상태를 유지하도록 로직을 구성하면 됩니다. 아래는 요청하신 조건을 충족하는 mLua 스크립트 예시입니다. UI에서 입력받은 문자열을 검증하여 변환하고, [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타의 공격 동작을 구분합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 기본값입니다. 사용하지 않습니다. | | Prone | 1 | 엎드려 공격 동작을 출력합니다. | | Stand | 2 | 서서 공격 동작을 출력합니다. | # Methods - **MapleAvatarWeaponPoseType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MapleAvatarWeaponPoseType CastFrom
[task] | two_turn [pass] | ⏳ 미판정 [title] | PreserveSpriteType [question] | `PreserveSpriteType` 의 정적 메서드 `CastFrom` 은 어떤 상황에서 사용되며, 매개변수 타입에 따라 동작이 다른가요? [answer] | `PreserveSpriteType`의 정적 메서드 `CastFrom`은 숫자(number) 또는 문자열(string) 값을 `PreserveSpriteType` 열거형(enum) 타입으로 변환할 때 사용합니다. 매개변수 타입에 따라 입력되는 데이터의 형식이 다르지만, 모두 해당 값을 `PreserveSpriteType`의 멤버로 해석하여 변환하는 동일한 목적을 가집니다. * **`CastFrom(number value)`**: 숫자 값(0, 1, 2 등)을 입력받아 해당 값에 해당하는 `PreserveSpriteType` [followup] | `CastFrom` 을 이용해 숫자 값 `1` 과 문자열 `"AspectOnly"` 를 각각 변환하는 코드 작성법을 알려주세요. [followup_answer] | `PreserveSpriteType`의 정적 메서드 `CastFrom`을 사용하여 숫자 `1`과 문자열 `"AspectOnly"`를 각각 변환하는 코드는 다음과 같습니다. ```lua Property: [None] PreserveSpriteType numberResult = nil [None] PreserveSpriteType stringResult = nil Method: [client only] void OnBeginPlay() { -- 숫자 1을 PreserveSpriteType 타입으로 변환 self.num [scores] | [judge_reason] | [source_doc] | 이미지의 비율, 크기, 피봇 보존 방식을 정의합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 보존을 설정하지 않습니다. UITransformComponent의 RectSize에 따라 크기가 설정됩니다. | | AspectOnly | 1 | 원본 이미지의 비율을 유지하며 크기를 보정하고, 위치를 설정합니다. | | NativeSize | 2 | 원본 이미지의 크기를 그대로 사용하며 위치를 설정합니다. | # Methods - **PreserveSpriteType CastF
[task] | two_turn [pass] | ⏳ 미판정 [title] | PreserveSpriteType [question] | `PreserveSpriteType` 이나 `PreserveSpriteType` 의 각 멤버(`None`, `AspectOnly`, `NativeSize`)가 UI 이미지 렌더링에 어떤 영향을 미치나요? [answer] | `PreserveSpriteType`은 UI 이미지 렌더링 시 원본 이미지의 비율, 크기, 그리고 위치(피봇)를 어떻게 처리할지를 결정하는 설정입니다. 각 멤버별 영향은 다음과 같습니다. * **None (값: 0)** * 보존 설정을 하지 않는 기본 상태입니다. * UI 트랜스포姆 컴포넌트(`UITransformComponent`)에 설정된 `RectSize` 값에 따라 이미지의 크기가 결정됩니다. 즉, 원본 이미지의 비율이나 크기는 무시되고, 컴포넌트에서 지정된 사각형 영역에 맞춰 표시됩니다. * [followup] | `AspectOnly` 와 `NativeSize` 의 구체적인 차이점을 코드 예시로 설명해 주세요. [followup_answer] | `AspectOnly`와 `NativeSize`의 가장 큰 차이는 **크기 결정 방식**입니다. * **AspectOnly**: 원본 이미지의 **비율**은 유지하되, `UITransformComponent`의 `RectSize`에 맞춰 크기를 **보정**합니다. (비율 깨짐 방지) * **NativeSize**: 원본 이미지의 **픽셀 크기**를 그대로 사용합니다. `RectSize` 설정을 무시하고 이미지가 생성된 원래 크기로 렌더링됩니다. 아래 코드는 `UITransformComponent`의 `RectSize`가 [scores] | [judge_reason] | [source_doc] | 이미지의 비율, 크기, 피봇 보존 방식을 정의합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 보존을 설정하지 않습니다. UITransformComponent의 RectSize에 따라 크기가 설정됩니다. | | AspectOnly | 1 | 원본 이미지의 비율을 유지하며 크기를 보정하고, 위치를 설정합니다. | | NativeSize | 2 | 원본 이미지의 크기를 그대로 사용하며 위치를 설정합니다. | # Methods - **PreserveSpriteType CastF
[task] | code [pass] | ⏳ 미판정 [title] | OverflowType [question] | 텍스트 컴포넌트의 OverflowType 속성을 ellipsis 로 설정하여 긴 텍스트가 잘릴 때 줄임표가 보이도록 하는 스크립트를 작성해줘 [answer] | 텍스트 컴포넌트의 가로 너비를 벗어난 텍스트를 줄임표(...)로 표시하려면 `OverflowType` 속성을 `ellipsis` 값으로 설정하면 됩니다. `OverflowType`은 3가지 값을 가지며, `ellipsis`(값: 2)를 선택하면 가로 너비를 벗어난 글자를 잘라내고 뒷부분을 줄임표로 대체합니다. 아래는 해당 설정을 적용하는 mLua 스크립트 예시입니다. ```lua Property: [None] number OverflowMode = 2 Method: [client only] void OnBeginPlay() { [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 가로 너비를 벗어난 텍스트 처리 방식을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Overflow | 0 | 가로 너비를 벗어난 텍스트를 표시합니다. | | Truncate | 1 | 가로 너비를 벗어난 글자를 잘라낸 채로 표시합니다. | | ellipsis | 2 | 가로 너비를 벗어난 글자를 잘라냅니다. 잘린 뒷부분을 줄임표로 대체합니다. | # Methods - **OverflowType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변
[task] | two_turn [pass] | ⏳ 미판정 [title] | PlatformType [question] | UI 엔티티의 활성화 범위를 지정하는 PlatformType의 기본 멤버(PC, Mobile, All)와 그 차이는 무엇인가요? [answer] | UI 엔티티를 활성화할 수 있는 플랫폼을 지정하는 `PlatformType`의 기본 멤버는 다음과 같습니다. | 이름 | 값 | 설명 | |---|---|---| | `PC` | 1 | PC 환경에서만 활성화되는 플랫폼입니다. | | `Mobile` | 2 | 모바일 환경에서만 활성화되는 플랫폼입니다. | | `All` | 255 | PC와 모바일 환경에서 모두 활성화되는 플랫폼입니다. | **차이점:** * `PC`: PC 환경에서만 UI가 활성화됩니다. * `Mobile`: 모바일 환경에서만 UI가 활성화됩니다. * [followup] | All(255)을 지정할 때 PC와 모바일에서 동시에 활성화되는지, 아니면 특정 조건이 필요한지 구체적인 동작 원리와 예외 사항을 알려주세요. [followup_answer] | 제공된 참고 문서에 따르면, `PlatformType`의 `All` 멤버는 값이 **255**이며, **PC와 모바일 환경에서 모두 활성화되는 플랫폼**을 지정합니다. 문서에는 `All`을 지정했을 때의 구체적인 내부 동작 원리(비트 플래그 연산 등)나 예외 사항, 추가적인 조건에 대한 설명은 포함되어 있지 않습니다. 문서에 명시된 내용만으로 볼 때, `All`을 지정하면 PC와 모바일 환경에서 동시에 활성화되는 것이 기본 동작입니다. [scores] | [judge_reason] | [source_doc] | UI 엔티티를 활성화할 수 있는 플랫폼을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | PC | 1 | PC 환경에서 활성화되는 플랫폼입니다. | | Mobile | 2 | 모바일 환경에서 활성화되는 플랫폼입니다. | | All | 255 | PC, 모바일 환경에서 모두 활성화되는 플랫폼입니다. | # Methods - **PlatformType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **PlatformType CastFr
[task] | instruction_following [pass] | ⏳ 미판정 [title] | ScreenshotError [question] | CastFrom 메서드의 시그니처와 인자 타입을 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua -- ScreenshotError CastFrom(number value) [Static] -- 숫자를 해당 타입으로 변환합니다. -- 인자: number (에러 코드 값) -- ScreenshotError CastFrom(string value) [Static] -- 문자열을 해당 타입으로 변환합니다. -- 인자: string (에러 코드 이름) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스크린샷 캡처 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 스크린샷 캡처에 성공했습니다. | | PlatformNotSupported | 1 | 해당 기기에서는 스크린샷 캡처를 지원하지 않습니다. | | InvalidFileName | 2 | 사용할 수 없는 파일 이름입니다. | | TooFrequentFileWrite | 3 | 스크린샷 저장 시도가 너무 잦습니다. | | InternalError | 4 | 내부 오류로 캡처에 실패했습니다. | | No
[task] | code [pass] | ⏳ 미판정 [title] | MapleAvatarBodyActionState [question] | 아바타가 MapleAvatarBodyActionState.Stand 상태에서 Walk 또는 Run 상태로 전환되는 순간만 감지하여 _TimerService로 1초 후 다시 Stand 상태로 복귀시키는 자동화 스크립트를 작성해줘 [answer] | 제공된 참고 문서에 `MapleAvatarBodyActionState` enum에는 `Walk` 상태가 있지만 **`Run` 상태는 존재하지 않습니다**. 또한, `BodyActionStateChangeEvent`가 발생할 때 `needResetAction` 속성을 설정하여 애니메이션을 리셋할 수 있는 방법을 보여주지만, "특정 상태에서 다른 상태로 전환되는 순간"을 감지하는 이벤트 핸들러 시그니처(예: `HandleBodyActionStateChangeEvent`)나 이전 상태와 현재 상태를 비교하는 로직에 대한 명시적인 API [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 아바타의 특정 애니메이션을 구분합니다. BodyActionStateChangeEvent로 이벤트를 전달받아 아바타 애니메이션을 출력합니다. AvatarStateAnimationComponent의 ActionSheet value와 대응합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 기본값입니다. 사용하지 않습니다. | | Stand | 1 | stand 값입니다. 아바타가 서있는 모습을 출력합니다. | | Walk | 2 | walk 값입니다. 아바타가 걷고 있는 모습을
[task] | two_turn [pass] | ⏳ 미판정 [title] | MapleAvatarFaceActionState [question] | 스크립트에서 아바타의 얼굴 상태를 주기적으로 `Default`와 `Blink` 사이로 전환하려면 `MapleAvatarFaceActionState`를 어떻게 활용해야 하나요? [answer] | `MapleAvatarFaceActionState`는 아바타의 눈 깜빡임 상태를 표현하는 열거형(Enums)으로, `Default`(값 1)와 `Blink`(값 2)를 사용해 얼굴 상태를 전환할 수 있습니다. 주기적으로 전환하려면 타이머를 설정하여 이 두 상태를 번갈아 가며 적용하는 로직을 구현해야 합니다. 참고 문서에는 `MapleAvatarFaceActionState` 열거형의 정의와 `CastFrom` 메서드만 포함되어 있으며, **아바타 얼굴 상태를 실제로 변경하거나 적용하는 구체적인 서비스 메서드(예: `_AvatarSe [followup] | `_TimerService`를 이용해 1초 간격으로 상태를 번갈아 설정하는 mLua 코드 예제를 작성해 주세요. [followup_answer] | 참고 문서에 `_TimerService` API나 아바타 얼굴 상태를 실제 적용하는 메서드가 포함되어 있지 않아, 제공된 문서만으로 완전한 동작 코드를 작성할 수 없습니다. 다만, 질문하신 `MapleAvatarFaceActionState` 열거형 값을 1초 간격으로 번갈아 생성하는 로직은 아래처럼 작성할 수 있습니다. 실제 아바타에 이 상태를 적용하는 부분은 문서에 해당 API가 명시되어 있지 않아 생략했습니다. ```lua Property: [None] boolean IsBlinking = false Method: [ser [scores] | [judge_reason] | [source_doc] | 주기적으로 아바타의 눈이 깜빡임 상태를 표현합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 기본값입니다. 사용하지 않습니다. | | Default | 1 | 아바타의 기본 얼굴을 출력합니다. | | Blink | 2 | 아바타의 깜빡이는 얼굴을 출력합니다. | # Methods - **MapleAvatarFaceActionState CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MapleAvatarFaceA
[task] | two_turn [pass] | ⏳ 미판정 [title] | MapleAvatarItemCategory [question] | MapleAvatarItemCategory 열거형에서 각 멤버의 값과 용도가 어떻게 다른지 설명해 주세요. [answer] | `MapleAvatarItemCategory`는 메이플스토리 아바타 아이템의 장착 슬롯과 용도를 구분하는 열거형입니다. 각 멤버는 고유한 숫자 값을 가지며, 특정 슬롯에 장착하거나 오류 처리, 또는 다른 슬롯과 연관된 동작을 나타냅니다. ### 멤버별 값과 용도 | 이름 | 값 | 용도 및 특징 | |---|---|---| | `Invalid` | 0 | 미정의 상태입니다. 오류 검출에 사용됩니다. | | `Body` | 1 | 아바타 몸통 슬롯에 장착하는 아이템입니다. | | `Head` | 2 | 사용할 수 없는 슬롯입니다. [followup] | Longcoat와 TwoHandedWeapon은 어떤 슬롯을 중복으로 사용하는지, 그리고 Shield와 Head처럼 사용할 수 없는 항목은 어떤 대안 슬롯을 권장하는지 구체적으로 알려 주세요. [followup_answer] | `MapleAvatarItemCategory`의 정의에 기반하여, 여러 슬롯을 중복으로 사용하는 항목과 사용할 수 없는 항목에 대한 대안은 다음과 같습니다. ### 1. 여러 슬롯을 중복으로 사용하는 항목 * **`Longcoat` (값: 9)** * **사용 슬롯**: `Coat` (상의)와 `Pants` (하의) 슬롯을 함께 사용합니다. * **설명**: 아바타 한벌 옷 슬롯에 장착하는 아이템으로, 상의와 하의 두 가지 슬롯을 동시에 점유합니다. * **`TwoHandedWeapon` (값: 1 [scores] | [judge_reason] | [source_doc] | MapleStory 아바타 아이템 분류를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 미정의 상태입니다. 오류 검출에 사용됩니다. | | Body | 1 | 아바타 몸통 슬롯에 장착하는 아이템입니다. | | Head | 2 | 사용할 수 없는 아이템입니다. Body와 동일한 색상으로 자동 설정됩니다. | | Hair | 3 | 아바타 헤어 슬롯에 장착하는 아이템입니다. | | Face | 4 | 아바타 표정 슬롯에 장착하는 아이템입니다. | | Cap | 5 |
[task] | two_turn [pass] | ⏳ 미판정 [title] | PlatformType [question] | 숫자나 문자열을 PlatformType으로 변환하는 CastFrom 메서드의 사용법은 어떻게 되나요? [answer] | `PlatformType` 타입으로의 변환은 정적(Static) 메서드인 `PlatformType.CastFrom`을 사용합니다. 이 메서드는 숫자(number) 또는 문자열(string) 인수를 받아서 해당하는 `PlatformType` 값으로 변환해 줍니다. ### 사용법 `PlatformType.CastFrom(value)` 형태로 호출하며, `value`는 숫자나 문자열일 수 있습니다. * **숫자 변환**: `PlatformType` 멤버의 값(1, 2, 255)을 전달합니다. * **문자열 변환**: `Pla [followup] | CastFrom(1)과 CastFrom("PC") 호출 시 반환되는 값이 같으며, 잘못된 인자(예: 999, "Tablet")를 전달했을 때 발생하는 에러 처리나 기본값 반환 로직이 어떻게 되는지 코드 예시를 들어 설명해 주세요. [followup_answer] | 참고 문서에 `PlatformType.CastFrom` 메서드가 잘못된 인자(예: 999, "Tablet")를 전달했을 때 발생하는 에러 처리나 기본값 반환 로직에 대한 설명이 포함되어 있지 않습니다. 따라서 이 부분에 대해서는 답변할 수 없습니다. 다만, 문서에 명시된 유효한 값에 대한 변환 결과는 다음과 같습니다. 1. **`PlatformType.CastFrom(1)`**: 숫자 1은 `PlatformType` 멤버 `PC`의 값이므로 `PC`를 반환합니다. 2. **`PlatformType.CastFrom("PC")` [scores] | [judge_reason] | [source_doc] | UI 엔티티를 활성화할 수 있는 플랫폼을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | PC | 1 | PC 환경에서 활성화되는 플랫폼입니다. | | Mobile | 2 | 모바일 환경에서 활성화되는 플랫폼입니다. | | All | 255 | PC, 모바일 환경에서 모두 활성화되는 플랫폼입니다. | # Methods - **PlatformType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **PlatformType CastFr
[task] | code [pass] | ⏳ 미판정 [title] | MapleAvatarItemCategory [question] | `MapleAvatarItemCategory`의 `CastFrom(number value)`와 `CastFrom(string value)`를 사용해, 입력값이 숫자 5 또는 문자열 "Cap"일 경우에만 "모자"라고 출력하는 검증을 수행하는 스크립트를 작성해줘 [answer] | `MapleAvatarItemCategory`의 정적 메서드 `CastFrom`을 사용해 숫자 `5`와 문자열 `"Cap"`을 각각 해당 타입으로 변환하고, 결과가 `MapleAvatarItemCategory.Cap`인지 확인하는 스크립트입니다. ```lua Method: [server] void VerifyCapCategory() { -- 숫자 5로 변환 local fromNumber = MapleAvatarItemCategory.CastFrom(5) if fromNumber == MapleAvatarIte [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | MapleStory 아바타 아이템 분류를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Invalid | 0 | 미정의 상태입니다. 오류 검출에 사용됩니다. | | Body | 1 | 아바타 몸통 슬롯에 장착하는 아이템입니다. | | Head | 2 | 사용할 수 없는 아이템입니다. Body와 동일한 색상으로 자동 설정됩니다. | | Hair | 3 | 아바타 헤어 슬롯에 장착하는 아이템입니다. | | Face | 4 | 아바타 표정 슬롯에 장착하는 아이템입니다. | | Cap | 5 |
[task] | instruction_following [pass] | ⏳ 미판정 [title] | ScreenshotError [question] | 캡처 실패 원인을 판단할 때 Success와 PlatformNotSupported를 제외하고 남은 멤버 4개의 값을 오름차순으로 나열하세요. [answer] | 캡처 실패 원인을 판단할 때 `Success`(0)와 `PlatformNotSupported`(1)를 제외하면 남은 멤버는 `InvalidFileName`, `TooFrequentFileWrite`, `InternalError`, `NoPermissionToPhotoLibrary`입니다. 이들의 값을 오름차순으로 나열하면 다음과 같습니다. 1. `InvalidFileName` (2) 2. `TooFrequentFileWrite` (3) 3. `InternalError` (4) 4. `NoPermissionToPhotoLibrar [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스크린샷 캡처 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 스크린샷 캡처에 성공했습니다. | | PlatformNotSupported | 1 | 해당 기기에서는 스크린샷 캡처를 지원하지 않습니다. | | InvalidFileName | 2 | 사용할 수 없는 파일 이름입니다. | | TooFrequentFileWrite | 3 | 스크린샷 저장 시도가 너무 잦습니다. | | InternalError | 4 | 내부 오류로 캡처에 실패했습니다. | | No
[task] | instruction_following [pass] | ⏳ 미판정 [title] | ScreenshotError [question] | ScreenshotError 열거형의 멤버 목록을 이름, 값, 설명 순서로 표로 정리하세요. [answer] | ScreenshotError 열거형의 멤버 목록은 다음과 같습니다. | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 스크린샷 캡처에 성공했습니다. | | PlatformNotSupported | 1 | 해당 기기에서는 스크린샷 캡처를 지원하지 않습니다. | | InvalidFileName | 2 | 사용할 수 없는 파일 이름입니다. | | TooFrequentFileWrite | 3 | 스크린샷 저장 시도가 너무 잦습니다. | | InternalError | 4 | 내부 오류로 캡처에 실패했습니다 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스크린샷 캡처 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 스크린샷 캡처에 성공했습니다. | | PlatformNotSupported | 1 | 해당 기기에서는 스크린샷 캡처를 지원하지 않습니다. | | InvalidFileName | 2 | 사용할 수 없는 파일 이름입니다. | | TooFrequentFileWrite | 3 | 스크린샷 저장 시도가 너무 잦습니다. | | InternalError | 4 | 내부 오류로 캡처에 실패했습니다. | | No
[task] | single_turn [pass] | ⏳ 미판정 [title] | PlatformType [question] | PlatformType에서 All 값이 255인 이유와 PC, Mobile 값의 조합 방식이 궁금합니다. [answer] | `PlatformType`에서 `All` 값이 255인 이유는 **비트 플래그(Bit Flag)** 방식을 사용하기 때문입니다. 각 플랫폼 값은 2의 거듭제곱으로 정의되어 있어, 여러 플랫폼을 동시에 지정할 때 이 값을 더함으로써 조합할 수 있습니다. ### 값 조합 방식 * **PC**: 1 (이진수: `001`) * **Mobile**: 2 (이진수: `010`) * **All**: 255 (이진수: `11111111`) PC와 Mobile을 모두 활성화하려면 PC(1)와 Mobile(2)를 더해야 하지만, `P [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | UI 엔티티를 활성화할 수 있는 플랫폼을 지정합니다. # Members | 이름 | 값 | 설명 | |---|---|---| | PC | 1 | PC 환경에서 활성화되는 플랫폼입니다. | | Mobile | 2 | 모바일 환경에서 활성화되는 플랫폼입니다. | | All | 255 | PC, 모바일 환경에서 모두 활성화되는 플랫폼입니다. | # Methods - **PlatformType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **PlatformType CastFr
[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceType [question] | Sprite와 Atlas 리소스 타입의 실제 사용 차이와 Atlas가 비활성인 이유를 알고 싶어요. [answer] | 참고 문서에 따르면 `ResourceType` 열거형에서 `Sprite`와 `Atlas`의 정의는 다음과 같습니다. 1. **Sprite (값: 1)** * Texture와 피봇(pivot) 등의 메타 정보를 담은 **2D에 특화된 그래픽 리소스 파일 타입**입니다. * 현재 활성 상태이며, 2D 그래픽 리소스를 처리하는 기본 타입으로 사용됩니다. 2. **Atlas (값: 2)** * 설명란에 **"현재는 사용되지 않습니다"**라고 명시되어 있습니다. * 즉, 비활성 상태입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 리소스 파일 헤더 포맷을 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 미정의 상태입니다. 내용물을 알 수 없습니다. | | Sprite | 1 | Texture와 피봇 등의 메타 정보를 담은 2D에 특화된 그래픽 리소스 파일 타입입니다. | | Atlas | 2 | 현재는 사용되지 않습니다. | | AudioClip | 3 | 음원 정보를 담은 AudioClip 리소스 파일 타입입니다. OGG 파일 형식을 사용합니다. | | Background | 4 | MapleS
[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceUploadError [question] | 리소스가 nil인 경우와 유해 콘텐츠로 판정된 경우 각각 어떤 에러 코드를 반환하나요? [answer] | 리소스가 nil인 경우와 유해 콘텐츠로 판정된 경우의 에러 코드는 다음과 같습니다. * **리소스가 nil인 경우**: `InvalidContent` (값: 4) 매개 변수로 받은 리소스가 nil일 때 반환되는 에러입니다. * **유해 콘텐츠로 판정된 경우**: `HarmfulContent` (값: 412) 리소스가 유해한 것으로 판단되어 업로드에 실패했을 때 반환되는 에러입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 리소스 업로드 성공과 실패 결과를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Success | 0 | 리소스 업로드를 완료했습니다. | | InternalError | 1 | 내부 오류로 인해 리소스 업로드에 실패했습니다. | | ValidationFailed | 2 | 제작자의 요청 거부, 요청 확인 중 오류 발생으로 업로드에 실패했습니다. | | AlreadyInProgress | 3 | 이전에 요청한 업로드가 완료되지 않았습니다. 한 번에 하나의 요청만 수행합니다. | | Inv