[task] | code [pass] | ⏳ 미판정 [title] | PolygonShape [question] | `PolygonShape`의 `Angle` 프로퍼티 값을 0에서 360까지 1초 동안 360도 회전하도록 `OnUpdate` 메서드에서 `delta` 값을 이용해 갱신하는 스크립트를 작성해줘 [answer] | PolygonShape의 Angle 프로퍼티를 1초 동안 360도 회전시키기 위해서는, 1초에 360도 회전한다는 의미이므로 각도 변화량이 초당 360도임을 의미합니다. OnUpdate 메서드의 delta 매개변수는 지난 프레임의 시간을 초 단위로 나타내므로, self.Angle 프로퍼티에 delta * 360 값을 더해주면 됩니다. ```lua Property: [None] PolygonShape polyShape = nil Method: [server only] void OnBeginPlay() { -- Polygon [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌 관련 기능에 활용하는 다각형 모양을 나타냅니다. # Properties - **float Angle** 회전된 각도입니다. - **List<Vector2> Points** 다각형을 이루는 점들의 월드 좌표상 위치입니다. ##### inherited from Shape: - **Vector2 Position** 모양의 월드 좌표상 위치입니다. # Constructors - **PolygonShape(Vector2 position, List<Vector2> points, float angle)** 지정한
[task] | code [pass] | ⏳ 미판정 [title] | MobileVibratorService [question] | HandleTouchEvent 이벤트 핸들러에서 터치 시 진동 지원 여부를 검사하고 지원 시 _MobileVibratorService:Vibrate()를 호출하는 스크립트를 작성해줘 [answer] | 사용자가 요청한 `HandleTouchEvent` 이벤트 핸들러에서 `MobileVibratorService`를 사용하여 터치 시 진동 기능을 구현하는 스크립트입니다. ```lua Event Handler: [self] HandleTouchEvent(TouchEvent event) { -- 모바일 기기의 진동 기능 지원 여부 검사 if _MobileVibratorService:IsHWSupported() then -- 지원되는 경우 기기를 진동시킵니다. _MobileVibratorServ [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 진동 기능을 사용합니다. 사용자 기기에서 진동 기능을 지원해야 사용할 수 있습니다. # Methods - **boolean IsHWSupported() [ClientOnly]** 기기의 진동 기능 지원 여부를 반환합니다. - **void Vibrate() [ClientOnly]** 기기를 진동시킵니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를
[task] | single_turn [pass] | ⏳ 미판정 [title] | MobileVibratorService [question] | Vibrate() 메서드가 ClientOnly 로 지정되어 있어 서버 스크립트에서 호출할 수 없는 이유는 무엇인가요? [answer] | `Vibrate()` 메서드가 `[ClientOnly]`로 지정된 이유는, 이 기능이 모바일 기기 하드웨어와 직접 통신해야 하기 때문입니다. 메이플스토리 월드에서 서버 스크립트는 클라우드 서버에서 실행되며, 특정 사용자의 모바일 기기 하드웨어(진동 모터 등)에 직접 접근할 수 있는 권한이나 경로가 없습니다. 진동은 사용자의 기기에 물리적으로 전달되어야 하는 로컬 하드웨어 이벤트이므로, 해당 기기의 클라이언트에서만 실행되어야 합니다. 따라서 mLua API는 서버 코드에서 기기의 하드웨어를 조작하는 것을 방지하기 위해 `Vibrat [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 진동 기능을 사용합니다. 사용자 기기에서 진동 기능을 지원해야 사용할 수 있습니다. # Methods - **boolean IsHWSupported() [ClientOnly]** 기기의 진동 기능 지원 여부를 반환합니다. - **void Vibrate() [ClientOnly]** 기기를 진동시킵니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를
[task] | code [pass] | ⏳ 미판정 [title] | MobileVibratorService [question] | _MobileVibratorService:Vibrate() 호출 전 _MobileVibratorService:IsHWSupported() 결과에 따라 로그를 출력하는 스크립트를 작성해줘 [answer] | `_MobileVibratorService:IsHWSupported()` 로 기기 지원 여부를 확인한 후, 지원 여부에 따라 다른 메시지를 `log()` 로 출력하고, 지원되는 경우에만 `_MobileVibratorService:Vibrate()` 를 호출하는 스크립트입니다. ```lua Event Handler: [self] HandleButtonClickEvent(ButtonClickEvent event) { --------------- Native Event Sender Info ---------------- [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 진동 기능을 사용합니다. 사용자 기기에서 진동 기능을 지원해야 사용할 수 있습니다. # Methods - **boolean IsHWSupported() [ClientOnly]** 기기의 진동 기능 지원 여부를 반환합니다. - **void Vibrate() [ClientOnly]** 기기를 진동시킵니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를
[task] | single_turn [pass] | ⏳ 미판정 [title] | MobileGyroscopeService [question] | 모바일 기기에서 중력 센서 기능을 사용할 수 있는지 확인하고, 지원하지 않는 기기에 대한 처리를 어떻게 해야 하나요? [answer] | 모바일 기기에서 중력 센서 기능을 사용할 수 있는지 확인하려면 `MobileGyroscopeService`의 `IsHWSupported()` 메서드를 사용합니다. 이 메서드는 클라이언트에서만 실행되며, 기기가 중력 센서 하드웨어를 지원하는지 여부를 `boolean` 타입으로 반환합니다. 중력 센서를 시작하기 전에는 반드시 이 메서드를 통해 지원 여부를 확인해야 합니다. 지원하지 않는 기기에 대한 처리는 개발자가 원하는 대로 구현할 수 있으며, 일반적으로 다음과 같은 방식으로 처리합니다. 1. **사용 불가 메시지 표시:** ` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 중력 센서를 사용합니다. 사용자 기기에서 중력 센서 기능을 지원해야 사용할 수 있습니다. # Methods - **Vector3 GetAttitudeEuler() [ClientOnly]** 기기의 현재 회전각을 오일러 각 형태로 반환합니다. - **Vector3 GetGravity() [ClientOnly]** 기기의 월드 좌표계를 기준으로 나타낸 중력 가속도 값을 반환합니다 - **Vector3 GetRotationRate() [ClientOnly]** 기기의 초당 회전 변화량을 반환합니다. - **V
[task] | code [pass] | ⏳ 미판정 [title] | MobileVibratorService [question] | 기기 진동 지원 여부를 확인하여 지원 시에만 진동을 실행하는 스크립트를 작성해줘 [answer] | 모바일 기기의 진동 기능은 `MobileVibratorService`를 통해 사용할 수 있으며, 이는 클라이언트에서만 동작합니다. 기기가 해당 하드웨어 기능을 지원하는지 먼저 확인한 후, 지원되는 경우에만 진동을 실행하도록 코드를 구성해야 합니다. 아래는 버튼 클릭 시 기기의 진동 지원 여부를 확인하고 지원 시에만 진동을 실행하는 mLua 스크립트 예시입니다. ```lua Event Handler: [self] HandleButtonClickEvent(ButtonClickEvent event) { ------------- [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 진동 기능을 사용합니다. 사용자 기기에서 진동 기능을 지원해야 사용할 수 있습니다. # Methods - **boolean IsHWSupported() [ClientOnly]** 기기의 진동 기능 지원 여부를 반환합니다. - **void Vibrate() [ClientOnly]** 기기를 진동시킵니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를
[task] | single_turn [pass] | ⏳ 미판정 [title] | MobileGyroscopeService [question] | StartAndWait와 StopAndWait 메서드가 [Yield] 속성을 가지고 있다고 하는데, 이 메서드를 호출할 때 주의해야 할 점은 무엇인가요? [answer] | `StartAndWait`와 `StopAndWait` 메서드는 `[Yield]` 속성을 가지기 때문에, 이 메서드가 반환될 때까지 스크립트 실행이 일시 정지됩니다. 이를 '코루틴' 또는 '비동기 대기'라고 하며, 호출하는 함수가 `[Yield]` 속성을 반드시 포함해야 합니다. **주의해야 할 점:** 1. **호출 함수에 `[Yield]` 속성 부여 필수**: `StartAndWait()`나 `StopAndWait()`를 직접 호출하는 메서드나 이벤트 핸들러에 `[Yield]` 속성을 붙이지 않으면 스크립트가 정상적으로 작동 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 중력 센서를 사용합니다. 사용자 기기에서 중력 센서 기능을 지원해야 사용할 수 있습니다. # Methods - **Vector3 GetAttitudeEuler() [ClientOnly]** 기기의 현재 회전각을 오일러 각 형태로 반환합니다. - **Vector3 GetGravity() [ClientOnly]** 기기의 월드 좌표계를 기준으로 나타낸 중력 가속도 값을 반환합니다 - **Vector3 GetRotationRate() [ClientOnly]** 기기의 초당 회전 변화량을 반환합니다. - **V
[task] | single_turn [pass] | ⏳ 미판정 [title] | MobileAccelerometerService [question] | _MobileAccelerometerService:IsHWSupported() 가 false 를 반환하는 경우 어떤 기종에서 주로 발생하며, 이 때 스크립트를 어떻게 처리해야 사용자 경험을 해치지 않을까요? [answer] | 제공된 참고 문서에는 `_MobileAccelerometerService:IsHWSupported()`가 `false`를 반환하는 구체적인 기종 목록이나 하드웨어 사양 정보가 포함되어 있지 않습니다. 따라서 어떤 특정 기종에서 주로 발생하는지에 대한 사실적인 답변은 드릴 수 없습니다. 다만, 문서에 명시된 API와 예제를 바탕으로 센서 미지원 시 사용자 경험을 해치지 않도록 스크립트를 처리하는 방법은 다음과 같습니다. 1. **실행 공간 분리**: `_MobileAccelerometerService`의 모든 메서드(`IsHWS [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 가속도 센서를 사용합니다. 사용자 기기에서 가속도 센서 기능을 지원해야 사용할 수 있습니다. # Methods - **Vector3 GetLastAcceleration() [ClientOnly]** 기기의 마지막 선형가속도 측정값을 반환합니다. - **boolean IsEnabled() [ClientOnly]** 중력 센서가 측정 중인지를 반환합니다. - **boolean IsHWSupported() [ClientOnly]** 기기의 가속도 센서 지원 여부를 반환합니다. - **void Start() [
[task] | instruction_following [pass] | ⏳ 미판정 [title] | MobileGyroscopeService [question] | `_MobileGyroscopeService`의 `IsHWSupported`, `StartAndWait`, `IsEnabled`, `GetRotationRate` 메서드 호출 순서와 반환값 처리 로직을 4단계 번호 목록으로 설명하세요. [answer] | `_MobileGyroscopeService` 메서드 호출 순서와 반환값 처리 로직은 다음과 같습니다. 1. **하드웨어 지원 여부 확인 (`IsHWSupported`)** * `_MobileGyroscopeService:IsHWSupported()`를 호출하여 현재 모바일 기기가 자이로스코프 센서를 하드웨어적으로 지원하는지 확인합니다. * 이 메서드가 `true`를 반환하는 경우에만 다음 단계로 진행하며, `false`인 경우 자이로스코프 관련 초기화를 건너뜁니다. 2. **자이로스코프 시작 및 활성화 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 자이로스코프 센서를 활용해 공 모양 Entity를 움직이는 예제입니다. ```lua Property: [None] number ForcePower = 100 Method: [client only] void OnBeginPlay () { if _MobileGyroscopeService:IsHWSupported() then local enabled = _MobileGyroscopeService:StartAndWait() if enabled then _UIToast:ShowMessage("Gyroscope Starte
[task] | single_turn [pass] | ⏳ 미판정 [title] | MobileVibratorService [question] | 버튼 클릭 시 진동을 구현하려면 어떤 이벤트 핸들러를 작성해야 하며, 해당 예제 코드에서 누락되면 안 되는 조건문이 무엇인가요? [answer] | 버튼 클릭 시 모바일 기기의 진동을 구현하려면 `MobileVibratorService`를 사용하는 이벤트 핸들러를 작성해야 합니다. 이 서비스는 모바일 기기에서만 작동하며, 모든 기기가 하드웨어적으로 진동 기능을 지원하지 않기 때문에 반드시 지원 여부를 확인하는 조건문을 포함해야 합니다. **누락되면 안 되는 조건문:** `_MobileVibratorService:IsHWSupported()` 함수를 사용하여 기기가 진동 기능을 지원하는지 확인하는 `if` 문입니다. 이 조건이 참(true)일 때만 `_MobileVibrator [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 진동 기능을 사용합니다. 사용자 기기에서 진동 기능을 지원해야 사용할 수 있습니다. # Methods - **boolean IsHWSupported() [ClientOnly]** 기기의 진동 기능 지원 여부를 반환합니다. - **void Vibrate() [ClientOnly]** 기기를 진동시킵니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를
[task] | two_turn [pass] | ⏳ 미판정 [title] | MobileAccelerometerService [question] | `OnUpdate`에서 클라이언트 측 가속도 데이터를 서버로 전달하여 물리 엔진에 힘을 가하는 과정은 어떻게 구현되나요? [answer] | mLua에서 `OnUpdate` 루프는 클라이언트와 서버 양쪽 모두에서 실행되지만, 모바일 가속도 센서(`_MobileAccelerometerService`)는 클라이언트에서만 접근할 수 있습니다. 따라서 클라이언트에서 가속도 값을 읽어낸 후, 서버에서 물리 엔진에 힘을 가하는 메서드를 호출하는 구조로 구현해야 합니다. 구체적인 구현 과정은 다음과 같습니다. 1. **클라이언트 측 데이터 읽기**: `OnUpdate`에서 `_MobileAccelerometerService:IsEnabled()`을 확인하여 센서가 작동 중인지 [followup] | 예제 코드에서 `self:Tilt(dir)` 호출 시 `[server]` 메서드가 실행되는 원리와, `PhysicsRigidbodyComponent:ApplyForce`에 전달되는 벡터의 방향성이 어떻게 결정되는지 코드 기반으로 설명해 주세요. [followup_answer] | `self:Tilt(dir)` 호출 시 `[server]` 메서드가 실행되는 원리와 벡터 방향성 결정 방식을 참고 문서를 바탕으로 설명합니다. ### 1. `self:Tilt(dir)` 호출 시 `[server]` 메서드 실행 원리 mLua에서 메서드 앞의 실행 공간 태그(`[client only]`, `[server]`, `[server only]` 등)는 해당 메서드가 어떤 클라이언트/서버 인스턴스에서 실행될지를 결정합니다. * **클라이언트에서 호출 시작**: `OnUpdate`는 실행 공간 태그가 없으므로 클라이언트 [scores] | [judge_reason] | [source_doc] | 모바일 기기의 가속도 센서를 사용합니다. 사용자 기기에서 가속도 센서 기능을 지원해야 사용할 수 있습니다. # Methods - **Vector3 GetLastAcceleration() [ClientOnly]** 기기의 마지막 선형가속도 측정값을 반환합니다. - **boolean IsEnabled() [ClientOnly]** 중력 센서가 측정 중인지를 반환합니다. - **boolean IsHWSupported() [ClientOnly]** 기기의 가속도 센서 지원 여부를 반환합니다. - **void Start() [
[task] | code [pass] | ⏳ 미판정 [title] | PurchaseLogPages [question] | LogStorageService의 PurchaseLogPages를 사용하여 구매 기록이 있는 첫 페이지에서 GetCurrentPageDatas()를 호출해 데이터를 로그로 출력하고, IsLastPage가 false라면 MoveToNextPageAndWait()를 호출하여 다음 페이지로 이동하는 서버 스크립트를 작성해줘 [answer] | LogStorageService의 `PurchaseLogPages`는 임시 제공 기능이며, 제공된 문서에 따르면 `_LogStorageService`에서 특정 날짜 범위를 지정하여 비동기로 조회하는 방식(`GetPurchaseLogPagesAsync`)을 사용합니다. 요청하신 로직(첫 페이지 데이터 로그 출력, `IsLastPage` 확인, `false`일 경우 다음 페이지 이동)을 포함하는 서버 스크립트는 다음과 같습니다. ```lua Method: [server only] void PrintPurchaseLogs() { [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LogStorageService에서 검색한 월드 상품 구매 기록을 페이지 단위로 조회합니다. 임시 제공 기능이며 사용을 권장하지 않습니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 결과의 마지막 페이지인지 여부를 나타냅니다. # Methods - **table<string> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 내용을 반환합니다. 한 페이지에는 최대 1000개의 항목이 포함될 수 있습니다. - **void MoveT
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Info Level [question] | LIA-1119와 LIA-3050의 설명을 비교하여 어떤 부분이 다른지 2문장 이내로 요약해서 출력하세요. [answer] | LIA-1119는 함수를 중복 정의했을 때 발생하는 오류이고, LIA-3050은 특정 환경에서만 동작하는 함수를 잘못 사용했을 때 발생하는 오류입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LIA-1113 | UnresolvedSymbol | 심볼을 찾을 수 없습니다. | | LIA-1114 | UnresolvedMember | 멤버를 찾을 수 없습니다. | | LIA-1115 | UnresolvedFunction | 함수를 찾을 수 없습니다. | | LIA-1116 | DuplicateLocal | 로컬 변수를 중복 선언했습니다. | | LIA-1119 | DuplicateFunction | 함수를 중복 정의했습니다. | | LIA-3025 | Request
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Info Level [question] | LIA-3025, LIA-3045, LIA-3050의 발생 조건이나 동작 특징을 각각 1문장 이내로 단계별 번호 목록으로 작성하세요. [answer] | 1. LIA-3025: 요청이 완료되었을 때 발생합니다. 2. LIA-3045: 연결 상태가 변경되었을 때 또는 노드가 반환되었을 때 발생합니다. 3. LIA-3050: 특정 환경에서만 동작하는 함수를 사용했을 때 발생합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LIA-1113 | UnresolvedSymbol | 심볼을 찾을 수 없습니다. | | LIA-1114 | UnresolvedMember | 멤버를 찾을 수 없습니다. | | LIA-1115 | UnresolvedFunction | 함수를 찾을 수 없습니다. | | LIA-1116 | DuplicateLocal | 로컬 변수를 중복 선언했습니다. | | LIA-1119 | DuplicateFunction | 함수를 중복 정의했습니다. | | LIA-3025 | Request
[task] | code [pass] | ⏳ 미판정 [title] | PolygonShape [question] | `PolygonShape` 객체의 `Position` 프로퍼티를 `Vector2(10,10)`으로 설정하고 `Angle` 프로퍼티를 90으로 변경하여 회전 및 위치를 수정하는 스크립트를 작성해줘 [answer] | `PolygonShape` 객체의 `Position`과 `Angle` 프로퍼티는 직접 할당하여 수정할 수 있습니다. 아래 예제는 스크립트가 시작될 때(`OnBeginPlay`) `PolygonShape`를 생성하고, 지정한 좌표와 각도로 초기화하는 방법입니다. 참고로 `PolygonShape`는 충돌 감지 등 물리 시뮬레이션에 사용되는 객체이므로, 주로 서버 로직(`[server only]`)에서 다루는 것이 일반적입니다. ```lua Property: [None] any MyPolygon = nil Method: [serve [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌 관련 기능에 활용하는 다각형 모양을 나타냅니다. # Properties - **float Angle** 회전된 각도입니다. - **List<Vector2> Points** 다각형을 이루는 점들의 월드 좌표상 위치입니다. ##### inherited from Shape: - **Vector2 Position** 모양의 월드 좌표상 위치입니다. # Constructors - **PolygonShape(Vector2 position, List<Vector2> points, float angle)** 지정한
[task] | instruction_following [pass] | ⏳ 미판정 [title] | MobileVibratorService [question] | MobileVibratorService의 고유 메서드와 Service에서 상속된 메서드를 구분하여, 메서드 이름과 실행 공간(또는 상속 여부)을 포함하는 표로 정리해서 출력하세요. [answer] | MobileVibratorService의 고유 메서드와 Service에서 상속된 메서드는 다음과 같습니다. ### MobileVibratorService 고유 메서드 | 메서드 이름 | 실행 공간 | 설명 | | :--- | :--- | :--- | | `IsHWSupported()` | ClientOnly | 기기의 진동 기능 지원 여부를 반환합니다. | | `Vibrate()` | ClientOnly | 기기를 진동시킵니다. | ### Service에서 상속된 메서드 | 메서드 이름 | 상속 여부 | 설명 | | :--- | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 진동 기능을 사용합니다. 사용자 기기에서 진동 기능을 지원해야 사용할 수 있습니다. # Methods - **boolean IsHWSupported() [ClientOnly]** 기기의 진동 기능 지원 여부를 반환합니다. - **void Vibrate() [ClientOnly]** 기기를 진동시킵니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Warning Level [question] | 'NotRecommended'가 포함된 이름의 경고 메시지만 추출하여 3문장 이내로 설명하세요. [answer] | 'NotRecommended'가 포함된 이름의 경고 메시지는 `NotRecommendedAssignment`(LWA-1106)와 `NotRecommendedValue`(LWA-3019) 두 가지입니다. 전자는 권장하지 않는 할당문을 작성했을 때 발생하며, 후자는 권장하지 않는 값을 사용했을 때 발생합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LWA-1106 | NotRecommendedAssignment | 권장하지 않는 할당문을 작성했습니다. | | LWA-1109 | IntroduceGlobalVariable | 글로벌 변수를 선언했습니다. | | LWA-1110 | DeprecatedAPIUsed | 더는 사용하지 않는 API를 사용했습니다. 다른 API 사용을 권장합니다. | | LWA-1111 | UnbalancedAssignment | 할당문의 왼쪽과 오른쪽의 길이가 다릅니다. | | LWA-1112
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Info Level [question] | LIA-1113, LIA-1114, LIA-1115, LIA-1116, LIA-1119에 해당하는 오류 ID와 이름, 설명을 3행 표로 정리해서 출력하세요. [answer] | | ID | 이름 | 설명 | |---|---|---| | LIA-1113 | UnresolvedSymbol | 심볼을 찾을 수 없습니다. | | LIA-1114 | UnresolvedMember | 멤버를 찾을 수 없습니다. | | LIA-1115 | UnresolvedFunction | 함수를 찾을 수 없습니다. | | LIA-1116 | DuplicateLocal | 로컬 변수를 중복 선언했습니다. | | LIA-1119 | DuplicateFunction | 함수를 중복 정의했습니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LIA-1113 | UnresolvedSymbol | 심볼을 찾을 수 없습니다. | | LIA-1114 | UnresolvedMember | 멤버를 찾을 수 없습니다. | | LIA-1115 | UnresolvedFunction | 함수를 찾을 수 없습니다. | | LIA-1116 | DuplicateLocal | 로컬 변수를 중복 선언했습니다. | | LIA-1119 | DuplicateFunction | 함수를 중복 정의했습니다. | | LIA-3025 | Request
[task] | code [pass] | ⏳ 미판정 [title] | Error Level [question] | 주어진 문서에는 mLua 스크립트 작성에 필요한 컴포넌트, 서비스, 메서드 또는 이벤트 정의가 포함되어 있지 않으며, 오류 코드 및 메시지 목록만 기재되어 있습니다. 따라서 해당 문서 정보만으로 해결할 수 있는 구체적인 mLua 코딩 과제를 생성할 수 없습니다. [answer] | 제공된 참고 문서에는 mLua 스크립트 작성에 필요한 컴포넌트, 서비스, 메서드 또는 이벤트 정의가 포함되어 있지 않습니다. 문서에는 LEA-3052부터 LEA-4015까지의 오류 코드와 그 의미(예: `InvalidName`, `StackOverflow`, `CircularReference`, `TypeMismatch` 등)만 기재되어 있습니다. 따라서 해당 문서 정보만으로는 구체적인 mLua 코딩 과제를 해결하거나 새로운 코드를 생성할 수 없습니다. [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] | Warning Level [question] | LWA-1106, LWA-1109, LWA-1110, LWA-1111, LWA-1112, LWA-1122에 해당하는 경고 메시지의 ID와 이름을 표로 정리해서 나열하세요. [answer] | 요청하신 LWA-1106부터 LWA-1122까지의 경고 메시지 ID와 이름은 다음과 같습니다. | ID | 이름 | |---|---| | LWA-1106 | NotRecommendedAssignment | | LWA-1109 | IntroduceGlobalVariable | | LWA-1110 | DeprecatedAPIUsed | | LWA-1111 | UnbalancedAssignment | | LWA-1112 | UnreachableCode | | LWA-1122 | ReturnValueExpected | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LWA-1106 | NotRecommendedAssignment | 권장하지 않는 할당문을 작성했습니다. | | LWA-1109 | IntroduceGlobalVariable | 글로벌 변수를 선언했습니다. | | LWA-1110 | DeprecatedAPIUsed | 더는 사용하지 않는 API를 사용했습니다. 다른 API 사용을 권장합니다. | | LWA-1111 | UnbalancedAssignment | 할당문의 왼쪽과 오른쪽의 길이가 다릅니다. | | LWA-1112
[task] | two_turn [pass] | ⏳ 미판정 [title] | Error Level [question] | 스크립트 실행 중 LEA-3056 StackOverflow와 LEA-3058 CircularReference 에러가 발생하는 원인은 무엇인가요? [answer] | 참고 문서에 따르면 LEA-3056과 LEA-3058 에러의 원인은 다음과 같습니다. * **LEA-3056 (StackOverflow)**: 스택 오버플로우가 발생했습니다. * **LEA-3058 (CircularReference)**: 순환 참조가 발생했습니다. 문서에는 이 두 에러가 발생하는 구체적인 코드적 원인이나 해결 방법에 대한 추가 설명이 제공되지 않습니다. [followup] | LEA-4015 Duplicate 에러와 함께 나타나는 경우, mLua 스크립트에서 어떤 로직을 점검해야 하나요? [followup_answer] | 참고 문서에는 LEA-4015 (Duplicate) 에러가 "중복된 값은 입력할 수 없습니다"라는 메시지만 제공하며, mLua 스크립트에서 구체적으로 어떤 로직을 점검해야 하는지에 대한 가이드나 예시는 포함되어 있지 않습니다. 따라서 문서 근거로는 특정 로직 점검 방법을 알려드릴 수 없습니다. [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] | Error Level [question] | LEA-2001부터 LEA-2005까지의 런타임 연산 오류 설명을 3문장 이내로 요약하세요. [answer] | LEA-2001부터 LEA-2004는 산술 연산, 길이 구하기, 문자열 연결, 비교 연산이 불가능한 타입에 해당 연산을 시도했을 때 발생하는 오류입니다. LEA-2005는 함수에 잘못된 인수를 전달했을 때 발생하는 오류입니다. [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] | code [pass] | ⏳ 미판정 [title] | PurchaseLogPages [question] | PurchaseLogPages의 IsLastPage 프로퍼티를 체크하여 마지막 페이지에 도달했을 경우에만 현재 페이지 데이터를 저장하고, 그렇지 않은 경우 MoveToNextPageAndWait()를 호출해 다음 페이지로 이동하는 페이지 분할 처리 로직을 구현하는 서버 스크립트를 작성해줘 [answer] | `PurchaseLogPages`는 `LogStorageService`에서 제공하는 페이지 단위의 구매 기록 조회 객체입니다. 요청하신 로직은 각 페이지의 데이터를 처리(저장)한 후, `IsLastPage` 프로퍼티를 확인하여 마지막 페이지가 아니면 `MoveToNextPageAndWait()`를 호출하는 방식으로 구현할 수 있습니다. 참고로 `PurchaseLogPages` 객체 자체는 데이터를 "저장"하는 메서드가 없으므로, 아래 예제에서는 조회된 데이터를 `log`로 출력하거나 외부 테이블에 수집하는 형태로 처리 로직을 구현 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LogStorageService에서 검색한 월드 상품 구매 기록을 페이지 단위로 조회합니다. 임시 제공 기능이며 사용을 권장하지 않습니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 결과의 마지막 페이지인지 여부를 나타냅니다. # Methods - **table<string> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 내용을 반환합니다. 한 페이지에는 최대 1000개의 항목이 포함될 수 있습니다. - **void MoveT
[task] | code [pass] | ⏳ 미판정 [title] | MobileAccelerometerService [question] | MobileAccelerometerService의 GetLastAcceleration() 메서드로 반환된 Vector3의 x, y 값을 추출하여 Vector2로 변환하고, 이를 PhysicsRigidbodyComponent의 ApplyForce() 메서드에 매개변수로 전달하여 Entity에 힘을 가하는 스크립트를 작성해줘 [answer] | `MobileAccelerometerService`의 `GetLastAcceleration()` 메서드로 `Vector3` 타입의 가속도 값을 얻은 뒤, `x`와 `y` 성분을 추출해 `Vector2`로 변환합니다. 이 `Vector2` 값에 힘의 크기를 곱하여 `PhysicsRigidbodyComponent`의 `ApplyForce()` 메서드에 전달하면 됩니다. 참고로, 모바일 가속도 센서 관련 메서드(`GetLastAcceleration`, `IsEnabled`, `Start` 등)는 모두 `[ClientOnly]` 공간에서 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 모바일 기기의 가속도 센서를 사용합니다. 사용자 기기에서 가속도 센서 기능을 지원해야 사용할 수 있습니다. # Methods - **Vector3 GetLastAcceleration() [ClientOnly]** 기기의 마지막 선형가속도 측정값을 반환합니다. - **boolean IsEnabled() [ClientOnly]** 중력 센서가 측정 중인지를 반환합니다. - **boolean IsHWSupported() [ClientOnly]** 기기의 가속도 센서 지원 여부를 반환합니다. - **void Start() [
[task] | two_turn [pass] | ⏳ 미판정 [title] | Info Level [question] | LIA-1116과 LIA-1119 중복 선언/정의 오류의 차이점 [answer] | **LIA-1116 (DuplicateLocal)** 과 **LIA-1119 (DuplicateFunction)** 의 차이점은 중복이 발생한 대상이 **로컬 변수**인지 **함수**인지에 있습니다. * **LIA-1116 (DuplicateLocal)**: 같은 스코프 내에서 **로컬 변수**를 중복으로 선언했을 때 발생하는 오류입니다. * **LIA-1119 (DuplicateFunction)**: 같은 스코프 내에서 **함수**를 중복으로 정의했을 때 발생하는 오류입니다. 이 두 오류는 각각 변수와 함수라는 서로 다 [followup] | LIA-1119(DuplicateFunction)가 발생하는 경우, 함수 이름이 같지만 실행 공간([server only], [client only])이 다른 메서드들을 한 컴포넌트에 정의할 수 있는지 여부 [followup_answer] | 제공된 참고 문서에는 LIA-1119(DuplicateFunction) 오류의 정확한 발생 조건이나, 실행 공간([server only], [client only] 등)이 다른 메서드들이 같은 함수 이름을 가질 때 중복 오류로 처리되는지에 대한 정보가 포함되어 있지 않습니다. 따라서 제공된 문서를 근거로 해당 경우 LIA-1119 오류가 발생하는지 여부는 답변할 수 없습니다. [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LIA-1113 | UnresolvedSymbol | 심볼을 찾을 수 없습니다. | | LIA-1114 | UnresolvedMember | 멤버를 찾을 수 없습니다. | | LIA-1115 | UnresolvedFunction | 함수를 찾을 수 없습니다. | | LIA-1116 | DuplicateLocal | 로컬 변수를 중복 선언했습니다. | | LIA-1119 | DuplicateFunction | 함수를 중복 정의했습니다. | | LIA-3025 | Request
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-3004, LEA-3033, LEA-3034 오류 코드의 이름과 발생 원인을 3줄 이내로 나열하세요. [answer] | LEA-3004 (MissingComponent): 컴포넌트가 존재하지 않을 때 발생합니다. LEA-3033 (NilReference): nil을 참조했을 때 발생합니다. LEA-3034 (MissingFunction): 함수가 존재하지 않을 때 발생합니다. [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] | code [pass] | ⏳ 미판정 [title] | PurchaseLogPages [question] | PurchaseLogPages의 MoveToNextPageAndWait() 메서드를 반복 호출하여 모든 페이지의 구매 기록을 조회하고, IsLastPage가 true가 될 때까지 데이터를 수집한 후 최종적으로 총 페이지 수를 계산하는 로직을 포함하는 서버 스크립트를 작성해줘 [answer] | `PurchaseLogPages`의 `MoveToNextPageAndWait()`는 다음 페이지로 이동하는 기능일 뿐, **총 페이지 수를 반환하거나 조회하는 API는 문서에 존재하지 않습니다.** 따라서 요청하신 "최종적으로 총 페이지 수를 계산"하는 로직은 문서에 기반하여 작성할 수 없습니다. 제공된 문서에는 `IsLastPage`(마지막 페이지 여부)와 `GetCurrentPageDatas()`(현재 페이지 데이터)만 존재하며, 페이지 번호를 추적하거나 총 페이지 수를 알 수 있는 프로퍼티나 메서드가 없습니다. 대신, 문서 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LogStorageService에서 검색한 월드 상품 구매 기록을 페이지 단위로 조회합니다. 임시 제공 기능이며 사용을 권장하지 않습니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 결과의 마지막 페이지인지 여부를 나타냅니다. # Methods - **table<string> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 내용을 반환합니다. 한 페이지에는 최대 1000개의 항목이 포함될 수 있습니다. - **void MoveT
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-1001부터 LEA-1013까지의 문법 오류 코드와 이름을 표로 정리해서 출력하세요. [answer] | LEA-1001부터 LEA-1013까지의 문법 오류 코드와 이름은 다음과 같습니다. | ID | 이름 | |---|---| | LEA-1001 | ExpectedSymbol | | LEA-1002 | NoReturnStatement | | LEA-1003 | NeedPairKeyword | | LEA-1004 | DuplicateLabel | | LEA-1005 | UnexpectedSymbol | | LEA-1006 | InvalidString | | LEA-1007 | UnfinishedString | | LEA-1008 | [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] | instruction_following [pass] | ⏳ 미판정 [title] | Error Level [question] | LEA-1101, LEA-1102, LEA-1103, LEA-1104, LEA-1105에 해당하는 함수 호출 및 타입 관련 오류 5가지를 단계별 번호 목록으로 나열하세요. [answer] | 요청하신 LEA-1101부터 LEA-1105까지의 함수 호출 및 타입 관련 오류 5가지는 다음과 같습니다. 1. **LEA-1101 (UnavailableMethodCall)**: 콜론(`:`) 사용이 권장되는 함수(메서드)를 호출할 때 도트(`.`)를 잘못 사용했습니다. 2. **LEA-1102 (TooManyParameter)**: 함수가 필요한 인수 개수보다 많은 인수를 전달했습니다. 3. **LEA-1103 (ParameterTypeMismatch)**: 함수의 매개 변수로 필요한 타입과 다른 타입의 값을 전달했습니다. 4 [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] | two_turn [pass] | ⏳ 미판정 [title] | Info Level [question] | LIA-1113, LIA-1114, LIA-1115 오류가 발생하는 경우 [answer] | `LIA-1113`, `LIA-1114`, `LIA-1115`는 모두 스크립트 해석 과정에서 참조 대상(심볼, 멤버, 함수)을 찾지 못했을 때 발생하는 **Info Level** 로그 메시지입니다. 구체적인 발생 상황은 다음과 같습니다. 1. **LIA-1113 (UnresolvedSymbol)**: 스크립트에서 참조한 **심볼(Symbol)**을 찾을 수 없을 때 발생합니다. 이는 일반적으로 존재하지 않는 변수명이나 상수명을 참조했을 때 나타나는 오류입니다. 2. **LIA-1114 (UnresolvedMember)**: 객 [followup] | LIA-1115(UnresolvedFunction)가 발생한 스크립트에서 함수가 실제로 존재하지만 호출되지 않는 원인을 확인하는 방법 [followup_answer] | 제공된 참고 문서에는 `LIA-1115 (UnresolvedFunction)` 오류의 정의("함수를 찾을 수 없습니다.")만 포함되어 있으며, **함수가 실제로 존재함에도 불구하고 오류가 발생하는 구체적인 원인**이나 **이를 확인하는 절차/방법**에 대한 정보는 없습니다. 따라서 문서에 근거하여 해당 오류의 세부 원인 분석 방법이나 디버깅 절차를 설명할 수 없습니다. [scores] | [judge_reason] | [source_doc] | | ID | 이름 | 설명 | |---|---|---| | LIA-1113 | UnresolvedSymbol | 심볼을 찾을 수 없습니다. | | LIA-1114 | UnresolvedMember | 멤버를 찾을 수 없습니다. | | LIA-1115 | UnresolvedFunction | 함수를 찾을 수 없습니다. | | LIA-1116 | DuplicateLocal | 로컬 변수를 중복 선언했습니다. | | LIA-1119 | DuplicateFunction | 함수를 중복 정의했습니다. | | LIA-3025 | Request