← 목록

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

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

[task] | instruction_following [pass] | ✅ 통과 [title] | WorldInstanceService [question] | ETag 예제에서 공유 변수 수정 시 필수 조건과 실패 시 반환되는 오류 코드를 표로 정리해서 나열하세요. [answer] | ETag를 사용한 공유 변수 수정 시 필수 조건과 실패 시 반환되는 오류 코드는 다음과 같습니다. | 구분 | 내용 | | :--- | :--- | | **수정 성공 필수 조건** | `SharedVariableKeyInfo` 객체를 생성할 때 `current.Info.ETag` 값(최신 ETag)을 정확히 담아 전달해야 합니다. <br>※ 예외: 빈 문자열(`""`)이나 `nil`을 ETag 값으로 전달하면 조건에 관계없이 무조건 공유 변수가 수정됩니다. | | **수정 실패 시 반환 오류 코드** | `SharedMemoryR [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 ETag 예제 주석 및 코드에서 추출한 필수 조건과 오류 코드 정보를 정확하고 간결한 표 형식으로 정리하여 질문에 완벽하게 답했습니다. [source_doc] | # Events - **WorldInstanceExcludedEvent** 월드 서버가 은퇴 상태가 되면 해당 월드 서버에 속한 월드 인스턴스에서 발생하는 이벤트입니다. # Examples #### ETag ETag를 사용하는 예제입니다. ```lua local code, mem = _WorldInstanceService:GetSharedMemory("memname") -- current.Info.ETag에는 최신 ETag가 담겨 있습니다. local current = mem:GetVariableAndWait("v

[task] | code [pass] | ✅ 통과 [title] | ScreenRecordService [question] | _ScreenRecordService 를 사용하여 Android 플랫폼에서는 ScreenAndMic 모드가 지원되지 않으므로 ScreenOnly 모드로 자동 변경하는 스크립트를 작성해줘 [answer] | 참고 문서에 `_ScreenRecordService`에 대한 API, 메서드, 프로퍼티 정보가 포함되어 있지 않습니다. 문서에는 `ScreenRecordService`의 플랫폼별 지원 모드(표)와 Fallback 규칙만 설명되어 있을 뿐, 실제로 녹화를 시작하거나 모드를 설정하는 메서드 이름(예: `StartRecord`, `SetMode` 등)이 없습니다. 따라서 요청하신 "Android에서 ScreenAndMic를 ScreenOnly로 자동 변경하는 스크립트"를 정확히 작성할 수 없습니다. 문서에 없는 API를 지어낼 수 없기 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 API가 없어 스크립트 작성을 거절하고, 질문의 전제(ScreenOnly Fallback)가 사실과 다르다는 점(ScreenAndGameAudioAndMic Fallback)을 정확히 지적하여 혼란을 방지했습니다. [source_doc] | # 주의사항 녹화 시 플랫폼별로 지원되지 않는 녹화 모드가 있습니다. Android의 경우 ScreenRecordMode.ScreenAndMic 선택 시 자동으로 ScreenAndGameAudioAndMic로 Fallback됩니다. 윈도우의 경우 ScreenRecordMode.ScreenAndGameAudioAndMic 선택 시 자동으로 ScreenAndMic로 Fallback됩니다. | 녹화 모드 | 설명 | Windows/macOS | iOS | Android | | :---: | :---: | :---: | :---: |

[task] | instruction_following [pass] | ✅ 통과 [title] | WorldInstanceService [question] | SendEventRequestResultCode RequestSendEventToWorldInstanceAndWait 메서드와 RequestSendEventToWorldInstanceAsync 메서드의 차이점을 표로 정리하세요. [answer] | `RequestSendEventToWorldInstanceAndWait`와 `RequestSendEventToWorldInstanceAsync` 메서드의 차이점은 다음과 같습니다. | 구분 | RequestSendEventToWorldInstanceAndWait | RequestSendEventToWorldInstanceAsync | | :--- | :--- | :--- | | **실행 방식** | 이벤트 전송 수행 중 스크립트 실행을 중단(Yield)합니다. | 이벤트 전송을 비동기적으로 수행하며, 스크립트 실행을 중단하지 않습 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서에 명시된 두 메서드의 시그니처, 실행 방식(Yield vs 비동기), 결과 처리 방식(즉시 반환 vs 콜백) 및 주의사항을 정확하고 명확하게 표로 정리하여 질문의 요구사항을 완벽하게 충족했습니다. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | instruction_following [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UITouchReceiveComponent에서 상속받은 Method 2개의 함수 시그니처만 ```lua 코드 블록으로 출력하세요. [answer] | ```lua boolean IsClient() boolean IsServer() ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 UITouchReceiveComponent의 상속 메서드 2개 시그니처를 정확하고 간결하게 출력했습니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | instruction_following [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UITouchDownEvent와 UITouchUpEvent의 발생 시점을 각각 한 문장으로만 설명하세요. [answer] | UITouchDownEvent는 UI Entity를 터치하거나 클릭했을 때 발생하며, UITouchUpEvent는 UI Entity에서 터치나 클릭을 뗐을 때 발생합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=0 verbosity=2 [judge_reason] | 참고 문서의 이벤트 설명을 정확하고 간결하게 인용하여 질문에 완벽하게 부합합니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | 모든 월드 인스턴스에 이벤트를 보낼 때 Entity나 Component를 직접 담아 전달하면 왜 문제가 발생하나요? [answer] | 모든 월드 인스턴스에 이벤트를 보낼 때 `Entity`, `EntityRef`, `Component`, `ComponentRef`를 이벤트 객체에 직접 담아 전달하면 **유효하지 않은 값이 전달될 수 있기 때문에** 문제가 발생합니다. 이는 `WorldInstanceService`의 `RequestSendEventToWorldInstance` 계열 메서드(모든 인스턴스 전송 포함) 사용 시 명시적으로 주의해야 할 사항입니다. 다른 월드 인스턴스로 이벤트가 전송되는 과정에서 해당 엔티티나 컴포넌트 참조가 올바르게 해석되지 않거나, [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 명시된 주의사항을 정확히 인용하되, 원문에는 없는 구체적인 원인(참조 해석 실패 등)과 해결책(ID 전달)을 추측하여 서술하여 helpfulness와 correctness에서 소폭 감점되었습니다. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | two_turn [pass] | ✅ 통과 [title] | RoomService [question] | RoomService로 이벤트를 전송할 때 Entity, EntityRef, Component, ComponentRef를 이벤트 객체에 담아 보내면 왜 유효하지 않은 값이 전달될 수 있는지에 대한 원인과 해결 방안은 무엇인가요? [answer] | RoomService를 통해 이벤트를 전송할 때 `Entity`, `EntityRef`, `Component`, `ComponentRef` 타입의 값을 이벤트 객체에 담아 보내면 유효하지 않은 값이 전달될 수 있는 원인은 이러한 참조 타입이 네트워크를 통해 직렬화 및 전송되는 과정에서 참조 대상이 실제로 존재하지 않거나, 참조가 끊어질 수 있기 때문입니다. 이 문제를 해결하기 위해 RoomService를 통한 이벤트 전송 시 **Entity, EntityRef, Component, ComponentRef를 이벤트 객체에 직접 담아 [followup] | 이러한 참조 타입을 안전하게 전달하기 위해 어떤 형태의 데이터를 변환하여 전송해야 하며, 수신 측에서 이를 처리하기 위한 코드 예시를 작성해 주세요. [followup_answer] | 참고 문서에 따르면 `Entity`, `EntityRef`, `Component`, `ComponentRef`를 이벤트에 담아 전송하면 유효하지 않은 값이 전달될 수 있다고 명시되어 있습니다. 하지만 **구체적으로 어떤 형태의 데이터로 변환하여 전송해야 하는지(예: ID, Path, UUID 등)에 대한 명시적인 지침이나 추천 방식은 문서에 포함되어 있지 않습니다.** 또한, 수신 측에서 참조를 복원하기 위한 특정 메서드(예: ID를 통해 Entity를 찾는 메서드)나 변환 과정에 대한 API 문서도 제공되지 않았습니다. 따라서 [scores] | helpfulness=4 correctness=4 coherence=4 complexity=4 verbosity=2 [judge_reason] | 문서에 명시된 주의사항(직접 전송 금지)을 정확히 인지하고, mLua 표준 규칙에 기반한 안전한 대안(경로 문자열 전송 및 조회)을 제시하여 질문에 효과적으로 답함. [source_doc] | 단합니다. - **SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]** 이벤트를 모든 룸에 전송합니다. 수신자는 RoomService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 수행하는 동안 스크립트 실행을 중단합니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **void RequestSen

[task] | instruction_following [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UITouchReceiveComponent의 모든 이벤트를 이벤트 이름과 발생 시점을 2열 표로 정리하세요. [answer] | UITouchReceiveComponent의 이벤트와 발생 시점은 다음과 같습니다. | 이벤트 이름 | 발생 시점 | | :--- | :--- | | UITouchBeginDragEvent | UI Entity를 드래그하기 시작할 때 | | UITouchDownEvent | UI Entity를 터치하거나 클릭했을 때 | | UITouchDragEvent | UI Entity를 드래그 중일 때 | | UITouchEndDragEvent | UI Entity 드래그를 마칠 때 | | UITouchEnterEvent | UI Entit [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 명시된 7가지 이벤트 이름과 발생 시점을 정확하고 간결하게 표로 정리하여 질문 의도를 완벽히 충족합니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | code [pass] | ✅ 통과 [title] | ScreenRecordService [question] | ScreenRecordService의 ConnectEvent와 SendEvent를 활용해 녹화 시작 이벤트를 감지하고 클라이언트에 알림을 보내는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `ScreenRecordService`의 `ConnectEvent`, `DisconnectEvent`, `SendEvent` 메서드 시그니처와 설명만 포함되어 있습니다. **참고 문서에 없는 정보:** 1. `ScreenRecordService`에서 발생하는 구체적인 이벤트 타입(예: `ScreenRecordStartEvent`)의 이름이나 구조가 정의되어 있지 않습니다. 2. 녹화 시작을 알리는 특정 이벤트 키(key)나 타입(Type)이 명시되어 있지 않습니다. 3. 클라이언트에 알림을 보내는 구체적 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 구체적인 이벤트 이름이나 클라이언트 알림 API가 없어 완전한 구현은 불가능함을 정확히 지적하고, 문서에 명시된 ConnectEvent와 SendEvent의 시그니처 및 용도(알림 전송 불가)를 준수하여 구조적인 예제를 제시했으므로 정확도와 일관성이 높으며, 질문의 의도를 고려한 적절한 수준의 설명을 제공했습니다. [source_doc] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지

[task] | instruction_following [pass] | ✅ 통과 [title] | WorldInstanceService [question] | WorldInstanceService에서 이벤트를 수신하기 위해 ConnectEvent 메서드를 사용하는 코드를 출력하고, 주의사항은 주석으로만 작성하세요. [answer] | WorldInstanceService에서 이벤트를 수신하기 위해 `ConnectEvent` 메서드를 사용하는 코드는 다음과 같습니다. ```lua Property: [None] EventHandlerBase MyEventHandle = nil Method: [server only] void OnBeginPlay () { -- WorldInstanceService의 "MyCustomEvent"라는 이름의 이벤트를 연결합니다. -- ConnectEvent는 string key와 IScriptFunction 타입의 핸들 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=3 coherence=4 complexity=3 verbosity=2 [judge_reason] | 코드와 주석은 정확하고 유용하지만, 주의사항 2번에서 '메모리 누수'라는 mLua 문서에 명시되지 않은 특정 기술적 근거를 지어내어 slight over-claim이 발생함. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | instruction_following [pass] | ❌ 탈락 [title] | WorldInstanceService [question] | 월드 인스턴스 통신 관련 서비스 중 `UserService`가 처리하는 `UserEnterEvent` 이벤트 핸들러를 작성할 때 필요한 파라미터와 실행 공간을 설명해 주세요. 3문장 이내로 [answer] | `UserService`의 `UserEnterEvent` 핸들러는 `UserEnterEvent event` 타입의 파라미터를 받아 `event.UserId`와 `event.ProfileCode` 같은 정보를 접근합니다. 실행 공간은 서비스 이벤트의 특성상 `[service: UserService]`로 지정되며, 서버 로직이 포함된 경우 `[server only]`를 함께 붙일 수 있습니다. [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=2 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서에 존재하지 않는 event.ProfileCode 속성을 지어내어 정확도가 낮습니다. [source_doc] | * PlayerComponent * Division * SharedMemoryResultCode * UserEnterEvent * SharedVariableInfo * SharedVariableKeyInfo * UserService * [월드 인스턴스 통신](/docs?postId=999) * [인스턴스 맵 만들기](/docs?postId=540) * [특정 월드 인스턴스로 워프하기](/docs?postId=1122)

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | 이벤트 전송 후 성공 여부를 확인하기 위해 콜백 함수를 통해 반환되는 결과 코드의 의미는 무엇인가요? [answer] | 제공된 문서에는 `SendEventRequestResultCode` 라는 결과 코드 타입의 이름과, 이벤트 전송 작업이 완료되면 해당 결과 코드가 콜백 함수에 전달된다는 사실만 언급되어 있습니다. 하지만 **각 결과 코드 값(예: Success, Failure 등)의 구체적인 의미나 열거형(Enum) 값 목록에 대한 설명은 문서에 포함되어 있지 않습니다.** 따라서 성공 여부를 판단하는 구체적인 결과 코드의 의미를 문서만으로는 설명할 수 없습니다. 문서에 명시된 내용은 다음과 같습니다: 1. `RequestSendEventTo [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 열거형 값을 지어내지 않고, 문서에 존재하는 정보만 정확히 나열하여 질문에 대해 정직한 답변을 제공했습니다. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | instruction_following [pass] | ❌ 탈락 [title] | WorldInstanceService [question] | `SharedMemoryResultCode`와 `SharedVariableInfo`의 역할을 구분하여 비교해 주세요. 표로 정리해서 [answer] | 제공된 참고 문서 목록에 `SharedMemoryResultCode`와 `SharedVariableInfo`라는 용어가 언급되어 있지만, 각 용어의 **구체적인 역할, 정의, 또는 사용법에 대한 설명이 포함되어 있지 않습니다.** 따라서 두 용어의 역할을 정확히 비교하거나 표로 정리하는 것은 불가능합니다. 해당 API들의 상세 설명은 문서에 존재하지 않습니다. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=4 coherence=4 complexity=2 verbosity=1 [judge_reason] | 참고 문서에 실제 내용이 없어 답변 불가라는 사실을 정확히 인지하고, 없는 정보를 지어내지 않은 정직한 답변입니다. [source_doc] | * PlayerComponent * Division * SharedMemoryResultCode * UserEnterEvent * SharedVariableInfo * SharedVariableKeyInfo * UserService * [월드 인스턴스 통신](/docs?postId=999) * [인스턴스 맵 만들기](/docs?postId=540) * [특정 월드 인스턴스로 워프하기](/docs?postId=1122)

[task] | single_turn [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UI Entity에서 드래그를 시작하고 끝나는 순간에 각각 어떤 이벤트가 트리거되는지 알려주세요. [answer] | UI Entity에서 드래그를 시작할 때 **UITouchBeginDragEvent**가, 드래그를 마칠 때 **UITouchEndDragEvent**가 트리거됩니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 이벤트 정의와 정확히 일치하며 질문에 대한 핵심 정보만 명확하게 전달했습니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | instruction_following [pass] | ✅ 통과 [title] | WorldInstanceService [question] | RequestSendEvent 예제에서 유저 입장 시 모든 월드 인스턴스에 이벤트를 전송하는 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua Event Handler: [service: UserService] HandleUserEnterEvent (UserEnterEvent event) { -- 1. 이벤트에서 유저 ID를 추출합니다. local UserId = event.UserId -- 2. 현재 월드 인스턴스 ID와 유저의 닉네임을 가져옵니다. local worldInstanceId = _WorldInstanceService.WorldInstanceId local user = _UserService:GetUs [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 RequestSendEvent 예제 코드를 정확히 재현했으며, 설명을 요청대로 주석으로만 작성하여 질문 의도를 충실히 충족했습니다. [source_doc] | # Events - **WorldInstanceExcludedEvent** 월드 서버가 은퇴 상태가 되면 해당 월드 서버에 속한 월드 인스턴스에서 발생하는 이벤트입니다. # Examples #### ETag ETag를 사용하는 예제입니다. ```lua local code, mem = _WorldInstanceService:GetSharedMemory("memname") -- current.Info.ETag에는 최신 ETag가 담겨 있습니다. local current = mem:GetVariableAndWait("v

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | 특정 월드 인스턴스만 타겟으로 이벤트를 보내는 동기 호출과 비동기 호출의 차이점은 무엇인가요? [answer] | 특정 월드 인스턴스를 타겟으로 이벤트를 보내는 `WorldInstanceService`의 동기 호출과 비동기 호출의 차이점은 **스크립트 실행 흐름의 중단 여부**와 **결과 처리 방식**에 있습니다. **1. 동기 호출 (Yield)** * **메서드:** `RequestSendEventToWorldInstanceAndWait(EventType sendEvent, string targetWorldInstanceId)` * **차이점:** 이벤트 전송이 완료될 때까지 현재 스크립트의 실행을 **중단(기다림)**합니다. * [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 동기/비동기 메서드 정의와 주의사항을 정확하고 명확하게 설명하여 질문에 완벽하게 부합합니다. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | code [pass] | ❌ 탈락 [title] | ScreenRecordService [question] | ScreenRecordService의 ConnectEvent와 DisconnectEvent를 사용해 특정 녹화 상태 변경 이벤트 연결을 등록하고, 종료 시점에 연결을 해제하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `ScreenRecordService`의 `ConnectEvent`와 `DisconnectEvent` 메서드의 시그니처(인자 및 반환 타입)만 설명되어 있을 뿐, **구체적인 녹화 상태 변경 이벤트의 이름(예: `ScreenRecordStartEvent` 등)이나 이벤트 객체가 가진 프로퍼티(예: `IsRecording`, `RecordId` 등)가 정의되어 있지 않습니다.** mLua 스크립트에서 이벤트 핸들러는 특정 이벤트 타입(예: `[service: ScreenRecordService]` 아래에서 `H [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 이벤트 명을 지어내지 않고 mLua의 표준 Event Handler 패턴과 문서 API의 한계를 정확히 지적하여 사실 오류가 없으나, 사용자가 요구한 ConnectEvent/DisconnectEvent 직접 사용 예제를 제공하지 못해 실질적 도움이 제한적입니다. [source_doc] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | RequestSendEventToWorldInstanceAndWait를 사용할 때 스크립트 실행이 중단되는 Yield 동작은 어떤 상황에서 주의해야 하나요? [answer] | `RequestSendEventToWorldInstanceAndWait`는 **[Yield]** 속성이 붙은 함수로, 특정 월드 인스턴스에 이벤트를 전송하는 동안 현재 스크립트의 실행이 중단됩니다. 이 동작은 다음과 같은 상황에서 주의가 필요합니다. 1. **다른 로직의 지연**: 이벤트가 전송되고 결과가 반환될 때까지 해당 스크립트 내의 나머지 코드(예: 이어서 실행되어야 하는 이동, 애니메이션, 상태 변경 등)가 즉시 실행되지 않고 대기하게 됩니다. 네트워크 지연이나 수신 측 처리 시간이 길어지면 의도치 않은 로직 지연이 발 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 [Yield] 속성과 비동기 대안 API를 정확히 인용하며, 시스템 규칙 기반의 합리적 주의사항을 제시하여 질문에 충실히 답했습니다. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | two_turn [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UITouchReceiveComponent의 주요 이벤트와 속성들은 어떤 것들이 있나요? [answer] | `UITouchReceiveComponent`는 UI Entity를 터치할 수 있도록 하고, 터치 및 드래그 상태에 따라 동작을 제어하는 컴포넌트입니다. 주요 속성과 이벤트는 다음과 같습니다. ### 속성 (Properties) 이 컴포넌트는 `Component`에서 상속된 속성들을 포함합니다. * **Enable**: 컴포넌트의 활성화 여부를 나타내는 `boolean` 타입의 속성입니다. `[Sync]` 속성을 가지므로 네트워크 동기화 대상입니다. * **EnableInHierarchy**: 계층 구조상에서 이 컴포넌트가 [followup] | UITouchDownEvent와 UITouchUpEvent를 각각 처리하는 Event Handler 코드 예시를 작성해 주세요. [followup_answer] | `UITouchDownEvent`와 `UITouchUpEvent`를 처리하는 `UITouchReceiveComponent` 스크립트 예시는 다음과 같습니다. ```lua Property: [None] boolean IsPressed = false Method: [client only] void OnBeginPlay() { self.IsPressed = false } [client only] void HandleUITouchDownEvent(UITouchDownEvent event) { self.IsPressed [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 속성, 메서드, 이벤트 정보를 빠짐없이 정확히 요약하여 질문에 충실히 답했습니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | code [pass] | ❌ 탈락 [title] | WorldInstanceSharedMemory [question] | 단일 공유 변수에 80,000 bytes를 초과하는 데이터를 저장하려 할 때 이를 방지하고, 80MiB 총 용량 한계 내에 있도록 현재 사용량을 추적하여 한계 초과 시 저장 중단을 알리는 WorldInstanceSharedMemory 관리 스크립트를 작성해줘 [answer] | 제시된 참고 문서에 따르면, `WorldInstanceSharedMemory` API에는 현재 사용량을 조회하거나 남은 용량을 반환하는 함수가 명시되어 있지 않습니다. 따라서 실제 서버 상태의 사용량을 정확히 추적하는 코드를 작성할 수 없습니다. 또한, 단일 변수 저장 시 80,000 bytes를 초과하는 경우를 **사전 방지**하기 위해 필요한 문자열 길이 체크 로직(예: `#string` 연산자 등)에 대한 mLua 표준 라이브러리 문서가 제공되지 않았으므로, 이 부분의 구현은 추측에 기반할 수밖에 없습니다. 따라서, **문 [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=0 coherence=3 complexity=3 verbosity=3 [judge_reason] | 참고 문서에 없는 `_WorldInstanceService`, `GetSharedMemory`, `CreateVariableAndWait` 등의 API와 결과 코드 구조를 지어내어 코드 전체가 동작 불가하며, 실제 사용량 추적 API 부재로 질문의 핵심 요구사항(한계 초과 시 저장 중단)을 충족하지 못함 [source_doc] | # 제한 사항 **WorldInstanceService**를 사용할 때는 아래의 제한 사항을 염두에 두고 사용해야 합니다. #### 작명 규칙 WorldInstanceMemory와 공유 변수 이름은 아래 문자로만 작명할 수 있습니다. 최소 1글자 이상의 이름이어야 하며, 최대 100글자 이름일 수 있습니다. * **알파벳 대,소문자** * **숫자** * **공백** * **_, \\, -** #### 수량 및 용량 제한 * 한 월드 당 생성 가능한 WorldInstanceSharedMemory는 최대 **100개**입

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | 인스턴스 맵을 생성할 때 PlayerComponent의 Division 프로퍼티는 어떤 기준으로 자동 배정되나요? [answer] | 제공된 참고 문서에는 `WorldInstanceService`, `PlayerComponent`, `Division` 등의 항목 이름만 나열되어 있을 뿐, 인스턴스 맵 생성 시 `PlayerComponent`의 `Division` 프로퍼티가 어떤 기준이나 로직에 의해 자동 배정되는지에 대한 구체적인 설명이 포함되어 있지 않습니다. 따라서 주어진 자료만으로는 `Division` 프로퍼티의 자동 배정 기준을 설명할 수 없습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서에 실제 내용이 없어 답변 불가임을 정확히 인지하고, 존재하지 않는 정보를 지어내지 않은 점이 우수함 [source_doc] | * PlayerComponent * Division * SharedMemoryResultCode * UserEnterEvent * SharedVariableInfo * SharedVariableKeyInfo * UserService * [월드 인스턴스 통신](/docs?postId=999) * [인스턴스 맵 만들기](/docs?postId=540) * [특정 월드 인스턴스로 워프하기](/docs?postId=1122)

[task] | single_turn [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UITouchReceiveComponent의 UITouchDownEvent와 UITouchEnterEvent는 발생 시점이 어떻게 다른가요? [answer] | `UITouchDownEvent`와 `UITouchEnterEvent`는 발생 시점이 명확히 다릅니다. **UITouchDownEvent** UI Entity를 실제로 **터치하거나 클릭했을 때** 발생합니다. 즉, 사용자가 마우스 버튼을 누르거나 화면을 터치하는 물리적 입력이 이루어지는 순간 트리거됩니다. **UITouchEnterEvent** UI Entity에 **터치나 커서가 들어올 때** 발생합니다. 마우스 포인터가 UI 영역 위에 올라오거나, 터치 입력이 UI 영역에 닿는 순간 발생하며, 반드시 클릭(버튼 누름)까지 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 이벤트 정의와 정확히 일치하며, 두 이벤트의 발생 시점 차이를 명확하고 간결하게 설명했습니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | two_turn [pass] | ❌ 탈락 [title] | WorldInstanceService [question] | 월드 인스턴스 통신 시 PlayerComponent와 UserEnterEvent를 활용해 유저 정보를 처리하는 기본 구조는 어떻게 되나요? [answer] | 월드 인스턴스 통신에서 `UserEnterEvent`와 `PlayerComponent`를 활용해 유저 정보를 처리하는 기본 구조는 다음과 같습니다. 1. **유저 입장 감지**: `UserService`의 `UserEnterEvent` 이벤트 핸들러를 등록하여 유저가 월드에 입장하는 시점을 감지합니다. 2. **유저 정보 추출**: 이벤트 객체(`event`)에서 `UserId` 또는 `ProfileCode`를 추출합니다. 3. **유저 엔티티 조회**: 추출한 `UserId`를 이용해 `_UserService:GetUserEnt [followup] | PlayerComponent에서 특정 유저의 SharedVariable을 읽을 때 SharedMemoryResultCode로 에러를 처리하는 예외 케이스 코드는 어떻게 작성하나요? [followup_answer] | 제시된 참고 문서 목록에는 `PlayerComponent`, `SharedMemoryResultCode`, `SharedVariableInfo`, `SharedVariableKeyInfo` 등의 항목 이름만 나열되어 있을 뿐, **구체적인 메서드 시그니처, `SharedVariable`을 읽기 위한 함수명, 또는 `SharedMemoryResultCode`의 상수 값과 반환 구조에 대한 정보가 포함되어 있지 않습니다.** 따라서 문서에 근거하여 `SharedVariable`을 읽고 `SharedMemoryResultCode`로 에 [scores] | helpfulness=3 correctness=2 coherence=3 complexity=2 verbosity=2 [judge_reason] | 문서에 없는 API(_UserService:GetUserEntityByUserId, PlayerComponent.MoveToEntityByPath)를 지어내어 정확도가 낮지만, 전체 구조 설명과 기본 문법 사용은 일관성이 있다. [source_doc] | * PlayerComponent * Division * SharedMemoryResultCode * UserEnterEvent * SharedVariableInfo * SharedVariableKeyInfo * UserService * [월드 인스턴스 통신](/docs?postId=999) * [인스턴스 맵 만들기](/docs?postId=540) * [특정 월드 인스턴스로 워프하기](/docs?postId=1122)

[task] | single_turn [pass] | ✅ 통과 [title] | UITouchReceiveComponent [question] | UITouchReceiveComponent에 커서가 들어오거나 나갈 때 발생하는 이벤트를 처리하려면 어떤 Event Handler를 작성해야 하나요? [answer] | `UITouchReceiveComponent`에서 커서가 들어오거나 나갈 때 발생하는 이벤트를 처리하려면 `UITouchEnterEvent`와 `UITouchExitEvent`에 대응하는 Event Handler를 작성해야 합니다. - **UITouchEnterEvent**: UI Entity를 터치하거나 커서가 들어올 때 발생 - **UITouchExitEvent**: UI Entity에서 터치를 떼거나 커서가 나갈 때 발생 아래는 이 두 이벤트를 처리하는 mLua 스크립트 예제입니다. ```lua Event Handler: [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 UITouchEnterEvent와 UITouchExitEvent 정의 및 mLua 규칙의 Event Handler 문법을 정확히 준수하여 질문에 완벽히 부합하는 예제를 제시했습니다. [source_doc] | UI Entity를 터치할 수 있고, 터치 시 동작을 제어할 수 있습니다. # Properties ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다. - **En

[task] | instruction_following [pass] | ✅ 통과 [title] | ScrollPositionChangedEvent [question] | ScrollPositionChangedEvent의 발생 조건과 프로퍼티를 3문장 이내로 설명하세요. [answer] | ScrollPositionChangedEvent는 UI Entity에 ScrollLayoutGroupComponent 또는 GridViewComponent가 존재할 때, 해당 컴포넌트에서 스크롤 위치가 변경되면 Client 공간에서 발생합니다. 이 이벤트는 스크롤바의 정규화된 위치를 나타내는 Vector2 타입의 NormalizedPosition 프로퍼티를 포함합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 발생 조건과 프로퍼티 정보를 정확하고 간결하게 요약했습니다. [source_doc] | 스크롤이 가능한 UI Entity에서 스크롤 위치가 변경될 때 발생하는 이벤트입니다. UI Entity에 ScrollLayoutGroupComponent 또는 GridViewComponent가 있어야 이벤트가 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * GridViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." da

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | WorldInstanceService에서 이벤트를 수신하려면 어떤 방식으로 핸들러를 등록해야 하나요? [answer] | WorldInstanceService에서 이벤트를 수신하려면 `ConnectEvent` 메서드를 사용하여 핸들러를 등록해야 합니다. 등록 방식은 두 가지가 있습니다. 첫째, 이벤트의 **타입 이름(string)**을 사용하는 방식입니다. `_WorldInstanceService:ConnectEvent("이벤트이름", 핸들러함수)` 형태로 호출합니다. 둘째, 이벤트의 **타입(Type)** 객체를 직접 전달하는 방식입니다. `_WorldInstanceService:ConnectEvent(이벤트타입, 핸들러함수)` 형태로 호출합니다 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 ConnectEvent/DisconnectEvent 시그니처와 주의사항을 정확히 설명하고, mLua 문법에 맞는 예제를 제공하여 질문에 충실히 답변했습니다. [source_doc] | on)** 이벤트를 모든 월드 인스턴스에 전송합니다. 수신자는 WorldInstanceService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 작업이 완료되면 결과 코드, 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **SendEventRequestResultCode RequestSendEventToWorldInstanceA

[task] | single_turn [pass] | ✅ 통과 [title] | WorldInstanceService [question] | SharedMemoryResultCode에서 반환되는 에러 코드가 실패를 의미할 때, 이를 핸들링하기 위한 권장 패턴은 무엇인가요? [answer] | 제공된 참고 문서에는 `SharedMemoryResultCode`의 구체적인 에러 코드 값이나 실패 시 반환되는 특정 코드에 대한 정보가 포함되어 있지 않습니다. 또한, 해당 코드를 기반으로 한 에러 핸들링 패턴이나 예제 코드가 문서에 제시되어 있지 않습니다. 따라서 주어진 문서 범위 내에서 `SharedMemoryResultCode` 실패 시 권장 핸들링 패턴을 설명하거나 코드를 작성할 수 없습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 해당 정보와 예제가 없으므로, 이를 정확히 인지하고 답변을 거부한 것이 가장 정확하고 안전한 처리 방식입니다. [source_doc] | * PlayerComponent * Division * SharedMemoryResultCode * UserEnterEvent * SharedVariableInfo * SharedVariableKeyInfo * UserService * [월드 인스턴스 통신](/docs?postId=999) * [인스턴스 맵 만들기](/docs?postId=540) * [특정 월드 인스턴스로 워프하기](/docs?postId=1122)

[task] | single_turn [pass] | ❌ 탈락 [title] | WorldInstanceService [question] | 특정 월드 인스턴스로 워프하는 과정에서 UserEnterEvent가 발화되지 않는 현상의 원인은 무엇일까요? [answer] | 제공된 참고 문서 목록에는 '월드 인스턴스 통신', '인스턴스 맵 만들기', '특정 월드 인스턴스로 워프하기'라는 항목의 링크만 존재할 뿐, 해당 문서의 구체적인 내용(워프 메서드 정의, UserEnterEvent 발화 조건, 예외 상황 등)이 포함되어 있지 않습니다. 따라서 제공된 자료만으로는 특정 월드 인스턴스로 워프할 때 `UserEnterEvent`가 발화되지 않는 현상의 원인을 설명할 수 없습니다. [followup] | [followup_answer] | [scores] | helpfulness=0 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 실제 내용이 없어 답변할 수 없음을 정확히 인지하여, 존재하지 않는 정보를 지어내지 않고 정직하게 답변했기 때문입니다. [source_doc] | * PlayerComponent * Division * SharedMemoryResultCode * UserEnterEvent * SharedVariableInfo * SharedVariableKeyInfo * UserService * [월드 인스턴스 통신](/docs?postId=999) * [인스턴스 맵 만들기](/docs?postId=540) * [특정 월드 인스턴스로 워프하기](/docs?postId=1122)

[task] | instruction_following [pass] | ✅ 통과 [title] | RegexOption [question] | RegexOption CastFrom 메서드의 정적(Static) 특성을 포함하여 두 시그니처를 코드 블록으로만 출력하세요. [answer] | ```lua RegexOption CastFrom(number value) [Static] RegexOption CastFrom(string value) [Static] ``` [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 요청된 두 시그니처를 코드 블록으로 정확히 제시했으나, mLua는 함수 선언이 아닌 식별자/상수 선언 위주이므로 '메서드 시그니처'를 함수처럼 서술하는 것이 언어 문법상 다소 어색할 수 있음 [source_doc] | 정규 표현식에 필요한 옵션을 지정할 수 있습니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 옵션을 설정하지 않습니다. | | IgnoreCase | 1 | 대소문자를 구분하지 않고 일치 항목을 찾도록 지정합니다. | | Multiline | 2 | 여러 줄 모드입니다. 여러 줄로 구성된 문자열을 처리할 수 있도록 지정합니다. | | ExplicitCapture | 4 | (?...) 형식을 명시적으로 명명하거나 번호가 매겨진 그룹만 유효한 캡처되도록 지정합니다. | | Sin

[task] | instruction_following [pass] | ✅ 통과 [title] | ScrollPositionChangedEvent [question] | ScrollPositionChangedEvent의 생성자 시그니처와 기본값을 표로 정리해서 출력하세요. [answer] | ScrollPositionChangedEvent의 생성자 시그니처와 기본값은 다음과 같습니다. | 생성자 시그니처 | 매개변수 | 기본값 | | :--- | :--- | :--- | | `ScrollPositionChangedEvent(Vector2 normalizedPosition)` | `normalizedPosition` (Vector2) | `Vector2(0, 0)` | [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 생성자 시그니처와 기본값을 정확하고 간결하게 표로 정리하여 요청사항을 완벽히 충족했습니다. [source_doc] | 스크롤이 가능한 UI Entity에서 스크롤 위치가 변경될 때 발생하는 이벤트입니다. UI Entity에 ScrollLayoutGroupComponent 또는 GridViewComponent가 있어야 이벤트가 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * GridViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." da

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