← 목록

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

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

[task] | instruction_following [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | RigidbodyDetachEvent를 직접 생성하는 코드만 출력하고, 인자값은 주석으로 설명하세요. [answer] | RigidbodyDetachEvent를 직접 생성하는 코드는 다음과 같습니다. ```lua local event = RigidbodyDetachEvent(DetachedEntity) -- 인자: Entity 타입의 DetachedEntity (떼어질 엔티티) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | 리소스 업로드 성공 시점에 유저 ID 와 리소스 식별자를 각각 어떤 프로퍼티에서 가져와야 하나요? [answer] | `ResourceUploadEvent` 이벤트에서 리소스 업로드 성공 시점에 필요한 값은 이벤트 객체의 프로퍼티에서 직접 가져옵니다. * **유저 ID**: `UserId` 프로퍼티에서 가져옵니다. * **리소스 식별자 (RUID)**: `RUID` 프로퍼티에서 가져옵니다. 이벤트 핸들러에서 이를 사용하는 코드는 다음과 같습니다. ```lua Event Handler: [server only] [service: ResourceService] HandleResourceUploadEvent(ResourceUploadEve [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | instruction_following [pass] | ⏳ 미판정 [title] | global [question] | xpcall 함수의 반환값과 pcall 함수와의 차이점을 3문장 이내로 설명하세요. [answer] | 제공된 문서에는 `xpcall` 함수의 반환값에 대한 정보가 포함되어 있지 않습니다. 다만, `xpcall`은 `pcall`과 동일하게 사용되며 새 메시지 핸들러 `msgh`를 설정할 수 있다는 점만 명시되어 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | - **boolean, any... xpcall(func f, func msgh, any... args) [Static]** pcall 함수와 동일하게 사용합니다. 다만, 새 메시지 핸들러 msgh를 설정할 수 있습니다. - **table enum(table table) [Static]** 지정된 테이블의 키와 값을 교환 후 테이블을 반환합니다. - **void wait(number seconds) [Static]** seconds 동안 현재 스크립트의 실행을 중단합니다. - **boolean isvalid(any obj

[task] | code [pass] | ⏳ 미판정 [title] | WorldShopProductStatus [question] | `WorldShopProductStatus.Register` 상태의 상품을 조회하여 등록 진행 중인 상품 목록을 테이블에 저장하는 스크립트를 작성해줘 [answer] | `WorldShopService`의 `GetProductsAndWait` 메서드를 사용하여 상품 종류와 상태를 지정해 상품을 조회할 수 있습니다. `WorldShopProductStatus.Register`는 상품 등록 진행 상태를 나타내며, 이 상태로 조회한 결과들을 테이블에 저장하는 로직은 다음과 같습니다. 참고로 `GetProductsAndWait`의 첫 번째 인자로 상품 종류(`WorldShopProductType`)를 지정해야 하는데, 질문에서 특정 상품 종류(예: 아이템, 스킬 등)를 명시하지 않았으므로 예시에서는 `W [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품의 판매 상태를 나타냅니다. # Members | 이름 | 값 | 설명 | |---|---|---| | Register | 0 | 상품 등록 진행 상태입니다. | | Ing | 1 | 상품 판매 중 상태입니다. | | Waiting | 2 | 상품 판매 대기 상태입니다. | | End | 3 | 상품 판매 종료 상태입니다. | | Deleted | 4 | 상품 삭제 상태입니다. | # Methods - **WorldShopProductStatus CastFrom(number value) [Static]** 숫자를 해당

[task] | two_turn [pass] | ⏳ 미판정 [title] | RectTileCollisionEndEvent [question] | RectTileCollisionEndEvent 이벤트가 발생하는 조건과 해당 이벤트 객체에 포함된 주요 속성들(엔티티, 타일 정보 등)에 대해 설명해 주세요. [answer] | `RectTileCollisionEndEvent`는 엔티티가 타일과 충돌한 상태에서 벗어나는 순간 발생하는 이벤트입니다. 이 이벤트는 `KinematicbodyComponent` 또는 `SideviewbodyComponent`가 사용 중인 엔티티에서 발생하며, 서버(Server)와 클라이언트(Client) 양쪽 공간에서 모두 트리거됩니다. 이벤트 핸들러에서 접근 가능한 `RectTileCollisionEndEvent` 객체에는 다음과 같은 주요 속성들이 포함됩니다. * **Entity**: 타일과 충돌했던 엔티티를 가리킵니다 [followup] | KinematicbodyComponent 와 SideviewbodyComponent 중 특정 컴포넌트를 사용할 때, Server 와 Client 공간에서 이벤트 발생 차이가 있는지, 그리고 TileInfo 속성에서 얻을 수 있는 구체적인 정보는 무엇인지 알려주세요. [followup_answer] | 제공된 문서에 따르면, `KinematicbodyComponent`와 `SideviewbodyComponent` 모두 **Server와 Client 양쪽 공간에서 동일하게** `RectTileCollisionEndEvent`가 발생하도록 설정되어 있습니다. 즉, 특정 컴포넌트를 사용하느냐에 따라 Server/Client 공간에서의 이벤트 발생 여부나 방식에 차이는 없습니다. `TileInfo` 속성에 대해 문서에서는 단순히 **"타일의 상세 정보"**라고만 명시되어 있으며, `RectTileInfo` 타입이 가지는 구체적인 필드( [scores] | [judge_reason] | [source_doc] | 충돌한 타일에서 벗어날 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * KinematicbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * SideviewbodyComponent <img src="https://img.shields.io/stat

[task] | two_turn [pass] | ⏳ 미판정 [title] | UIGroupType [question] | 숫자나 문자열을 UIGroupType으로 변환할 때 CastFrom 메서드의 정적 메서드 두 가지重载(오버로드)는 어떻게 사용하나요? [answer] | `UIGroupType`의 `CastFrom` 메서드는 정적(Static) 메서드로, 숫자나 문자열을 `UIGroupType` 열거형 값으로 변환하는 데 사용됩니다. 두 가지 오버로드(중재)가 제공되며, 인자의 타입에 따라 자동으로 적절한 메서드가 호출됩니다. ### 1. `CastFrom(number value)` 숫자 값을 `UIGroupType`으로 변환합니다. 아래 값이 유효합니다. * `0`: `None` * `1`: `DefaultType` * `2`: `UIType` * `3`: `EditorType` [followup] | UIGroupType.CastFrom(2) 와 UIGroupType.CastFrom("UIType") 호출 시 각각 어떤 값을 반환하며, 잘못된 값(예: 99 또는 "Invalid")을 넣으면 어떻게 처리되나요? [followup_answer] | `UIGroupType.CastFrom` 메서드의 반환값과 잘못된 입력 처리에 대해 설명드리겠습니다. ### 1. 유효한 값의 반환 결과 문서에 정의된 `UIGroupType` 멤버 값을 기준으로, 각 호출은 다음과 같은 값을 반환합니다. * **`UIGroupType.CastFrom(2)`** * 숫자 `2`는 `UIType` 멤버에 해당하므로, **`UIGroupType.UIType`**을 반환합니다. * 이는 "UI 에디터에서 직접 생성한 UIGroup"을 의미합니다. * **`UIGroup [scores] | [judge_reason] | [source_doc] | UI 그룹 타입을 나타냅니다. 크리에이터는 모든 UIGroup의 UIGroupType을 자유롭게 변경할 수 있습니다. # Members | 이름 | 값 | 설명 | |---|---|---| | None | 0 | 현재는 사용되지 않습니다. | | DefaultType | 1 | 기본 UIGroup입니다. 월드 최초 생성 시 자동으로 생성됩니다. DefaultType으로 설정하면 삭제할 수 없습니다. | | UIType | 2 | UI 에디터에서 직접 생성한 UIGroup입니다. | | EditorType | 3 | UI 에디터에

[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | 이벤트 핸들러에서 RUID 를 받았는데 이 값이 nil 로 들어오는 오류 원인은 무엇일까요? [answer] | 제공된 참고 문서에는 `ResourceUploadEvent` 이벤트 핸들러에서 `RUID` 값이 `nil`로 들어오는 구체적인 오류 원인이나 디버깅 방법에 대한 정보가 포함되어 있지 않습니다. 문서에는 다음과 같은 정보만 명시되어 있습니다: 1. `ResourceUploadEvent`는 리소스 업로드가 성공했을 때 발생합니다. 2. 이벤트의 프로퍼티로 `string RUID` (업로드된 리소스의 RUID)와 `string UserId`가 있습니다. 3. 이벤트 핸들러에서 `event.RUID`를 통해 값을 가져올 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | instruction_following [pass] | ⏳ 미판정 [title] | global [question] | isvalid 함수가 확인하는 유효성 상태의 종류를 표로 정리해서 나열하세요. [answer] | `isvalid` 함수는 객체의 내부 상태가 유효한지 확인하는 기능입니다. 이 함수를 통해 확인 가능한 유효성 상태는 다음 두 가지입니다. | 확인 대상 | 설명 | | :--- | :--- | | **nil 여부** | 객체가 `nil` 값인지 확인합니다. | | **삭제 여부** | `Entity` 또는 `Component`가 삭제되었는지 확인합니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | - **boolean, any... xpcall(func f, func msgh, any... args) [Static]** pcall 함수와 동일하게 사용합니다. 다만, 새 메시지 핸들러 msgh를 설정할 수 있습니다. - **table enum(table table) [Static]** 지정된 테이블의 키와 값을 교환 후 테이블을 반환합니다. - **void wait(number seconds) [Static]** seconds 동안 현재 스크립트의 실행을 중단합니다. - **boolean isvalid(any obj

[task] | instruction_following [pass] | ⏳ 미판정 [title] | global [question] | assert 함수가 실패할 때 기본 오류 메시지는 무엇이며, 이 함수는 어떤 조건에서 error를 호출하는지 2문장 이내로 답변하세요. [answer] | v의 값이 false 또는 nil이면 error를 호출하며, 이 경우 기본 오류 메시지는 "assertion failed!"입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # Functions - **any assert(any v, string message = "assertion failed!") [Static]** v의 값이 false 또는 nil이면 error를 호출합니다. 그렇지 않다면 인수 전체를 반환합니다. 오류의 경우 message가 오류 객체가 되며 인수가 없으면 "assertion failed!"을 사용합니다 - **void error(string message, integer level = 1) [Static]** 함수를 종료하고 에러 메시지를 반환합니다. - **any c

[task] | instruction_following [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | RigidbodyDetachEvent에서 Entity 타입의 DetachedEntity 프로퍼티가 포함되는 이유를 3문장 이내로 설명하세요. [answer] | `RigidbodyDetachEvent`는 엔티티가 `RigidbodyComponent:Detach()` 호출로 Attach 상태가 해제될 때 발생하며, 이 이벤트를 수신한 쪽이 어떤 대상이 분리되었는지를 즉시 파악할 수 있도록 하기 위해 `Entity` 타입의 `DetachedEntity` 프로퍼티를 포함합니다. 이 프로퍼티를 통해 개발자는 추가적인 조회 없이 분리된 엔티티의 참조를 바로 얻을 수 있어, 상태 초기화나 후속 로직 처리를 효율적으로 수행할 수 있습니다. 따라서 `DetachedEntity`는 이벤트 컨텍스트 내에 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | MouseMoveEvent [question] | MouseMoveEvent의 MouseDelta 프로퍼티에서 오른쪽으로 마우스를 움직였을 때 값이 양수인지 음수인지 어떻게 구별하나요? [answer] | `MouseMoveEvent`의 `MouseDelta` 프로퍼티는 `Vector2` 타입으로, 마우스의 수평(축 x)과 수직(축 y) 이동량을 나타냅니다. 문서에 명시된 규칙에 따르면, 마우스를 **오른쪽으로** 이동하면 `MouseDelta`의 x 값이 **양수(+)로** 저장됩니다. 반대로 왼쪽으로 이동하면 음수(-)가 됩니다. 이 값을 확인하는 간단한 예제는 다음과 같습니다. ```lua Event Handler: [service: InputService] HandleMouseMoveEvent(MouseMoveEvent [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 마우스가 움직일 때 InputService에서 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * InputService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 MouseDelta** 마우스의 수평, 수직 이동량을 나타냅니다. 오른쪽, 위쪽으

[task] | single_turn [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | RigidbodyDetachEvent가 발생하는 시점은 정확히 언제이며, 플레이어와 일반 엔티티의 발생 공간이 어떻게 다른가요? [answer] | `RigidbodyDetachEvent`는 엔티티가 `RigidbodyComponent:Detach()`를 통해 Attach 상태가 해제될 때 발생합니다. 발생 공간은 엔티티의 종류에 따라 다음과 같이 다릅니다: * **플레이어**: 클라이언트(Client) 공간에서 이벤트가 발생합니다. * **그 외의 엔티티(일반 엔티티)**: 서버(Server) 공간에서 이벤트가 발생합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | ResourceUploadEvent 가 특정 서버에서만 발생한다고 생각했는데 왜 모든 서버에서 트리거되는 건가요? [answer] | `ResourceUploadEvent`는 리소스가 업로드된 월드의 **모든 서버**에서 발생하는 이벤트입니다. 이는 `ResourceService`가 서버 공간(Server)에서 이벤트를 발생시키지만, 해당 리소스(모델, 텍스처 등)가 월드 내 모든 인스턴스(서버)에서 공통적으로 사용되어야 하기 때문입니다. 특정 한 서버에서만 발생하면, 다른 서버에서 해당 리소스를 참조할 때 동기화 문제가 발생할 수 있습니다. 따라서 리소스 업로드 성공 시 월드 전체의 서버에서 동시에 이벤트를 트리거하여 모든 서버가 동일한 리소스 상태를 인지하도 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | instruction_following [pass] | ⏳ 미판정 [title] | global [question] | log, log_warning, log_error 함수의 출력 레벨별 차이를 단계별 번호 목록으로 작성하세요. [answer] | mLua의 글로벌 로그 함수는 출력 레벨에 따라 다음과 같은 차이를 가집니다. 1. **`log(...)`**: 전달된 인수를 `tostring`으로 변환한 값을 **정보(INFO)** 레벨의 로그로 출력합니다. 일반적인 상태나 진행 상황 기록에 사용됩니다. 2. **`log_warning(...)`**: 전달된 인수를 `tostring`으로 변환한 값을 **경고(WARNING)** 레벨의 로그로 출력합니다. 잠재적인 문제나 주의가 필요한 상황을 기록할 때 사용됩니다. 3. **`log_error(...)`**: 전달된 인수를 ` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | - **boolean, any... xpcall(func f, func msgh, any... args) [Static]** pcall 함수와 동일하게 사용합니다. 다만, 새 메시지 핸들러 msgh를 설정할 수 있습니다. - **table enum(table table) [Static]** 지정된 테이블의 키와 값을 교환 후 테이블을 반환합니다. - **void wait(number seconds) [Static]** seconds 동안 현재 스크립트의 실행을 중단합니다. - **boolean isvalid(any obj

[task] | single_turn [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | RigidbodyDetachEvent 핸들러에서 DetachedEntity 프로퍼티를 통해 어떤 정보를 얻을 수 있나요? [answer] | `RigidbodyDetachEvent` 핸들러에서 `DetachedEntity` 프로퍼티를 통해 **떼어진 엔티티(Entity)** 자체를 얻을 수 있습니다. 이 프로퍼티의 타입은 `Entity`이며, 해당 엔티티에 대한 참조를 반환합니다. 이를 통해 떼어진 엔티티의 ID, 이름, 위치, 컴포넌트 접근 등 엔티티 관련 정보를 조회할 수 있습니다. 예시: ```lua Event Handler: [self] HandleRigidbodyDetachEvent (RigidbodyDetachEvent event) { local Deta [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | 스크립트에서 ResourceUploadEvent 를 직접 생성해서 테스트할 때 생성자 인자의 순서와 기본값은 어떻게 되나요? [answer] | `ResourceUploadEvent`를 직접 생성할 때 생성자(Constructors)의 인자 순서와 기본값은 다음과 같습니다. 생성자 시그니처는 `ResourceUploadEvent(string userId = nil, string ruid = nil)` 입니다. 1. **첫 번째 인자**: `userId` * 타입: `string` * 기본값: `nil` * 설명: 리소스를 업로드한 유저의 ID입니다. 2. **두 번째 인자**: `ruid` * 타입: `string` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | single_turn [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | RigidbodyDetachEvent를 직접 생성할 때 생성자 파라미터로 전달할 수 있는 값은 무엇인가요? [answer] | `RigidbodyDetachEvent`를 직접 생성할 때 사용할 수 있는 생성자 파라미터는 다음과 같습니다. **생성자:** `RigidbodyDetachEvent(Entity detachedEntity = nil)` * **파라미터 이름:** `detachedEntity` * **타입:** `Entity` * **설명:** 떼어진 엔티티를 지정합니다. 이 파라미터는 선택 사항이며, 기본값은 `nil`입니다. 예를 들어, 특정 엔티티가 분리되었다고 가정하고 이벤트를 직접 생성하는 경우 다음과 같이 사용할 수 있습니 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

[task] | code [pass] | ⏳ 미판정 [title] | RectTileCollisionBeginEvent [question] | SideviewbodyComponent와 RectTileCollisionBeginEvent를 활용하여 충돌 법선(Normal)의 Y 값이 0보다 클 때(위에서 내려오는 경우)에만 "착지"라고 로그를 출력하는 스크립트를 작성해줘 [answer] | SideviewbodyComponent가 RectTileCollisionBeginEvent를 발생시키므로, 해당 이벤트를 수신하는 Event Handler를 작성합니다. 충돌 지점의 법선 벡터(Normal)의 Y 값이 0보다 큰 경우에만 "착지"라고 로그를 출력하도록 조건문을 추가합니다. ```lua Event Handler: [self] HandleRectTileCollisionBeginEvent(RectTileCollisionBeginEvent event) { --------------- Native Event Send [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌 가능한 타일과 접촉했을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * KinematicbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * SideviewbodyComponent <img src="https://img.shields.io/s

[task] | code [pass] | ⏳ 미판정 [title] | RectTileCollisionEndEvent [question] | RectTileCollisionEndEvent가 발생했을 때 해당 Entity의 위치를 Vector3로 변환하여 텔레포트 하는 스크립트를 작성해줘 [answer] | RectTileCollisionEndEvent는 충돌한 타일에서 벗어날 때 발생하는 이벤트이며, 이벤트 객체에는 충돌한 엔티티(Entity), 충돌 지점의 법선 벡터(Normal), 충돌 지점(Point), 타일 정보(TileInfo), 타일 맵 컴포넌트(TileMap), 타일 위치(TilePosition) 프로퍼티가 포함되어 있습니다. 이벤트 발생 시 `event.Entity`를 통해 해당 엔티티에 접근하고, `event.Entity.TransformComponent.Position`을 조회하여 Vector3 위치를 얻어 텔레포 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌한 타일에서 벗어날 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * KinematicbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * SideviewbodyComponent <img src="https://img.shields.io/stat

[task] | instruction_following [pass] | ⏳ 미판정 [title] | math [question] | math.ult 함수의 동작 방식을 3문장 이내로 요약하세요. [answer] | `math.ult` 함수는 두 정수 인수를 받아 부호 없는 정수(m)가 정수(n)보다 작은지 여부를 확인합니다. 조건이 참이면 `true`, 아니면 `false`를 반환합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # Properties - **integer mininteger [Static]** 정수 중 값이 가장 작은 정수입니다. - **integer maxinteger [Static]** 정수 중 값이 가장 큰 정수입니다. - **number pi [Static]** π 값입니다. - **number huge [Static]** 수가 가장 큰 실수 값입니다. # Functions - **integer ceil(number x) [Static]** x보다 크거나 같은 가장 작은 정수 값을 반환합니다. - **numb

[task] | single_turn [pass] | ⏳ 미판정 [title] | MouseMoveEvent [question] | MouseMoveEvent를 직접 생성할 때 기본값이 Vector2(0, 0)인 경우, 이 이벤트가 발생했다는 신호만 전달하고 이동량은 0으로 처리되나요? [answer] | 네, 맞습니다. `MouseMoveEvent` 생성자에서 `mouseDelta` 인수를 생략하거나 `Vector2(0, 0)`으로 지정하면, 생성된 이벤트 객체의 `MouseDelta` 프로퍼티 값은 `(0, 0)`이 됩니다. 이것은 마우스가 실제로 이동했다는 신호(event 발생)는 전달되지만, 해당 이벤트가 담고 있는 **수평/수직 이동량 데이터는 0**이라는 것을 의미합니다. 따라서 이벤트 핸들러에서 `event.MouseDelta` 값을 참조하여 캐릭터 이동이나 카메라 회전 등을 구현한다면, 이동량 0 때문에 실제 움직임은 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 마우스가 움직일 때 InputService에서 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * InputService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 MouseDelta** 마우스의 수평, 수직 이동량을 나타냅니다. 오른쪽, 위쪽으

[task] | single_turn [pass] | ⏳ 미판정 [title] | MouseMoveEvent [question] | 마우스의 절대 좌표 위치를 얻고 싶을 때 MouseMoveEvent의 MouseDelta만으로는 부족할 수 있는데, 누적 합을 구하는 것이 표준적인 방법인가요? [answer] | 제공된 참고 문서에는 `MouseMoveEvent`의 `MouseDelta` 프로퍼티와 생성자 정보만 포함되어 있으며, 마우스의 **절대 좌표**를 직접 반환하는 API나 프로퍼티에 대한 설명은 없습니다. 또한, 누적 합을 구하는 것이 "표준적인 방법"인지에 대한 명시적인 가이드라인도 문서에 존재하지 않습니다. 따라서 문서 기준으로 볼 때, 마우스의 절대 좌표를 얻기 위해 `MouseDelta`를 누적하는 것이 표준적인지 여부는 확인할 수 없습니다. 다만, 문서에 명시된 `MouseDelta`는 마우스의 **이동량**(수평, 수직 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 마우스가 움직일 때 InputService에서 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * InputService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 MouseDelta** 마우스의 수평, 수직 이동량을 나타냅니다. 오른쪽, 위쪽으

[task] | single_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | ResourceService 의 다른 이벤트들과 ResourceUploadEvent 의 발생 주체나 대상이 어떻게 다른지 알려주세요. [answer] | 제공된 참고 문서에는 `ResourceService`의 `ResourceUploadEvent`에 대한 정보만 포함되어 있습니다. `ResourceService`의 다른 이벤트들(예: 리소스 생성, 삭제, 다운로드 등)에 대한 내용은 문서에 존재하지 않습니다. 따라서 다른 이벤트들과의 비교는 불가능하며, 문서에 근거하여 `ResourceUploadEvent`의 발생 주체와 대상에 대해서만 설명할 수 있습니다. **ResourceUploadEvent** * **발생 주체 (Sender):** `ResourceService` * [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | instruction_following [pass] | ⏳ 미판정 [title] | global [question] | pcall 함수가 반환하는 첫 번째 값과 두 번째 값의 의미 및 오류 발생 시 반환 내용을 표로 정리하세요. [answer] | `pcall` 함수는 주어진 함수를 보호 모드로 호출하여, 함수 내부에서 오류가 발생하더라도 스크립트 전체가 중단되지 않도록 처리합니다. 이 함수는 항상 두 가지 값을 반환하며, 오류 발생 여부에 따라 반환되는 값의 의미가 달라집니다. | 구분 | 첫 번째 반환 값 (상태 코드) | 두 번째 반환 값 | | :--- | :--- | :--- | | **오류 발생 시** | `false` | 오류 메시지 (문자열) | | **오류 없을 시** | `true` | 함수의 결괏값 (함수가 반환한 값) | 즉, `pcall`을 호출한 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # Functions - **any assert(any v, string message = "assertion failed!") [Static]** v의 값이 false 또는 nil이면 error를 호출합니다. 그렇지 않다면 인수 전체를 반환합니다. 오류의 경우 message가 오류 객체가 되며 인수가 없으면 "assertion failed!"을 사용합니다 - **void error(string message, integer level = 1) [Static]** 함수를 종료하고 에러 메시지를 반환합니다. - **any c

[task] | single_turn [pass] | ⏳ 미판정 [title] | MouseMoveEvent [question] | MouseMoveEvent 핸들러 내에서 wait() 함수를 사용해서 마우스 이동에 따른 처리를 지연시킬 수 있는지 궁금합니다. [answer] | 참고 문서에 `MouseMoveEvent` 핸들러 내에서 `wait()` 함수를 사용하는 것에 대한 명시적인 제한 사항이나 허용 여부에 대한 정보는 포함되어 있지 않습니다. 다만, 제공된 mLua 예제 코드들을 살펴보면 `wait()` 함수는 `Method:` 블록 안의 로직(예: `StartPuzzle` 메서드)에서 사용되고 있으며, `Event Handler:` 블록 내부에서는 `wait()`가 직접 호출되는 예시는 없습니다. 일반적인 mLua 구조와 제공된 예제의 패턴을 참고하면, 이벤트 핸들러는 이벤트 발생 시점의 즉각적 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 마우스가 움직일 때 InputService에서 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * InputService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 MouseDelta** 마우스의 수평, 수직 이동량을 나타냅니다. 오른쪽, 위쪽으

[task] | two_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | ResourceUploadEvent를 직접 생성하거나 초기화할 때 사용할 수 있는 컨스트럭터는 무엇인가요? [answer] | `ResourceUploadEvent`를 직접 생성하거나 초기화할 때 사용할 수 있는 컨스트럭터는 다음과 같습니다. ```lua ResourceUploadEvent(string userId = nil, string ruid = nil) ``` * **userId**: 리소스를 업로드한 유저의 ID입니다. (기본값: nil) * **ruid**: 업로드된 리소스의 RUID입니다. (기본값: nil) 이 컨스트럭터는 지정한 값으로 `ResourceUploadEvent` 인스턴스를 초기화하는 데 사용됩니다. [followup] | ResourceUploadEvent(string userId = nil, string ruid = nil) 컨스트럭터를 사용하여 값이 nil인 경우와 지정된 값을 가진 경우의 초기화 코드 예시를 보여주세요. [followup_answer] | `ResourceUploadEvent` 컨스트럭터를 사용하여 초기화하는 코드 예시는 다음과 같습니다. ```lua -- 값이 nil인 경우 (기본값 사용) local event1 = ResourceUploadEvent() -- 지정된 값을 가진 경우 local event2 = ResourceUploadEvent("user_id_123", "resource_uid_456") ``` * `ResourceUploadEvent()`: `userId`와 `ruid`가 모두 `nil`인 상태로 초기화됩니다. * `ResourceU [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | code [pass] | ⏳ 미판정 [title] | RectTileCollisionBeginEvent [question] | KinematicbodyComponent와 RectTileCollisionBeginEvent를 활용하여 타일 접촉 시 특정 타일 위치(TilePosition)에 도달하면 로그를 출력하는 스크립트를 작성해줘 [answer] | KinematicbodyComponent는 Server와 Client 공간 모두에서 `RectTileCollisionBeginEvent`를 발생시킵니다. 타일과 충돌하는 순간 이벤트 핸들러가 호출되며, 이벤트 객체에서 `TilePosition`을 읽어 특정 좌표와 일치하는지 확인하면 됩니다. 아래 스크립트는 `TilePosition`이 `(5, 3)`인 타일에 닿았을 때 로그를 출력하는 예시입니다. ```lua Event Handler: [self] HandleRectTileCollisionBeginEvent(RectTileCo [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌 가능한 타일과 접촉했을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * KinematicbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * SideviewbodyComponent <img src="https://img.shields.io/s

[task] | two_turn [pass] | ⏳ 미판정 [title] | ResourceUploadEvent [question] | ResourceUploadEvent가 발생되는 조건과 이벤트에 포함된 프로퍼티에 대해 알려주세요 [answer] | `ResourceUploadEvent`는 월드 플레이 중 생성된 리소스가 업로드에 성공했을 때 `ResourceService`에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생하며, 실행 공간은 Server입니다. 이벤트에 포함된 프로퍼티는 다음과 같습니다. * **RUID** (`string`): 업로드된 리소스의 RUID입니다. * **UserId** (`string`): 리소스를 업로드한 유저의 ID입니다. ```lua Event Handler: [server only] [ser [followup] | 이 이벤트는 월드 플레이 중 생성된 리소스 업로드 성공 시에만 발생하며, RUID와 UserId 프로퍼티를 포함합니다. [followup_answer] | 네, 정확합니다. `ResourceUploadEvent`는 **월드 플레이 중 생성된 리소스 업로드가 성공했을 때**에만 `ResourceService`에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 **모든 서버**에서 발생하며, 실행 공간은 **Server**입니다. 이벤트에 포함된 프로퍼티는 다음 두 가지입니다: * **RUID** (`string`): 업로드된 리소스의 RUID * **UserId** (`string`): 리소스를 업로드한 유저의 ID [scores] | [judge_reason] | [source_doc] | 월드 플레이 중 생성된 리소스 업로드에 성공했을 때 ResourceService에서 발생하는 이벤트입니다. 이 이벤트는 리소스가 업로드된 월드의 모든 서버에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * ResourceService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties

[task] | single_turn [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | RigidbodyComponent:Detach()를 호출했는데 이벤트가 트리거되지 않는다면 원인이 무엇일 수 있나요? [answer] | `RigidbodyComponent:Detach()`를 호출했을 때 `RigidbodyDetachEvent`가 트리거되지 않는 가장 큰 원인은 **엔티티가 이미 Attach 상태가 아니기 때문**입니다. 문서에 따르면 `RigidbodyDetachEvent`는 엔티티가 `RigidbodyComponent:Detach()`를 통해 **Attach 상태가 해제될 때** 발생하는 이벤트입니다. 즉, 현재 상태가 'Attach'가 아닌 엔티티(이미 Detach된 상태 또는 처음부터 Attach가 아니었던 상태)에 대해 `Detach()` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | RigidbodyDetachEvent [question] | 이 이벤트는 서버와 클라이언트 모두에서 발생한다고 하는데, 특정 공간에서만 이벤트를 처리하려면 어떻게 해야 하나요? [answer] | `RigidbodyDetachEvent`는 플레이어의 경우 클라이언트에서, 그 외 엔티티의 경우 서버에서 발생합니다. 특정 공간(서버 또는 클라이언트)에서만 이벤트를 처리하려면 이벤트 핸들러의 실행 공간 속성을 `[server]` 또는 `[client]`로 지정하면 됩니다. mLua에서 이벤트 핸들러는 `[service: ...]` 또는 `[self]`와 같이 선언되며, 여기에 실행 공간 태그를 추가하여 해당 공간에서만 로직이 실행되도록 제한할 수 있습니다. **서버에서만 처리하는 경우:** ```lua Event Handler [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 엔티티가 RigidbodyComponent:Detach()를 통해 Attach 상태가 해제될 때 발생하는 이벤트입니다. 플레이어는 클라이언트에서 발생하고, 그 외의 엔티티는 서버 공간에서 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * RigidbodyComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다.

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