← 목록

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

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

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 등록하기 [question] | 제제 중 상태의 배지는 크리에이터가 직접 수정할 수 있나요? [answer] | 네, 제제 중 상태의 배지는 크리에이터가 직접 수정할 수 있습니다. 다만, 수정 가능 범위에 대해 주의가 필요합니다. * **수정 가능한 부분:** 배지 자체의 내용(설정, 정보 등)을 수정하는 것은 가능합니다. * **수정 불가능한 부분:** '제재 상태' 자체를 해제하거나 변경하는 것은 크리에이터가 직접 할 수 없습니다. 제재 상태에 대한 문의나 해제 요청은 반드시 고객센터에 해야 합니다. 즉, 배지의 외형이나 설명 같은 요소는 수정할 수 있지만, "제제 중"이라는 상태가 풀리는 것은 고객센터의 개입 없이는 불가능합니 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지의 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 획득할 수 있습니다. 월드에서 실제로 획득하기 위해서는 배지의 상태가 **획득 가능**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 배지 페이지나 클라이언트 내에서도 노출되지 않고 획득도 불가합니다. 플레이어가 보유한 배지도 리스트에서 확인이 불가합니다.| | 획득 대기 | 획득 기간의 시작일 이전에 등록이 완료된 상태로 시작일에 맞춰 자동으로 획득 가

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | 노란색 레이어에 포함된 3개의 폴더(case1.front, case2.front_proneStab, case3.back) 각각의 작업 목적을 단계별 번호 목록으로 나열하세요. [answer] | 노란색 레이어에 포함된 3개 폴더의 작업 목적은 다음과 같습니다. 1. **case1.front**: 헤어의 앞모습 작업을 수행합니다. body와 여러 가지 모자 샘플이 포함되어 있습니다. 2. **case2.front_proneStab**: 엎드려 있을 때의 헤어 작업을 수행합니다. body와 여러 가지 모자 샘플이 포함되어 있으며, 하위에 보라색 레이어가 존재합니다. 3. **case3.back**: 헤어의 뒷모습 작업을 수행합니다. body와 여러 가지 모자 샘플이 포함되어 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 헤어 제작 방법을 알아봅시다. 기본 헤어의 색상을 변경하거나, 새롭게 그릴 수 있습니다. 헤어는 복잡한 구조로 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile

