← 목록

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

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

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | `OnBeginPlay`에서 `_WorldShopService:SetProcessPurchaseCallback`에 커스텀 처리 함수를 등록하고, 해당 함수 내에서 `purchaseInfo` 인자의 `UserId`를 사용해 사용자를 조회하는 서버 전용 초기화 스크립트를 작성해줘. [answer] | 요청하신 대로 `_WorldShopService:SetProcessPurchaseCallback`을 통해 구매 처리 함수를 등록하고, 해당 함수 내에서 `purchaseInfo.UserId`를 기반으로 사용자를 조회하는 서버 전용 스크립트입니다. ```lua Method: [server only] void OnBeginPlay() { _WorldShopService:SetProcessPurchaseCallback(self.ProcessPurchase) } [server only] boolean ProcessPurchase [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **MyShopLogic**에 포션 상품 구매에 성공하는 경우 포션 100개를 얻을 수 있도록 아래와 같이 입력합니다. `WorldShopService:SetProcessPurchaseCallback`을 활용해 상품 구매가 발생했을 때 상품을 지급합니다. 상품을 지급이 성공하면 true를, 실패하면 false를 반환해야 합니다. ```lua Method: [server only] void OnBeginPlay() { _WorldShopService:SetProcessPurchaseCallback(self.ProcessPu

[task] | code [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | UserService 와 BadgeService 를 활용하여 레벨 10 이상의 유저가 '/maps/map01/palace' 위치에 닿았을 때만 '왕궁 입구 도착' 배지를 지급하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `BadgeService`의 구체적인 메서드(예: 배지 지급 함수), `UserService`의 레벨 확인 메서드, 또는 특정 좌표/위치 도달 감지 API에 대한 설명이 포함되어 있지 않습니다. 문서에는 `BadgeService`를 통해 등록된 배지를 활용할 수 있고, 획득 시 8초간 알림창이 표시된다는 사실과 `UserService`의 `UserEnterEvent`, `UserLeaveEvent`, `UserDisconnectEvent` 이벤트 핸들러 예제만 제시되어 있습니다. 따라서 요청하신 "레벨 10 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 배지를 웹에서 등록하고, `BadgeService`를 활용해 특정 오브젝트에 닿았을 때 배지를 획득하게 만들어 봅시다. 출시하지 않은 월드에서는 배지를 출시하더라도, 실제로 획득할 수 없음을 유념하세요. # BadgeService 등록한 배지는 배지 서비스를 통해 활용할 수 있습니다. 배지를 획득한 유저에게는 획득 알림창이 8초 동안 나타나며 배지의 정보가 보입니다. 만약 여러 배지를 연속으로 획득한 경우 알림창은 획득한 순서대로 나타납니다. # 활용 예시 다른 등급의 배지 3개를 등록하고, 특정 장소에

[task] | code [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | TimerService 와 BadgeService 를 활용하여 스크립트 시작 후 5초 뒤에 '왕궁 입구 도착' 배지를 자동 지급하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `BadgeService`의 구체적인 메서드(예: 배지를 지급하는 함수 이름)나 `TimerService`를 통해 특정 시간 후 배지를 지급하는 예제 코드가 포함되어 있지 않습니다. 참고 문서에는 `BadgeService`를 통해 배지를 획득하면 알림창이 8초간 표시된다는 내용과, `TimerService:SetTimerOnce`를 사용하여 함수를 일정 시간 후에 실행하는 예시(카메라 줌 관련)만 제시되어 있습니다. `BadgeService`의 실제 지급 API(예: `GiveBadge`, `AwardBadg [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 배지를 웹에서 등록하고, `BadgeService`를 활용해 특정 오브젝트에 닿았을 때 배지를 획득하게 만들어 봅시다. 출시하지 않은 월드에서는 배지를 출시하더라도, 실제로 획득할 수 없음을 유념하세요. # BadgeService 등록한 배지는 배지 서비스를 통해 활용할 수 있습니다. 배지를 획득한 유저에게는 획득 알림창이 8초 동안 나타나며 배지의 정보가 보입니다. 만약 여러 배지를 연속으로 획득한 경우 알림창은 획득한 순서대로 나타납니다. # 활용 예시 다른 등급의 배지 3개를 등록하고, 특정 장소에

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | PlayerReward 컴포넌트의 OnSyncProperty 메서드에서 self.Entity가 _UserService.LocalPlayer가 아닌 경우 즉시 return하도록 하고, name이 "Potion"일 때만 PotionValue.Text를 업데이트하는 클라이언트 전용 동기화 처리 로직을 작성해줘 [answer] | 요청하신 PlayerReward 컴포넌트의 클라이언트 전용 동기화 처리 로직은 다음과 같습니다. ```lua Method: [client only] void OnSyncProperty(string name, any value) { if self.Entity ~= _UserService.LocalPlayer then return end if name == "Potion" then self.PotionValue.Text = value end } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품이 구매한 유저에게 반영될 수 있도록 만들어 봅시다. 1. 새로운 **PlayerReward** 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 아래와 같이 프로퍼티를 추가합니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] number Potion= 0 [None] TextCompone

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | `PlayerGetBadge` 컴포넌트에서 배지 지급 성공 시 클라이언트로 이벤트를 전송하는 로직을 단계별 번호 목록으로 정리하세요. [answer] | `PlayerGetBadge` 컴포넌트에서 배지 지급 성공 시 클라이언트로 이벤트를 전송하는 로직은 다음과 같습니다. 1. 서버에서 `GetBadge(string BadgeID)` 메서드가 실행됩니다. 2. 현재 엔티티에 연결된 플레이어의 UserId를 `self.Entity.PlayerComponent.UserId`로 확인합니다. 3. `_BadgeService:AwardBadgeAndWait(awardingUserId, badgeId)`를 호출하여 배지 지급을 시도합니다. 4. 배지 지급이 성공적으로 완료되면(함수가 t [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 특정 장소를 지나가는 플레이어에게 배지를 지급해봅시다. 1. 플레이어 캐릭터가 배지를 획득할 장소 역할을 할 오브젝트를 골라 월드에 배치합니다. 2. 오브젝트에 **TriggerComponent**를 추가합니다. 3. Workspace - MyDesk에 새로운 **SendBadgeInfo 컴포넌트**를 생성하고, 배지를 획득하는 장소 오브젝트에 추가합니다. 4. 스크립트 에디터를 열어 **SendBadgeInfo 컴포넌트**에 배지 ID를 확인하기 위한 프로퍼티를 추가합니다. ```lua Property:

[task] | single_turn [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | OnSyncProperty 이벤트 핸들러에서 클라이언트와 서버의 동기화 상태를 확인하는 if self.Entity ~= _UserService.LocalPlayer then return end 구문이 왜 필요한가요? [answer] | `if self.Entity ~= _UserService.LocalPlayer then return end` 구문이 필요한 이유는 **동기화(Sync) 속성 값이 변경되었을 때, 해당 값을 화면에 반영할 필요가 있는 대상이 '나(로컬 플레이어)'만 있기 때문**입니다. 구체적인 이유는 다음과 같습니다: 1. **Sync 속성의 동작 원리**: `[Sync]` 프로퍼티(예: `Potion`, `HasPass`)는 서버에서 값이 변경되면, 해당 엔티티를 관찰하고 있는 모든 클라이언트(다른 유저 포함)로 값이 전송됩니다. 즉 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품이 구매한 유저에게 반영될 수 있도록 만들어 봅시다. 1. 새로운 **PlayerReward** 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 아래와 같이 프로퍼티를 추가합니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] number Potion= 0 [None] TextCompone

[task] | two_turn [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | `ShopOpenEvent`를 통해 상점 UI가 열릴 때마다 상품 정보를 갱신하는 구조는 어떻게 작동하나요? [answer] | `ShopOpenEvent`를 활용한 상품 정보 갱신 구조는 **이벤트 발생 → 이벤트 수신 → 데이터 조회 → UI 갱신**의 4단계 프로세스로 작동합니다. 1. **이벤트 정의 및 발생**: * 먼저 `MyDesk`에서 `Create EventType`를 통해 `ShopOpenEvent`라는 커스텀 이벤트 타입을 생성합니다. * 상점 UI를 여는 버튼(예: `ShopOpenBtn`)에 이 `ShopOpenEvent`를 연결하거나, 버튼 클릭 시 해당 이벤트가 발생하도록 설정합니다. 2. **이벤트 수 [followup] | `HandleShopOpenEvent`에서 `RefreshShop`을 호출할 때 `self.Entity:GetChildByName`이 실패하거나 UI가 초기화되지 않은 경우를 방지하기 위해 어떤 예외 처리 또는 상태 확인 코드를 작성해야 하나요? [followup_answer] | 참고 문서에 명시된 `RefreshShop` 메서드와 관련 코드 예제에는 `GetChildByName` 실패 시나 UI 미초기화 상태에 대한 예외 처리(Null 체크, pcall 등)가 포함되어 있지 않습니다. 문서에서는 단순히 `self.Entity:GetChildByName("ItemName").TextComponent`를 호출하고 그 결과의 `.Text`에 값을 대입하는 방식으로만 작성되어 있으며, 자식 엔티티가 존재하지 않거나 텍스트 컴포넌트가 없는 경우의 방어적 코딩이나 에러 핸들링에 대한 지침은 제공되지 않습니다. 따 [scores] | [judge_reason] | [source_doc] | 상품 구매에 성공했을 때 포션 개수와 이용권 보유 여부를 확인할 수 있는 ui를 만들어봅시다. 1. **UI 에디터 - DefaultGroup - MyPotionInfo** 이미지 엔티티를 배치합니다. 2. 하위에 이미지와 텍스트 엔티티를 배치하고, 아래의 그림처럼 이름을 변경합니다. #### 상품 정보를 구매창에 불러오기 1. 새로운 **ItemSlot** 스크립트 컴포넌트를 생성하고 **Item, Pass UI엔티티**에 추가합니다. 2. **ItemSlot** 컴포넌트 스크립트 에디터 창을 열고, 프로퍼티를 추가합니다.

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | `ShopOpenEvent`를 수신할 때 `MyPotionInfo` 하위 `ItemName` 텍스트와 `PassStatus` 텍스트를 초기화하고, `WorldShopService`를 통해 현재 상품 ID에 해당하는 상품의 이름과 이용권 보유 여부를 확인하여 UI에 반영하는 `ItemSlot` 스크립트를 작성해줘. [answer] | `ShopOpenEvent`를 수신했을 때 `ItemName`과 `PassStatus` 텍스트를 초기화하고, `WorldShopService`의 `GetProductAndWait` 메서드를 통해 상품 정보를 조회하여 UI에 반영하는 `ItemSlot` 스크립트는 다음과 같습니다. 참고 문서에 따르면 `WorldShopService` API 중 상품 이름(Name)을 조회하는 `GetProductAndWait`는 존재하지만, **이용권 보유 여부(Pass Status)를 확인하기 위한 구체적인 API 명세는 문서에 제공되지 않았습니 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 구매에 성공했을 때 포션 개수와 이용권 보유 여부를 확인할 수 있는 ui를 만들어봅시다. 1. **UI 에디터 - DefaultGroup - MyPotionInfo** 이미지 엔티티를 배치합니다. 2. 하위에 이미지와 텍스트 엔티티를 배치하고, 아래의 그림처럼 이름을 변경합니다. #### 상품 정보를 구매창에 불러오기 1. 새로운 **ItemSlot** 스크립트 컴포넌트를 생성하고 **Item, Pass UI엔티티**에 추가합니다. 2. **ItemSlot** 컴포넌트 스크립트 에디터 창을 열고, 프로퍼티를 추가합니다.

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 확률 정보 공개 [question] | 확률형 아이템의 3가지 기본 종류와 4가지 추가 확인 필요 유형을 각각 한 줄씩 설명하여 총 7줄로 나열하세요. [answer] | 1. 캡슐형 확률형 아이템: 구매 또는 사용 시 제공되는 다른 아이템의 종류, 등급, 성능 등이 우연적 요소에 의해 결정되는 아이템입니다. 2. 강화형 확률형 아이템: 구매 또는 사용 시 기존 아이템의 종류, 등급, 성능을 변화시키는 결과가 우연적 요소에 의해 결정되는 아이템입니다. 3. 합성형 확률형 아이템: 유상 구매한 아이템과 다른 아이템을 결합하여 획득하는 과정에서 최종 아이템의 종류, 등급, 성능이 우연적 요소에 의해 결정되는 아이템입니다. 4. 제공되는 총수 또는 기간이 한정된 확률형 아이템: 아이템의 제공 수량이나 기간 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 확률 정보 공개란? 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. * 메이플스토리 월드의 확률 정보 공개 가이드는 ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한이 적용될 수 있습니다. # 확률 정보 공개 대상 및 방법 아래 항목에 해당할 경우 확률형 아이템 정보 공개 대상이 될 수 있으며, 자세한 확률 정보 공개 대상 및

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | `WorldShopService:PromptPurchase(self.ItemID)` 호출 후 구매 성공 시 `_WorldShopService:GetProductAndWait(self.ItemID)`로 상품 정보를 조회하고, 텍스트 컴포넌트에 상품 이름과 포션 개수(보유 수량)를 갱신하는 `ItemSlot` 스크립트를 작성해줘. [answer] | 제공된 참고 문서에는 `WorldShopService` API 중 `PromptPurchase`와 `GetProductAndWait`가 언급되어 있습니다. 하지만 **`GetProductAndWait` 함수의 반환값 구조(포션 개수/보유 수량을 가져오는 필드명)에 대한 정보가 문서에 없습니다.** 문서에서 확인 가능한 정보는 다음과 같습니다. 1. `GetProductAndWait(self.ItemID)` 호출 시 반환값을 `SearchResult`로 받습니다. 2. `SearchResult.Name`을 통해 상품 이름을 가져올 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 구매에 성공했을 때 포션 개수와 이용권 보유 여부를 확인할 수 있는 ui를 만들어봅시다. 1. **UI 에디터 - DefaultGroup - MyPotionInfo** 이미지 엔티티를 배치합니다. 2. 하위에 이미지와 텍스트 엔티티를 배치하고, 아래의 그림처럼 이름을 변경합니다. #### 상품 정보를 구매창에 불러오기 1. 새로운 **ItemSlot** 스크립트 컴포넌트를 생성하고 **Item, Pass UI엔티티**에 추가합니다. 2. **ItemSlot** 컴포넌트 스크립트 에디터 창을 열고, 프로퍼티를 추가합니다.

[task] | two_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | `_BadgeService:GetBadgeInfoAsync`를 사용하여 비동기적으로 조회한 `badgeInfo`의 `Name`과 `Description`을 TextComponent에 반영하는 `BadgeCheck` 메서드의 구체적인 코드 작성 예시를 보여주세요. [answer] | `_BadgeService:GetBadgeInfoAsync`를 통해 비동기적으로 배지 정보를 조회하고, 콜백 함수에서 받은 `badgeInfo`의 `Name`과 `Description`을 각각 `TextComponent`에 반영하는 `BadgeCheck` 메서드의 예시는 다음과 같습니다. ```lua Method: [client only] void BadgeCheck() { local callBack = function(badgeId, badgeInfo) if badgeInfo ~= nil then [followup] | `badgeInfo`가 `nil`일 경우를 처리하는 방어적 코드가 누락된 문제와, `UserHasBadgeAndWait` 호출 전 `GetBadgeInfoAsync` 콜백이 실행되지 않아 UI가 비어 보이는 시점 문제를 해결하기 위한 코드 수정안을 요청합니다. [followup_answer] | 참고 문서에 제시된 원본 코드에는 `badgeInfo`가 `nil`일 경우 텍스트를 초기화하거나 에러 메시지를 표시하는 로직이 없으며, `_BadgeService:GetBadgeInfoAsync`의 콜백이 비동기로 실행되는 동안 `UserHasBadgeAndWait`의 동기적 처리 결과는 즉시 반영되어도 배지 이름과 설명은 콜백 완료 시점까지 비어 있는 시점 차이가 존재합니다. 문서에서 확인할 수 있는 API와 구조를 기반으로, `badgeInfo`가 `nil`인 경우를 방어적으로 처리하고 UI 텍스트를 초기 상태로 리셋하는 수정 [scores] | [judge_reason] | [source_doc] | 1. 새로운 **BadgeSlot 컴포넌트**를 생성하고 **BadgeSlot_01**에 추가합니다. 2. 획득한 배지의 이름, 소유 정보, 설명을 가져올 수 있도록 프로퍼티를 추가합니다. ```lua Property: [None] string BadgeId = "" -- 조회할 배지 ID [None] TextComponent BadgeTitle = nil -- 배지 이름 [None] TextComponent Hasbadge = nil -- 배지 소유 정보 [Non

[task] | two_turn [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | `MiniShop` UI를 `UIEmpty`와 `Item` 엔티티로 구성하고, `SpriteGUIRendererComponent`의 `ImageRUID`에 상품 RUID를 연결하는 과정과, 상점 버튼 토글 스크립트 예시를 보여 주세요. [answer] | `MiniShop` UI 구성과 상점 버튼 토글 스크립트는 다음과 같이 진행합니다. ### 1. 상품 구매창 UI 만들기 1. **UI 에디터**에서 `DefaultGroup`을 선택한 뒤 `Create Entity` > `Create UIEmpty`를 선택해 배치합니다. 2. 생성한 엔티티의 이름을 **MiniShop**으로 변경합니다. 3. 새로운 **Item 엔티티**를 생성하여 `MiniShop` 엔티티의 하위에 배치합니다. 4. 텍스트와 이미지를 활용해 상품 구매창을 구성합니다. 5. **World Shop Viewer* [followup] | `OpenShop` 메서드에서 `Shop:SetEnable` 호출 시 에러가 발생하거나 UI가 반응하지 않는 예외 상황은 무엇이며, 엔티티 경로(`/ui/DefaultGroup/MiniShop`)가 잘못되었을 때 확인해야 할 디버깅 방법은 무엇인가요? [followup_answer] | 제공된 참고 문서에는 `OpenShop` 메서드에서 `Shop:SetEnable` 호출 시 발생하는 구체적인 에러 유형, UI가 반응하지 않는 예외 상황, 또는 엔티티 경로 오류 시 적용할 디버깅 방법에 대한 설명이 포함되어 있지 않습니다. 문서에서는 `OpenShop` 메서드가 `_EntityService:GetEntityByPath("/ui/DefaultGroup/MiniShop")`을 통해 엔티티를 가져오고, `Shop.Enable` 상태에 따라 `SetEnable(true/false)`를 호출하는 코드의 구조만 제시하고 있 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `WorldShopService`를 활용해 웹에서 등록한 아이템, 이용권을 구매할 수 있게 만들어봅시다. 출시하지 않은 월드에서는 상품을 출시하더라도, 실제로 판매할 수 없음을 유념하세요. # WorldShopService 등록한 상품을 월드에서 활용할 때는 `WorldShopService`를 활용해야 합니다. 구매 성공한 유저는 크리에이터가 제공한 상품을 지급 받아야 합니다. # 활용 예시 아이템과 이용권을 등록합니다. 아이템을 구매하면 즉시 포션 수를 100으로 증가시키고, 이용권을 구매한 뒤 공격을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 확률 정보 공개 [question] | 확률 정보 공개 의무 발생 조건과 대상 아이템 정의 관계를 3단계 번호 목록으로 정리하세요. [answer] | 1. **확률 정보 공개 의무 발생 조건**: 메이플스토리 월드의 크리에이터가 창작한 아이템 내에 확률형 아이템을 제공하는 경우, 해당 아이템 사용 전 사용자에게 확률 정보를 고지해야 할 의무가 발생합니다. 2. **확률형 아이템의 기본 정의**: 플레이어가 직접적·간접적으로 유상으로 구매하는 아이템 중 구체적 종류, 효과 및 성능 등이 우연적 요소에 의하여 결정되는 것을 확률형 아이템으로 정의합니다. 3. **확률 정보 공개 대상 아이템 유형**: - 캡슐형 확률형 아이템: 구매 또는 사용 시 다른 아이템을 제공하며, 제공 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 확률 정보 공개란? 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. * 메이플스토리 월드의 확률 정보 공개 가이드는 ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한이 적용될 수 있습니다. # 확률 정보 공개 대상 및 방법 아래 항목에 해당할 경우 확률형 아이템 정보 공개 대상이 될 수 있으며, 자세한 확률 정보 공개 대상 및

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | 배지 이미지를 UI에 표시하기 위해 BadgeViewer에서 복사한 RUID를 어디에 붙여넣어야 하며, 어떤 컴포넌트의 프로퍼티를 설정해야 하나요? [answer] | 배지 이미지를 UI에 표시하려면, **배지 이미지를 보여줄 이미지 엔티티**를 선택한 후 **SpriteGUIRendererComponent**의 **ImageRUID** 프로퍼티에 복사한 RUID를 붙여넣어야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 '배지보기'에서 '닫기'로 바뀌게 만들어봅시다. 1. **UI 에디터 - DefaultGroup - BadgeOpenBtn** 버튼을 배치합니다. 2. 프로퍼티 에디터에서 TextComponent를 추가하고, **Text**에 **배지 보기**를 입력합니다. 3. 새로운 **BadgeOpenBtn 컴포넌트**를 생성하고, **BadgeOpenBtn**에 추가합니다. 4. 버튼을 클릭할 때 발생하는 ButtonClickEvent를 받아서 BadgeLayer 엔티티의 E

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | `PurchaseBtn`의 `ButtonClickEvent` 연결 시 `WorldShopService:PromptPurchase()`를 실행하고, 구매 완료 후 `GetProductAndWait`로 최신 보유 수량을 조회해 해당 값을 `ItemName` 텍스트에 표시하는 `ItemSlot` 스크립트를 작성해줘. [answer] | `PurchaseBtn`의 `ButtonClickEvent`에 연결하여 구매를 요청하고, 구매 완료 후 `GetProductAndWait`를 통해 상품 정보를 조회해 `ItemName` 텍스트에 이름을 표시하는 `ItemSlot` 스크립트입니다. 참고 문서에 명시된 API와 구조를 기반으로 작성했습니다. `GetProductAndWait`는 비동기(또는 대기) 방식으로 결과를 반환하므로, 콜백 함수 또는 await 문법을 사용하여 결과를 처리해야 합니다. 주어진 예제 코드에서는 `local SearchResult = _WorldS [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 구매에 성공했을 때 포션 개수와 이용권 보유 여부를 확인할 수 있는 ui를 만들어봅시다. 1. **UI 에디터 - DefaultGroup - MyPotionInfo** 이미지 엔티티를 배치합니다. 2. 하위에 이미지와 텍스트 엔티티를 배치하고, 아래의 그림처럼 이름을 변경합니다. #### 상품 정보를 구매창에 불러오기 1. 새로운 **ItemSlot** 스크립트 컴포넌트를 생성하고 **Item, Pass UI엔티티**에 추가합니다. 2. **ItemSlot** 컴포넌트 스크립트 에디터 창을 열고, 프로퍼티를 추가합니다.

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | 배지 획득 확인창 UI를 만들 때 BadgeSlot_01 하위에 다른 UI 엔티티를 반드시 넣어두어야 한다는 Tip의 이유는 무엇인가요? [answer] | 제공된 문서에는 "BadgeSlot_01 하위에 다른 UI 엔티티를 넣어두어야 한다"는 Tip이 명시되어 있지만, **그 이유에 대한 설명은 포함되어 있지 않습니다.** 따라서 해당 Tip의 구체적인 이유를 설명해 드릴 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 '배지보기'에서 '닫기'로 바뀌게 만들어봅시다. 1. **UI 에디터 - DefaultGroup - BadgeOpenBtn** 버튼을 배치합니다. 2. 프로퍼티 에디터에서 TextComponent를 추가하고, **Text**에 **배지 보기**를 입력합니다. 3. 새로운 **BadgeOpenBtn 컴포넌트**를 생성하고, **BadgeOpenBtn**에 추가합니다. 4. 버튼을 클릭할 때 발생하는 ButtonClickEvent를 받아서 BadgeLayer 엔티티의 E

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | 배지 획득 확인창을 여닫을 때 버튼 텍스트를 '배지 보기'와 '닫기'로 자동 전환하려면 어떤 이벤트 핸들러를 사용해야 하나요? [answer] | 버튼 클릭 시 발생하는 `ButtonClickEvent`를 처리하는 이벤트 핸들러를 사용합니다. 해당 핸들러 내에서 배지 확인창(`BadgeLayer`)의 `Enable` 상태를 확인하여, 비활성 상태라면 활성화하고 버튼 텍스트를 "닫기"로 변경하며, 활성화 상태라면 비활성화하고 텍스트를 "배지 보기"로 변경하는 로직을 작성합니다. 아래는 이 기능을 구현하는 mLua 스크립트입니다. ```lua Event Handler: [self] HandleButtonClickEvent(ButtonClickEvent event) { [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 '배지보기'에서 '닫기'로 바뀌게 만들어봅시다. 1. **UI 에디터 - DefaultGroup - BadgeOpenBtn** 버튼을 배치합니다. 2. 프로퍼티 에디터에서 TextComponent를 추가하고, **Text**에 **배지 보기**를 입력합니다. 3. 새로운 **BadgeOpenBtn 컴포넌트**를 생성하고, **BadgeOpenBtn**에 추가합니다. 4. 버튼을 클릭할 때 발생하는 ButtonClickEvent를 받아서 BadgeLayer 엔티티의 E

[task] | two_turn [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | World Shop Service를 활용해 상품 구매 성공 시 포션 개수와 이용권 보유 여부를 확인하는 UI를 어떻게 구성해야 하나요? [answer] | World Shop Service를 활용해 상품 구매 성공 시 포션 개수와 이용권 보유 여부를 확인하는 UI를 구성하려면, UI 엔티티 배치, 스크립트 컴포넌트 생성 및 서비스 API 연동 단계를 거쳐야 합니다. ### 1. UI 엔티티 구성 UI 에디터에서 `DefaultGroup` 안에 `MyPotionInfo`라는 이름의 이미지 엔티티를 배치합니다. 이 엔티티 하위에 포션과 이용권(패스) 정보를 표시할 이미지 및 텍스트 엔티티를 추가하고, 이름을 명확하게 지정(예: `Item`, `Pass`, `ItemName` 등)합니다. [followup] | `GetProductAndWait`로 정보를 불러오는 `RefreshShop` 메서드에서 상품 이름 외에 가격이나 상세 설명도 함께 표시하려면 어떤 프로퍼티와 코드를 추가해야 하나요? [followup_answer] | 제공된 참고 문서에는 `_WorldShopService:GetProductAndWait(self.ItemID)` 호출 결과인 `SearchResult` 객체에서 `Name` 프로퍼티만 접근하는 예제가 명시되어 있습니다. 문서에는 `SearchResult`에 가격이나 상세 설명을 나타내는 다른 프로퍼티(예: `Price`, `Description` 등)가 존재하는지, 또는 이러한 값을 UI에 표시하기 위한 추가적인 코드 예제가 포함되어 있지 않습니다. 따라서 제공된 문서의 범위 내에서는 상품 이름(`Name`) 외의 가격이나 상세 [scores] | [judge_reason] | [source_doc] | 상품 구매에 성공했을 때 포션 개수와 이용권 보유 여부를 확인할 수 있는 ui를 만들어봅시다. 1. **UI 에디터 - DefaultGroup - MyPotionInfo** 이미지 엔티티를 배치합니다. 2. 하위에 이미지와 텍스트 엔티티를 배치하고, 아래의 그림처럼 이름을 변경합니다. #### 상품 정보를 구매창에 불러오기 1. 새로운 **ItemSlot** 스크립트 컴포넌트를 생성하고 **Item, Pass UI엔티티**에 추가합니다. 2. **ItemSlot** 컴포넌트 스크립트 에디터 창을 열고, 프로퍼티를 추가합니다.

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | PlayerReward 컴포넌트의 이벤트 핸들러에서 ActionName이 "Attack"일 때만 실행되도록 조건을 걸고, HasPass가 true일 경우에만 GetPotion 메서드를 호출하여 포션 15개를 추가 지급하는 스크립트를 작성해줘 [answer] | PlayerReward 컴포넌트에서 공격 액션이 발동될 때 이용권 보유 여부를 확인하고, 조건이 충족되면 포션을 지급하는 로직은 `HandlePlayerActionEvent` 이벤트 핸들러를 통해 구현할 수 있습니다. 요청하신 조건(`ActionName`이 "Attack"이고, `HasPass`가 `true`일 때만 `GetPotion` 호출)을 만족하는 mLua 스크립트는 다음과 같습니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotion [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품이 구매한 유저에게 반영될 수 있도록 만들어 봅시다. 1. 새로운 **PlayerReward** 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 아래와 같이 프로퍼티를 추가합니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] number Potion= 0 [None] TextCompone

[task] | code [pass] | ⏳ 미판정 [title] | 상품 관리하기 [question] | _UserService, _EntityService, _SpawnService, _TimerService 를 사용하여 월드에 진입한 유저의 상품 구매 상태(미출시, 판매 대기, 판매 중, 판매 종료, 제재 중)를 조회하고, 판매 중 상태의 상품만 월드 내 UI에 노출하며 구매 가능 여부를 판단하는 스크립트를 작성해줘 [answer] | 참고 문서에 명시된 정보에 따르면, `UserService`, `EntityService`, `SpawnService`, `TimerService`는 유저 엔티티 생성, 엔티티 조회/생성, 타이머 설정 등에 사용되는 서비스이며, 상품 상태(미출시, 판매 대기, 판매 중, 판매 종료, 제재 중)를 직접 조회하거나 변경하는 API는 문서에 존재하지 않습니다. 특히, **월드(출시된 월드) 환경에서는 '미출시' 상태의 상품을 조회할 수 없고**, '판매 대기', '판매 중', '판매 종료' 상태의 상품만 조회 가능하며, 이 중 **'판 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드 숍 뷰어의 활용 방법과 상품 상태별 기능 제한에 대해 알아봅시다. # World Shop Viewer 메이커에서 상품을 등록하고, 관리할 수 있는 창입니다. 등록한 상품 종류에 따라 각 폴더에 자동으로 분류됩니다. 주요 콘텍스트 메뉴는 아래와 같습니다. | 이름 | 설명 | | --- | --- | | Copy Item ID | 등록한 상품의 ID를 복사합니다. | | Copy Item Thumbnail RUID | 등록한 상품의 섬네일 RUID를 복사합니다. | | Create New Item

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | 배지 ID를 Badge Viewer에서 복사해 BadgeInfo 프로퍼티에 붙여넣을 때, 잘못된 ID를 입력하거나 공백이 포함되면 어떤 오류나 비정상 동작이 예상되는지? [answer] | 제공된 문서에는 `Badge Viewer`에서 복사한 배지 ID를 `BadgeInfo` 프로퍼티에 입력할 때 **잘못된 ID**나 **공백**이 포함된 경우 발생하는 구체적인 오류 메시지, 예외 처리 로직, 또는 비정상 동작에 대한 내용이 언급되어 있지 않습니다. 문서는 단순히 "Copy Badge ID를 선택하고... 복사한 ID를 붙여 넣는다"는 절차만 설명하고 있을 뿐, 잘못된 입력값에 대한 방어적 코드나 오류 발생 시나리오는 다루지 않습니다. 따라서 참고 문서의 근거만으로는 잘못된 ID 또는 공백 입력 시의 오류나 비정상 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 특정 장소를 지나가는 플레이어에게 배지를 지급해봅시다. 1. 플레이어 캐릭터가 배지를 획득할 장소 역할을 할 오브젝트를 골라 월드에 배치합니다. 2. 오브젝트에 **TriggerComponent**를 추가합니다. 3. Workspace - MyDesk에 새로운 **SendBadgeInfo 컴포넌트**를 생성하고, 배지를 획득하는 장소 오브젝트에 추가합니다. 4. 스크립트 에디터를 열어 **SendBadgeInfo 컴포넌트**에 배지 ID를 확인하기 위한 프로퍼티를 추가합니다. ```lua Property:

[task] | code [pass] | ⏳ 미판정 [title] | 상품 관리하기 [question] | _WorldShopService (가정) 또는 관련 상품 조회 API 를 사용하여 상품 ID를 입력받으면 해당 상품의 현재 상태(미출시, 판매 대기, 판매 중, 판매 종료, 제재 중)에 따라 실제 구매 가능 여부와 테스트 구매 가능 여부를 반환하는 유틸리티 메서드를 포함하는 스크립트를 작성해줘 [answer] | 참고 문서에 `_WorldShopService`의 특정 상품 ID를 통해 해당 상품의 **상태(Status)** 를 직접 조회하여 반환하는 API(예: `GetProductStatus(productId)` 등)는 존재하지 않습니다. 문서에 명시된 `_WorldShopService`의 API는 다음과 같습니다: 1. `GetProductsAndWait(WorldShopProductType, WorldShopProductStatus)`: 상품 종류와 **검색할 상태**를 인자로 받아, 해당 상태에 맞는 상품 목록을 페이지 단위로 반환 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드 숍 뷰어의 활용 방법과 상품 상태별 기능 제한에 대해 알아봅시다. # World Shop Viewer 메이커에서 상품을 등록하고, 관리할 수 있는 창입니다. 등록한 상품 종류에 따라 각 폴더에 자동으로 분류됩니다. 주요 콘텍스트 메뉴는 아래와 같습니다. | 이름 | 설명 | | --- | --- | | Copy Item ID | 등록한 상품의 ID를 복사합니다. | | Copy Item Thumbnail RUID | 등록한 상품의 섬네일 RUID를 복사합니다. | | Create New Item

[task] | code [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | PlayerReward 컴포넌트와 _WorldShopService를 활용해 포션 구매 시 Potion 프로퍼티를 증가시키고, 클라이언트에서 OnSyncProperty를 통해 UI 텍스트를 갱신하는 스크립트를 작성해줘 [answer] | 요청하신 `PlayerReward` 컴포넌트 스크립트는 아래처럼 작성합니다. 1. **Property** 블록: * UI 텍스트를 표시할 `TextComponent` 레퍼런스를 `[None]`으로 선언합니다. * 서버와 클라이언트 간 동기화가 필요한 `Potion` 값은 `[Sync]`로 선언합니다. 2. **Method** 블록: * `GetPoint` 메서드를 통해 `Potion` 값을 증가시킵니다. * `OnSyncProperty` 메서드를 `[client only]`으로 지정하 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품이 구매한 유저에게 반영될 수 있도록 만들어 봅시다. 1. 새로운 **PlayerReward** 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 아래와 같이 프로퍼티를 추가합니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] number Potion= 0 [None] TextCompone

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 확률 정보 공개 [question] | 3문장 이내로 고지 확률 일치 여부와 확률 고지 기간 준수 여부를 위반했을 때 발생할 수 있는 결과를 설명해 주세요. [answer] | 고지 확률 일치 여부 또는 확률 고지 기간 준수 여부를 위반할 경우, 해당 준수사항 및 해설서에 안내된 항목 위반으로 간주됩니다. 이로 인해 최대 월드 이용 제한이 적용될 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내

[task] | two_turn [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | 포션 아이템 구매 시 UI에 값을 갱신하는 로직을 작성해 주세요. [answer] | 포션 아이템 구매 시 UI 값을 갱신하는 로직은 `PlayerReward` 컴포넌트를 기반으로 작성할 수 있습니다. 이 로직은 서버에서 포션 수량을 증가시키고, 클라이언트에서 해당 값의 동기화를 감지하여 UI 텍스트를 업데이트하는 방식으로 동작합니다. 아래는 포션 구매 시 UI 갱신을 위한 `PlayerReward` 컴포넌트 스크립트입니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] numbe [followup] | 3번 단계 `GetPoint` 메서드에서 `Value` 변수가 정의되지 않은 오류를 수정하고, `OnSyncProperty`에서 `Potion` 값이 변경될 때 `PotionValue` 텍스트를 올바르게 갱신하는 코드를 보여 주세요. [followup_answer] | 참고 문서 3번 단계의 `GetPoint` 메서드에서 매개변수 이름은 `value`(소문자)로 선언되어 있지만, 본문에서는 `Value`(대문자)를 참조하고 있어 오류가 발생합니다. mLua(Lua 5.3)는 대소문자를 구분하므로, 매개변수 이름과 참조 이름이 일치하도록 수정해야 합니다. 또한, `OnSyncProperty`에서 `Potion` 값이 변경될 때 `PotionValue` 텍스트를 올바르게 갱신하기 위해서는 동기화된 값(`value`)을 텍스트 컴포넌트에 직접 대입해야 합니다. 수정된 `GetPoint` 메서드와 ` [scores] | [judge_reason] | [source_doc] | 상품이 구매한 유저에게 반영될 수 있도록 만들어 봅시다. 1. 새로운 **PlayerReward** 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 아래와 같이 프로퍼티를 추가합니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] number Potion= 0 [None] TextCompone

[task] | two_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | HandleTriggerEnterEvent에서 TriggerBodyEntity.SendBadgeInfo가 존재하는지 확인하는 조건 분기는 왜 필요한지? [answer] | `HandleTriggerEnterEvent`에서 `TriggerBodyEntity.SendBadgeInfo`가 존재하는지 확인하는 조건 분기는 **오류 방지를 위한 방어적 프로그래밍**이 필요합니다. **이유:** `TriggerComponent`는 해당 트리거 영역에 진입하는 **모든 엔티티**(플레이어, 다른 NPC, 오브젝트 등)를 감지합니다. `SendBadgeInfo` 컴포넌트가 장착된 것은 배지 지급용 장소 오브젝트뿐입니다. 다른 엔티티(예: 트리거 영역에 들어온 다른 일반 오브젝트)는 `SendBadgeInfo` 프 [followup] | TriggerBodyEntity에 SendBadgeInfo 컴포넌트가 없는 경우(예: 다른 일반 오브젝트일 때) 발생하는 예외 상황이나 오류를 방지하기 위한 구체적인 코드 처리 방식을 알려주세요. [followup_answer] | `TriggerBodyEntity`에 `SendBadgeInfo` 컴포넌트가 없는 경우(예: 트리거 영역에 들어온 다른 일반 오브젝트, NPC, 또는 배지 지급용이 아닌 오브젝트)를 방지하기 위한 구체적인 코드 처리 방식은 **nil 체크 조건문**을 사용하는 것입니다. `SendBadgeInfo`가 없는 엔티티에서 `TriggerBodyEntity.SendBadgeInfo.BadgeInfo`에 직접 접근하면 nil 참조 오류가 발생하여 스크립트가 중단됩니다. 이를 방지하기 위해 `if TriggerBodyEntity.SendBa [scores] | [judge_reason] | [source_doc] | 특정 장소를 지나가는 플레이어에게 배지를 지급해봅시다. 1. 플레이어 캐릭터가 배지를 획득할 장소 역할을 할 오브젝트를 골라 월드에 배치합니다. 2. 오브젝트에 **TriggerComponent**를 추가합니다. 3. Workspace - MyDesk에 새로운 **SendBadgeInfo 컴포넌트**를 생성하고, 배지를 획득하는 장소 오브젝트에 추가합니다. 4. 스크립트 에디터를 열어 **SendBadgeInfo 컴포넌트**에 배지 ID를 확인하기 위한 프로퍼티를 추가합니다. ```lua Property:

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배지 서비스 활용하기 [question] | BadgeLayer 엔티티의 Enable 상태를 확인하는 코드에서 self.Entity.TextComponent.Text를 수정할 때, 왜 self를 통해 접근해야 하는지 설명해 주세요. [answer] | `self`를 통해 `Entity.TextComponent.Text`에 접근하는 이유는 스크립트가 부착된 엔티티(이 경우 `BadgeOpenBtn`)의 컴포넌트에 직접 참조하기 위해서입니다. mLua에서 `self`는 현재 스크립트 컴포넌트가 속한 엔티티를 가리키는 참조입니다. 따라서 `self.Entity`는 버튼 자체를, `self.Entity.TextComponent`는 그 버튼에 붙어 있는 텍스트 컴포넌트를 의미합니다. 이 방식으로 코드를 작성하면, 스크립트가 어떤 버튼에 붙어있든 해당 버튼의 텍스트를 정확히 수정할 수 있 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 배지 획득 확인창을 여는 버튼을 만들고, 버튼을 누르면 '배지보기'에서 '닫기'로 바뀌게 만들어봅시다. 1. **UI 에디터 - DefaultGroup - BadgeOpenBtn** 버튼을 배치합니다. 2. 프로퍼티 에디터에서 TextComponent를 추가하고, **Text**에 **배지 보기**를 입력합니다. 3. 새로운 **BadgeOpenBtn 컴포넌트**를 생성하고, **BadgeOpenBtn**에 추가합니다. 4. 버튼을 클릭할 때 발생하는 ButtonClickEvent를 받아서 BadgeLayer 엔티티의 E

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 확률 정보 공개 [question] | 표로 정리해서 확률형 아이템의 표시 방법 준수 여부를 3가지 기준으로 분류해 주세요. [answer] | 확률형 아이템의 **표시 방법 준수 여부**는 다음 3가지 기준으로 분류할 수 있습니다. | 구분 | 준수 기준 | | :--- | :--- | | **1. 백분율 표시** | 확률 정보를 백분율(%)로 표시했는가? | | **2. 소수점 반올림** | 확률 표기가 최초로 0 이외의 숫자가 나오는 자리보다 **네 자리 이상 낮은 소수점 자리**에서 반올림하여 표시했는가? | | **3. 대체 표시 방법** | 개별 확률 안내가 어려운 경우, 분수 등 플레이어가 쉽게 이해하고 이용할 수 있는 방법으로 표시했는가? | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공함에 있어 아래의 내용을 모두 준수하였는지 확인해주시기 바랍니다. 본 준수사항 및 이외 해설서에 안내되어 있는 항목을 위반하는 경우 최대 월드 이용 제한이 적용될 수 있습니다. | 분류 |내용 | | --- | --- | | 표시 방법 준수 여부 | <ul><li>확률 정보를 백분율로 표시하였는가?</li><li>확률 표기는 최초로 0 이외의 숫자가 나오는 자리보다 네 자리 이상 낮은 소수점 자리에서 반올림하여 표시하였는가?</li><li>개별 확률 안내

[task] | single_turn [pass] | ⏳ 미판정 [title] | 확률 정보 공개 [question] | 확률 정보 공개 가이드를 위반했을 때 적용되는 제재의 가장 심각한 수준은 무엇인가요? [answer] | 확률 정보 공개 가이드를 위반했을 때 적용되는 가장 심각한 제재는 **최대 월드 이용 제한**입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 확률 정보 공개란? 메이플스토리 월드의 모든 크리에이터는 창작한 아이템 내 확률형 아이템을 제공하는 경우 확률 정보 공개 가이드에 따라 아이템 사용 전 사용자에게 고지해야 할 의무가 있습니다. * 메이플스토리 월드의 확률 정보 공개 가이드는 ‘확률형 아이템 확률 정보공개 관련 해설서’의 내용을 따릅니다. 해당 해설서의 내용을 따르지 않을 경우 최대 월드 이용 제한이 적용될 수 있습니다. # 확률 정보 공개 대상 및 방법 아래 항목에 해당할 경우 확률형 아이템 정보 공개 대상이 될 수 있으며, 자세한 확률 정보 공개 대상 및

[task] | single_turn [pass] | ⏳ 미판정 [title] | 월드 숍 서비스 활용하기 [question] | 포션 구매 시 GetPoint 메서드에서 self.Potion = self.Potion + Value 로 작성했는데, 실제 코드 예제에서는 GetPotion(15)처럼 호출하는 것과 메서드 이름이 다른데 어떤 것이 올바른 방식인가요? [answer] | 참고 문서에 제시된 코드 예제에는 **명백한 오타(타이포)** 가 포함되어 있으며, 실제 동작하는 올바른 방식은 **호출하는 메서드 이름과 정의된 메서드 이름이 일치해야 하는 것**입니다. 문서 내 코드 분석 결과: 1. **정의된 메서드:** `void GetPoint(number value)` 2. **호출하는 메서드:** `self:GetPotion(15)` (5단계 공격 이벤트 핸들러에서) 3. **메서드 내부 변수 참조 오류:** `GetPoint` 내부에서 매개변수 이름은 `value`인데, 본문에서는 대문자 `V [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품이 구매한 유저에게 반영될 수 있도록 만들어 봅시다. 1. 새로운 **PlayerReward** 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 아래와 같이 프로퍼티를 추가합니다. ```lua Property: [None] TextComponent PotionValue = /ui/DefaultGroup/MyPotionInfo/PotionValue [Sync] number Potion= 0 [None] TextCompone

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