← 목록

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

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

[task] | code [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | `TimeSpan(365, 21, 19, 45)` 객체를 생성하여 `ToFormattedString("dd'.'hh':'mm':'ss")`과 `ToFormattedString("dddd'.'hh':'mm':'ss")`을 각각 사용해 두 가지 다른 포맷의 문자열을 `log`로 출력하는 스크립트를 작성해줘 [answer] | ```lua Method: [server only] void OnBeginPlay() { local timeSpan = TimeSpan(365, 21, 19, 45) log(timeSpan:ToFormattedString("dd'.'hh':'mm':'ss")) log(timeSpan:ToFormattedString("dddd'.'hh':'mm':'ss")) } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하고 문화권을 구분합니다. 형식은 [-]d':'hh':'mm':'ss.fff 입니다. | 기호 | 설명 | | --- | --- | | - | 음수를 나타내는 기호 | | . | 초 소수 구분을 나타냅니다. | | fff | 초의 소수 부분을 나타냅니다. | | ss | "00"부터 "59" 범위의 초를 나타냅니다.| | mm | "00"부터 "59" 범위의 분을 나타냅니다. | | hh | "00"부터 "23" 범위의 시간을 나타냅니다. | | d | 일 수를 나

[task] | code [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | `TimeSpan(1, 2, 3, 4, 5)` 객체를 생성하여 `ToFormattedString("G")`을 사용해 기본 긴 서식 지정자로 포맷된 문자열을 `log`로 출력하는 스크립트를 작성해줘 [answer] | `TimeSpan(1, 2, 3, 4, 5)` 객체를 생성하고 `ToFormattedString("G")` 메서드로 포맷된 문자열을 출력하는 스크립트입니다. ```lua Method: [server only] void OnBeginPlay() { local timeSpan = TimeSpan(1, 2, 3, 4, 5) local formattedString = timeSpan:ToFormattedString("G") log(formattedString) } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하고 문화권을 구분합니다. 형식은 [-]d':'hh':'mm':'ss.fff 입니다. | 기호 | 설명 | | --- | --- | | - | 음수를 나타내는 기호 | | . | 초 소수 구분을 나타냅니다. | | fff | 초의 소수 부분을 나타냅니다. | | ss | "00"부터 "59" 범위의 초를 나타냅니다.| | mm | "00"부터 "59" 범위의 분을 나타냅니다. | | hh | "00"부터 "23" 범위의 시간을 나타냅니다. | | d | 일 수를 나

[task] | two_turn [pass] | ⏳ 미판정 [title] | 리소스 관리 [question] | Resource Storage의 MSW 리소스를 복제(Duplicate)하여 메타 정보를 편집할 때, 스프라이트 슬라이스의 피봇 정보를 변경하고 이름·설명을 수정하는 구체적인 프로세스와 생성되는 폴더 위치는 어디인가요? [answer] | Resource Storage에서 MSW 리소스를 복제하여 메타 정보를 편집하는 프로세스와 폴더 위치는 다음과 같습니다. **1. 복제(Duplicate) 프로세스 및 폴더 위치** 원하는 MSW 리소스의 콘텍스트 메뉴에서 **Duplicate**를 선택하면, 복제본은 내 리소스 탭 하단의 **duplicated sprite** 폴더에 생성됩니다. **2. 메타 정보 편집 프로세스** 복제본이 생성된 후 다음 순서로 메타 정보를 편집할 수 있습니다. * **이름·설명 수정**: 복제본의 세부 정보 창에서 이름과 설명 등의 [followup] | Animation Clip과 Avatar Item은 전용 에디터로 제작해야 한다는 점에 대해, 직접 등록 가능한 Sprite·Audio Clip과 처리 방식이 다른 이유와 등록 시 주의할 점은 무엇인가요? [followup_answer] | 참고 문서에는 Animation Clip과 Avatar Item이 전용 에디터로 제작해야 하는 구체적인 이유나, Sprite·Audio Clip과 처리 방식이 다른 이유에 대한 설명이 없습니다. 또한 등록 시 주의할 점에 대한 정보도 문서에 포함되어 있지 않습니다. 문서에 명시된 내용은 다음과 같습니다: * **Sprite, Audio Clip**: 유저가 소유한 파일을 직접 등록할 수 있습니다. * **Animation Clip, Avatar Item**: 전용 에디터로 제작하여 등록할 수 있습니다. 따라서 제공된 참고 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 유저가 메이커에 등록한 리소스를 관리하는 방법에 대해 알아봅시다. # 리소스 구분 메이플스토리 월드에서의 리소스는 프로퍼티 에디터 혹은 스크립트 등에서 사용할 수 있습니다. 그리고 각각의 리소스마다 RUID가 존재합니다. 리소스는 제공자에 따라 **메이플스토리 월드 리소스**와 **유저 리소스**로 나눌 수 있습니다. ## 메이플스토리 월드 리소스 메이플스토리 월드 리소스는 말 그대로 메이플스토리 월드에서 제공하는 리소스를 말합니다. 메이커의 **Resource Storage** 및 [메이플스토리 월드

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 시간만 있는 문자열 "07:22:16"로 DateTime을 생성하면 날짜 부분이 어떻게 처리되나요? [answer] | 시간만 있는 문자열 `"07:22:16"`로 `DateTime`을 생성하면, 날짜 구성 요소가 없으므로 **현재 날짜**로 가정합니다. 예를 들어, 아래 코드를 실행하면 현재 날짜가 `5/9/2022`인 경우 `5/9/2022 07:22:16`과 같은 형태의 `DateTime` 객체가 생성됩니다. ```lua local dateAsString = "07:22:16" local date = DateTime(dateAsString) log(date) -- 5/9/2022 07:22:16 ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | DataTime을 DateElapsed를 사용해 다른 실행 공간에서 DateTime을 활용할 수 있습니다. ```lua [server only] void OnBeginPlay() { wait(1) local date = DateTime(2022, 5, 17, 13, 21, 35) self:ServerToClient(date.Elapsed) } [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed)

[task] | single_turn [pass] | ⏳ 미판정 [title] | 리소스 관리 [question] | 리소스 저장소에 있는 리소스를 다른 그룹으로 소유권을 넘길 때 세부 정보 탭과 우클릭 메뉴 중 어떤 방법을 쓰는지 궁금합니다. [answer] | Resource Storage 리소스를 다른 그룹으로 소유권을 이전할 때는 **세부 정보 탭**과 **우클릭(콘텍스트) 메뉴** 두 가지 방법 모두를 사용할 수 있습니다. 1. **세부 정보 탭에서 이전하기** 리소스의 세부 정보를 확인하는 화면에서 이전 기능을 선택합니다. 2. **콘텍스트 메뉴(우클릭)에서 이전하기** 리소스 항목을 우클릭하여 나타나는 메뉴에서 이전 기능을 선택합니다. 어떤 방법을 선택하든, 이후 단계에서 소유권을 이전할 대상 그룹을 결정하면 됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Resource Storage 리소스는 그룹 리소스로 이전하여 사용할 수 있습니다. | 세부 정보에서 이전하기 | 콘텍스트 메뉴로 이전하기 | | :---: | --- | | | | 위와 같이 선택하면 어떤 그룹으로 소유권을 이전할 것인지 결정할 수 있습니다. > **더 알아보기** > 그룹을 만들어 공동 제작하는 방법에 대해 더 알아보고 싶다면 아래 가이드를 참고하세요! > [공동 제작](/docs/?postId=670) ## 리소스 공유 Resource Storage 리소스에 아래와 같이 공유 기능을 설정할 수 있습니

[task] | two_turn [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | TimeSpan으로 시간을 표현할 때 사용할 수 있는 표준 형식 지정자에는 어떤 종류가 있나요? [answer] | mLua에서 `TimeSpan` 객체의 `ToFormattedString` 메서드를 사용하여 시간을 문자열로 변환할 때 사용할 수 있는 표준 형식 지정자는 총 3가지입니다. 1. **"c" (상수 형식)** - 문화권을 구분하지 않습니다. - 형식: `[-][d'.']hh':'mm':'ss['.'fff]` - `d`가 존재하면 일 수를 출력하고, `fff`가 존재하면 초의 소수 부분(밀리초)을 출력합니다. - 예시: `07:45:16`, `1.01:57:54` 2. **"g" (일반 약식)** - 문화 [followup] | 상수 서식 지정자 "c"와 일반 약식 서식 지정자 "g"의 출력 형식 차이와, 각각의 코드 사용 예시를 보여주세요. [followup_answer] | 상수 서식 지정자 `"c"`와 일반 약식 서식 지정자 `"g"`는 문화권 처리 방식과 출력 형식에서 다음과 같은 차이가 있습니다. ### 1. 출력 형식 차이 | 구분 | 형식 지정자 | 문화권 구분 | 형식 패턴 | 특징 | | :--- | :---: | :---: | :--- | :--- | | **상수 형식** | `"c"` | **아니오** | `[-][d'.']hh':'mm':'ss['.'fff]` | 일(`d`)과 밀리초(`fff`)가 존재할 때만 해당 부위를 출력합니다. 시간(`hh`)은 항상 2자리(00~23)로 [scores] | [judge_reason] | [source_doc] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 문화권별 정보(cultureName)를 제공하여 문자열을 DateTime으로 변환하는 생성자에서 cultureName은 어떤 표준을 따르는가? [answer] | 문화권별 정보(cultureName)는 BCP-47 표준을 따릅니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 날짜와 시간을 표현하는 DateTime에 대해 알아보고, 활용할 수 있는 다양한 서식 지정자를 알아봅시다. # DateTime 알아보기 DateTime은 날짜와 시간으로 표시된 시간을 나타내는 객체입니다. 값 형식은 그레고리력에서 00:00:00(자정), 서기 0001년 1월 1일부터 9999년 12월 31일 오후 11:59:59까지의 값으로 날짜와 시간을 나타냅니다. DateTime은 맵에 입장한 시간이나, 계정이 생성된 날처럼 특정 날짜를 나타내기 위해 사용합니다. DateTime은 활용할 때 주로 시간

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 문자열로 특정 날짜를 입력할 때 DateTime(string, string format) 생성자의 format 인자에 표준 날짜 서식 지정자만 사용할 수 있는가? [answer] | 아니요, 표준 날짜 서식 지정자만 사용할 수 있는 것은 아닙니다. `DateTime(string dateTimeString, string format)` 생성자의 `format` 인자에는 **표준 날짜 및 시간 서식 지정자**와 **사용자 지정 날짜 및 시간 서식 지정자**를 모두 포함하는 문자열을 사용할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 날짜와 시간을 표현하는 DateTime에 대해 알아보고, 활용할 수 있는 다양한 서식 지정자를 알아봅시다. # DateTime 알아보기 DateTime은 날짜와 시간으로 표시된 시간을 나타내는 객체입니다. 값 형식은 그레고리력에서 00:00:00(자정), 서기 0001년 1월 1일부터 9999년 12월 31일 오후 11:59:59까지의 값으로 날짜와 시간을 나타냅니다. DateTime은 맵에 입장한 시간이나, 계정이 생성된 날처럼 특정 날짜를 나타내기 위해 사용합니다. DateTime은 활용할 때 주로 시간

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 문자열 "8/18"로 DateTime을 만들면 연도가 2022년으로 고정되는 건가요? [answer] | 아니요, 연도가 2022년으로 고정되는 것은 아닙니다. 문자열 "8/18"로 `DateTime` 객체를 생성할 때, 입력 값에 연도 구성 요소가 없기 때문에 시스템은 **현재 연도**를 기준으로 연도를 설정합니다. 따라서 해당 코드를 2022년에 실행하면 2022년으로, 2025년에 실행하면 2025년으로 생성됩니다. 참고 자료의 예제에서 "08/18/2022 00:00:00"로 출력된 것은 해당 예제가 작성되거나 실행된 당시의 연도가 2022년이었기 때문입니다. ```lua local dateAsString = "8/18" [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | DataTime을 DateElapsed를 사용해 다른 실행 공간에서 DateTime을 활용할 수 있습니다. ```lua [server only] void OnBeginPlay() { wait(1) local date = DateTime(2022, 5, 17, 13, 21, 35) self:ServerToClient(date.Elapsed) } [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed)

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 서버에서 만든 DateTime 객체를 클라이언트에서 그대로 사용할 수 없나요? [answer] | 아니요, 서버에서 만든 `DateTime` 객체를 클라이언트에서 그대로 사용할 수 없습니다. `DateTime` 객체 자체는 실행 공간(서버/클라이언트) 간에 직접 전달되지 않으며, `date.Elapsed` 속성으로 반환되는 숫자 값만 다른 실행 공간으로 전달할 수 있습니다. 따라서 서버에서는 `DateTime` 객체를 생성한 후 `.Elapsed` 속성을 추출하여 클라이언트로 보내고, 클라이언트에서는 받은 숫자 값을 인수로 다시 `DateTime()` 생성자를 호출하여 객체를 새로 만들어야 합니다. 예를 들어 다음과 같이 구 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | DataTime을 DateElapsed를 사용해 다른 실행 공간에서 DateTime을 활용할 수 있습니다. ```lua [server only] void OnBeginPlay() { wait(1) local date = DateTime(2022, 5, 17, 13, 21, 35) self:ServerToClient(date.Elapsed) } [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed)

[task] | single_turn [pass] | ⏳ 미판정 [title] | 리소스 관리 [question] | 공동 제작을 위해 리소스를 그룹으로 이전하고 싶지만, 어떤 그룹으로 소유권이 넘어가는지 선택하는 과정이 어떻게 이루어지는지 알고 싶습니다. [answer] | 리소스를 그룹으로 이전하는 과정은 크게 두 가지 방법으로 수행할 수 있으며, 어떤 방법으로 진행하든 최종적으로 소유권을 넘길 대상 그룹을 선택하는 단계가 포함됩니다. 1. **세부 정보에서 이전하기**: 리소스의 세부 정보 화면을 통해 이전 작업을 시작합니다. 2. **콘텍스트 메뉴로 이전하기**: 리소스 항목에서 마우스 우클릭 등 콘텍스트 메뉴를 활용하여 이전 작업을 시작합니다. 위 두 가지 방법 중 하나로 선택하면, 화면에 **어떤 그룹으로 소유권을 이전할 것인지 결정할 수 있는 선택 단계**가 나타납니다. 여기서 원하는 그 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Resource Storage 리소스는 그룹 리소스로 이전하여 사용할 수 있습니다. | 세부 정보에서 이전하기 | 콘텍스트 메뉴로 이전하기 | | :---: | --- | | | | 위와 같이 선택하면 어떤 그룹으로 소유권을 이전할 것인지 결정할 수 있습니다. > **더 알아보기** > 그룹을 만들어 공동 제작하는 방법에 대해 더 알아보고 싶다면 아래 가이드를 참고하세요! > [공동 제작](/docs/?postId=670) ## 리소스 공유 Resource Storage 리소스에 아래와 같이 공유 기능을 설정할 수 있습니

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 표준 날짜/시간 서식 지정자 중 "d", "D", "R", "O"에 대한 설명을 한 줄로 요약하여 4단 목록으로 나열하세요. [answer] | * "d": 특정 문화권의 간단한 날짜 서식 문자열을 나타냅니다. * "D": 자세한 날짜 패턴을 나타냅니다. * "R": RFC1123 패턴을 나타냅니다. * "O": 왕복 날짜/시간 패턴을 나타냅니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC

[task] | single_turn [pass] | ⏳ 미판정 [title] | 리소스 관리 [question] | 원작자가 리소스 공유 설정을 해제한 후, 이미 리메이크를 완료한 월드에서 해당 리소스가 어떻게 동작하는지 알고 싶습니다. [answer] | 원작자가 리소스 공유 설정을 해제한 경우, 이미 리메이크를 완료한 월드에서도 해당 리소스는 **사용할 수 없게** 됩니다. 리소스 공유는 원작자가 설정한 권한에 따라 파생된(리메이크된) 월드에서 리소스를 사용할 수 있게 하는 메커니즘입니다. 따라서 원작자가 이 권한을 철회(해제)하면, 기존에 리메이크가 완료되었더라도 해당 리소스에 대한 접근 권한이 사라지므로 리메이크 월드 내에서 그 리소스를 더 이상 참조하거나 사용할 수 없게 처리됩니다. 이로 인해 리메이크 월드의 정상적인 동작이 방해받을 수 있으므로, 리메이크를 허용할 계획이 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Resource Storage 리소스는 그룹 리소스로 이전하여 사용할 수 있습니다. | 세부 정보에서 이전하기 | 콘텍스트 메뉴로 이전하기 | | :---: | --- | | | | 위와 같이 선택하면 어떤 그룹으로 소유권을 이전할 것인지 결정할 수 있습니다. > **더 알아보기** > 그룹을 만들어 공동 제작하는 방법에 대해 더 알아보고 싶다면 아래 가이드를 참고하세요! > [공동 제작](/docs/?postId=670) ## 리소스 공유 Resource Storage 리소스에 아래와 같이 공유 기능을 설정할 수 있습니

[task] | code [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | TimeSpan 객체의 "G" 형식 지정자 변환 결과와 "c" 형식 지정자 변환 결과를 비교하여 일 수 및 소수 자릿수 차이를 확인하는 스크립트를 작성해줘 [answer] | TimeSpan 객체의 "G" 형식 지정자와 "c" 형식 지정자는 일 수와 소수 부분의 표시 방식에서 명확한 차이가 있습니다. **"c" (상수 형식)** * **형식:** `[-][d'.']hh':'mm':'ss['.'fff]` * **일 수:** 일 수가 있는 경우 `d.` (점 구분자) 형태가 붙습니다. (예: `1.01:57:54`) * **소수 부분:** 초의 소수 부분이 **항상** 3자리(`fff`)로 출력됩니다. 값이 없으면 `000`으로 채워집니다. * **문화권:** 문화권을 구분하지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을

[task] | code [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | TimeSpan(string timeSpanString) 생성자와 HandleTouchEvent를 활용해 터치 이벤트 발생 시 "01:02:03" 형식의 문자열을 TimeSpan 객체로 변환하여 생성 성공 여부와 결과를 log(...)로 출력하는 스크립트를 작성해줘 [answer] | 사용자가 요청한 기능은 `TimeSpan(string timeSpanString)` 생성자를 사용하여 "01:02:03" 문자열을 `TimeSpan` 객체로 변환하고, `HandleTouchEvent` 이벤트 핸들러 내에서 이 변환의 성공 여부와 결과를 `log(...)`로 출력하는 것입니다. 참고 문서에 따르면 `TimeSpan(string timeSpanString)` 생성자는 `[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]` 형식의 문자열을 받아 객체를 초기화합니다. "01:02:03"은 `hh:mm: [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 DateTime을 활용하기 위해선 TimeSpan을 이용해야 합니다. 초, 분, 시간의 단위를 나타냅니다. # TimeSpan 소개 TimeSpan은 시간 간격을 나타냅니다. 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. TimeSpan은 특정 시점으로부터 다른 특정 시점까지의 시간을 계산할 때 사용할 수 있습니다. 어떤 스테이지를 통과하는 데 걸린 시간을 구하고 싶거나, 시간을 데이터 스토리지에 저장하기 위해 사용할 수 있습니다

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | DateTime은 기본적으로 UTC 기준으로 잡히는데, 한국 시간으로 바꾸려면 어떻게 해야 하나요? [answer] | `DateTime` 객체는 기본적으로 UTC(협정 세계시) 기준으로 생성됩니다. 이를 한국 시간(로컬 시간)으로 변환하려면, 먼저 서버 공간에서 생성된 `DateTime`의 `Elapsed` 값을 클라이언트 공간으로 전달한 뒤, 클라이언트에서 `_UtilLogic` 서비스의 `GetLocalTimeFrom` 메서드를 호출해야 합니다. 아래는 서버에서 UTC 기준 `DateTime`을 생성하고, 클라이언트로 전달하여 로컬 시간으로 변환하는 예시입니다. ```lua [server only] void OnBeginPlay() { [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | DataTime을 DateElapsed를 사용해 다른 실행 공간에서 DateTime을 활용할 수 있습니다. ```lua [server only] void OnBeginPlay() { wait(1) local date = DateTime(2022, 5, 17, 13, 21, 35) self:ServerToClient(date.Elapsed) } [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed)

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | UtcNow 상수와 MaxValue, MinValue 상수 중 현재 시각을 기준으로 특정 이벤트의 시작 시간을 설정할 때 가장 적절한 것은 무엇인가? [answer] | 특정 이벤트의 시작 시간을 현재 시각을 기준으로 설정할 때는 **`UtcNow`** 상수가 가장 적절합니다. `UtcNow`는 현재 날짜와 시간을 UTC(협정 세계시) 기준으로 가져오는 상수이므로, 실시간으로 변하는 현재 시점을 이벤트의 시작 시간이나 기준 시간으로 활용하는 용도에 맞습니다. 반면 `MaxValue`와 `MinValue`는 각각 `DateTime`이 표현할 수 있는 최댓값(서기 9999년 12월 31일 오후 11:59:59)과 최솟값(서기 0001년 1월 1일 00:00:00)을 나타내는 고정된 상수이므로, 현재 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 날짜와 시간을 표현하는 DateTime에 대해 알아보고, 활용할 수 있는 다양한 서식 지정자를 알아봅시다. # DateTime 알아보기 DateTime은 날짜와 시간으로 표시된 시간을 나타내는 객체입니다. 값 형식은 그레고리력에서 00:00:00(자정), 서기 0001년 1월 1일부터 9999년 12월 31일 오후 11:59:59까지의 값으로 날짜와 시간을 나타냅니다. DateTime은 맵에 입장한 시간이나, 계정이 생성된 날처럼 특정 날짜를 나타내기 위해 사용합니다. DateTime은 활용할 때 주로 시간

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | DateTime 객체를 DataStorage에 그대로 저장하면 안 되는 이유가 무엇이며, 어떤 값으로 변환해서 저장해야 하는가? [answer] | DataStorage에는 문자열이나 숫자 등 기본 타입만 저장할 수 있으므로, 복잡한 객체인 `DateTime`을 그대로 저장할 수 없습니다. 따라서 `DateTime` 객체를 정수 타입인 `Elapsed` 프로퍼티로 변환하여 저장해야 합니다. `Elapsed`는 밀리초 단위의 정수 값이며, 이 값을 문자열로 변환하여 DataStorage에 저장한 뒤, 나중에 불러올 때는 다시 `DateTime` 생성자에 정수 값을 전달하여 원래의 `DateTime` 객체로 복구합니다. 아래는 `DateTime`을 `Elapsed`로 변환하여 저 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 날짜와 시간을 표현하는 DateTime에 대해 알아보고, 활용할 수 있는 다양한 서식 지정자를 알아봅시다. # DateTime 알아보기 DateTime은 날짜와 시간으로 표시된 시간을 나타내는 객체입니다. 값 형식은 그레고리력에서 00:00:00(자정), 서기 0001년 1월 1일부터 9999년 12월 31일 오후 11:59:59까지의 값으로 날짜와 시간을 나타냅니다. DateTime은 맵에 입장한 시간이나, 계정이 생성된 날처럼 특정 날짜를 나타내기 위해 사용합니다. DateTime은 활용할 때 주로 시간

[task] | single_turn [pass] | ⏳ 미판정 [title] | 리소스 관리 [question] | Workspace 리소스와 Resource Storage 리소스 중 어떤 쪽에 파일을 추가해야 원본 월드 수정 시 파생된 리메이크 월드에 영향이 가지 않는지 차이점을 설명해 주세요. [answer] | 원본 월드를 수정할 때 파생된 리메이크 월드에 영향이 가지 않도록 하려면 **Workspace**에 리소스를 추가해야 합니다. 두 공간의 리소스 버전 관리 방식은 다음과 같이 다릅니다. 1. **Workspace 리소스** * 동일한 이름의 파일을 import 하면 해당 월드의 리소스 버전만 올라갑니다. * 리메이크 월드(원본에서 파생된 월드)는 원본 월드의 Workspace 리소스를 복제받은 상태이므로, 각 월드별로 독립적으로 관리됩니다. * 따라서 원본 월드에서 Workspace 리소스를 변 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Resource Storage 리소스는 그룹 리소스로 이전하여 사용할 수 있습니다. | 세부 정보에서 이전하기 | 콘텍스트 메뉴로 이전하기 | | :---: | --- | | | | 위와 같이 선택하면 어떤 그룹으로 소유권을 이전할 것인지 결정할 수 있습니다. > **더 알아보기** > 그룹을 만들어 공동 제작하는 방법에 대해 더 알아보고 싶다면 아래 가이드를 참고하세요! > [공동 제작](/docs/?postId=670) ## 리소스 공유 Resource Storage 리소스에 아래와 같이 공유 기능을 설정할 수 있습니

[task] | single_turn [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | ToFormattedString에서 [ ] 안에 있는 기호들이 유효한 값이 있는 경우에만 사용된다는 팁이 실제 코드에서 어떤 의미인지 예시를 들어 설명해 주세요. [answer] | `ToFormattedString`에서 `[ ]` 기호는 해당 값이 **0이거나 비어 있는 경우**에는 해당 부분과 그 앞의 구분자(콜론, 마침표 등)까지 함께 생략한다는 의미입니다. 즉, 값이 "유효"하게 존재(0이 아님)할 때만 출력됩니다. 이 개념을 실제 코드 예시로 설명하겠습니다. ### 1. 상수 형식 지정자 "c"를 사용한 예시 형식: `[-][d'.']hh':'mm':'ss['.'fff]` * **시간이 0일 때 (예: 45분 16초)** * `hh` (시간) 값이 0이므로 `[d'.']` 부분과 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 문화권 파라미터를 지정하지 않고 "t"를 호출하면 어떤 시간 형식으로 출력되나요? [answer] | 문화권 파라미터를 지정하지 않고 "t" 표준 서식 지정자를 사용하면 기본 서식 문자열 **"HH:mm"** 형식으로 시간이 출력됩니다. 예를 들어, 2022년 4월 10일 00시 00분 00초의 DateTime 값에 대해 "t"를 적용하면 다음과 같이 출력됩니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("t")) -- 00:00 ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 문화권 코드를 지정하지 않으면 "D" 서식 지정자가 기본적으로 적용하는 날짜 형식 문자열은 무엇인가요? [answer] | 문화권 코드를 지정하지 않으면 "D" 서식 지정자는 **"dddd, dd MMMM yyyy"** 형식의 날짜 문자열을 적용합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | "D" 표준 서식 지정자는 특정 문화권의 자세한 날짜 서식 문자열을 나타냅니다. 문화권을 지정하지 않으면 서식 문자열은 **"dddd, dd MMMM yyyy"**을 사용합니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("D")) -- Sunday, 10 April 2022 log(date:ToFormattedString("D", "pt-BR")) -- domingo, 10 de abril de 2022 ``` #### "f" "f" 표준 서식

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | DateTime 객체의 Elapsed 프로퍼티는 어떤 단위의 값이 포함되어 있으며, 이 값을 이용하여 원래의 날짜와 시간 객체를 복구할 때 어떤 생성자를 사용해야 하는가? [answer] | `DateTime` 객체의 `Elapsed` 프로퍼티는 **밀리초 단위**의 정수 값을 포함합니다. 이 `Elapsed` 값(정수)을 이용하여 원래의 날짜와 시간 객체를 복구할 때는 **`DateTime(int elapsed)`** 생성자를 사용해야 합니다. 이 생성자는 밀리초 단위의 정수를 입력받아 UTC 기준으로 `DateTime` 객체를 초기화합니다. 다음은 `Elapsed` 값을 저장하고 이를 통해 원래 `DateTime` 객체를 복구하는 예시입니다. ```lua local originDate = DateTime(202 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 날짜와 시간을 표현하는 DateTime에 대해 알아보고, 활용할 수 있는 다양한 서식 지정자를 알아봅시다. # DateTime 알아보기 DateTime은 날짜와 시간으로 표시된 시간을 나타내는 객체입니다. 값 형식은 그레고리력에서 00:00:00(자정), 서기 0001년 1월 1일부터 9999년 12월 31일 오후 11:59:59까지의 값으로 날짜와 시간을 나타냅니다. DateTime은 맵에 입장한 시간이나, 계정이 생성된 날처럼 특정 날짜를 나타내기 위해 사용합니다. DateTime은 활용할 때 주로 시간

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | 문서에 제시된 4가지 날짜/시간 문자열 형식별 DateTime 변환 코드를 각각 3줄 이내로만 출력하고 설명은 주석으로 처리하세요. [answer] | ```lua -- 시간과 오전/오후(AM/PM) 지정자만 있는 문자열 (날짜는 현재, 분/초는 00:00으로 가정) local date = DateTime("7 PM") -- ISO 8601 문자열 (UTC 포함 시 UTC로 저장) local date = DateTime("2022-08-18T07:22:16.000Z") -- RFC 1123 시간 형식 문자열 (GMT 지정자 포함 필수) local date = DateTime("Thu, 18 Aug 2022 07:22:16 GMT") -- 표준 시간대 오프셋 정보 포함 문자열 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC

[task] | single_turn [pass] | ⏳ 미판정 [title] | TimeSpan으로 시간 표현하기 [question] | TimeSpan 객체끼리 덧셈(+ 연산자)을 수행한 후 서식화한 결과가 1:01:57:54,000으로 출력되는 과정이 어떻게 계산되는 건가요? [answer] | TimeSpan 객체끼리 `+` 연산자를 사용할 경우, 각각의 일(Day), 시간(Hour), 분(Minute), 초(Second) 값이 합산됩니다. 단, 하위 단위(초, 분, 시간)의 합이 해당 단위의 최대 범위를 초과하면 상위 단위로 자동 진위(carry over) 처리됩니다. 문서에 제시된 예시를 기준으로 계산 과정을 설명하면 다음과 같습니다. 1. **초(Second) 합산:** * `timeSpan1`의 초: 16 * `timeSpan2`의 초: 38 * 합: 16 + 38 = **54 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하고 문화권을 구분합니다. 형식은 [-]d':'hh':'mm':'ss.fff 입니다. | 기호 | 설명 | | --- | --- | | - | 음수를 나타내는 기호 | | . | 초 소수 구분을 나타냅니다. | | fff | 초의 소수 부분을 나타냅니다. | | ss | "00"부터 "59" 범위의 초를 나타냅니다.| | mm | "00"부터 "59" 범위의 분을 나타냅니다. | | hh | "00"부터 "23" 범위의 시간을 나타냅니다. | | d | 일 수를 나

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | "r" 서식 지정자를 사용할 때 왜 반드시 UTC 값인지 확인해야 하는지 궁금합니다. [answer] | "r" 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값을 포맷팅할 때, 결과 문자열의 시간 부분이 반드시 UTC(협정 세계시)로 표시되어야 한다는 규약을 따릅니다. 따라서 `ToFormattedString("r")`을 호출하기 전에 `DateTime` 객체의 값이 실제로 UTC인지 확인해야 합니다. 만약 로컬 시간(Local Time)인 `DateTime` 값을 그대로 사용하게 되면, RFC 1123 표준이 요구하는 UTC 기반의 정확한 시간 표현이 깨져서 잘못된 시간 정보가 출력될 수 있기 때문입니다. ```l [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | `DateTime(2022, 4, 10)` 객체에 "r", "s", "u" 서식 지정자를 적용한 `log` 출력 코드만 3줄로 작성하세요. [answer] | ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("r")) log(date:ToFormattedString("s")) log(date:ToFormattedString("u")) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해

[task] | single_turn [pass] | ⏳ 미판정 [title] | 리소스 관리 [question] | 리소스 저장소의 리소스 버전을 올리는 방식이 Workspace와 어떻게 다른지, 그리고 파일 교체 시 버전이 어떻게 올라가는지 궁금합니다. [answer] | 리소스 저장소(Resource Storage)와 워크스페이스(Workspace)의 리소스 버전 관리 방식은 업데이트 시 적용되는 범위가 달라집니다. **1. Workspace 리소스 버전 관리** * **버전 올리는 방식:** 동일한 이름의 파일을 워크스페이스에 다시 가져오면(import) 해당 리소스의 버전이 올라갑니다. * **파생 월드 영향:** 원본 월드에서 파생된 월드(리메이크 월드 또는 Export 후 Import한 월드)의 워크스페이스 리소스는 원본에서 복제된 것입니다. 따라서 각 월드별로 최신화되며, **원본 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Resource Storage 리소스는 그룹 리소스로 이전하여 사용할 수 있습니다. | 세부 정보에서 이전하기 | 콘텍스트 메뉴로 이전하기 | | :---: | --- | | | | 위와 같이 선택하면 어떤 그룹으로 소유권을 이전할 것인지 결정할 수 있습니다. > **더 알아보기** > 그룹을 만들어 공동 제작하는 방법에 대해 더 알아보고 싶다면 아래 가이드를 참고하세요! > [공동 제작](/docs/?postId=670) ## 리소스 공유 Resource Storage 리소스에 아래와 같이 공유 기능을 설정할 수 있습니

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | ISO 8601 문자열에서 표준 시간대 오프셋이 포함된 경우와 포함되지 않은 경우의 저장 원리를 2단 표로 정리해서 설명하세요. [answer] | ISO 8601 문자열을 `DateTime` 객체로 변환할 때 표준 시간대 오프셋 포함 여부에 따라 저장되는 UTC 값의 원리는 다음과 같습니다. | 구분 | 저장 원리 | 예시 | | :--- | :--- | :--- | | **오프셋 미포함** (UTC 지정자 `Z`) | 문자열에 포함된 시간 값을 그대로 **UTC** 기준으로 저장합니다. | `"2022-08-18T07:22:16.000Z"`<br>→ 저장: `08/18/2022 07:22:16` (UTC) | | **오프셋 포함** | 지정된 오프셋만큼 시간을 보정하여 계 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC

[task] | single_turn [pass] | ⏳ 미판정 [title] | 날짜와 시간 활용하기 [question] | "r" 서식 지정자의 결과 문자열에서 GMT 표기가 항상 붙는 이유는 무엇인가요? [answer] | "r" 서식 지정자는 IETF RFC 1123 사양에 기반을 두고 있기 때문입니다. 이 표준은 시간 값을 UTC(세계 표준시)로 표시하도록 규정하고 있으며, "r" 서식 지정자의 기본 사용자 지정 서식 문자열이 `"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"`로 고정되어 있습니다. 따라서 `DateTime` 객체에 `ToFormattedString("r")` 메서드를 호출하면, 해당 값이 UTC 기준임을 명시하는 "GMT" 리터럴이 결과 문자열의 끝에 항상 포함됩니다. 이때 개발자가 직접 GMT를 추가할 필요 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해

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