[task] | two_turn [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | EditorService 를 통해 게임 로직 중에 데이터 테이블의 값을 수정하고 저장하는 과정은 어떻게 되나요? [answer] | EditorService를 이용해 게임 로직 실행 중에 데이터 테이블의 값을 수정하고 저장하는 과정은 크게 **데이터 조회**, **행 추가 또는 기존 값 변경**, **변경 사항 저장**의 세 단계로 나뉩니다. 데이터 테이블에 접근하는 기본적인 방법은 `_DataService:GetTable()`을 사용하는 것과 동일하지만, 값을 수정하거나 새로운 행을 삽입할 때는 반드시 `_EditorService`의 전용 API를 사용해야 합니다. 구체적인 과정은 다음과 같습니다. ### 1. 데이터 조회 및 현재 상태 확인 먼저 `_Da [followup] | `DataSetInsertRow` 와 `DataSetSetCell` 을 함께 사용해 새 행을 추가하고 각 컬럼에 값을 설정하는 코드 예제를 보여주세요. [followup_answer] | `DataSetInsertRow`로 빈 행을 추가한 뒤, `DataSetSetCell`로 해당 행의 각 컬럼에 값을 설정하는 코드는 다음과 같습니다. ```lua local data = _DataService:GetTable("CustomEditorData") local rowCount = data:GetRowCount() _EditorService:DataSetInsertRow("CustomEditorData") _EditorService:DataSetSetCell("CustomEditorData", rowCount + 1, [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | two_turn [pass] | ⏳ 미판정 [title] | 애니메이션 만들기 [question] | 재생 속도 값이 커질수록 느리게 재생되는 원리와 Delay 값을 설정하는 구체적인 절차를 설명해 주세요 [answer] | 애니메이션의 재생 속도는 각 프레임이 화면에 표시되는 시간, 즉 **Delay** 값에 의해 결정됩니다. Delay 값은 특정 프레임이 재생될 때 걸리는 시간을 의미하며, 이 값이 **커질수록 프레임이 더 오래 표시**되므로 애니메이션 전체가 **느리게** 재생됩니다. 반대로 값이 작아질수록 프레임이 빠르게 전환되어 애니메이션이 빠르게 재생됩니다. Delay 값을 설정하여 애니메이션 재생 속도를 조절하는 구체적인 절차는 다음과 같습니다. 1. **프레임 선택**: 타임라인에서 가장 첫 번째 이미지를 선택한 상태에서 **Shif [followup] | Shift 키를 이용해 첫 번째와 마지막 이미지를 선택한 후 Delay 값에 0.3을 입력하는 단계별 작업 순서를 자세히 알려 주세요 [followup_answer] | 첫 번째와 마지막 이미지를 Shift 키를 이용해 선택한 후 Delay 값을 0.3으로 설정하는 단계별 작업 순서는 다음과 같습니다. 1. **첫 번째 이미지 선택**: 타임라인의 가장 첫 번째 이미지를 선택한 상태에서 **Shift** 키를 누릅니다. 2. **마지막 이미지 선택**: 스크롤 바를 움직여 마지막 이미지를 선택합니다. (이 과정을 통해 첫 번째부터 마지막까지 모든 프레임이 선택됩니다.) 3. **Delay 값 입력**: 선택된 프레임들의 **Delay** 값에 **0.3**을 입력합니다. 4. **재생 확인 [scores] | [judge_reason] | [source_doc] | 하나의 프레임이 재생될 시간을 조절해 같은 스프라이트로 제작한 애니메이션의 재생 속도를 조절할 수 있습니다. 재생 속도 값은 수가 커질수록 느리게 재생됩니다. | 0.3 | 2.0 | | --- | --- | | | | 1. 타임라인의 가장 첫 번째 이미지를 선택하고 **Shift** 키를 누릅니다. 2. 스크롤 바를 움직여 마지막 이미지를 선택합니다. 3. **Delay** 값에 **0.3**을 입력합니다. 4. **[재생]** 버튼을 눌러 애니메이션 재생 속도를 확인합니다. 5. 편집한 애니메이션의 이름을 입력하고, *

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 배지 등록하기 [question] | 배지의 5가지 상태별 획득 가능 여부와 노출 특성을 표로 정리해서 설명해 주세요. [answer] | 메이플스토리 월드에서 배지는 총 5가지 상태로 구분되며, 각 상태에 따라 획득 가능 여부와 노출 특성이 다릅니다. | 상태 | 획득 가능 여부 | 노출 특성 | | :--- | :--- | :--- | | **미출시** | 불가 | 판매 기간이 되어도 월드 웹 배지 페이지나 클라이언트 내에서도 노출되지 않습니다. 플레이어가 이미 보유한 배지라도 리스트에서 확인이 불가합니다. | | **획득 대기** | 불가 | 획득 기간의 시작일 이전에 등록된 상태입니다. 출시 상태로 획득 기간을 지정해 놓으면, 설정된 획득 시작일에 맞춰 자동으 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지의 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 획득할 수 있습니다. 월드에서 실제로 획득하기 위해서는 배지의 상태가 **획득 가능**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 배지 페이지나 클라이언트 내에서도 노출되지 않고 획득도 불가합니다. 플레이어가 보유한 배지도 리스트에서 확인이 불가합니다.| | 획득 대기 | 획득 기간의 시작일 이전에 등록이 완료된 상태로 시작일에 맞춰 자동으로 획득 가

[task] | single_turn [pass] | ⏳ 미판정 [title] | 패키지의 활용 [question] | 원하는 기능을 패키지로 공유하려면 네이티브 모델 씬을 어떻게 편집하고 어떤 기능을 사용해야 하나요? [answer] | 네이티브 모델을 상속받은 모델에 새로운 기능을 추가하여 패키지로 공유하려면, 단순히 네이티브 모델 자체를 수정하거나 확장하는 것 대신 **네이티브 모델 씬에 배치해 편집한 뒤 `Create Model From Entity` 기능을 사용하여 새 모델을 생성**하는 것이 권장됩니다. 네이티브 스크립트와 네이티브 모델은 패키지로 내보낼 수 없으며, 네이티브 모델에 직접 새로운 컴포넌트를 추가하거나 그 모델을 확장한 경우에도 패키지로 내보낼 수 없습니다. 이는 다른 월드로 패키지를 불러올 때 해당 네이티브 모델의 정보를 온전히 복원할 수 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드에서 제공하는 **네이티브 스크립트와 네이티브 모델**은 패키지로 내보낼 수 없습니다. 네이티브 모델 자체에 새로운 컴포넌트를 추가한 경우, 그 네이티브 모델을 확장한 경우 또한 패키지로 내보낼 수 없습니다. 패키지를 불러올 때 모든 정보를 불러올 수 없기 때문입니다. 예를 들어 네이티브 모델에 ComponentA를 추가하고 이를 확장한 모델을 만들었다고 생각해 봅시다. 이 확장한 모델은 ComponentA를 상속받게 됩니다. 모델B를 다른 월드에서 불러올 때 새로운 월드에는 ComponentA가 포함된 네이티브

[task] | single_turn [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | 복잡한 정보를 저장할 때 프로퍼티 수정이 충분하지 않다고 하는데, EditorService의 데이터 구성 방식이 이를 어떻게 보완하나요? [answer] | 프로퍼티는 단일 값이나 간단한 구조를 수정하는 데 유용하지만, 구조화된 대량의 데이터를 다루기에는 한계가 있습니다. EditorService는 테이블 형태의 데이터셋(DataSet)을 구성하여 이러한 한계를 보완합니다. EditorService를 활용하면 `name`, `col1`, `col2`와 같은 컬럼으로 구성된 행(Row) 단위의 데이터를 관리할 수 있습니다. 이를 통해 특정 조건(예: `name`이 "dash"인 행)을 검색하여 특정 컬럼(`col3`)의 값을 조회하거나, 새로운 행을 추가하고 각 컬럼에 값을 설정하는 등 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 등록하기 [question] | 메이플스토리 월드 공식 홈페이지와 메이커 내에서 배지를 등록할 때 절차나 화면에 차이가 있나요? [answer] | 메이플스토리 월드 공식 홈페이지와 메이커 내에서 배지를 등록할 때 절차나 화면에 차이는 없습니다. 두 곳 모두 동일한 등록 화면과 절차를 제공하며, 크리에이터가 선호하는 곳에서 등록할 수 있습니다. 등록 시에는 배지 등급, 이름, 이미지(섬네일), 획득 기한을 필수로 입력해야 합니다. 구체적인 절차는 다음과 같습니다. **공식 홈페이지에서 등록하는 경우** 1. 로그인 후 '월드 만들기'를 선택하고 배지를 생성할 월드를 선택합니다. 2. '배지 관리 - 배지 등록'을 선택합니다. 3. 배지 등록 창에서 배지 등급, 이름, 이미지 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 배지는 크리에이터가 설정한 특정 미션을 달성할 때 이용자가 획득할 수 있는 업적을 의미합니다. 배지는 유저의 달성 목표를 보여주기 위해 사용하거나, 수집 욕구를 촉발해 월드를 끊임없이 즐길 수 있게 만드는 용도로 사용합니다. # 배지 등록하기 배지를 등록하는 방법은 두 가지입니다. 메이플스토리 월드 [공식 홈페이지](https://maplestoryworlds.nexon.com/) 혹은 메이커 내에서 등록이 가능합니다. 등록 화면과 절차는 동일하므로 크리에이터가 선호하는 곳에서 배지를 등록할 수 있습니다.

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | `_DataService`와 `_EditorService`를 사용하여 "CustomEditorData" 테이블에서 "name" 컬럼이 "skill1"인 행을 찾아 해당 행을 삭제하는 스크립트를 작성해줘 [answer] | `_DataService`를 사용해 "CustomEditorData" 테이블에서 "name" 컬럼이 "skill1"인 행을 찾아야 합니다. 행 번호를 찾은 후, `_EditorService`의 `DataSetRemoveRow()` API를 호출하여 해당 행을 삭제할 수 있습니다. ```lua Method: [server only] void RemoveSkill1Row() { local data = _DataService:GetTable("CustomEditorData") local rowCount = data:Get [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | two_turn [pass] | ⏳ 미판정 [title] | 애니메이션 만들기 [question] | 프레임 조정 버튼 중 '선택한 스프라이트를 한 칸 뒤로 이동' 기능을 사용하여 애니메이션 순서를 변경할 때, 기존 클립에 새로운 스프라이트를 추가한 뒤 위치를 조정하는 과정은 어떻게 되나요? [answer] | 참고 문서에 따르면, 기존 애니메이션 클립에 새로운 스프라이트를 추가하고 위치를 조정하는 과정은 다음과 같습니다. 1. **새로운 스프라이트 추가**: * AnimationClip Editor에서 **[추가하기]** 버튼을 클릭합니다. * Resource Picker에서 원하는 스프라이트를 선택해 추가합니다. * 추가한 스프라이트가 타임라인에 배치됩니다. 2. **위치 조정 (한 칸 뒤로 이동)**: * 이동시키고자 하는 스프라이트(프레임)를 선택합니다. * 프레임 조정 [followup] | 변신하는 애니메이션 만들기를 위해 monster - sprite-171514, 171518, 171541, 171544를 추가한 후, 이 스프라이트들을 드래그하여 원하는 프레임 순서로 배치하는 구체적인 조작법을 알려 주세요 [followup_answer] | 변신하는 애니메이션을 만들 때 추가한 스프라이트를 원하는 프레임 순서로 배치하는 구체적인 조작법은 다음과 같습니다. 1. **스프라이트 선택**: 타임라인에 추가된 스프라이트 중 이동시키고자 하는 특정 스프라이트를 클릭하여 선택합니다. 2. **드래그 이동**: 선택한 스프라이트를 마우스로 잡고, 타임라인 상에서 원하는 위치(프레임 순서)로 드래그한 후 놓습니다. 이렇게 드래그하여 위치를 변경하면 애니메이션 재생 순서가 조정됩니다. 또한, 드래그 외에도 프레임 조정 버튼을 사용하여 '한 칸 앞/뒤로 이동', '맨 앞으로/맨 [scores] | [judge_reason] | [source_doc] | 하나의 프레임이 재생될 시간을 조절해 같은 스프라이트로 제작한 애니메이션의 재생 속도를 조절할 수 있습니다. 재생 속도 값은 수가 커질수록 느리게 재생됩니다. | 0.3 | 2.0 | | --- | --- | | | | 1. 타임라인의 가장 첫 번째 이미지를 선택하고 **Shift** 키를 누릅니다. 2. 스크롤 바를 움직여 마지막 이미지를 선택합니다. 3. **Delay** 값에 **0.3**을 입력합니다. 4. **[재생]** 버튼을 눌러 애니메이션 재생 속도를 확인합니다. 5. 편집한 애니메이션의 이름을 입력하고, *

[task] | two_turn [pass] | ⏳ 미판정 [title] | 패키지의 활용 [question] | 패키지를 다른 월드로 가져올 때 엔트리 상태 아이콘 중 '이름이 변경된 엔트리'와 '유형이 다르거나 다른 크리에이터가 제작해 내용이 다른 엔트리'의 처리 방식은 어떻게 다릅니까? [answer] | 패키지를 다른 월드로 가져올 때 '이름이 변경된 엔트리'와 '유형이 다르거나 다른 크리에이터가 제작해 내용이 다른 엔트리'는 가져오기 가능 여부와 처리 방식에서 명확한 차이를 보입니다. **1. 이름이 변경된 엔트리** * **상태:** 패키지와 현재 월드의 엔트리 이름이 다른 경우입니다. * **처리 방식:** 엔트리를 가져올 수 있습니다. 가져오는 과정에서 **기존의 엔트리 이름이 변경**됩니다. 즉, 패키지 쪽의 이름으로 덮어씌워지거나 이름이 갱신되어 반영됩니다. **2. 유형이 다르거나 다른 크리에이터가 제작해 내 [followup] | 패키지를 가져오는 과정에서 월드가 자동으로 직전 상태를 저장하는 기능과 File - Rivisions를 통한 확인 방법은 어떻게 작동하나요? [followup_answer] | 패키지를 가져오는 과정에서 월드의 자동 저장 및 확인 기능은 다음과 같이 작동합니다. 1. **자동 저장 작동 방식** 패키지를 불러오는 시점에 월드는 자동으로 **직전 월드 상태**를 저장합니다. 이는 패키지 가져오기로 인해 엔트리 내용이 변경되거나 덮어씌워질 수 있으므로, 변경 전의 안전한 상태로 복귀할 수 있도록 하기 위한 보호 장치입니다. 2. **File - Rivisions를 통한 확인 방법** 자동 저장된 월드 상태를 확인하려면 **File - Rivisions** 메뉴를 사용합니다. 해당 메뉴를 통해 패 [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드에서 제공하는 **네이티브 스크립트와 네이티브 모델**은 패키지로 내보낼 수 없습니다. 네이티브 모델 자체에 새로운 컴포넌트를 추가한 경우, 그 네이티브 모델을 확장한 경우 또한 패키지로 내보낼 수 없습니다. 패키지를 불러올 때 모든 정보를 불러올 수 없기 때문입니다. 예를 들어 네이티브 모델에 ComponentA를 추가하고 이를 확장한 모델을 만들었다고 생각해 봅시다. 이 확장한 모델은 ComponentA를 상속받게 됩니다. 모델B를 다른 월드에서 불러올 때 새로운 월드에는 ComponentA가 포함된 네이티브

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | `_DataService`와 `_EditorService`를 사용하여 "CustomEditorData" 테이블에 새 행을 삽입하고 "name"을 "skill2", "col1"을 "15", "col2"을 "25", "col3"을 "35"로 설정하는 스크립트를 작성해줘 [answer] | `_DataService:GetTable`로 테이블 객체를 가져오고, `_EditorService`의 `DataSetInsertRow`와 `DataSetSetCell` 함수를 사용해 새 행을 추가하고 값을 설정할 수 있습니다. ```lua local data = _DataService:GetTable("CustomEditorData") local rowCount = data:GetRowCount() _EditorService:DataSetInsertRow("CustomEditorData") _EditorService:DataS [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | `_DataService`와 `_EditorService`를 사용하여 "CustomEditorData" 테이블에서 "name" 컬럼이 "dash"인 행을 찾아 "col3" 값이 "100"인 경우에만 "col1" 값을 "50"으로 수정하는 스크립트를 작성해줘 [answer] | `_DataService:GetTable`로 테이블을 가져오고, 행을 순회하면서 `name`이 `"dash"`인지 확인합니다. 조건이 맞으면 `col3` 값을 읽어 `"100"`인지 비교하고, 해당 값일 때만 `_EditorService:DataSetSetCell`을 사용해 `col1`을 `"50"`으로 변경합니다. ```lua local data = _DataService:GetTable("CustomEditorData") local rowCount = data:GetRowCount() for i = 1, rowCount do [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | `_DataService`를 사용하여 "CustomEditorData" 테이블의 모든 행을 순회하며 각 행의 "name", "col1", "col2", "col3" 값을 로그에 출력하는 스크립트를 작성해줘 [answer] | `_DataService`의 `GetTable` 메서드로 테이블을 가져오고, `GetRowCount`로 행 수를 확인한 뒤 `for` 루프로 순회하며 각 컬럼 값을 로그에 출력하는 스크립트는 다음과 같습니다. ```lua Method: [server only] void OnBeginPlay() { local data = _DataService:GetTable("CustomEditorData") local rowCount = data:GetRowCount() for i = 1, rowCount do [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | two_turn [pass] | ⏳ 미판정 [title] | 배지 등록하기 [question] | 배지의 5가지 상태(미출시, 획득 대기, 획득 가능, 획득 불가, 제제 중) 중 월드에서 실제 획득이 가능한 상태는 무엇이며, 메이커 테스트 환경과 실제 월드 환경에서의 획득 가능 조건 차이가 어떻게 되나요? [answer] | 월드에서 실제로 배지를 획득할 수 있는 상태는 **획득 가능** 상태뿐입니다. 메이커 테스트 환경과 실제 월드 환경에서의 획득 가능 조건 차이는 다음과 같습니다. 1. **메이커 테스트 환경**: 배지의 상태(미출시, 획득 대기, 획득 가능, 획득 불가, 제제 중)와 무관하게 **모든 상태에서 획득**할 수 있습니다. 2. **실제 월드 환경**: 배지의 상태가 반드시 **획득 가능**이어야만 획득이 가능합니다. 참고로 각 상태에 따른 상세 조건은 다음과 같습니다. * **미출시**: 판매 기간이 되어도 노출되지 않으며 [followup] | 획득 기간이 설정된 '획득 가능' 상태의 배지를 획득하는 시나리오에서, 기간 종료 시점의 처리 방식과 '획득 대기' 상태에서 시작일 도달 시 자동 변경되는 로직에 대한 예외 상황이 있나요? [followup_answer] | 제공된 참고 문서에는 획득 기간 종료 시점의 구체적인 처리 방식(예: 진행 중인 획득 작업의 중단 여부, 보상 지급 유무 등)이나 '획득 대기' 상태에서 시작일 도달 시 자동 변경되는 로직의 예외 상황에 대한 설명이 없습니다. 문서에서 확인할 수 있는 내용은 다음과 같습니다. 1. **획득 가능 상태 (기간 설정 시)**: 획득 기간을 설정한 경우, **해당 기간에만** 배지를 획득할 수 있습니다. 2. **획득 대기 상태**: 획득 기간의 시작일 이전에 등록이 완료된 상태로, **시작일에 맞춰 자동으로** '획득 가능' 상 [scores] | [judge_reason] | [source_doc] | 배지의 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 획득할 수 있습니다. 월드에서 실제로 획득하기 위해서는 배지의 상태가 **획득 가능**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 배지 페이지나 클라이언트 내에서도 노출되지 않고 획득도 불가합니다. 플레이어가 보유한 배지도 리스트에서 확인이 불가합니다.| | 획득 대기 | 획득 기간의 시작일 이전에 등록이 완료된 상태로 시작일에 맞춰 자동으로 획득 가

[task] | two_turn [pass] | ⏳ 미판정 [title] | 패키지의 활용 [question] | 네이티브 모델을 확장해서 만든 모델을 패키지로 내보내면 안 되는 이유는 무엇인가요? [answer] | 네이티브 모델을 직접 확장하여 만든 모델을 패키지로 내보낼 수 없는 이유는, 패키지를 다른 월드로 불러올 때 모든 정보를 완벽하게 복원할 수 없기 때문입니다. 구체적인 과정은 다음과 같습니다. 1. 원본 월드에서 네이티브 모델에 새로운 컴포넌트(예: ComponentA)를 추가하고, 이를 기반으로 확장된 모델B를 만들었다고 가정합니다. 2. 이 모델B는 확장 과정에서 ComponentA를 상속받게 됩니다. 3. 그러나 모델B를 다른 월드로 패키지로 불러올 때, 새 월드에는 ComponentA가 포함된 해당 네이티브 모델이 존재하지 [followup] | 네이티브 모델 씬에 배치해 편집한 뒤 Create Model From Entity로 만들 경우와 네이티브 모델을 직접 확장한 경우의 패키지 내보내기 가능 여부가 어떻게 다른가요? [followup_answer] | 네이티브 모델 씬에 배치해 편집한 뒤 `Create Model From Entity`로 모델을 만든 경우와 네이티브 모델을 직접 확장한 경우의 패키지 내보내기 가능 여부는 다음과 같이 다릅니다. **1. 네이티브 모델을 직접 확장한 경우** * **내보내기 가능 여부:** 불가 * **이유:** 네이티브 모델 자체에 새로운 컴포넌트를 추가하거나 그 모델을 확장한 경우, 패키지로 내보낼 수 없습니다. 다른 월드로 불러올 때 모든 정보(예: 추가된 컴포넌트)를 완벽하게 복원할 수 없기 때문입니다. 새 월드에는 해당 컴포넌트가 [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드에서 제공하는 **네이티브 스크립트와 네이티브 모델**은 패키지로 내보낼 수 없습니다. 네이티브 모델 자체에 새로운 컴포넌트를 추가한 경우, 그 네이티브 모델을 확장한 경우 또한 패키지로 내보낼 수 없습니다. 패키지를 불러올 때 모든 정보를 불러올 수 없기 때문입니다. 예를 들어 네이티브 모델에 ComponentA를 추가하고 이를 확장한 모델을 만들었다고 생각해 봅시다. 이 확장한 모델은 ComponentA를 상속받게 됩니다. 모델B를 다른 월드에서 불러올 때 새로운 월드에는 ComponentA가 포함된 네이티브

[task] | code [pass] | ⏳ 미판정 [title] | 패키지의 활용 [question] | 제공된 문서에는 패키지의 내보내기/가져오기 제한 사항, 확장 엔트리의 처리 방식, Import Package 절차, 그리고 가져오기 상태 아이콘의 의미를 설명하는 **에디터(UI) 작업 가이드**만 포함되어 있으며, 실제 mLua 스크립트 컴포넌트, 메서드, 이벤트 핸들러 또는 서비스 API에 대한 기술적 정보가 전혀 없습니다. [answer] | 제공된 문서에는 패키지의 내보내기/가져오기 제한 사항, 확장 엔트리의 처리 방식, Import Package 절차, 그리고 가져오기 상태 아이콘의 의미를 설명하는 **에디터(UI) 작업 가이드**만 포함되어 있으며, 실제 mLua 스크립트 컴포넌트, 메서드, 이벤트 핸들러 또는 서비스 API에 대한 기술적 정보가 전혀 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드에서 제공하는 **네이티브 스크립트와 네이티브 모델**은 패키지로 내보낼 수 없습니다. 네이티브 모델 자체에 새로운 컴포넌트를 추가한 경우, 그 네이티브 모델을 확장한 경우 또한 패키지로 내보낼 수 없습니다. 패키지를 불러올 때 모든 정보를 불러올 수 없기 때문입니다. 예를 들어 네이티브 모델에 ComponentA를 추가하고 이를 확장한 모델을 만들었다고 생각해 봅시다. 이 확장한 모델은 ComponentA를 상속받게 됩니다. 모델B를 다른 월드에서 불러올 때 새로운 월드에는 ComponentA가 포함된 네이티브

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | ButtonClickEditorEvent 핸들러에서 _EditorService:DeleteSelectedEntity()를 호출하여 에디터에서 버튼을 누르면 현재 선택된 엔티티가 삭제되도록 하는 스크립트를 작성해줘. [answer] | 에디터 서비스는 실제 플레이 상태가 아니므로 `OnBeginPlay()`나 `OnUpdate()`와 같은 라이프사이클 메서드를 사용하지 않고, 에디터에서 발생하는 이벤트를 기반으로 스크립트를 작성해야 합니다. 요청하신 **ButtonClickEditorEvent** 핸들러에서 `_EditorService:DeleteSelectedEntity()`를 호출하는 예제입니다. ```lua Event Handler: [self] HandleButtonClickEditorEvent(ButtonClickEditorEvent event) { [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 버튼 클릭 시 에디터 상에 엔티티를 스폰하여 배치할 수도 있습니다. 에디터 상태에서 버튼을 클릭할 때마다 오브젝트를 스폰하는 예시입니다. ```lua Event Handler: [self] HandleButtonClickEvent(ButtonClickEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: ButtonComponent -- Space: Client --------------------------

[task] | single_turn [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | 헤어 아이템을 제작할 때 권장되는 최대 크기는 얼마이며, 어떤 기준을 기준으로 측정해야 하나요? [answer] | 헤어 아이템을 제작할 때 권장되는 최대 크기는 **120x120**입니다. 이 크기는 아바타의 **발**을 기준으로 측정해야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 헤어 제작 방법을 알아봅시다. 기본 헤어의 색상을 변경하거나, 새롭게 그릴 수 있습니다. 헤어는 복잡한 구조로 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | ScreenTouchEditorEvent 핸들러에서 event.Position 값을 읽어 _EditorService:CreateSelectedModel(event.Position)을 호출함으로써, 에디터 화면의 클릭 위치에 현재 선택된 모델이 배치되도록 하는 스크립트를 작성해줘. [answer] | 에디터 서비스의 `ScreenTouchEditorEvent` 핸들러에서 `event.Position`을 읽어 현재 선택된 모델을 그 위치에 배치하는 스크립트는 다음과 같습니다. 참고 문서에 따르면 `ScreenTouchEditorEvent`는 마우스로 클릭한 위치 정보를 확인하기 위한 이벤트로, 에디터 서비스의 이벤트 중 하나로 분류됩니다. 또한 `_EditorService:CreateSelectedModel(position)` 함수는 선택된 모델을 지정된 위치에 생성하는 데 사용됩니다. ```lua Event Handler: [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 버튼 클릭 시 에디터 상에 엔티티를 스폰하여 배치할 수도 있습니다. 에디터 상태에서 버튼을 클릭할 때마다 오브젝트를 스폰하는 예시입니다. ```lua Event Handler: [self] HandleButtonClickEvent(ButtonClickEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: ButtonComponent -- Space: Client --------------------------

[task] | single_turn [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | 헤어 제작 시트에서 레이어 이름을 임의로 변경하거나 삭제했을 때 발생하는 결과는 무엇인가요? [answer] | 헤어 제작 시트에서 모든 레이어의 이름을 수정하거나 삭제하면 아이템을 제작할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 헤어 제작 방법을 알아봅시다. 기본 헤어의 색상을 변경하거나, 새롭게 그릴 수 있습니다. 헤어는 복잡한 구조로 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile

[task] | single_turn [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | DataService:GetTable()로 데이터를 불러와 읽는 방법은 EditorService와 동일하지만, 값을 저장할 때 왜 EditorService의 API를 별도로 사용해야 하나요? [answer] | `DataService`는 기본적으로 데이터셋에 접근하여 값을 **읽기(Read)** 하는 용도로 사용됩니다. 하지만 `DataService`만으로는 테이블의 구조나 내용을 변경(추가, 삭제, 수정)하는 기능을 제공하지 않습니다. 값을 저장하거나 데이터셋을 변경하려면 **`EditorService`**의 전용 API를 사용해야 하는 이유는 다음과 같습니다: 1. **쓰기 권한 분리:** `DataService`는 읽기 전용 접근을 담당하며, 실제 데이터 변경 작업은 에디터 환경의 상태를 관리하는 `EditorService`가 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SpawnService**를 이용해 엔티티 배치하거나 프로퍼티 값을 수정해 변경된 값을 저장할 수 있습니다. 프로퍼티의 값을 수정 및 제어할 수 있다는 의미는 많은 정보를 수정할 수 있다는 의미를 내포하나, 복잡한 정보를 저장하기에는 충분하지 않을 수 있습니다. **EditorService**는 데이터에 접근하여 값을 읽고 쓸 수 있는 기능을 제공합니다.아래와 같이 데이터를 구성했다고 가정해보겠습니다. dash의 col3 컬럼의 값을 가져오기 위해 아래와 같이 작성해 활용할 수 있습니다. ```lua local data

[task] | code [pass] | ⏳ 미판정 [title] | 패키지의 활용 [question] | 따라서 요청하신 **mLua 코딩 과제 4개**는 생성할 수 없습니다. [answer] | 제시된 참고 문서에는 mLua 코딩 과제나 특정 코드를 작성하는 내용이 포함되어 있지 않습니다. 문서의 내용은 오직 **메이플스토리 월드에서 패키지의 내보내기/가져오기 제한 사항**과 **네이티브 모델/스크립트의 패키지 호환성**에 대한 설명만 담고 있습니다. 따라서 요청하신 mLua 코딩 과제 4개는 생성할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드에서 제공하는 **네이티브 스크립트와 네이티브 모델**은 패키지로 내보낼 수 없습니다. 네이티브 모델 자체에 새로운 컴포넌트를 추가한 경우, 그 네이티브 모델을 확장한 경우 또한 패키지로 내보낼 수 없습니다. 패키지를 불러올 때 모든 정보를 불러올 수 없기 때문입니다. 예를 들어 네이티브 모델에 ComponentA를 추가하고 이를 확장한 모델을 만들었다고 생각해 봅시다. 이 확장한 모델은 ComponentA를 상속받게 됩니다. 모델B를 다른 월드에서 불러올 때 새로운 월드에는 ComponentA가 포함된 네이티브

[task] | code [pass] | ⏳ 미판정 [title] | 배지 등록하기 [question] | 따라서 요청하신 형식의 과제를 0개 생성합니다. [answer] | 제시된 참고 문서에는 '배지 등록하기'에 대한 내용만 포함되어 있으며, '요청하신 형식의 과제'나 과제 생성과 관련된 정보, API, 절차가 전혀 언급되어 있지 않습니다. 따라서 문서에 없는 정보나 API를 지어낼 수 없어, 해당 요청에 따른 과제를 생성하거나 답변할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 배지는 크리에이터가 설정한 특정 미션을 달성할 때 이용자가 획득할 수 있는 업적을 의미합니다. 배지는 유저의 달성 목표를 보여주기 위해 사용하거나, 수집 욕구를 촉발해 월드를 끊임없이 즐길 수 있게 만드는 용도로 사용합니다. # 배지 등록하기 배지를 등록하는 방법은 두 가지입니다. 메이플스토리 월드 [공식 홈페이지](https://maplestoryworlds.nexon.com/) 혹은 메이커 내에서 등록이 가능합니다. 등록 화면과 절차는 동일하므로 크리에이터가 선호하는 곳에서 배지를 등록할 수 있습니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | case2.front_proneStab 폴더는 어떤 자세의 헤어를 위해 제공되며, 하위에 어떤 특수한 레이어가 존재하나요? [answer] | `case2.front_proneStab` 폴더는 아바타가 **엎드려 있을 때(전방 숙신 자세)** 의 헤어 작업을 위해 제공됩니다. 이 폴더 하위에는 **보라색 레이어**가 존재합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 헤어 제작 방법을 알아봅시다. 기본 헤어의 색상을 변경하거나, 새롭게 그릴 수 있습니다. 헤어는 복잡한 구조로 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | NoCap과 WithCap 폴더의 차이점과 각 폴더에 포함된 핵심 레이어 이름을 2행의 표로 정리하세요. [answer] | | 폴더 | 핵심 레이어 이름 | | :--- | :--- | | NoCap | `edithere:front_hairOverHead_31` | | WithCap | `edithere:front_hair_35` | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. NoCap 폴더 헤어의 앞모습을 그릴 레이어와 모자 샘플을 포함한 폴더입니다. [모자 만들기](/docs?postId=592) vslot의 3번 유형에 해당하는 모자 샘플입니다. * **guide_cap_samples**: 기본 헤어로 머리 모양이 변하지 않는 모자 샘플이 포함되어 있습니다. * **edithere:front_hairOverHead_31**: 헤어의 앞모습을 그릴 수 있는 레이어입니다. 2. WithCap 폴더 모자를 썼을 때 눌리는 헤어의 앞모습을 그릴 레이어와 해당하는 종류의 모자 샘플들이

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 등록하기 [question] | 배지를 등록했는데 월드에서 획득이 안 되는데, 메이커 테스트에서는 되던데 무엇이 다른가요? [answer] | 메이커에서 테스트할 때는 배지의 상태와 관계없이 항상 획득이 가능하도록 처리되어 있습니다. 그러나 실제 월드에서는 배지의 상태가 **획득 가능** 상태일 때만 획득이 가능합니다. 따라서 월드에서 획득이 안 되는 이유는 배지 상태가 '획득 가능'이 아닐 가능성이 높습니다. 배지 상태는 다음과 같이 구분되므로, 배지 관리 화면에서 해당 배지의 상태를 확인해 보세요. 1. **미출시**: 출시 여부를 '미출시'로 설정한 상태입니다. 이 상태에서는 판매 기간이 되어도 배지가 노출되지 않고 획득도 불가합니다. 2. **획득 대기**: 획 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지의 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 획득할 수 있습니다. 월드에서 실제로 획득하기 위해서는 배지의 상태가 **획득 가능**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 배지 페이지나 클라이언트 내에서도 노출되지 않고 획득도 불가합니다. 플레이어가 보유한 배지도 리스트에서 확인이 불가합니다.| | 획득 대기 | 획득 기간의 시작일 이전에 등록이 완료된 상태로 시작일에 맞춰 자동으로 획득 가

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | NoCap 모드와 WithCap 모드에서 제공되는 모자 샘플의 차이를 3문장 이내로 설명하세요. [answer] | NoCap 모드의 `guide_cap_samples`는 기본 헤어로 머리 모양이 변하지 않는 vslot 3번 유형 모자 샘플을 포함합니다. 반면 WithCap 모드의 `guide_cap_samples`는 헤어를 누르는 vslot 1, 2번 유형 모자 샘플을 제공합니다. 따라서 WithCap 모드에서는 모자에 눌린 뒷모습 헤어를 위해 Wide와 Narrow 레이어를 별도로 작업해야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. NoCap 헤어의 뒷모습을 그릴 수 있는 레이어와 모자 샘플이 포함되어 있습니다. [모자 만들기](/docs?postId=592) vslot의 3번 유형에 해당하는 모자 샘플입니다. * **guide_cap_samples**: 기본 헤어로 머리 모양이 변하지 않는 모자 샘플이 포함되어 있습니다. * **edithere:back_backHair_91**: 헤어의 뒷모습을 그릴 수 있는 레이어입니다. 앞모습에서는 별도의 레이어에 그린 긴 머리를 함께 그려야합니다 2. WithCap 모자를 썼을 때 눌리는 헤어의

[task] | code [pass] | ⏳ 미판정 [title] | 에디터 서비스의 활용 [question] | WorldLoadEditorEvent 핸들러에서 _EditorService:SetSelectedModel("100001")을 호출하고, EnterEditorEvent 핸들러에서 _EditorService:CreateSelectedModel(Vector2(5, 5))를 실행하여 에디터 진입 시 특정 좌표에 모델이 스폰되도록 하는 스크립트를 작성해줘. [answer] | 요청하신 기능은 에디터 상태에서만 동작하며, 실제 게임 플레이가 아니기 때문에 `OnBeginPlay()`나 `OnUpdate()` 같은 생명주기 메서드를 사용하지 않습니다. 대신 에디터 서비스의 이벤트를 기반으로 작성해야 합니다. `WorldLoadEditorEvent`는 에디터 실행 후 월드를 로드하는 과정에서 1회만 실행되므로, 스폰할 모델 ID를 미리 설정하는 초기화 단계에 적합합니다. `EnterEditorEvent`는 에디터 최초 진입 시와 테스트 플레이 종료 시마다 반복적으로 호출되므로, 실제 모델 스폰 동작을 수행하 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 버튼 클릭 시 에디터 상에 엔티티를 스폰하여 배치할 수도 있습니다. 에디터 상태에서 버튼을 클릭할 때마다 오브젝트를 스폰하는 예시입니다. ```lua Event Handler: [self] HandleButtonClickEvent(ButtonClickEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: ButtonComponent -- Space: Client --------------------------

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 헤어 만들기 [question] | 헤어 제작 시트의 회색 레이어와 노란색 레이어의 용도를 구분하여 표로 정리해서 출력하세요. [answer] | 헤어 제작 시트의 회색 레이어와 노란색 레이어 용도는 다음과 같습니다. | 구분 | 용도 및 내용 | | :--- | :--- | | **회색 레이어** | **잠겨 있는 레이어로, 수정할 필요가 없습니다.**<br>• **data 폴더**: 아이템을 데이터화하는 데 필요한 폴더입니다.<br> - `data:origin`: 데이터 중심을 빨간색 점으로 표시<br> - `data:type:Hair`: 데이터 종류(Hair)를 표시<br> - `data:vslot:~`: 모자에서만 사용되는 vslot 개념<br> - `data [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 헤어 제작 방법을 알아봅시다. 기본 헤어의 색상을 변경하거나, 새롭게 그릴 수 있습니다. 헤어는 복잡한 구조로 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile

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