← 목록

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

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

[task] | instruction_following [pass] | ✅ 통과 [title] | ActionNode [question] | ActionNode의 정의에서 이 노드가 트리 구조에서 어떤 위치를 차지하는지 설명하고, 해당 설명에 포함된 핵심 용어 2개를 추출하세요. 단계별 번호 목록으로 [answer] | ActionNode의 정의와 구조적 위치를 단계별로 설명합니다. 1. ActionNode는 AI의 실제 동작을 수행하고 그 결과를 반환하는 역할을 하는 노드입니다. 2. 이 노드는 트리 구조에서 리프 노드(leaf node)의 위치를 차지합니다. 3. 정의에서 추출한 핵심 용어는 다음과 같습니다. - 실제 동작 - 리프 노드 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 정의와 일치하며, 요구된 형식과 핵심 용어를 정확히 추출했습니다. [source_doc] | AI의 실제 동작을 수행하고 결과를 반환하는 리프 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]** 이

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardInfo [question] | 문서에 명시된 리더보드 초기화 관련 프로퍼티의 정확한 이름을 코드 블록 안에만 출력해 주세요. [answer] | ```lua ResetInfo ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=0 verbosity=2 [judge_reason] | 문서에 명시된 리더보드 초기화 관련 프로퍼티 이름 'ResetInfo'를 정확하고 간결하게 코드 블록으로만 요청한 질문에 맞게 출력했습니다. [source_doc] | 리더보드 정보입니다. # Properties - **string CurrentSeasonId [ReadOnly]** 현재 시즌의 Id입니다. - **string Id [ReadOnly]** 리더보드의 Id입니다. - **string Name [ReadOnly]** 리더보드의 이름입니다. - **LeaderboardRankingStrategy RankingStrategy [ReadOnly]** 순위를 결정하는 방식입니다. - **LeaderboardRatingStrategy RatingStrategy [ReadOnl

[task] | code [pass] | ✅ 통과 [title] | MatchResultType [question] | 수정된 수치 데이터를 MatchResultType CastFrom(number value) 메서드를 이용해 MatchResultType 타입으로 변환하여 반환하는 스크립트를 작성해줘 [answer] | `MatchResultType` enum은 `Win`(0), `Loss`(1), `Draw`(2) 값을 가지며, `CastFrom(number value)` 정적 메서드를 사용하여 숫자 값을 `MatchResultType` 타입으로 변환할 수 있습니다. 다음은 수정된 수치 데이터를 `MatchResultType` 타입으로 변환하여 반환하는 스크립트입니다. ```lua Property: [None] number ModifiedScore = 0 Method: [server only] void OnBeginPlay() { - [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서의 MatchResultType enum 정의와 CastFrom 메서드를 정확히 적용하여 요청한 변환 로직을 mLua 문법에 맞게 작성했으며, 설명도 명확합니다. [source_doc] | 경기 종료 후 승패 여부를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Win | 0 | 경기에서 승리했습니다. | | Loss | 1 | 경기에서 패배했습니다. | | Draw | 2 | 경기에서 비겼습니다. | # Methods - **MatchResultType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MatchResultType Cast

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardInfo [question] | RankingStrategy와 RatingStrategy의 차이를 3문장 이내로 설명해 주세요. [answer] | `RankingStrategy`는 순위 결정 방식을, `RatingStrategy`는 점수 계산 방식을 나타냅니다. 두 속성은 모두 리더보드의 순위와 점수 처리 로직을 정의하지만 각각 다른 역할을 수행합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 속성 설명을 정확히 인용하여 두 전략의 차이를 간결하고 명확하게 설명했습니다. [source_doc] | 리더보드 정보입니다. # Properties - **string CurrentSeasonId [ReadOnly]** 현재 시즌의 Id입니다. - **string Id [ReadOnly]** 리더보드의 Id입니다. - **string Name [ReadOnly]** 리더보드의 이름입니다. - **LeaderboardRankingStrategy RankingStrategy [ReadOnly]** 순위를 결정하는 방식입니다. - **LeaderboardRatingStrategy RatingStrategy [ReadOnl

[task] | code [pass] | ✅ 통과 [title] | MatchResultType [question] | 문자열 형태의 경기 결과를 MatchResultType CastFrom(string value) 메서드를 이용해 MatchResultType 타입으로 변환하는 스크립트를 작성해줘 [answer] | 문자열을 `MatchResultType` enum으로 변환하려면 `MatchResultType.CastFrom(string)` 정적 메서드를 사용합니다. 아래는 서버에서 실행되는 예제 스크립트입니다. `MatchResultType`의 멤버(`Win`, `Loss`, `Draw`)는 숫자 값(0, 1, 2)을 가지므로, 변환된 결과를 로그로 출력하면 해당 숫자 값이 표시됩니다. ```lua Method: [server only] void OnBeginPlay() { -- 문자열 형태의 경기 결과 local resul [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 MatchResultType 정의와 CastFrom(string) 메서드 시그니처를 정확히 반영하여 mLua 문법에 맞는 예제를 제공했으며, 설명도 명확하고 적절합니다. [source_doc] | 경기 종료 후 승패 여부를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Win | 0 | 경기에서 승리했습니다. | | Loss | 1 | 경기에서 패배했습니다. | | Draw | 2 | 경기에서 비겼습니다. | # Methods - **MatchResultType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MatchResultType Cast

[task] | single_turn [pass] | ✅ 통과 [title] | MatchResultType [question] | 문자열 "Win"을 MatchResultType으로 변환하려면 CastFrom(string) 메서드를 호출해야 하는데, 대소문자를 구분하지 않는 방식으로 변환이 이루어지나요? [answer] | 제공된 문서에는 `MatchResultType CastFrom(string value)` 메서드가 존재하며 문자열을 해당 타입으로 변환한다는 사실만 명시되어 있습니다. 대소문자를 구분하는지(예: "win" 입력 시 변환 여부)에 대한 설명이나 구체적인 동작 규칙은 문서에 포함되어 있지 않습니다. 따라서 대소문자 구분 여부를 단정할 수 없습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 없는 정보를 지어내지 않고, 문서에 명시되지 않은 대소문자 구분 여부에 대해 정확히 답변했습니다. [source_doc] | 경기 종료 후 승패 여부를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Win | 0 | 경기에서 승리했습니다. | | Loss | 1 | 경기에서 패배했습니다. | | Draw | 2 | 경기에서 비겼습니다. | # Methods - **MatchResultType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MatchResultType Cast

[task] | code [pass] | ✅ 통과 [title] | LeaderboardResultCode [question] | LeaderboardResultCode.Ok를 확인하여 점수 등록 성공 시 로그를 출력하고, LeaderboardResultCode.LeaderboardNotFound일 경우 "리더보드를 찾을 수 없음"이라는 메시지를 표시하는 스크립트를 작성해줘 [answer] | 리더보드 요청 결과 코드인 `LeaderboardResultCode`는 `Ok` (0)와 `LeaderboardNotFound` (1000007)를 포함한 여러 상수를 제공합니다. 제공된 문서에는 리더보드 점수를 등록하는 실제 서비스 메서드(예: `_LeaderboardService:SubmitScore`)나 특정 이벤트 핸들러에 대한 정보가 포함되어 있지 않습니다. 따라서, 리더보드 점수 등록을 시도한 후 반환받은 결과 코드(`result`)를 받아서 처리하는 로직만 구현한 스크립트를 작성합니다. 실제 게임 환경에서는 리더보드 [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서에 없는 실제 점수 등록 API를 지어내지 않고 주어진 결과 코드 처리 로직만 정확하게 구현했으며, 코드 예시는 mLua 문법과 일치합니다. [source_doc] | 리더보드 관련 요청 처리 결과를 나타냄니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 알 수 없는 오류가 발생했습니다. | | Ok | 0 | 요청 처리에 성공했습니다. | | InvalidEnvironment | 1000000 | 현재 실행 환경에서는 사용할 수 없습니다. | | InternalError | 1000001 | 내부 시스템 오류가 발생했습니다. | | BadRequest | 1000002 | 잘못된 요청입니다. | | TooManyLeaderboard

[task] | code [pass] | ❌ 탈락 [title] | OverlayLightService [question] | OnBeginPlay에서 GlobalTypeOverlayLightInfo와 SpriteTypeOverlayLightInfo를 각각 생성하여 _OverlayLightService:SpawnGlobalTypeOverlayLight와 _OverlayLightService:SpawnSpriteTypeOverlayLight로 두 가지 타입의 광원을 동시에 맵에 스폰하는 [client only] 스크립트를 작성해줘. [answer] | `OverlayLightService`의 `SpawnGlobalTypeOverlayLight`와 `SpawnSpriteTypeOverlayLight` 메서드는 각각 `GlobalTypeOverlayLightInfo`와 `SpriteTypeOverlayLightInfo` 객체를 인수로 받습니다. 하지만 제공된 참고 문서에는 이 정보 객체(`GlobalTypeOverlayLightInfo`, `SpriteTypeOverlayLightInfo`)의 생성 방식(생성자 시그니처)이나 설정 가능한 프로퍼티(예: 색상, 강도, 위치 등)에 대한 [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=2 coherence=3 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 없는 'Freeform 예제'와 생성자 시그니처를 지어내어 추측한 코드를 제시했고, 문서에도 없는 API 사용 가능성을 암시하여 정확성과 유용성이 낮음. [source_doc] | 광원의 생성 및 파괴 기능을 제공합니다. # Methods - **void DestroyOverlayLight(integer serial) [ClientOnly]** 광원을 제거합니다. serial에 제거할 광원의 식별 번호를 전달합니다. - **void SetOverlayLightEnabled(boolean enable) [ClientOnly]** 오버레이 라이트의 활성 여부 결정합니다. - **integer SpawnFreeformTypeOverlayLight(FreeformTypeOverlayLightInfo ove

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | 점수를 등록할 때 저장한 추가 데이터를 가져와서 UI에 표시하려면 어떤 프로퍼티를 접근해야 하나요? [answer] | 리더보드 순위 정보(`LeaderboardRankInfo`)에서 점수 등록 시 저장한 추가 데이터를 가져오려면 **`Extras`** 프로퍼티를 접근해야 합니다. `Extras`는 `string` 타입이며 `ReadOnly` 속성이 있어 읽기 전용으로 사용 가능합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 질문에 정확히 답하며 참고 문서의 프로퍼티 이름, 타입, 속성을 모두 올바르게 인용했습니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardInfo [question] | LeaderboardInfo의 모든 프로퍼티를 이름과 타입만 나열한 표로 정리해 주세요. [answer] | | 이름 | 타입 | | :--- | :--- | | `CurrentSeasonId` | `string` | | `Id` | `string` | | `Name` | `string` | | `RankingStrategy` | `LeaderboardRankingStrategy` | | `RatingStrategy` | `LeaderboardRatingStrategy` | | `ResetInfo` | `LeaderboardSeasonResetInfo` | | `ScoringStrategy` | `LeaderboardScoringStrat [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 명시된 LeaderboardInfo의 모든 프로퍼티 이름과 타입을 정확하고 간결하게 표로 정리하여 질문에 완벽히 부응합니다. [source_doc] | 리더보드 정보입니다. # Properties - **string CurrentSeasonId [ReadOnly]** 현재 시즌의 Id입니다. - **string Id [ReadOnly]** 리더보드의 Id입니다. - **string Name [ReadOnly]** 리더보드의 이름입니다. - **LeaderboardRankingStrategy RankingStrategy [ReadOnly]** 순위를 결정하는 방식입니다. - **LeaderboardRatingStrategy RatingStrategy [ReadOnl

[task] | single_turn [pass] | ✅ 통과 [title] | MatchResultType [question] | 경기 결과를 숫자 형태로 저장해 두고 나중에 MatchResultType으로 변환할 때 CastFrom(number) 메서드를 사용해야 하는데, 유효하지 않은 숫자를 입력하면 어떤 오류가 발생하나요? [answer] | 제공된 문서에는 `MatchResultType.CastFrom(number value)` 메서드가 숫자를 해당 타입으로 변환한다고만 기술되어 있으며, **유효하지 않은 숫자를 입력했을 때 발생하는 구체적인 오류 메시지나 예외(Exception) 유형에 대한 설명은 없습니다.** 문서에 명시된 `MatchResultType` 멤버 값는 다음과 같습니다: - `Unknown`: -1 - `Win`: 0 - `Loss`: 1 - `Draw`: 2 따라서 이 범위(-1, 0, 1, 2)에 포함되지 않는 숫자를 `CastFrom(numb [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 없는 오류 발생 방식을 지어내지 않고, 문서에 명시된 정보만 바탕으로 한계를 정확히 설명하여 질문자의 의도를 잘 충족했습니다. [source_doc] | 경기 종료 후 승패 여부를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | Win | 0 | 경기에서 승리했습니다. | | Loss | 1 | 경기에서 패배했습니다. | | Draw | 2 | 경기에서 비겼습니다. | # Methods - **MatchResultType CastFrom(number value) [Static]** 숫자를 해당 타입으로 변환합니다. - **MatchResultType Cast

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | LeaderboardRankInfo 구조체의 모든 프로퍼티 이름을 목록으로 나열하고 각 프로퍼티의 데이터 타입을 함께 표기하세요. [answer] | LeaderboardRankInfo 구조체의 프로퍼티와 데이터 타입은 다음과 같습니다. * **Extras**: string * **ProfileCode**: string * **Rank**: int32 * **Score**: int32 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 모든 프로퍼티 이름과 데이터 타입을 정확하고 간결하게 나열하여 질문에 완벽하게 답했습니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | 리더보드 순위 정보의 Rank와 Score 프로퍼티 모두 '순위입니다'라고 설명되어 있는데 실제로는 각각 어떤 값을 담고 있나요? [answer] | 리더보드 순위 정보(`LeaderboardRankInfo`)의 프로퍼티 설명 중 `Score` 항목에 오타가 있는 것으로 보입니다. 각 프로퍼티가 실제로 담는 값은 다음과 같습니다. * **Rank**: 해당 유저의 **순위**를 담고 있습니다. * **Score**: 해당 유저의 **점수**를 담고 있습니다. 두 값 모두 `ReadOnly` 속성이 있어 읽기 전용으로 사용할 수 있습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 오타를 정확히 지적하고 각 프로퍼티의 실제 의미를 명확히 설명했으며, 모든 기술적 세부사항이 문서와 일치합니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | 유저의 프로필 코드를 리더보드에서 확인하기 위해 ProfileCode 프로퍼티를 직접 수정할 수 있나요? [answer] | 아니, `ProfileCode` 프로퍼티를 직접 수정할 수 없습니다. 리더보드 순위 정보(`LeaderboardRankInfo`)의 `ProfileCode` 프로퍼티는 `[ReadOnly]`(읽기 전용)로 지정되어 있어, 스크립트에서 값을 할당하거나 변경하는 것이 불가능합니다. 이 값은 리더보드에 점수를 등록할 때 시스템이 자동으로 채워지는 유저의 프로필 코드 정보를 단순히 조회하는 용도로만 사용됩니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 [ReadOnly] 속성에 근거하여 프로퍼티 수정 불가 여부를 정확하고 간결하게 설명했습니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | code [pass] | ✅ 통과 [title] | LeaderboardScoringStrategy [question] | LeaderboardScoringStrategy.CastFrom 메서드를 사용하여 숫자 2 를 Cumulative 로 변환하고 로그에 출력하는 스크립트를 작성해줘 [answer] | ```lua Method: [server only] void OnBeginPlay() { local strategy = LeaderboardScoringStrategy.CastFrom(2) log(strategy) } ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 API와 규칙을 정확히 준수하여 요청한 기능을 간결하고 올바르게 구현했습니다. [source_doc] | 새 점수가 등록되었을 때 점수를 갱신하는 방식입니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | High | 0 | 새 점수가 기존 점수보다 높을 때만 갱신합니다. | | Last | 1 | 항상 새 점수로 갱신합니다. 리더보드에 순위를 적용하려면 이 방식을 사용해야 합니다. | | Cumulative | 2 | 기존 점수에 새 점수를 더합니다. | # Methods - **LeaderboardScoringStrate

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | LeaderboardRankInfo에서 읽기 전용(ReadOnly)인 프로퍼티 4개의 이름과 설명을 두 줄 이내로 각각 요약하세요. [answer] | LeaderboardRankInfo의 읽기 전용 프로퍼티 4개는 다음과 같습니다. * **Extras**: 점수 등록 시 저장한 추가 데이터입니다. * **ProfileCode**: 유저의 프로필 코드입니다. * **Rank**: 유저의 순위입니다. * **Score**: 유저의 점수입니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 4개의 읽기 전용 프로퍼티 이름과 설명을 정확하고 간결하게 요약하여 질문에 충실히 답했습니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | two_turn [pass] | ❌ 탈락 [title] | OverlayLightService [question] | `OverlayLightService`의 광원 생성 메서드에서 반환값이 0을 반환하는 실패 조건과, 성공 시 반환되는 식별 번호를 어떻게 활용해야 하는지 설명해 주세요. [answer] | 제공된 참고 문서에는 `OverlayLightService`의 광원 생성 메서드 명세(메서드 이름, 파라미터, 정확한 실패 조건 정의)가 포함되어 있지 않습니다. 문서에는 "광원 생성에 실패할 경우 0을 반환한다"는 사실과 "성공 시 생성된 광원의 식별 번호를 반환한다"는 정보만 언급되어 있을 뿐, 구체적으로 어떤 상황에서 실패하여 0이 반환되는지(예: 자원이 부족할 때, 잘못된 좌표일 때 등)에 대한 설명은 없습니다. 따라서 **구체적인 실패 조건은 알 수 없습니다.** 성공 시 반환되는 식별 번호(Light ID)를 활용하는 [followup] | 광원 생성 실패 시 0을 반환하는 구체적인 예외 상황(예: 인자 오류)과, 성공 시 반환된 식별 번호를 `DisconnectEvent`나 다른 메서드에서 어떻게 전달해야 하는지 코드 예제를 요청합니다. [followup_answer] | 제공된 참고 문서에는 `OverlayLightService`의 광원 생성 메서드 명세(메서드 이름, 파라미터 목록)가 포함되어 있지 않습니다. 문서에는 "광원 생성에 실패할 경우 0을 반환한다"는 사실만 언급되어 있을 뿐, **구체적인 실패 조건(인자 오류, 자원 부족 등)에 대한 설명은 없습니다.** 또한, 성공 시 반환되는 식별 번호(Light ID)를 `DisconnectEvent` 또는 다른 메서드에 전달하는 구체적인 API 명세도 문서에 포함되어 있지 않습니다. 제공된 문서에는 `Service` 클래스에서 상속된 이벤트 [scores] | helpfulness=2 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서에 없는 실패 조건과 활용법을 지어내지 않고, 문서의 한계를 정확히 지적하여 정직하고 일관된 답변을 제공했습니다. [source_doc] | fo를 전달합니다. 반환값은 생성된 광원의 식별 번호로, 생성에 실패할 경우 0을 반환합니다. ##### inherited from Service: - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IS

[task] | instruction_following [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | 문서에 명시된 LeaderboardRankInfo 프로퍼티 중 'Score'의 설명이 '순위입니다'로 잘못 기재되어 있는지 확인하고, 그 근거를 한 문장으로 답하세요. [answer] | 네, 'Score' 프로퍼티의 설명이 잘못 기재되어 있습니다. 이는 같은 문서 내에서 'Rank' 프로퍼티의 설명도 '순위입니다'로 동일하게 되어 있어, 'Score'는 점수를 나타내는 값임이 분명함에도 불구하고 '순위'라고 중복 설명되어 있기 때문입니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 'Score'와 'Rank' 프로퍼티 설명이 모두 '순위입니다'로 동일하게 기재되어 있음을 근거로 제시하며 질문을 정확하고 간결하게 답변했습니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | two_turn [pass] | ✅ 통과 [title] | Blackboard [question] | Blackboard의 GetBool과 SetBool 메서드를 사용하여 행동 트리에서 특정 조건(예: 공격 가능 여부)을 어떻게 저장하고 조회하나요? [answer] | Blackboard는 AI 행동 트리에서 노드 간 데이터를 공유하기 위해 키-값 쌍으로 데이터를 관리하는 저장소입니다. `SetBool` 메서드를 사용하여 특정 키에 boolean 값을 저장하고, `GetBool` 메서드를 사용하여 해당 키의 boolean 값을 조회할 수 있습니다. 예를 들어, "공격 가능 여부"를 `canAttack`이라는 키로 관리한다면, 아래 코드와 같이 저장 및 조회가 가능합니다. ```lua Method: [server only] void OnBeginPlay() { -- Blackboard 컴 [followup] | SetBool("can_attack", true)로 저장한 뒤, 다른 노드에서 GetBool("can_attack")을 호출하여 값을 확인하는 구체적인 mLua 코드 예시를 보여주세요. [followup_answer] | 참고 문서에 Blackboard 객체를 mLua 스크립트에서 직접 참조하는 구체적인 접근 방식(예: `self.Entity.BlackboardComponent` 등)이 명시되어 있지 않습니다. 또한 Blackboard는 "AI 행동 트리에서 사용하는 데이터 저장소"로, 주로 행동 트리 노드 내부에서 사용되는 구조이므로, 일반적인 mLua 스크립트 컴포넌트(OnBeginPlay, OnUpdate 등)에서 Blackboard에 직접 접근하는 코드 예시를 제공하기 어렵습니다. 문서에는 Blackboard의 `SetBool`와 `GetB [scores] | helpfulness=3 correctness=4 coherence=4 complexity=3 verbosity=3 [judge_reason] | Blackboard 메서드 사용법은 정확히 설명했으나, 문서에 없는 컴포넌트 접근 경로를 가정하여 코드 예시를 제공했고 이를 명확히 고지하여 신뢰성을 유지했습니다. [source_doc] | AI 행동 트리에서 사용하는 데이터 저장소입니다. 키-값 쌍으로 데이터를 관리하며 행동 트리 노드 간 데이터를 공유합니다. # Methods - **boolean GetBool(string key)** 지정한 키에 저장된 boolean 값을 조회합니다. - **Color GetColor(string key)** 지정한 키에 저장된 Color 값을 조회합니다. - **Component GetComponent(string key)** 지정한 키에 저장된 Component를 조회합니다. - **ComponentRef Get

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardScoringStrategy [question] | LeaderboardScoringStrategy에서 Last와 High의 구체적인 동작 차이가 무엇인가요? [answer] | `LeaderboardScoringStrategy`의 `Last`와 `High`는 새 점수가 등록될 때 기존 점수를 어떻게 처리하는지에 따라 동작이 다릅니다. **1. High (값: 0)** * **동작:** 새 점수가 **기존 점수보다 높을 때만** 점수가 갱신됩니다. * **특징:** 가장 높은 점수를 유지하는 방식입니다. 새 점수가 기존 점수보다 낮거나 같으면 점수가 바뀌지 않습니다. **2. Last (값: 1)** * **동작:** **항상** 새 점수로 갱신됩니다. * **특징:** 마지막에 기록된 점 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 High와 Last 정의 및 순위 적용 제약 사항을 정확하고 명확하게 비교 설명했습니다. [source_doc] | 새 점수가 등록되었을 때 점수를 갱신하는 방식입니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | High | 0 | 새 점수가 기존 점수보다 높을 때만 갱신합니다. | | Last | 1 | 항상 새 점수로 갱신합니다. 리더보드에 순위를 적용하려면 이 방식을 사용해야 합니다. | | Cumulative | 2 | 기존 점수에 새 점수를 더합니다. | # Methods - **LeaderboardScoringStrate

[task] | single_turn [pass] | ✅ 통과 [title] | ActionNode [question] | ActionNode에서 Behave 메서드에 전달하는 deltaTime 인자의 단위는 무엇이며, 이 값은 어떻게 계산되는 건가요? [answer] | ActionNode에서 `Behave` 메서드에 전달하는 `deltaTime` 인자의 단위는 **초(second)** 입니다. 이 값은 **이전 프레임과 현재 프레임 사이에 흐른 시간**으로 계산됩니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 설명과 정확히 일치하며 질문에 간결하고 정확하게 답하고 있습니다. [source_doc] | AI의 실제 동작을 수행하고 결과를 반환하는 리프 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]** 이

[task] | single_turn [pass] | ✅ 통과 [title] | ActionNode [question] | ExclusiveExecutionWhenRunning 프로퍼티가 Deprecated라고 표기되어 있는데, 현재 버전에서는 이 값을 설정해도 아무 영향이 없나요? [answer] | `ExclusiveExecutionWhenRunning` 프로퍼티는 현재 버전에서 더 이상 사용되지 않는(Deprecated) 상태입니다. 따라서 이 값에 무엇으로 설정하더라도 AI 동작에 아무런 영향을 미치지 않습니다. 새로운 스크립트 작성 시에는 이 프로퍼티를 설정하지 않고, 대신 다른 방식으로 실행 로직을 제어하는 것이 권장됩니다. [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=3 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 '더는 사용하지 않는 프로퍼티'라는 설명을 바탕으로 영향이 없다고 단정하는 것은 문서에 명시된 내용이 아니므로 정확도가 약간 떨어지며, '대신 다른 방식'이라는 모호한 권장 사항이 포함되어 있어 도움이 제한적입니다. [source_doc] | AI의 실제 동작을 수행하고 결과를 반환하는 리프 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]** 이

[task] | single_turn [pass] | ✅ 통과 [title] | LeaderboardRankInfo [question] | 리더보드에서 특정 유저의 점수만 조회할 때 Rank와 Score 프로퍼티 중 어떤 것을 사용하면 되나요? [answer] | 리더보드에서 특정 유저의 점수를 조회할 때는 **Score** 프로퍼티를 사용합니다. 참고 문서에 따르면 `LeaderboardRankInfo` 객체에는 다음과 같은 프로퍼티가 포함되어 있습니다. * **Rank**: 순위 정보를 담고 있습니다. * **Score**: 점수 정보를 담고 있습니다. (문서 내 설명에는 '순위입니다'라고 오기되어 있으나, 프로퍼티 이름과 용도상 점수를 의미합니다.) * **ProfileCode**: 유저의 프로필 코드입니다. * **Extras**: 점수 등록 시 저장한 추가 데이터입 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 오타를 지적하며 Rank와 Score의 용도를 정확히 구분하여 질문에 명확히 답했습니다. [source_doc] | 리더보드 순위 정보입니다. # Properties - **string Extras [ReadOnly]** 점수를 등록할 때 저장한 추가 데이터입니다. - **string ProfileCode [ReadOnly]** 유저의 프로필 코드입니다. - **int32 Rank [ReadOnly]** 순위입니다. - **int32 Score [ReadOnly]** 순위입니다.

[task] | code [pass] | ❌ 탈락 [title] | LeaderboardResultCode [question] | LeaderboardResultCode.NotHighScore가 반환되면 기존 최고 기록을 갱신하지 못했다는 안내를 출력하는 스크립트를 작성해줘 [answer] | `LeaderboardResultCode.NotHighScore` (값: 1000008)는 리더보드의 점수 갱신 방식이 `LeaderboardScoringStrategy.High`로 설정되어 있음에도 불구하고, 기존에 등록된 점수보다 낮은 점수를 등록하려고 할 때 반환되는 결과 코드입니다. 질문하신 대로 이 코드가 반환되면 "기존 최고 기록을 갱신하지 못했습니다"라는 안내를 출력하는 mLua 스크립트 예시는 다음과 같습니다. 리더보드 요청을 처리하는 로직(예: 점수 제출 함수) 내에서 반환된 `LeaderboardResultCo [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=1 coherence=3 complexity=2 verbosity=2 [judge_reason] | 문서에 없는 _LeaderboardService:SubmitScore API를 지어내어 정확도가 낮지만, 그 사실을 명확히 고지하고 표준 구문(log, enum 비교)을 올바르게 사용하여 구조는 일관됨 [source_doc] | 리더보드 관련 요청 처리 결과를 나타냄니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 알 수 없는 오류가 발생했습니다. | | Ok | 0 | 요청 처리에 성공했습니다. | | InvalidEnvironment | 1000000 | 현재 실행 환경에서는 사용할 수 없습니다. | | InternalError | 1000001 | 내부 시스템 오류가 발생했습니다. | | BadRequest | 1000002 | 잘못된 요청입니다. | | TooManyLeaderboard

[task] | code [pass] | ✅ 통과 [title] | LeaderboardScoringStrategy [question] | LeaderboardScoringStrategy.CastFrom 메서드를 사용하여 문자열 "High" 를 Enum 타입으로 변환하여 LeaderboardScoringStrategy.High 와 비교하는 로직을 포함하는 스크립트를 작성해줘 [answer] | `LeaderboardScoringStrategy.CastFrom` 메서드에 문자열 `"High"`를 전달하면 해당 값을 `LeaderboardScoringStrategy` 타입으로 변환합니다. 변환된 값을 `LeaderboardScoringStrategy.High`와 비교하여 로직을 수행하는 스크립트는 다음과 같습니다. ```lua Method: [server only] void OnBeginPlay() { local strategy = LeaderboardScoringStrategy.CastFrom("High") [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 API와 시스템 규칙에 부합하여 요청된 로직을 정확하고 간결하게 구현했습니다. [source_doc] | 새 점수가 등록되었을 때 점수를 갱신하는 방식입니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Unknown | -1 | 조회 중 알 수 없는 오류가 발생했습니다. | | High | 0 | 새 점수가 기존 점수보다 높을 때만 갱신합니다. | | Last | 1 | 항상 새 점수로 갱신합니다. 리더보드에 순위를 적용하려면 이 방식을 사용해야 합니다. | | Cumulative | 2 | 기존 점수에 새 점수를 더합니다. | # Methods - **LeaderboardScoringStrate

[task] | single_turn [pass] | ✅ 통과 [title] | ActionNode [question] | ActionNode는 BTNode를 상속받는데, 부모 클래스에서 정의된 Name 프로퍼티를 직접 수정해서 노드 이름을 바꿀 수 있나요? [answer] | 네, 가능합니다. ActionNode는 BTNode를 상속받으며, BTNode에 정의된 **Name** 프로퍼티는 읽기 전용(ReadOnly) 또는 숨김(HideFromInspector) 속성이 없습니다. 따라서 스크립트 내에서 직접 할당하여 노드 이름을 수정할 수 있습니다. 예를 들어, `OnBeginPlay` 또는 다른 메서드에서 다음과 같이 이름을 변경할 수 있습니다. ```lua Property: [None] any Child = nil Method: void OnBeginPlay() { self.Name = [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 Name 프로퍼티가 ReadOnly나 HideFromInspector 속성을 가지고 있지 않다는 점을 정확히 파악하여 수정 가능하다고 답했으며, mLua 문법에 맞는 예제를 제시하여 질문에 충실하게 답변했습니다. [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] | Blackboard에 저장된 값의 타입이 실제 조회할 때의 타입과 일치하지 않으면 어떤 문제가 발생하나요? [answer] | 제공된 Blackboard 문서에는 타입 불일치 시 발생하는 구체적인 에러 메시지나 런타임 예외, 그리고 타입 캐스팅 규칙에 대한 정보가 포함되어 있지 않습니다. 문서에는 각 타입별로 전용된 `GetXxx` (예: `GetInt`, `GetString`) 메서드와 `SetXxx` (예: `SetInt`, `SetString`) 메서드만 정의되어 있을 뿐, 저장된 타입과 조회 타입이 다르면 어떻게 되는지에 대한 설명은 없습니다. 따라서 제공된 문서 기준으로는 타입 불일치 시의 동작 방식을 알 수 없습니다. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 타입 불일치 시 동작이 명시되어 있지 않으므로, 이를 정직하게 답변한 것이 정확하고 일관되며 장황하지 않습니다. [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] | ActionNode [question] | ActionNode의 InitFunction 프로퍼티에 초기화 로직을 할당하는 스크립트를 작성해줘 [answer] | ActionNode의 `InitFunction` 프로퍼티에 초기화 로직을 할당하려면, 해당 프로퍼티가 `func` 타입이므로 함수를 직접 대입해야 합니다. 아래 예제는 `OnBeginPlay()` 생명주기 메서드에서 `InitFunction` 프로퍼티에 초기화 로직을 수행하는 익명 함수를 할당하는 방법을 보여줍니다. ```lua Property: [None] any Child = nil Method: [server] void OnBeginPlay() { -- InitFunction 프로퍼티에 초기화 로직을 수행하는 함수 [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=0 coherence=3 complexity=2 verbosity=2 [judge_reason] | mLua 스크립트 컴포넌트 문법과 API가 전혀 다른 엔진(유니티 등)의 C#/Behaviour Tree 코드를 혼용하여 지어냈고, 참고 문서에도 없는 OnBehave 메서드와 self.Child 접근을 사용했음 [source_doc] | AI의 실제 동작을 수행하고 결과를 반환하는 리프 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]** 이

[task] | single_turn [pass] | ✅ 통과 [title] | ActionNode [question] | BTNode의 InitFunction 프로퍼티는 어떤 시점에 호출되며, ActionNode의 동작과 어떤 관계가 있나요? [answer] | `BTNode`의 `InitFunction` 프로퍼티는 **초기화 시점**에 호출되는 함수입니다. `ActionNode`는 `BTNode`에서 상속을 받으므로 이 `InitFunction` 프로퍼티를 그대로 가집니다. 따라서 `ActionNode` 인스턴스가 생성되거나 초기화되는 시점에 지정된 `InitFunction`이 실행됩니다. `ActionNode`의 실제 동작(리프 노드로서의 행동 수행)은 `Behave(float deltaTime)` 메서드가 호출될 때 발생하며, 이는 AI가 해당 노드를 실행하라는 명령을 받았을 때 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 InitFunction의 초기화 시점 호출과 ActionNode의 리프 노드 특성, Behave 메서드와의 관계를 정확하고 간결하게 설명하고 있습니다. [source_doc] | AI의 실제 동작을 수행하고 결과를 반환하는 리프 노드입니다. # Properties ##### inherited from BTNode: - **boolean ExclusiveExecutionWhenRunning [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. - **func InitFunction** 초기화 시점에 호출되는 함수입니다. - **string Name** 이 노드의 이름입니다. - **AIComponent ParentAI [ReadOnly] [HideFromInspector]** 이

[task] | single_turn [pass] | ✅ 통과 [title] | CreatorDataStoragePages [question] | LoadNextPageAndWait()와 MoveToNextPageAndWait() 모두 [Yield] 속성이 붙어있는데, 이 두 메서드의 근본적인 차이점과 각각 어떤 상황에서 사용해야 하는지 궁금합니다. [answer] | `LoadNextPageAndWait()`와 `MoveToNextPageAndWait()`의 근본적인 차이점은 **데이터의 '불러오기(로딩)'** 와 **현재 위치의 '이동(변경)'** 입니다. 참고 문서의 설명과 예제 코드를 바탕으로 두 메서드의 역할을 명확히 구분하면 다음과 같습니다. ### 1. 핵심 차이점 * **`LoadNextPageAndWait()` (데이터 준비)** * **역할:** 다음 페이지의 데이터를 서버에서 가져와서 준비(불러오기)합니다. * **반환값:** `int32` (에러 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=3 coherence=4 complexity=3 verbosity=3 [judge_reason] | API 명세(반환형, Yield, ServerOnly)는 정확하나, 두 메서드를 '불러오기->에러확인->이동'의 2단계 시퀀스로 해석하고 LoadNextPageAndWait()가 MoveToNextPageAndWait()를 전제로 한다고 서술한 부분은 문서의 'MoveToNextPageAndWait()를 통해 불러온 페이지로 이동할 수 있습니다'라는 문맥상 불확실하며, '참고 문서의 예제'가 존재하지 않음에도 예제라고 명시하여 근거를 지어낸 점이 감점 사유입니다. [source_doc] | CreatorDataStorage를 조회하는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<CreatorDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 CreatorDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페이지를 불러

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