[task] | diverse_qa [title] | WorldInstanceSharedMemory [category] | Misc [rephrased] | 질문: WorldInstanceMemory와 공유 변수 이름 작명에 사용할 수 있는 문자는 무엇인가요? 답변: 알파벳 대소문자, 숫자, 공백, 그리고 특수문자 _, \, - 만 사용할 수 있습니다. 질문: 공유 변수 이름의 최소 길이와 최대 길이는 각각 몇 글자인가요? 답변: 최소 1글자 이상, 최대 100글자까지 가능합니다. 질문: 한 월드에서 생성할 수 있는 WorldInstanceSharedMemory의 최대 개수는 몇 개인가요? 답변: 한 월드 당 최대 100개까지 생성할 수 있습니다. 질문: 하나의 공유 변수에 저장할 [original] | # 제한 사항 **WorldInstanceService**를 사용할 때는 아래의 제한 사항을 염두에 두고 사용해야 합니다. #### 작명 규칙 WorldInstanceMemory와 공유 변수 이름은 아래 문자로만 작명할 수 있습니다. 최소 1글자 이상의 이름이어야 하며, 최대 100글자 이름일 수 있습니다. * **알파벳 대,소문자** * **숫자** * **공백** * **_, \\, -** #### 수량 및 용량 제한 * 한 월드 당 생성 가능한 WorldInstanceSharedMemory는 최대 **100개**입 [chunk_id] | Misc:1030:3
[task] | wikipedia [title] | MobileShareService [category] | Services [rephrased] | **MobileShareService** `MobileShareService`는 `ScreenshotService`로 촬영한 스크린샷 이미지나 `ScreenRecordService`로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공하는 서비스입니다. 이 서비스는 모바일 기기 환경에서만 사용할 수 있습니다. ### 메서드 `MobileShareService`는 다음과 같은 자체 메서드를 제공합니다. **ShareFileAndWait(string filePath)** 이 메서드는 `[ClientOnly]` 및 `[Yield]` [original] | ScreenshotService로 찍은 이미지나 ScreenRecordService로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다.\n모바일 기기에서만 사용할 수 있습니다. # Methods - **boolean ShareFileAndWait(string filePath) [ClientOnly] [Yield]** filePath 경로에 있는 이미지 또는 영상을 공유합니다. 파일이 없거나 공유에 실패한 경우 false를 반환합니다. ##### inherited from Service: - **EventHandle [chunk_id] | Services:1031:0
[task] | knowledge_list [title] | MobileShareService [category] | Services [rephrased] | * `MobileShareService`는 모바일 기기에서만 사용 가능하며, `ScreenshotService`로 캡처한 이미지나 `ScreenRecordService`로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다. * `boolean ShareFileAndWait(string filePath)` 메서드는 클라이언트에서만 실행되는 `[ClientOnly]` 제약이 있으며, `[Yield]` 속성을 가진 함수입니다. * `ShareFileAndWait` 메서드의 매개변수 `filePath`는 공유할 이미지 또는 [original] | ScreenshotService로 찍은 이미지나 ScreenRecordService로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다.\n모바일 기기에서만 사용할 수 있습니다. # Methods - **boolean ShareFileAndWait(string filePath) [ClientOnly] [Yield]** filePath 경로에 있는 이미지 또는 영상을 공유합니다. 파일이 없거나 공유에 실패한 경우 false를 반환합니다. ##### inherited from Service: - **EventHandle [chunk_id] | Services:1031:0
[task] | diverse_qa [title] | MobileShareService [category] | Services [rephrased] | 질문: MobileShareService는 어떤 기능을 제공합니까? 답변: ScreenshotService로 찍은 이미지나 ScreenRecordService로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다. 질문: MobileShareService는 모든 플랫폼에서 사용할 수 있습니까? 답변: 아니요, 모바일 기기에서만 사용할 수 있습니다. 질문: `ShareFileAndWait` 메서드의 반환 타입은 무엇입니까? 답변: boolean 질문: `ShareFileAndWait` 메서드에서 공유 대상이 될 수 있는 파일 [original] | ScreenshotService로 찍은 이미지나 ScreenRecordService로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다.\n모바일 기기에서만 사용할 수 있습니다. # Methods - **boolean ShareFileAndWait(string filePath) [ClientOnly] [Yield]** filePath 경로에 있는 이미지 또는 영상을 공유합니다. 파일이 없거나 공유에 실패한 경우 false를 반환합니다. ##### inherited from Service: - **EventHandle [chunk_id] | Services:1031:0
[task] | extract_knowledge [title] | MobileShareService [category] | Services [rephrased] | # MobileShareService `MobileShareService`는 모바일 기기에서 `ScreenshotService`로 캡처한 이미지나 `ScreenRecordService`로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다. 이 서비스는 **모바일 기기에서만** 동작합니다. ## API 사용법 `MobileShareService`는 `Service` 기반의 이벤트 연결 메서드(`ConnectEvent`, `DisconnectEvent`, `SendEvent`)를 상속받으며, 핵심 기능은 아래 메서드를 통해 [original] | ScreenshotService로 찍은 이미지나 ScreenRecordService로 녹화한 영상을 소셜 미디어에 공유하는 기능을 제공합니다.\n모바일 기기에서만 사용할 수 있습니다. # Methods - **boolean ShareFileAndWait(string filePath) [ClientOnly] [Yield]** filePath 경로에 있는 이미지 또는 영상을 공유합니다. 파일이 없거나 공유에 실패한 경우 false를 반환합니다. ##### inherited from Service: - **EventHandle [chunk_id] | Services:1031:0
[task] | diverse_qa [title] | RoomService [category] | Services [rephrased] | 질문: `RequestSendEventToAllRoomsAndWait` 메서드가 수행되는 동안 스크립트 실행은 어떻게 되나요? 답변: 수행하는 동안 스크립트 실행을 중단합니다. 질문: `RequestSendEventToAllRoomsAsync` 메서드에서 작업이 완료되면 어떤 인자와 함께 콜백 함수가 호출되나요? 답변: 결과 코드와 이벤트 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. 질문: `RequestSendEventToRoomAndWait` 메서드의 두 번째 매개변수 `targetRoomKey` [original] | 단합니다. - **SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]** 이벤트를 모든 룸에 전송합니다. 수신자는 RoomService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 수행하는 동안 스크립트 실행을 중단합니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **void RequestSen [chunk_id] | Services:1032:1
[task] | extract_knowledge [title] | WorldInstanceSharedMemory [category] | Misc [rephrased] | # WorldInstanceSharedMemory 제한 사항 ## 개념 설명 `WorldInstanceService`를 통해 월드 인스턴스 간 데이터를 공유할 때, 이름 작명 규칙, 데이터 용량, 그리고 호출 빈도에 대한 엄격한 제한이 존재합니다. 이 제한을 준수하지 않으면 서비스 사용에 실패하거나 예기치 않은 오류가 발생할 수 있습니다. ## API 사용법 및 제약 조건 ### 1. 작명 규칙 (Naming Convention) `WorldInstanceMemory` 및 공유 변수 이름은 다음과 같은 조건을 만족해야 합니다. [original] | # 제한 사항 **WorldInstanceService**를 사용할 때는 아래의 제한 사항을 염두에 두고 사용해야 합니다. #### 작명 규칙 WorldInstanceMemory와 공유 변수 이름은 아래 문자로만 작명할 수 있습니다. 최소 1글자 이상의 이름이어야 하며, 최대 100글자 이름일 수 있습니다. * **알파벳 대,소문자** * **숫자** * **공백** * **_, \\, -** #### 수량 및 용량 제한 * 한 월드 당 생성 가능한 WorldInstanceSharedMemory는 최대 **100개**입 [chunk_id] | Misc:1030:3
[task] | knowledge_list [title] | RoomService [category] | Services [rephrased] | RoomService의 `RoomBeginEvent`는 룸이 생성될 때 해당 룸에서 발생하는 이벤트입니다. RoomService의 `RoomEndEvent`는 룸이 파괴될 때 해당 룸에서 발생하는 이벤트입니다. `_RoomService:CreateInstanceRoom(roomKey, mapList)` 메서드는 인스턴스 룸을 생성하며, 매개변수 `roomKey`는 중복되지 않는 식별자 문자열, `mapList`는 `InstanceMap` 속성이 `true`로 지정된 맵 이름 문자열 배열입니다. `_RoomService:CreateI [original] | # Events - **RoomBeginEvent** 룸이 생성될 때 해당 룸에서 발생하는 이벤트입니다. - **RoomEndEvent** 룸이 파괴될 때 해당 룸에서 발생하는 이벤트입니다. # Examples #### 인스턴스 룸 입장 특정 맵들을 사용하는 인스턴스 룸을 생성하고, 인스턴스 룸의 지정한 맵으로 입장하는 예제입니다. ```lua Property: [None] integer GameIdx = "0" Method: [server only] void EnterGame (table userIds) { - [chunk_id] | Services:1032:2
[task] | distill [title] | RoomService [category] | Services [rephrased] | # RoomService ## 이벤트 전송 (Send Event) 모든 전송 메서드에서 `Entity`, `EntityRef`, `Component`, `ComponentRef`를 이벤트에 담아 전송 시 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. ### 전체 룸 대상 - **`SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]`** - 모든 룸에 이벤트 전송. 실행 중 스크립트 중단. - **`void [original] | 단합니다. - **SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]** 이벤트를 모든 룸에 전송합니다. 수신자는 RoomService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 수행하는 동안 스크립트 실행을 중단합니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **void RequestSen [chunk_id] | Services:1032:1
[task] | wikipedia [title] | WorldInstanceSharedMemory [category] | Misc [rephrased] | # WorldInstanceSharedMemory `WorldInstanceSharedMemory`는 서버 측에서 월드 인스턴스 공유 메모리의 변수를 생성, 조회, 수정, 삭제하는 데 사용되는 서비스입니다. 모든 메서드는 `[ServerOnly]` 속성을 가지며, 서버 컨텍스트에서만 호출할 수 있습니다. 각 작업은 동기(Blocking) 방식과 비동기(Async) 방식 두 가지로 제공되며, 동기 방식은 `[Yield]` 속성을 가집니다. ## 동작 방식 * **동기 방식 (`...AndWait`):** 작업이 완료될 때까지 [original] | 다. 이미 있으면 기존 변수들의 값을 수정합니다. 변수 이름과 결과 쌍을 담고 있는 table을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchSetVariableAsync(Dictionary<string, string> nameValues, func<Dictionary<string, SharedVariableResult>> callbackFunction) [ServerOnly]** 입력한 이름, 값 쌍들로 변수가 없으면 새 변수들을 할당합니다. 이미 있으면 기존 변수들의 값을 수정합니다. 작업 [chunk_id] | Misc:1030:1
[task] | extract_knowledge [title] | WorldInstanceSharedMemory [category] | Misc [rephrased] | # WorldInstanceSharedMemory ## 1. 개념 설명 `WorldInstanceSharedMemory` API는 월드 인스턴스 내에서 서버 사이드([ServerOnly])로 공유 변수를 관리하기 위한 기능 집합입니다. 이 API는 변수의 생성(Create), 조회(Get), 설정(Set), 수정(Update), 삭제(Delete), 그리고 사용 해제(Release)를 수행할 수 있습니다. 공유 변수는 `name` (변수 이름)과 `value` (변수 값)의 쌍으로 구성되며, 수정 시에는 동시성 문제를 방지하기 [original] | 다. 이미 있으면 기존 변수들의 값을 수정합니다. 변수 이름과 결과 쌍을 담고 있는 table을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchSetVariableAsync(Dictionary<string, string> nameValues, func<Dictionary<string, SharedVariableResult>> callbackFunction) [ServerOnly]** 입력한 이름, 값 쌍들로 변수가 없으면 새 변수들을 할당합니다. 이미 있으면 기존 변수들의 값을 수정합니다. 작업 [chunk_id] | Misc:1030:1
[task] | extract_knowledge [title] | WorldInstanceSharedMemory [category] | Misc [rephrased] | # WorldInstanceSharedMemory API ## 개념 설명 `WorldInstanceSharedMemory` API는 서버 측에서 월드 인스턴스 공유 메모리 변수를 관리하기 위한 기능입니다. 이 API를 통해 개발자는 공유 변수를 생성, 조회, 수정, 그리고 해제할 수 있습니다. 주요 동작 원리는 다음과 같습니다. 1. **변수 설정(Set)**: 변수가 없으면 새로 생성하고, 존재하면 값을 덮어씁니다. 2. **변수 수정(Update)**: `ETag` 기반의 동시성 제어(CAS, Compare-And-Swa [original] | 다. - **void ReleaseVariableAsync(string name, func<SharedMemoryResultCode> callbackFunction) [ServerOnly]** 변수 사용을 마칩니다. 해당 변수를 사용하는 곳이 더 이상 없으면 자동으로 삭제됩니다. 작업이 완료되면 결과 코드와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **SharedVariableResult SetVariableAndWait(string name, string value) [ServerOnly] [Yie [chunk_id] | Misc:1030:2
[task] | distill [title] | RoomService [category] | Services [rephrased] | # RoomService 룸 관련 기능을 제공합니다. ## Properties - **ReadOnlyDictionary<string, InstanceRoom> InstanceRooms [ReadOnly]**: 활성화된 인스턴스 룸 목록. - **string RoomKey [ReadOnly]**: 현재 룸의 key. 인스턴스 룸이면 생성 시 지정 값, 정적 룸이면 `StaticRoomKey` 값. - **string StaticRoomKey [ReadOnly]**: 정적 룸의 key 상수 (`"__main__"`). ## Me [original] | 룸 관련 기능을 제공합니다. # Properties - **ReadOnlyDictionary<string, InstanceRoom> InstanceRooms [ReadOnly]** 활성화된 모든 인스턴스 룸의 목록입니다. - **string RoomKey [ReadOnly]** 현재 룸의 key입니다. 현재 룸이 인스턴스 룸이면 생성 시 지정한 key 값을, 정적 룸이면 StaticRoomKey와 같은 값을 나타냅니다. - **string StaticRoomKey [ReadOnly]** 정적 룸의 key입니다. 정적 [chunk_id] | Services:1032:0
[task] | distill [title] | RoomService [category] | Services [rephrased] | # RoomService ## 이벤트 - **RoomBeginEvent**: 룸 생성 시 발생. - **RoomEndEvent**: 룸 파괴 시 발생. ## 주요 API - `_RoomService:CreateInstanceRoom(roomKey, mapList)` - `roomKey` (string): 인스턴스 룸 식별자. - `mapList` (table<string>): 사용할 맵 목록. 해당 맵들의 `InstanceMap` 속성은 `true`여야 합니다. - 반환값: `InstanceRoom` 객체 또는 실패 [original] | # Events - **RoomBeginEvent** 룸이 생성될 때 해당 룸에서 발생하는 이벤트입니다. - **RoomEndEvent** 룸이 파괴될 때 해당 룸에서 발생하는 이벤트입니다. # Examples #### 인스턴스 룸 입장 특정 맵들을 사용하는 인스턴스 룸을 생성하고, 인스턴스 룸의 지정한 맵으로 입장하는 예제입니다. ```lua Property: [None] integer GameIdx = "0" Method: [server only] void EnterGame (table userIds) { - [chunk_id] | Services:1032:2
[task] | wikipedia [title] | RoomService [category] | Services [rephrased] | RoomService는 mLua 스크립트 환경에서 룸 기반 이벤트 통신을 관리하기 위한 서비스입니다. 이 서비스는 특정 룸이나 모든 룸으로 이벤트를 전송하는 기능을 제공하며, 수신자는 RoomService에 핸들러를 등록하여 이벤트를 수신합니다. 이벤트 전송 기능은 동기식(동작 대기)과 비동기식(콜백) 방식의 두 가지 메서드를 지원합니다. 모든 메서드는 이벤트에 Entity, EntityRef, Component, ComponentRef 타입의 값을 담아 전송할 경우 유효하지 않은 값이 전달될 수 있으므로 주의가 필요합니다. 모 [original] | 단합니다. - **SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]** 이벤트를 모든 룸에 전송합니다. 수신자는 RoomService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 수행하는 동안 스크립트 실행을 중단합니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **void RequestSen [chunk_id] | Services:1032:1
[task] | diverse_qa [title] | RoomService [category] | Services [rephrased] | 질문: RoomService의 RoomBeginEvent는 언제 발생합니까? 답변: 룸이 생성될 때 해당 룸에서 발생하는 이벤트입니다. 질문: RoomService의 RoomEndEvent는 언제 발생합니까? 답변: 룸이 파괴될 때 해당 룸에서 발생하는 이벤트입니다. 질문: 다음 코드가 수행하는 주요 동작을 설명하세요. ```lua local instanceRoom = _RoomService:CreateInstanceRoom(roomKey, {"GameMap01", "GameMap02"}) ``` 답변: GameMap01과 Ga [original] | # Events - **RoomBeginEvent** 룸이 생성될 때 해당 룸에서 발생하는 이벤트입니다. - **RoomEndEvent** 룸이 파괴될 때 해당 룸에서 발생하는 이벤트입니다. # Examples #### 인스턴스 룸 입장 특정 맵들을 사용하는 인스턴스 룸을 생성하고, 인스턴스 룸의 지정한 맵으로 입장하는 예제입니다. ```lua Property: [None] integer GameIdx = "0" Method: [server only] void EnterGame (table userIds) { - [chunk_id] | Services:1032:2
[task] | distill [title] | ScreenRecordService [category] | Services [rephrased] | # ScreenRecordService 이벤트를 연결, 해제, 발생시킵니다. ### Method **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** - `key` 이름의 이벤트 발생 시 `eventHandler`가 `event` 매개변수를 받아 실행됩니다. **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** - `eventType` 타입의 이벤트 발생 [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:1033:1
[task] | knowledge_list [title] | RoomService [category] | Services [rephrased] | ```lua -- RoomService API 핵심 사실 목록 -- 각 항목은 독립적인 완결 문장입니다. -- 1. RequestSendEventToAllRoomsAndWait -- SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield] -- 모든 룸에 이벤트를 전송하며, 수신자는 RoomService에 핸들러를 등록하여 수신합니다. -- 이 메서드는 수행 중 스크립트 실행을 중단하며, Entity, EntityRef, Com [original] | 단합니다. - **SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]** 이벤트를 모든 룸에 전송합니다. 수신자는 RoomService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 수행하는 동안 스크립트 실행을 중단합니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **void RequestSen [chunk_id] | Services:1032:1
[task] | diverse_qa [title] | RoomService [category] | Services [rephrased] | 질문: RoomService는 어떤 기능을 제공하는 서비스인가요? 답변: RoomService는 룸 관련 기능을 제공하는 서비스입니다. 질문: InstanceRooms 프로퍼티의 타입과 내용을 설명해 주세요. 답변: InstanceRooms 프로퍼티는 ReadOnlyDictionary<string, InstanceRoom> 타입이며, 활성화된 모든 인스턴스 룸의 목록을 포함하고 있습니다. 질문: 현재 룸이 정적 룸일 때 RoomKey 프로퍼티는 어떤 값을 가집니까? 답변: 현재 룸이 정적 룸이면 RoomKey 프로퍼티는 Stat [original] | 룸 관련 기능을 제공합니다. # Properties - **ReadOnlyDictionary<string, InstanceRoom> InstanceRooms [ReadOnly]** 활성화된 모든 인스턴스 룸의 목록입니다. - **string RoomKey [ReadOnly]** 현재 룸의 key입니다. 현재 룸이 인스턴스 룸이면 생성 시 지정한 key 값을, 정적 룸이면 StaticRoomKey와 같은 값을 나타냅니다. - **string StaticRoomKey [ReadOnly]** 정적 룸의 key입니다. 정적 [chunk_id] | Services:1032:0
[task] | distill [title] | ScreenRecordService [category] | Services [rephrased] | # ScreenRecordService 화면 녹화 기능을 제공합니다. 플랫폼별 지원 모드(`ScreenRecordMode`)가 다르며, 환경 미지원 모드 선택 시 지원 모드로 자동 전환됩니다. - **Android**: `ScreenAndGameAudioAndMic` - **Windows**: `ScreenAndMic` ## Methods 모든 메서드는 `[ClientOnly]` 실행 공간에서만 호출 가능합니다. ### 녹화 제어 - **`ScreenRecordStartResult StartRecordToFileAndWai [original] | 화면 녹화 기능을 제공합니다. \n\n플랫폼별로 지원하는 녹화 모드(ScreenRecordMode)가 다릅니다. Android 환경에서는 ScreenAndGameAudioAndMic 모드로 녹화되고, Windows 환경에서는 ScreenAndMic 모드 녹화됩니다. 환경에 맞지 않는 모드를 선택하면 지원하는 녹화 모드로 화면을 녹화합니다. # Methods - **string FinishRecordAndWait() [ClientOnly] [Yield]** 녹화를 종료합니다. 녹화 파일 생성을 완료하면 저장 경로를 반환합니다. [chunk_id] | Services:1033:0
[task] | distill [title] | ScreenRecordService [category] | Services [rephrased] | # ScreenRecordService ## 플랫폼별 지원 모드 및 Fallback 플랫폼에 따라 지원하지 않는 `ScreenRecordMode` 선택 시 자동으로 대체 모드로 변경(Fallback)됩니다. * **Android**: `ScreenRecordMode.ScreenAndMic` 선택 시 → `ScreenRecordMode.ScreenAndGameAudioAndMic`로 Fallback * **Windows**: `ScreenRecordMode.ScreenAndGameAudioAndMic` 선택 시 → `Sc [original] | # 주의사항 녹화 시 플랫폼별로 지원되지 않는 녹화 모드가 있습니다. Android의 경우 ScreenRecordMode.ScreenAndMic 선택 시 자동으로 ScreenAndGameAudioAndMic로 Fallback됩니다. 윈도우의 경우 ScreenRecordMode.ScreenAndGameAudioAndMic 선택 시 자동으로 ScreenAndMic로 Fallback됩니다. | 녹화 모드 | 설명 | Windows/macOS | iOS | Android | | :---: | :---: | :---: | :---: | [chunk_id] | Services:1033:2
[task] | wikipedia [title] | ScreenRecordService [category] | Services [rephrased] | # ScreenRecordService 주의사항 ScreenRecordService를 사용할 때 녹화 모드별로 플랫폼의 제약 사항이 존재합니다. 특정 플랫폼에서는 선택한 녹화 모드가 지원되지 않는 경우, 시스템이 자동으로 다른 지원 가능한 모드로 변경(Fallback)됩니다. Android 플랫폼에서 `ScreenRecordMode.ScreenAndMic` 모드를 선택할 경우, 해당 모드가 지원되지 않으므로 자동으로 `ScreenRecordMode.ScreenAndGameAudioAndMic` 모드로 Fallback됩니다. 반대 [original] | # 주의사항 녹화 시 플랫폼별로 지원되지 않는 녹화 모드가 있습니다. Android의 경우 ScreenRecordMode.ScreenAndMic 선택 시 자동으로 ScreenAndGameAudioAndMic로 Fallback됩니다. 윈도우의 경우 ScreenRecordMode.ScreenAndGameAudioAndMic 선택 시 자동으로 ScreenAndMic로 Fallback됩니다. | 녹화 모드 | 설명 | Windows/macOS | iOS | Android | | :---: | :---: | :---: | :---: | [chunk_id] | Services:1033:2
[task] | knowledge_list [title] | ScreenRecordService [category] | Services [rephrased] | ```lua -- ScreenRecordService API 핵심 사실 정리 ``` 1. `ConnectEvent` 메서드는 문자열 매개변수 `key`와 함수 매개변수 `eventHandler`를 받아, 해당 서비스에서 이름이 `key`인 이벤트가 발생하면 `eventHandler`에 `event` 객체를 전달하여 통지하며, 반환 타입은 `EventHandlerBase`입니다. 2. `ConnectEvent` 메서드는 타입 매개변수 `eventType`와 함수 매개변수 `eventHandler`를 받아, 해당 서비스에서 타입이 ` [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:1033:1
[task] | extract_knowledge [title] | WorldInstanceSharedMemory [category] | Misc [rephrased] | # WorldInstanceSharedMemory `WorldInstanceSharedMemory`는 동일한 WorldInstance 내부의 스크립트들이 서로 데이터를 공유하기 위해 사용하는 메모리 공간입니다. 이 메모리에는 이름(`Name`)이 부여되며, 공유 변수들을 생성, 조회, 수정, 삭제하는 연산을 수행합니다. 모든 조작 메서드는 서버 측에서만 실행됩니다. ## 1. 개념 설명 `WorldInstanceSharedMemory`는 이름 기반의 키-값(Key-Value) 구조를 가지며, 각 공유 변수는 문자열 이름과 문자 [original] | WorldInstance끼리 공유하는 메모리입니다. # Properties - **string Name [ReadOnly]** 공유 메모리의 이름입니다. # Methods - **Dictionary<string, SharedVariableResult> BatchCreateVariableAndWait(Dictionary<string, string> nameValues) [ServerOnly] [Yield]** 입력한 이름, 값 쌍들로 변수들을 할당합니다. 변수 이름과 결과 쌍을 담고 있는 table을 반환합니다. 수행하 [chunk_id] | Misc:1030:0
[task] | wikipedia [title] | RoomService [category] | Services [rephrased] | # RoomService 이벤트 및 사용 예제 RoomService는 게임 내에서 룸(Room)의 생성, 파괴 및 유저 이동과 관련된 기능을 제공하는 서비스입니다. 본 섹션에서는 RoomService에서 발생하는 주요 이벤트와 인스턴스 룸 및 정적 룸을 다루는 스크립트 예제를 다룹니다. ## 이벤트 RoomService에서는 룸의 생명주기(Lifecycle)에 따라 두 가지 주요 이벤트가 발생합니다. * **RoomBeginEvent**: 특정 룸이 생성될 때 해당 룸에서 발생되는 이벤트입니다. * **RoomEndE [original] | # Events - **RoomBeginEvent** 룸이 생성될 때 해당 룸에서 발생하는 이벤트입니다. - **RoomEndEvent** 룸이 파괴될 때 해당 룸에서 발생하는 이벤트입니다. # Examples #### 인스턴스 룸 입장 특정 맵들을 사용하는 인스턴스 룸을 생성하고, 인스턴스 룸의 지정한 맵으로 입장하는 예제입니다. ```lua Property: [None] integer GameIdx = "0" Method: [server only] void EnterGame (table userIds) { - [chunk_id] | Services:1032:2
[task] | knowledge_list [title] | ScreenRecordService [category] | Services [rephrased] | 1. `ScreenRecordService`는 플랫폼별 제약으로 인해 선택된 녹화 모드를 지원하지 않는 경우 다른 모드로 자동 Fallback됩니다. 2. Android 플랫폼에서 `ScreenRecordMode.ScreenAndMic`를 선택하면 자동으로 `ScreenRecordMode.ScreenAndGameAudioAndMic`로 Fallback됩니다. 3. Windows 플랫폼에서 `ScreenRecordMode.ScreenAndGameAudioAndMic`를 선택하면 자동으로 `ScreenRecordMode.ScreenAn [original] | # 주의사항 녹화 시 플랫폼별로 지원되지 않는 녹화 모드가 있습니다. Android의 경우 ScreenRecordMode.ScreenAndMic 선택 시 자동으로 ScreenAndGameAudioAndMic로 Fallback됩니다. 윈도우의 경우 ScreenRecordMode.ScreenAndGameAudioAndMic 선택 시 자동으로 ScreenAndMic로 Fallback됩니다. | 녹화 모드 | 설명 | Windows/macOS | iOS | Android | | :---: | :---: | :---: | :---: | [chunk_id] | Services:1033:2
[task] | wikipedia [title] | ScreenRecordService [category] | Services [rephrased] | # ScreenRecordService **ScreenRecordService**는 스크립트 컴포넌트 간에 이벤트를 발생시키고 수신하는 기능을 제공하는 서비스입니다. 이 서비스는 문자열 키나 타입 객체를 기준으로 이벤트를 연결(Subscribe), 해제(Unsubscribe), 그리고 전송(Publish)할 수 있는 메서드를 정의하고 있습니다. ## 이벤트 연결 (Connect) 이벤트를 수신하기 위해 두 가지 오버로드된 `ConnectEvent` 메서드를 사용할 수 있습니다. 성공적으로 연결되면 `EventHandlerBas [original] | - **EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다. - **EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)** 이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지 [chunk_id] | Services:1033:1
[task] | wikipedia [title] | ScreenRecordService [category] | Services [rephrased] | # ScreenRecordService `ScreenRecordService`는 메이플스토리 월드에서 화면 녹화 기능을 제공하는 서비스입니다. 이 서비스는 플랫폼별로 지원하는 녹화 모드(`ScreenRecordMode`)가 다르도록 설계되었습니다. Android 환경에서는 기본적으로 `ScreenAndGameAudioAndMic` 모드로 녹화가 진행되며, Windows 환경에서는 `ScreenAndMic` 모드로 녹화됩니다. 사용자가 현재 환경에서 지원하지 않는 녹화 모드를 선택할 경우, 시스템은 자동으로 해당 환경에서 지원하는 [original] | 화면 녹화 기능을 제공합니다. \n\n플랫폼별로 지원하는 녹화 모드(ScreenRecordMode)가 다릅니다. Android 환경에서는 ScreenAndGameAudioAndMic 모드로 녹화되고, Windows 환경에서는 ScreenAndMic 모드 녹화됩니다. 환경에 맞지 않는 모드를 선택하면 지원하는 녹화 모드로 화면을 녹화합니다. # Methods - **string FinishRecordAndWait() [ClientOnly] [Yield]** 녹화를 종료합니다. 녹화 파일 생성을 완료하면 저장 경로를 반환합니다. [chunk_id] | Services:1033:0
[task] | diverse_qa [title] | ScreenRecordService [category] | Services [rephrased] | 질문: Android 환경에서 `ScreenRecordMode.ScreenAndMic` 모드를 선택하면 어떤 일이 발생합니까? 답변: Android의 경우 `ScreenRecordMode.ScreenAndMic` 선택 시 자동으로 `ScreenAndGameAudioAndMic`로 Fallback됩니다. 질문: Windows 환경에서 `ScreenRecordMode.ScreenAndGameAudioAndMic` 모드를 선택하면 어떤 일이 발생합니까? 답변: 윈도우의 경우 `ScreenRecordMode.ScreenAndGameAud [original] | # 주의사항 녹화 시 플랫폼별로 지원되지 않는 녹화 모드가 있습니다. Android의 경우 ScreenRecordMode.ScreenAndMic 선택 시 자동으로 ScreenAndGameAudioAndMic로 Fallback됩니다. 윈도우의 경우 ScreenRecordMode.ScreenAndGameAudioAndMic 선택 시 자동으로 ScreenAndMic로 Fallback됩니다. | 녹화 모드 | 설명 | Windows/macOS | iOS | Android | | :---: | :---: | :---: | :---: | [chunk_id] | Services:1033:2
[task] | extract_knowledge [title] | RoomService [category] | Services [rephrased] | # RoomService: 룸 간 이벤트 전송 ## 개념 설명 `RoomService`는 메이플스토리 월드 스크립트에서 룸(Room) 단위로 이벤트를 전송하고 수신하는 서비스를 제공합니다. 이 서비스를 통해 한 룸의 스크립트가 다른 룸의 스크립트로 데이터를 전달하거나, 모든 룸에 공통된 이벤트를 브로드캐스트할 수 있습니다. 이벤트 전송은 동기 방식(`...AndWait`)과 비동기 방식(`...Async`)으로 제공되며, 수신자는 `RoomService`에 이벤트 핸들러를 등록하여 전송된 이벤트를 수신해야 합니다. ## AP [original] | 단합니다. - **SendEventRequestResultCode RequestSendEventToAllRoomsAndWait(EventType sendEvent) [Yield]** 이벤트를 모든 룸에 전송합니다. 수신자는 RoomService에 핸들러를 등록해 이벤트를 수신할 수 있습니다. 수행하는 동안 스크립트 실행을 중단합니다. Entity, EntityRef, Component, ComponentRef를 Event에 담아 전송하면 유효하지 않은 값이 전달될 수 있으므로 주의해야 합니다. - **void RequestSen [chunk_id] | Services:1032:1