← 목록

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

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

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardSeasonResetInfo [question] | 매달 15일 오전 9시에 리더보드가 초기화되도록 설정하는 Schedule 프로퍼티의 Cron 표현식 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua -- 매달 15일 오전 9시에 리더보드가 초기화되도록 설정하는 Cron 표현식 local schedule = "0 9 15 * *" ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 명시된 Cron 표현식 예시와 일치하며, 요청대로 코드만 주석과 함께 간결하게 제시했습니다. [source_doc] | 리더보드초기화 방식을 나타냅니다. 리더보드가 초기화될 때마다 새 시즌이 시작됩니다. # Properties - **DateTime ResettingAt [ReadOnly]** 다음 리셋 날짜와 시각입니다. ResetType이 Never일 경우 nil입니다. - **LeaderboardSeasonResetType ResetType** 초기화 방식입니다. - **string Schedule** 새로운 시즌이 시작되는 주기를 Cron 표현식으로 지정합니다. 예를 들어, '0 9 15 * *'로 설정하면 매달 15일 오전 9

[task] | code [pass] | ✅ 통과 [title] | LeaderboardSeasonResetType [question] | LeaderboardSeasonResetType의 CastFrom(number)와 CastFrom(string) 메서드를 활용하여 문자열 인자 "Repeated"와 숫자 인자 1이 모두 Repeated 값으로 변환되는지 검증하는 스크립트를 작성해줘 [answer] | `LeaderboardSeasonResetType`의 `CastFrom` 정적 메서드는 숫자와 문자열을 해당 열거형 값으로 변환하는 데 사용됩니다. 문서에 따르면 `Repeated`의 값은 `1`이며, `CastFrom(1)`과 `CastFrom("Repeated")` 모두 `Repeated`로 변환됩니다. 다음 스크립트는 `OnBeginPlay` 시점에 이 두 가지 변환이 모두 `Repeated`(값 1)로 결과되는지 `log`를 통해 출력하여 검증합니다. ```lua Method: [server only] void OnBeg [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서에 명시된 CastFrom 메서드와 Repeated 열거형 값을 정확히 사용하여 검증 로직을 구현했으며, mLua 구문 규칙에 부합합니다. [source_doc] | 리더보드 초기화 방식입니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Never | 0 | 초기화하지 않습니다. | | Repeated | 1 | 주기적으로 초기화합니다. | # Methods - **LeaderboardSeasonResetType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **LeaderboardSeasonResetType CastFrom(

[task] | instruction_following [pass] | ❌ 탈락 [title] | MODConditionType [question] | StateComponent에 Condition을 직접 추가·제거하는 API의 현재 제공 상태를 단계별 번호 목록으로 명시하세요. [answer] | StateComponent에 Condition을 직접 추가하거나 제거하는 API는 현재 제공되지 않습니다. 해당 기능은 추후 업데이트될 예정입니다. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 명시된 '추후 제공 예정'이라는 사실만 정확히 전달했으나, 사용자가 요청한 '단계별 번호 목록' 형식을 따르지 않아 형식적 도움도는 낮음. [source_doc] | StateSet에서 사용되는 Condition을 표현합니다. 나만의 ConditionType을 정의하여 StateSet에서 활용할 수 있습니다. StateComponent에 직접적으로 추가, 제거하는 API는 추후 제공될 예정입니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 Condition을 소유한 StateComponent입니다.

[task] | single_turn [pass] | ✅ 통과 [title] | MatchInfo [question] | MatchUserInfo 타입의 Home과 Away 프로퍼티를 직접 수정할 수 있나요 [answer] | MatchUserInfo 타입의 Home과 Away 프로퍼티는 직접 수정할 수 없습니다. 이 두 프로퍼티는 **ReadOnly**(읽기 전용) 속성으로 지정되어 있으며, 매칭 시스템이 자동으로 홈 유저와 어웨이 유저를 지정합니다. 스크립트에서 이 값들을 변경하는 것은 불가능합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 ReadOnly 속성과 자동 지정 사항을 정확히 인용하여 질문을 명확하게 답변했습니다. [source_doc] | 매칭이 성사된 경기의 정보입니다. # Properties - **MatchUserInfo Away [ReadOnly]** 자동으로 지정된 어웨이 유저입니다. 어웨이 유저는 홈 유저의 차례가 끝날 때까지 기다려야 합니다. - **MatchUserInfo Home [ReadOnly]** 자동으로 지정된 홈 유저입니다. 홈 유저는 먼저 선공 기회를 갖습니다. - **string ProfileCode [ReadOnly]** 매칭을 요청한 유저의 프로필 코드입니다. - **MatchmakingResultCode ResultCo

[task] | single_turn [pass] | ✅ 통과 [title] | MatchInfo [question] | MatchInfo의 ProfileCode는 매칭을 요청한 유저의 정보만 포함하나요 [answer] | 네, `MatchInfo`의 `ProfileCode` 프로퍼티는 **매칭을 요청한 유저**의 프로필 코드만 포함합니다. 참고로 `MatchInfo`에는 홈 유저와 어웨이 유저에 대한 정보는 각각 `Home`과 `Away` 프로퍼티(타입 `MatchUserInfo`)를 통해 제공되며, `ProfileCode`는 별도의 단일 문자열 필드로 매칭 요청자의 코드를 담고 있습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서와 일치하여 ProfileCode가 매칭 요청자 정보임을 정확히 설명하고, 나머지 프로퍼티와의 관계도 명확히 서술했습니다. [source_doc] | 매칭이 성사된 경기의 정보입니다. # Properties - **MatchUserInfo Away [ReadOnly]** 자동으로 지정된 어웨이 유저입니다. 어웨이 유저는 홈 유저의 차례가 끝날 때까지 기다려야 합니다. - **MatchUserInfo Home [ReadOnly]** 자동으로 지정된 홈 유저입니다. 홈 유저는 먼저 선공 기회를 갖습니다. - **string ProfileCode [ReadOnly]** 매칭을 요청한 유저의 프로필 코드입니다. - **MatchmakingResultCode ResultCo

[task] | instruction_following [pass] | ✅ 통과 [title] | MODConditionType [question] | StateComponent ParentComponent 프로퍼티의 권한과 역할을 3문장 이내로 설명하세요. [answer] | `StateComponent ParentComponent` 프로퍼티는 읽기 전용(ReadOnly) 권한을 가지며, 해당 Condition을 소유하고 있는 StateComponent를 참조합니다. 이는 Condition이 속해 있는 상위 상태 컴포넌트에 직접 접근할 수 있게 하여, 상태 변경이나 관련 엔티티 정보를 조회하는 데 사용됩니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 ReadOnly 권한과 소유한 StateComponent 참조라는 역할을 정확하고 간결하게 설명했습니다. [source_doc] | StateSet에서 사용되는 Condition을 표현합니다. 나만의 ConditionType을 정의하여 StateSet에서 활용할 수 있습니다. StateComponent에 직접적으로 추가, 제거하는 API는 추후 제공될 예정입니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 Condition을 소유한 StateComponent입니다.

[task] | code [pass] | ❌ 탈락 [title] | ActionNode [question] | ActionNode의 ParentAI 프로퍼티를 통해 AIComponent 정보를 확인하는 스크립트를 작성해줘 [answer] | ActionNode의 `ParentAI` 프로퍼티는 현재 노드를 포함하고 있는 `AIComponent` 인스턴스를 참조합니다. 참고 문서에 따르면 이 프로퍼티는 읽기 전용(`[ReadOnly]`)이며, AI의 상태를 확인하거나 메모리/블랙보드를 조회하는 데 사용할 수 있습니다. `ParentAI`를 통해 AIComponent의 정보를 확인하는 가장 일반적인 방법은 **블랙보드(BlackBoard)**에 저장된 엔티티나 데이터를 조회하거나, **메모리(Memory)** 값을 가져오는 것입니다. 아래 예제는 `ParentAI`를 통해 [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=0 coherence=2 complexity=3 verbosity=3 [judge_reason] | 참고 문서와 mLua 규칙에 없는 API(BlackBoard, GetEntity, GetMemory, WorldPosition)를 다수 지어내어 정합성이 떨어집니다. [source_doc] | AI의 실제 동작을 수행하고 결과를 반환하는 리프 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]** 이

[task] | single_turn [pass] | ✅ 통과 [title] | Blackboard [question] | AI가 특정 조건을 만족했을 때에만 행동이 실행되도록 하려면 Blackboard에 boolean 값을 어떻게 저장하고 조회해야 하나요? [answer] | Blackboard는 AI 행동 트리에서 키-값 쌍으로 데이터를 관리하며, 노드 간 데이터 공유를 위한 저장소 역할을 합니다. 특정 조건 충족 여부를 기록하고 이를 기반으로 행동 실행을 제어하려면 `SetBool`과 `GetBool` 메서드를 사용합니다. 1. **저장 (SetBool)**: 조건이 만족되면 `SetBool(string key, boolean value)` 메서드를 호출하여 해당 키에 `true` 또는 `false`를 저장합니다. 2. **조회 (GetBool)**: 행동 트리에서 조건을 검사할 때 `boolean [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=2 verbosity=2 [judge_reason] | 질문에 대한 답변은 정확하지만, 문서에 명시되지 않은 'BlackboardComponent'라는 컴포넌트 접근 경로를 예시 코드에 포함시켜 API를 지어낸 것으로 간주할 수 있어 정확도에서 감점됨 [source_doc] | AI 행동 트리에서 사용하는 데이터 저장소입니다. 키-값 쌍으로 데이터를 관리하며 행동 트리 노드 간 데이터를 공유합니다. # Methods - **boolean GetBool(string key)** 지정한 키에 저장된 boolean 값을 조회합니다. - **Color GetColor(string key)** 지정한 키에 저장된 Color 값을 조회합니다. - **Component GetComponent(string key)** 지정한 키에 저장된 Component를 조회합니다. - **ComponentRef Get

[task] | code [pass] | ❌ 탈락 [title] | LeaderboardRankInfo [question] | LeaderboardRankInfo 객체의 ProfileCode가 비어있지 않다면 Extras 데이터를 로그에 기록하는 이벤트 핸들러를 포함한 스크립트를 작성해줘 [answer] | ```lua Event Handler: [service: LeaderboardService] HandleLeaderboardRankInfoEvent(LeaderboardRankInfo rankInfo) { if rankInfo.ProfileCode ~= "" then log(rankInfo.Extras) end } ``` [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=0 coherence=3 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 LeaderboardService 이벤트 핸들러가 없으며, LeaderboardRankInfo는 객체이지 이벤트가 아니므로 해당 API를 지어낸 경우입니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardSeasonResetInfo [question] | LeaderboardSeasonResetInfo의 모든 Properties를 속성명, 타입, 설명 순서로 표로 정리해서 나열하세요. [answer] | | 속성명 | 타입 | 설명 | | :--- | :--- | :--- | | ResettingAt | DateTime [ReadOnly] | 다음 리셋 날짜와 시각입니다. ResetType이 Never일 경우 nil입니다. | | ResetType | LeaderboardSeasonResetType | 초기화 방식입니다. | | Schedule | string | 새로운 시즌이 시작되는 주기를 Cron 표현식으로 지정합니다. 예를 들어, '0 9 15 * *'로 설정하면 매달 15일 오전 9시에 리더보드가 초기화되고 새로운 시즌이 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 있는 모든 프로퍼티를 요청된 순서로 정확하고 명확하게 표로 정리했습니다. [source_doc] | 리더보드초기화 방식을 나타냅니다. 리더보드가 초기화될 때마다 새 시즌이 시작됩니다. # Properties - **DateTime ResettingAt [ReadOnly]** 다음 리셋 날짜와 시각입니다. ResetType이 Never일 경우 nil입니다. - **LeaderboardSeasonResetType ResetType** 초기화 방식입니다. - **string Schedule** 새로운 시즌이 시작되는 주기를 Cron 표현식으로 지정합니다. 예를 들어, '0 9 15 * *'로 설정하면 매달 15일 오전 9

[task] | instruction_following [pass] | ✅ 통과 [title] | MODConditionType [question] | StateSet에서 나만의 ConditionType을 정의하는 목적과 현재 제한사항을 표로 정리해서 답변하세요. [answer] | StateSet에서 나만의 ConditionType을 정의하는 목적과 현재 제한사항은 다음과 같습니다. | 항목 | 내용 | | :--- | :--- | | **정의 목적** | StateSet에서 사용되는 Condition을 표현하기 위해 개발자가 직접 나만의 ConditionType을 정의하여 활용할 수 있도록 하기 위함입니다. | | **현재 제한사항** | StateComponent에 Condition을 직접 추가하거나 제거하는 API는 아직 제공되지 않으며, 추후 제공될 예정입니다. | [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 명시된 정의 목적과 제한사항을 표 형식으로 정확하고 간결하게 정리했습니다. [source_doc] | StateSet에서 사용되는 Condition을 표현합니다. 나만의 ConditionType을 정의하여 StateSet에서 활용할 수 있습니다. StateComponent에 직접적으로 추가, 제거하는 API는 추후 제공될 예정입니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 Condition을 소유한 StateComponent입니다.

[task] | single_turn [pass] | ❌ 탈락 [title] | DecoratorNode [question] | InitFunction에 할당하는 함수는 어떤 시점에 호출되며, 초기화 로직을 작성할 때 주의할 점은 무엇인가요? [answer] | `InitFunction`은 노드가 초기화되는 시점에 호출되는 함수입니다. 초기화 로직을 작성할 때의 주의 사항은 제공된 문서에 명시되어 있지 않습니다. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 명시된 '초기화 시점' 호출 사실을 정확히 서술하고, 문서에 없는 주의사항을 지어내지 않아 정확하지만 질문의 두 번째 부분(주의점)에는 실질적 도움을 주지 못했습니다. [source_doc] | 자식 노드의 실행 여부를 결정하거나 결괏값을 변형하는 제어 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]**

[task] | single_turn [pass] | ✅ 통과 [title] | DecoratorNode [question] | ExclusiveExecutionWhenRunning 프로퍼티가 Deprecated로 표시되어 있는데, 이 기능을 대체하는 다른 방법이 있나요? [answer] | 제공된 문서에 따르면 `ExclusiveExecutionWhenRunning` 프로퍼티는 더 이상 사용하지 않는(Deprecated) 프로퍼티로 명시되어 있습니다. 하지만 이 기능을 대체하는 구체적인 다른 방법이나 대안 API에 대한 설명은 문서에 포함되어 있지 않습니다. [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서에 대안이 명시되어 있지 않음을 정확히 지적하여 오해를 방지했지만, 실제 게임 내 대체 방법(예: Inverter 노드 등)을 알 수 없어 실질적 도움은 제한적임 [source_doc] | 자식 노드의 실행 여부를 결정하거나 결괏값을 변형하는 제어 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]**

[task] | single_turn [pass] | ✅ 통과 [title] | MatchInfo [question] | 홈 유저와 어웨이 유저가 자동으로 어떻게 지정되는지 알고 싶어요 [answer] | 제공된 참고 문서에는 홈 유저와 어웨이 유저가 **자동으로 지정되는 구체적인 알고리즘이나 기준(예: 입장 순서, 랜덤 선택, 레벨 비교 등)이 설명되어 있지 않습니다.** 문서에는 `MatchInfo` 컴포넌트의 `Home` 프로퍼티가 "자동으로 지정된 홈 유저"이고, `Away` 프로퍼티가 "자동으로 지정된 어웨이 유저"라는 정의와, 홈 유저가 선공 기회를 갖으며 어웨이 유저는 홈 유저의 차례가 끝날 때까지 기다려야 한다는 역할 설명만 있을 뿐, 실제 지정 방식에 대한 기술적 세부사항은 포함되어 있지 않습니다. 따라서 홈/어웨 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 지정 알고리즘이 명시되어 있지 않음을 정확히 인지하고, 문서에 있는 정보(역할 및 제약)만 바탕으로 답변한 것이 적절함. [source_doc] | 매칭이 성사된 경기의 정보입니다. # Properties - **MatchUserInfo Away [ReadOnly]** 자동으로 지정된 어웨이 유저입니다. 어웨이 유저는 홈 유저의 차례가 끝날 때까지 기다려야 합니다. - **MatchUserInfo Home [ReadOnly]** 자동으로 지정된 홈 유저입니다. 홈 유저는 먼저 선공 기회를 갖습니다. - **string ProfileCode [ReadOnly]** 매칭을 요청한 유저의 프로필 코드입니다. - **MatchmakingResultCode ResultCo

[task] | single_turn [pass] | ❌ 탈락 [title] | MatchInfo [question] | 매칭 결과가 실패했을 때 MatchInfo 객체는 생성되지 않나요 [answer] | 제공된 문서에 따르면, `MatchInfo`는 "매칭이 성사된 경기의 정보"입니다. 즉, 매칭이 성공적으로 완료된 경우에만 해당 정보가 제공되며, 매칭 실패 시 `MatchInfo` 객체가 생성되지 않거나 사용되지 않는다는 것을 의미합니다. 문서에는 `ResultCode` 프로퍼티가 포함되어 있어 매칭 결과 코드를 확인할 수 있지만, 이는 이미 성사된 매칭 컨텍스트에서의 결과 코드를 나타냅니다. 따라서 매칭이 실패하면 `MatchInfo`를 통해 정보를 얻는 대신, 매칭 요청 자체의 결과를 다른 매칭 관련 API나 이벤트(문서에 [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=3 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서 정의에 기반한 합리적 추론이지만, '생성되지 않는다'는 확신 있는 서술은 문서에 명시되지 않은 부분이며 실패 시 처리 방법을 문서에 없는 다른 API로 유도하고 있어 정밀도가 다소 낮습니다. [source_doc] | 매칭이 성사된 경기의 정보입니다. # Properties - **MatchUserInfo Away [ReadOnly]** 자동으로 지정된 어웨이 유저입니다. 어웨이 유저는 홈 유저의 차례가 끝날 때까지 기다려야 합니다. - **MatchUserInfo Home [ReadOnly]** 자동으로 지정된 홈 유저입니다. 홈 유저는 먼저 선공 기회를 갖습니다. - **string ProfileCode [ReadOnly]** 매칭을 요청한 유저의 프로필 코드입니다. - **MatchmakingResultCode ResultCo

[task] | code [pass] | ✅ 통과 [title] | LeaderboardScoringStrategy [question] | LeaderboardService 의 SubmitScore 메서드 호출 시 LeaderboardScoringStrategy.High 를 인자로 전달하여 높은 점수만 기록하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `LeaderboardScoringStrategy` 열거형의 정의(`High`, `Last`, `Cumulative` 등)와 변환 메서드만 포함되어 있습니다. 문서에 **`LeaderboardService`**라는 서비스 이름이나 **`SubmitScore`**라는 메서드가 존재하는지, 그리고 해당 메서드의 정확한 시그니처(인자 순서, 타입)에 대한 정보가 없습니다. 따라서 문서에 없는 API를 지어내지 않는 원칙에 따라, **`LeaderboardService`와 `SubmitScore` 메서드의 정확한 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 서비스와 메서드 존재 여부를 정확히 인지하고 지어내지 않으며, 제공된 열거형 정보를 올바르게 활용하여 합리적 예시를 제시함 [source_doc] | 새 점수가 등록되었을 때 점수를 갱신하는 방식입니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | High | 0 | 새 점수가 기존 점수보다 높을 때만 갱신합니다. | | Last | 1 | 항상 새 점수로 갱신합니다. 리더보드에 순위를 적용하려면 이 방식을 사용해야 합니다. | | Cumulative | 2 | 기존 점수에 새 점수를 더합니다. | # Methods - **LeaderboardScoringStrate

[task] | single_turn [pass] | ✅ 통과 [title] | MatchInfo [question] | 매칭이 성사된 후 MatchInfo 프로퍼티 중 ResultCode 값이 어떻게 사용되나요 [answer] | `MatchInfo`의 `ResultCode` 프로퍼티는 매칭이 완료된 후 어떤 결과로 매칭이 성사되었는지를 나타내는 `MatchmakingResultCode` 타입의 읽기 전용 값입니다. 이 값은 매칭 시스템이 반환한 결과 코드를 그대로 담고 있으므로, 스크립트에서는 이 값을 확인하여 매칭 성공 여부나 특정 매칭 상태에 따라 다른 로직을 실행하는 데 사용할 수 있습니다. 예를 들어, 매칭이 정상적으로 성사된 경우와 실패하거나 취소된 경우를 구분하여 유저에게 다른 메시지를 표시하거나, 매칭이 성사된 경우에만 홈 유저와 어웨이 유저 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=3 [judge_reason] | 문서의 정의와 제약(ReadOnly, 타입)을 정확히 설명했으나, 문서에 없는 구체적인 활용 예시(메시지 표시, 역할 부여)를 추론하여 추가하여 유용성은 높지만 정밀도에서는 약간 감점됩니다. [source_doc] | 매칭이 성사된 경기의 정보입니다. # Properties - **MatchUserInfo Away [ReadOnly]** 자동으로 지정된 어웨이 유저입니다. 어웨이 유저는 홈 유저의 차례가 끝날 때까지 기다려야 합니다. - **MatchUserInfo Home [ReadOnly]** 자동으로 지정된 홈 유저입니다. 홈 유저는 먼저 선공 기회를 갖습니다. - **string ProfileCode [ReadOnly]** 매칭을 요청한 유저의 프로필 코드입니다. - **MatchmakingResultCode ResultCo

[task] | code [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | LeaderboardRankInfo 객체의 Rank, Score, ProfileCode, Extras 프로퍼티를 log 함수로 출력하는 스크립트를 작성해줘 [answer] | ```lua Property: [None] LeaderboardRankInfo rankInfo = nil Method: [server only] void LogRankInfo() { if self.rankInfo == nil then log("LeaderboardRankInfo is not set.") return end log("Rank: " .. tostring(self.rankInfo.Rank)) log("Score: " .. tostring(self.rankInfo [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | mLua 문법과 리더보드 API 사용이 정확하며, nil 체크 등 방어적 코딩을 포함해 질문을 잘 충족하지만 실제 순위 조회 서비스 호출은 생략됨. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardSeasonResetInfo [question] | ResetType이 Never로 설정되어 있으면 ResettingAt 프로퍼티에 어떤 값이 들어옵니까? [answer] | `ResetType`이 `Never`로 설정되어 있으면 `ResettingAt` 프로퍼티에는 `nil` 값이 들어갑니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 'ResetType이 Never일 경우 nil입니다'라는 설명과 정확히 일치하며, 질문을 간결하고 정확하게 답변했습니다. [source_doc] | 리더보드초기화 방식을 나타냅니다. 리더보드가 초기화될 때마다 새 시즌이 시작됩니다. # Properties - **DateTime ResettingAt [ReadOnly]** 다음 리셋 날짜와 시각입니다. ResetType이 Never일 경우 nil입니다. - **LeaderboardSeasonResetType ResetType** 초기화 방식입니다. - **string Schedule** 새로운 시즌이 시작되는 주기를 Cron 표현식으로 지정합니다. 예를 들어, '0 9 15 * *'로 설정하면 매달 15일 오전 9

[task] | code [pass] | ✅ 통과 [title] | LeaderboardSeasonResetType [question] | LeaderboardSeasonResetType의 CastFrom 메서드를 사용해 Unknown, Never, Repeated 값에 해당하는 숫자(-1, 0, 1)와 문자열을 변환하여 각각의 결과값이 원본과 일치하는지 확인하는 로직을 포함하는 스크립트를 작성해줘 [answer] | `LeaderboardSeasonResetType`의 `CastFrom` 메서드는 정적(Static) 메서드이므로 콜론(`:`)이 아닌 마침표(`.`)로 호출해야 합니다. 제공된 문서에 따르면 `Unknown`는 -1, `Never`는 0, `Repeated`는 1 값을 가집니다. 요청하신 로직을 구현한 스크립트는 다음과 같습니다. ```lua Method: [server only] void OnBeginPlay() { -- 숫자 변환 테스트 local numUnknown = LeaderboardSeasonRese [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 정의된 API와 값을 정확히 사용했으며, 문서에 명시되지 않은 문자열 매핑 값에 대해 합리적인 가정과 함께 코드를 작성하여 질문에 충실히 답했습니다. [source_doc] | 리더보드 초기화 방식입니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Never | 0 | 초기화하지 않습니다. | | Repeated | 1 | 주기적으로 초기화합니다. | # Methods - **LeaderboardSeasonResetType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **LeaderboardSeasonResetType CastFrom(

[task] | single_turn [pass] | ✅ 통과 [title] | DecoratorNode [question] | ChildBehave 메서드의 deltaTime 인자 값이 0으로 전달되면 자식 노드 실행에 어떤 영향을 미칠까요? [answer] | 제공된 문서에는 `ChildBehave(float deltaTime)` 메서드의 `deltaTime` 인자가 0으로 전달되었을 때 자식 노드 실행에 구체적으로 어떤 영향을 미치는지에 대한 설명이 없습니다. 문서에는 `deltaTime`이 "이전 프레임과 현재 프레임 사이에 흐른 시간"이며 "단위는 초"라는 정의만 제공되고 있을 뿐, 값이 0일 때의 동작 방식(예: 즉시 실행, 무시, 에러 발생 등)은 명시되어 있지 않습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 0일 때의 동작이 명시되지 않았음을 정확히 지적하고 지어내지 않아 정확하고 유용합니다. [source_doc] | 자식 노드의 실행 여부를 결정하거나 결괏값을 변형하는 제어 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]**

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardSeasonResetInfo [question] | 매달 15일 오전 9시에 리더보드가 초기화되도록 하려면 Schedule 프로퍼티에 어떤 Cron 표현식을 입력해야 하나요? [answer] | 매달 15일 오전 9시에 리더보드가 초기화되도록 하려면 `Schedule` 프로퍼티에 `'0 9 15 * *'`이라는 Cron 표현식을 입력해야 합니다. 이 표현식은 매달 15일 오전 9시에 새로운 시즌이 시작되고 리더보드가 초기화됨을 의미합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 예시와 정확히 일치하며 질문에 대해 간결하고 정확하게 답변하고 있습니다. [source_doc] | 리더보드초기화 방식을 나타냅니다. 리더보드가 초기화될 때마다 새 시즌이 시작됩니다. # Properties - **DateTime ResettingAt [ReadOnly]** 다음 리셋 날짜와 시각입니다. ResetType이 Never일 경우 nil입니다. - **LeaderboardSeasonResetType ResetType** 초기화 방식입니다. - **string Schedule** 새로운 시즌이 시작되는 주기를 Cron 표현식으로 지정합니다. 예를 들어, '0 9 15 * *'로 설정하면 매달 15일 오전 9

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardSeasonResetInfo [question] | 리더보드 초기화 방식(ResetType)이 Never가 아닐 때와 같을 때 ResettingAt 값의 차이는 무엇인가요? [answer] | 리더보드 초기화 방식(`ResetType`)에 따라 `ResettingAt` 값의 차이는 다음과 같습니다. * **`ResetType`이 `Never`인 경우:** `ResettingAt` 값은 `nil`입니다. * **`ResetType`이 `Never`가 아닌 경우:** `ResettingAt` 값은 다음 리셋 날짜와 시각을 나타내는 `DateTime` 타입의 값으로 설정됩니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 정의와 정확히 일치하여 질문에 명확하고 간결하게 답하고 있습니다. [source_doc] | 리더보드초기화 방식을 나타냅니다. 리더보드가 초기화될 때마다 새 시즌이 시작됩니다. # Properties - **DateTime ResettingAt [ReadOnly]** 다음 리셋 날짜와 시각입니다. ResetType이 Never일 경우 nil입니다. - **LeaderboardSeasonResetType ResetType** 초기화 방식입니다. - **string Schedule** 새로운 시즌이 시작되는 주기를 Cron 표현식으로 지정합니다. 예를 들어, '0 9 15 * *'로 설정하면 매달 15일 오전 9

[task] | instruction_following [pass] | ✅ 통과 [title] | MatchResultUserInfo [question] | `MatchResultUserInfo`에서 경기 종료 후 점수를 나타내는 필드명과 그 타입을 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua -- 경기 종료 후 점수를 나타내는 필드: Score -- 타입: int32 int32 Score ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에서 확인된 Score 필드와 int32 타입을 주석과 함께 정확히 출력하여 질문에 완벽하게 부합합니다. [source_doc] | 경기 종료 후 유저의 승패 여부와 점수 등의 정보를 나타냅니다. # Properties - **string Extras [ReadOnly]** 매칭을 요청할 때 저장한 추가 데이터입니다. - **MatchResultType MatchResult [ReadOnly]** 승패 여부입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Score [ReadOnly]** 경기 결과를 반영하여 새로 계산된 점수입니다.

[task] | code [pass] | ✅ 통과 [title] | DecoratorNode [question] | DecoratorNode의 Name 프로퍼티를 동적으로 변경하여 노드 식별자를 업데이트하는 스크립트를 작성해줘 [answer] | DecoratorNode의 `Name` 프로퍼티는 문서에 정의된 일반 프로퍼티이므로, 스크립트에서 직접 대입하여 동적으로 변경할 수 있습니다. 아래 예제는 `OnBeginPlay` 시점에 노드 이름을 "DynamicDecorator"로 업데이트하는 간단한 스크립트입니다. ```lua Property: [None] string NewNodeName = "DynamicDecorator" Method: [server only] void OnBeginPlay() { self.Name = self.NewNodeName lo [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=2 verbosity=2 [judge_reason] | Name 프로퍼티 존재와 대입 문법은 맞으나, BTNode 계열 노드가 일반 스크립트 컴포넌트처럼 self.Name으로 직접 접근 가능한지 문서에 명시되지 않아 전제에 약간의 불확실성이 있음. [source_doc] | 자식 노드의 실행 여부를 결정하거나 결괏값을 변형하는 제어 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]**

[task] | single_turn [pass] | ❌ 탈락 [title] | MatchResultType [question] | 경기 종료 후 승패 여부를 나타내는 MatchResultType에서 Win, Loss, Draw 외에도 다른 상태가 추가될 가능성에 대비해 코드를 작성할 때 주의해야 할 점은 무엇인가요? [answer] | 경기 종료 후 승패 여부를 나타내는 `MatchResultType`은 현재 `Unknown`(-1), `Win`(0), `Loss`(1), `Draw`(2)의 4가지 상태를 가지고 있습니다. 향후 새로운 상태가 추가될 가능성에 대비하여 코드를 작성할 때 주의해야 할 점은 다음과 같습니다. 1. **모든 가능한 값을 명시적으로 처리하지 않기 (Exhaustive Check 피하기)** * `if result == MatchResultType.Win then ... elseif result == MatchResultTyp [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=2 coherence=4 complexity=3 verbosity=3 [judge_reason] | mLua는 Lua 기반이라 C# 스타일의 if-elseif-else 체인 대신 if-then-elseif-then-else-end 문법을 사용해야 하며, 응답 예제 코드의 구문이 문법 오류를 유발하므로 정확도에서 감점됩니다. [source_doc] | 경기 종료 후 승패 여부를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Win | 0 | 경기에서 승리했습니다. | | Loss | 1 | 경기에서 패배했습니다. | | Draw | 2 | 경기에서 비겼습니다. | # Methods - **MatchResultType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MatchResultType Cast

[task] | single_turn [pass] | ❌ 탈락 [title] | Blackboard [question] | 행동 트리에서 두 개의 다른 노드 사이에 데이터를 공유하려면 Blackboard의 Set과 Get 메서드를 어떻게 조합해서 사용해야 하나요? [answer] | 행동 트리에서 두 개의 노드 사이에 데이터를 공유하기 위해 Blackboard는 키-값 쌍(key-value pair) 구조를 활용합니다. 데이터가 저장될 노드에서는 `Set` 계열 메서드를, 데이터를 가져와야 할 노드에서는 동일한 키를 사용하여 `Get` 계열 메서드를 호출합니다. 1. **데이터 저장 (Set)**: 데이터가 생성되거나 수정되는 첫 번째 노드에서 `Set<DataType>(key, value)` 메서드를 호출하여 특정 문자열 키에 값을 저장합니다. 2. **데이터 조회 (Get)**: 데이터를需要使用해야 하는 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=2 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 'self.Entity.Blackboard' 접근 구문을 지어내어 정확도가 낮고, 행동 트리 노드 내부 사용법을 일반 스크립트 생명주기로 혼동시켜 설명의 정확성이 떨어지며, 나머지 내용은 문서와 일치한다. [source_doc] | AI 행동 트리에서 사용하는 데이터 저장소입니다. 키-값 쌍으로 데이터를 관리하며 행동 트리 노드 간 데이터를 공유합니다. # Methods - **boolean GetBool(string key)** 지정한 키에 저장된 boolean 값을 조회합니다. - **Color GetColor(string key)** 지정한 키에 저장된 Color 값을 조회합니다. - **Component GetComponent(string key)** 지정한 키에 저장된 Component를 조회합니다. - **ComponentRef Get

[task] | instruction_following [pass] | ✅ 통과 [title] | MatchResultUserInfo [question] | `MatchResultUserInfo`의 모든 프로퍼티가 Read-only임을 명시하며 3문장 이내로 요약하세요. [answer] | `MatchResultUserInfo`의 모든 프로퍼티는 읽기 전용(ReadOnly)으로 설정되어 있습니다. 이 구조체에는 매칭 시 저장된 추가 데이터(Extras), 승패 여부(MatchResult), 유저의 프로필 코드(ProfileCode), 그리고 경기 결과 반영 점수(Score)가 포함되어 있습니다. 따라서 스크립트에서 해당 값들을 조회할 수는 있지만 직접 수정하는 것은 불가능합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 모든 프로퍼티가 ReadOnly임을 정확히 지적하고, 각 프로퍼티의 용도를 3문장 이내로 명확하게 요약했습니다. [source_doc] | 경기 종료 후 유저의 승패 여부와 점수 등의 정보를 나타냅니다. # Properties - **string Extras [ReadOnly]** 매칭을 요청할 때 저장한 추가 데이터입니다. - **MatchResultType MatchResult [ReadOnly]** 승패 여부입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Score [ReadOnly]** 경기 결과를 반영하여 새로 계산된 점수입니다.

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardInfo [question] | ResetInfo 속성이 리더보드 초기화 관련이라고 하는데, 시즌이 바뀌는 시점에 이 값을 참조해서 기존 점수를 지우는 로직을 스크립트에서 직접 구현해야 하나요? [answer] | 리더보드의 점수 초기화 로직을 스크립트에서 직접 구현할 필요는 없습니다. `LeaderboardInfo`의 `ResetInfo` 속성은 `LeaderboardSeasonResetInfo` 타입이며, 이는 리더보드의 초기화 관련 **설정 정보**를 담고 있습니다. 즉, 언제, 어떻게 초기화되는지 정의하는 데이터이지, 초기화 동작을 수행하는 함수나 API가 아닙니다. 메이플스토리 월드 플랫폼은 리더보드 시스템의 시즌 변경 및 점수 초기화를 자동으로 처리합니다. 따라서 스크립트에서 `ResetInfo` 값을 참조하여 기존 점수를 수동 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 명시된 ReadOnly 속성 및 데이터 구조를 기반으로 자동 처리임을 논리적으로 잘 설명했으며, 코드 예시도 규칙에 맞게 작성되었습니다. [source_doc] | 리더보드 정보입니다. # Properties - **string CurrentSeasonId [ReadOnly]** 현재 시즌의 Id입니다. - **string Id [ReadOnly]** 리더보드의 Id입니다. - **string Name [ReadOnly]** 리더보드의 이름입니다. - **LeaderboardRankingStrategy RankingStrategy [ReadOnly]** 순위를 결정하는 방식입니다. - **LeaderboardRatingStrategy RatingStrategy [ReadOnl

[task] | code [pass] | ✅ 통과 [title] | Blackboard [question] | Blackboard 컴포넌트의 "BossName" 키에 SetString 메서드로 보스 이름을 저장하고 GetBool 메서드로 "IsAwake" 상태를 조회하여 깨어있다면 "BossName" 값을 로그로 출력하는 스크립트를 작성해줘 [answer] | Blackboard 컴포넌트를 사용하여 데이터를 저장하고 조회하는 것은 아래처럼 작성할 수 있습니다. `self.Entity.BlackboardComponent`를 통해 Blackboard에 접근하며, `SetString`으로 값을 저장하고 `GetBool`로 상태 값을 확인합니다. ```lua Method: [server only] void OnBeginPlay() { local blackboard = self.Entity.BlackboardComponent if blackboard == nil then [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=3 verbosity=2 [judge_reason] | 요청된 저장 및 조건부 로그 출력을 수행하지만, 'IsAwake' 값이 저장되지 않은 상태에서 조회하므로 실행 시 항상 nil/false가 되어 로그가 출력되지 않는 논리적 결함이 있으며, mLua 컴포넌트 접근 방식(self.Entity.X)은 규칙에 부합합니다. [source_doc] | AI 행동 트리에서 사용하는 데이터 저장소입니다. 키-값 쌍으로 데이터를 관리하며 행동 트리 노드 간 데이터를 공유합니다. # Methods - **boolean GetBool(string key)** 지정한 키에 저장된 boolean 값을 조회합니다. - **Color GetColor(string key)** 지정한 키에 저장된 Color 값을 조회합니다. - **Component GetComponent(string key)** 지정한 키에 저장된 Component를 조회합니다. - **ComponentRef Get

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