← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 96/274
🔀 랜덤
불러오는 중…

[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: [Misc] GlobalDataStorage 문서에서 언급된 주요 항목 중 하나인 `DataStorageKeyInfo`의 자료형은 무엇인가요? 답변: `DataStorageKeyInfo`는 `table` 자료형입니다. 질문: 문서에 포함된 `DateTime` 항목은 어떤 자료형으로 분류됩니까? 답변: `DateTime`은 `table` 자료형으로 분류됩니다. 질문: `DataStorageService`는 어떤 자료형인가요? 답변: `DataStorageService`는 `table` 자료형입니다. 질문: 'Data DB [original] | * table * DataStorageKeyInfo * DateTime * DataStorageService * [Data DB 저장 및 불러오기](/docs?postId=68) * [DataStorage 사용량 제한 알아보기](/docs?postId=1044) * [DataStorage 사용량 제한 활용하기](/docs?postId=1045) * [DataStorage 활용하기](/docs?postId=692) [chunk_id] | Misc:708:8

[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage 사용 예제 `GlobalDataStorage`는 `_DataStorageService:GetGlobalDataStorage` 메서드를 통해 인스턴스를 생성하여 데이터를 저장, 조회, 삭제하는 기능을 제공합니다. 이 서비스는 동기(Synchronous) 방식과 비동기(Asynchronous) 방식의 두 가지 API를 지원하며, `DataStorageKeyInfo` 객체를 활용한 정밀한 키 관리 및 일괄 처리(Batch) 기능도 갖추고 있습니다. ### 동기(Synchronous) 방식 API [original] | # Examples #### SetAndWait 데이터를 저장하는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local errorCode = ds:SetAndWait("key", "value") ``` #### GetAndWait 데이터를 불러오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local errorCo [chunk_id] | Misc:708:4

[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage `GlobalDataStorage`는 전역 데이터 저장소 서비스인 `_DataStorageService`를 통해 접근하며, 여러 데이터 항목을 한 번에 처리하는 일괄(Batch) 연산 기능을 제공합니다. 이 섹션에서는 데이터의 일괄 조회, 삭제, 그리고 메타데이터를 포함한 일괄 저장을 수행하는 주요 메서드와 그 사용법을 설명합니다. ## 데이터 일괄 조회 (Batch Get) 데이터를 일괄로 가져오는 연산은 `_DataStorageService:GetGlobalDataStorage`로 저장소 [original] | 데이터를 일괄로 가져오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keys = {} table.insert(keys, "Key1") table.insert(keys, "Key2") local errorCode, itemPages = ds:BatchGetAndWait(keys) while true do -- GetCurrentPageDatas()로 현재 페이지의 목록을 가져올 수 있습니다. lo [chunk_id] | Misc:708:5

[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `GlobalDataStorage`에서 `DataStorageKeyInfo`를 사용하여 데이터를 일괄로 가져오는 데 사용되는 메서드는 무엇인가요? 답변: `BatchGetByInfoAndWait` 메서드를 사용합니다. 질문: `DataStorageKeyInfo` 생성자 함수에 전달되는 인자의 순서와 의미는 무엇인가요? 답변: 인자의 순서는 키(Key), 버전(Version), 태그(Tag)이며, 예제에서는 `DataStorageKeyInfo("Key1", "Version1", "Tag1")` 형태로 사용되었습니다. 질문: [original] | 데이터를 DataStorageKeyInfo를 통해 일괄로 가져오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keyInfos = {} local keyInfo1 = DataStorageKeyInfo("Key1", "Version1", "Tag1") local keyInfo2 = DataStorageKeyInfo("Key2", "Version2", "Tag2") table.insert(keyInfos, keyInfo1 [chunk_id] | Misc:708:6

[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `_DataStorageService:GetGlobalDataStorage` 메서드의 첫 번째 인자로 전달되는 값은 무엇이며, 이 메서드가 반환하는 객체는 무엇으로 사용되나요? 답변: 첫 번째 인자로 저장소 이름(예: "StorageName")을 전달하며, 반환되는 객체는 `ds` 변수에 할당되어 데이터 저장소 조작 메서드들을 호출하기 위한 핸들러로 사용됩니다. 질문: `BatchGetAndWait` 메서드를 호출할 때 필요한 매개변수는 무엇이며, 이 메서드는 어떤 형태의 데이터를 반환하나요? 답변: 필요한 매개변수는 키( [original] | 데이터를 일괄로 가져오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keys = {} table.insert(keys, "Key1") table.insert(keys, "Key2") local errorCode, itemPages = ds:BatchGetAndWait(keys) while true do -- GetCurrentPageDatas()로 현재 페이지의 목록을 가져올 수 있습니다. lo [chunk_id] | Misc:708:5

[task] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제공된 원문에는 `GlobalDataStorage` 관련 링크 목록만 포함되어 있으며, 구체적인 API 정의(매개변수, 반환 타입), 실행 공간 제약([server only] 등), 또는 코드 예제가 포함되어 있지 않습니다. 주어진 지시사항에 따라 **"주어진 원문에 있는 정보만 사용하고, 없는 사실·API·코드 예제를 지어내지 않습니다"** 를 엄격히 준수하므로, 원문에 명시된 정보만 바탕으로 다음 사항들을 정리할 수 있습니다. 1. `[Misc] GlobalDataStorage` 문서에는 `table`, `DataStorag [original] | * table * DataStorageKeyInfo * DateTime * DataStorageService * [Data DB 저장 및 불러오기](/docs?postId=68) * [DataStorage 사용량 제한 알아보기](/docs?postId=1044) * [DataStorage 사용량 제한 활용하기](/docs?postId=1045) * [DataStorage 활용하기](/docs?postId=692) [chunk_id] | Misc:708:8

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage (Misc) ## 1. 개념 설명 `GlobalDataStorage`는 서버 측에서 전역 데이터를 저장, 조회, 삭제하기 위한 서비스를 제공합니다. 데이터는 `key`(문자열)와 `value`(문자열) 쌍으로 구성되며, 특정 메서드를 통해 더 상세한 메타데이터(`DataStorageKeyInfo`)를 포함하여 저장할 수도 있습니다. 이 서비스의 주요 특징은 다음과 같습니다: * **비동기 처리 지원**: 대부분의 작업은 비동기(`Async`)로 수행되며, 완료 시 콜백 함수(`callbac [original] | . sortDirection으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 [chunk_id] | Misc:708:2

[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | **GlobalDataStorage** `GlobalDataStorage`는 `_DataStorageService:GetGlobalDataStorage("StorageName")` 호출을 통해 특정 스토리지 이름을 지정하여 접근하는 전역 데이터 저장소 객체입니다. 이 객체는 `DataStorageKeyInfo`를 활용한 일괄 조회 및 태그 기반 조회 기능을 제공하며, 조회 결과는 페이지네이션(페이지 나누기) 방식으로 반환됩니다. `DataStorageKeyInfo`를 통해 데이터를 일괄로 가져오는 과정은 `BatchGetByIn [original] | 데이터를 DataStorageKeyInfo를 통해 일괄로 가져오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keyInfos = {} local keyInfo1 = DataStorageKeyInfo("Key1", "Version1", "Tag1") local keyInfo2 = DataStorageKeyInfo("Key2", "Version2", "Tag2") table.insert(keyInfos, keyInfo1 [chunk_id] | Misc:708:6

[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage **GlobalDataStorage**는 서버 환경에서 전역 데이터를 관리하기 위한 스크립트 컴포넌트입니다. 이 컴포넌트는 데이터 저장, 비동기 저장, 그리고 조건부 갱신(Update) 기능을 제공하며, 모든 메서드는 서버에서만 실행되는 `[ServerOnly]` 제약이 적용됩니다. ## 데이터 저장 (Transact Set) 데이터를 일괄적으로 저장하기 위한 메서드로 동기 방식과 비동기 방식 두 가지가 존재합니다. 두 메서드 모두 한 번에 최대 20개의 Key까지 조작할 수 있으며, 처리 [original] | ageKeyInfo, string> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, s [chunk_id] | Misc:708:3

[task] | knowledge_list [title] | GlobalDataStoragePages [category] | Misc [rephrased] | GlobalDataStoragePages는 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. boolean 타입의 IsLastPage 프로퍼티는 [ReadOnly] 속성을 가지며, 현재 페이지가 마지막 페이지인지 확인합니다. table<GlobalDataStorage> 타입을 반환하는 GetCurrentPageDatas() 메서드는 [ServerOnly] 실행 공간에서 동작하며, 현재 페이지의 GlobalDataStorage 목록을 가져옵니다. int32 타입의 에러 코드를 반환하는 LoadNextPag [original] | 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<GlobalDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 GlobalDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페 [chunk_id] | Misc:709:0

[task] | distill [title] | GlobalDataStoragePages [category] | Misc [rephrased] | # [Misc] GlobalDataStoragePages 월드 내 `GlobalDataStorage`를 페이지 단위로 조회하는 컴포넌트입니다. ## Properties * **boolean IsLastPage** `[ReadOnly]`: 현재 페이지가 마지막 페이지인지 여부. ## Methods * **table<GlobalDataStorage> GetCurrentPageDatas()** `[ServerOnly]`: 현재 페이지의 `GlobalDataStorage` 목록 반환. * **int32 LoadNextPag [original] | 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<GlobalDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 GlobalDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페 [chunk_id] | Misc:709:0

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage ## 개념 설명 `GlobalDataStorage`는 메이플스토리 월드에서 데이터를 저장하고 불러오는 데 사용되는 시스템입니다. 이 시스템은 다음과 같은 주요 데이터 구조와 서비스를 포함합니다. * **table**: 일반적인 Lua 테이블 구조로 데이터를 처리합니다. * **DataStorageKeyInfo**: 데이터 저장 키 정보를 정의하는 구조체입니다. * **DateTime**: 날짜 및 시간 정보를 표현하는 데이터 타입입니다. * **DataStorageService [original] | * table * DataStorageKeyInfo * DateTime * DataStorageService * [Data DB 저장 및 불러오기](/docs?postId=68) * [DataStorage 사용량 제한 알아보기](/docs?postId=1044) * [DataStorage 사용량 제한 활용하기](/docs?postId=1045) * [DataStorage 활용하기](/docs?postId=692) [chunk_id] | Misc:708:8

[task] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제공된 문서 내용만 바탕으로 추출한 핵심 사실 목록입니다. 1. `_DataStorageService` 서비스의 `GetGlobalDataStorage(StorageName)` 메서드를 호출하여 특정 이름을 가진 전역 데이터 스토리지 객체를 얻어올 수 있습니다. 2. 데이터 스토리지 객체의 `GetVersionsAndWait(Key, SortDirection, minDate, maxDate)` 메서드는 지정된 기간(`minDate`, `maxDate`) 내의 버전 정보를 조회하며, 첫 번째 반환값으로 에러 코드, 두 번째 반환값으 [original] | 일정 기간 내의 버전 정보를 조회하는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local minDate = DateTime(2023, 03, 09, 20, 20, 0, 0) local maxDate = DateTime(2023, 03, 09, 22, 20, 0, 0) -- 값을 저장할 때 버전 값을 함께 지정한 경우에만 조회할 수 있습니다. local errorCode, versionPages = ds:GetVersion [chunk_id] | Misc:708:7

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage `GlobalDataStorage`는 `eKeyInfo`를 사용하여 데이터를 저장, 조회, 삭제하는 서버 전용 서비스입니다. 모든 작업은 비동기로 수행되며, 완료 시 에러 코드와 결과 데이터를 콜백 함수를 통해 전달합니다. ## 개념 * **비동기 처리**: 네트워크 요청을 기다리는 동안 스크립트 실행을 중단하지 않기 위해 대부분의 API는 `Async`(콜백 방식)와 `AndWait`(Yield 방식) 두 가지 형태를 제공합니다. * **Yield**: `AndWait`로 끝나는 함 [original] | eKeyInfo들로 데이터들을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callback [chunk_id] | Misc:708:1

[task] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | **[Misc] GlobalDataStorage** `_DataStorageService:GetGlobalDataStorage("StorageName")`을 통해 인스턴스를 생성합니다. 모든 API는 비동기 처리를 위해 `AndWait` 접미사를 사용합니다. ### 1. 버전 조회 (`GetVersionsAndWait`) 특정 기간 내의 버전 히스토리를 페이지 단위로 조회합니다. 값 저장 시 버전 지정이 선행되어야 합니다. * **시그니처**: `errorCode, versionPages = ds:GetVersionsAnd [original] | 일정 기간 내의 버전 정보를 조회하는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local minDate = DateTime(2023, 03, 09, 20, 20, 0, 0) local maxDate = DateTime(2023, 03, 09, 22, 20, 0, 0) -- 값을 저장할 때 버전 값을 함께 지정한 경우에만 조회할 수 있습니다. local errorCode, versionPages = ds:GetVersion [chunk_id] | Misc:708:7

[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `_DataStorageService:GetGlobalDataStorage` 메서드의 첫 번째 인자로 전달되는 파라미터의 의미는 무엇인가요? 답변: 저장할 데이터의 저장소 이름(StorageName)을 지정하는 파라미터입니다. 질문: `DateTime` 객체를 생성할 때 사용되는 인자의 순서와 개수는 무엇인가요? 답변: 문서 예제에 따르면 연도, 월, 일, 시, 분, 초, 밀리초 순서로 총 7개의 인자를 사용합니다. 질문: `GetVersionsAndWait` 메서드를 호출하기 위해 사전에 충족되어야 하는 조건은 무엇인가 [original] | 일정 기간 내의 버전 정보를 조회하는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local minDate = DateTime(2023, 03, 09, 20, 20, 0, 0) local maxDate = DateTime(2023, 03, 09, 22, 20, 0, 0) -- 값을 저장할 때 버전 값을 함께 지정한 경우에만 조회할 수 있습니다. local errorCode, versionPages = ds:GetVersion [chunk_id] | Misc:708:7

[task] | wikipedia [title] | GlobalDataStoragePages [category] | Misc [rephrased] | # GlobalDataStoragePages **GlobalDataStoragePages**는 월드의 `GlobalDataStorage` 객체들을 페이지 단위로 조회할 수 있도록 하는 컴포넌트입니다. 이 컴포넌트는 서버 사이드에서만 동작하며, 대량 데이터를 처리할 때 메모리 부담을 줄이기 위해 페이지 나누기(Pagination) 방식을 지원합니다. ## 프로퍼티 * **IsLastPage** * **타입:** `boolean` * **속성:** `ReadOnly` * 현재 로드된 페이지가 마 [original] | 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<GlobalDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 GlobalDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페 [chunk_id] | Misc:709:0

[task] | diverse_qa [title] | GlobalDataStoragePages [category] | Misc [rephrased] | 질문: GlobalDataStoragePages 컴포넌트는 어떤 기능을 제공합니까? 답변: 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. 질문: IsLastPage 프로퍼티의 데이터 타입과 접근 권한은 무엇입니까? 답변: boolean 타입이며, ReadOnly(읽기 전용) 접근 권한을 가집니다. 질문: IsLastPage 프로퍼티는 무엇을 확인하는 데 사용됩니까? 답변: 현재 페이지가 마지막 페이지인지 확인하는 데 사용됩니다. 질문: GetCurrentPageDatas() 메서드의 반환 타입과 [original] | 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<GlobalDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 GlobalDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페 [chunk_id] | Misc:709:0

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage API `GlobalDataStorage`는 `_DataStorageService`를 통해 접근하는 전역 데이터 저장소입니다. 이 저장소는 문자열 키(key)를 기반으로 문자열 값(value)을 저장, 조회, 삭제하는 기능을 제공합니다. 모든 작업은 동기(`Wait` 접미사) 또는 비동기(`Async` 접미사) 방식으로 수행되며, 각 작업의 성공 여부는 `errorCode` 변수를 통해 반환됩니다. ## API 사용법 ### 1. 저장소 인스턴스 생성 `_DataStorageService:G [original] | # Examples #### SetAndWait 데이터를 저장하는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local errorCode = ds:SetAndWait("key", "value") ``` #### GetAndWait 데이터를 불러오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local errorCo [chunk_id] | Misc:708:4

[task] | diverse_qa [title] | SortableDataStorage [category] | Misc [rephrased] | 질문: SortableDataStorage의 주요 목적은 무엇인가요? 답변: 정수형 데이터를 관리하고, 정렬한 데이터를 가져오는 기능이 있는 저장소입니다. 질문: 메이커 환경과 출시 환경은 SortableDataStorage를 공유하나요? 답변: 아니요, 메이커와 출시 환경은 저장소를 공유하지 않습니다. 질문: SortableDataStorage의 Name 프로퍼티는 어떤 타입이며 어떤 속성을 가지나요? 답변: string 타입이며 ReadOnly(읽기 전용) 속성을 가집니다. 질문: BatchDeleteAndWait 메서드의 [original] | 정수형 데이터를 관리하고, 정렬한 데이터를 가져오는 기능이 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** DataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 [chunk_id] | Misc:710:0

[task] | distill [title] | SortableDataStorage [category] | Misc [rephrased] | # [Misc] SortableDataStorage 정수형 데이터를 관리하고 정렬된 데이터를 조회하는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. ## Properties * **string Name [ReadOnly]** DataStorage의 이름입니다. ## Methods 모든 메서드는 `[ServerOnly]`입니다. `Wait` 접미사 메서드는 `[Yield]`를 가지며 실행 중 스크립트를 중단합니다. `Async` 접미사 메서드는 비동기로 수행되며 완료 시 콜백 함수를 호출합니다. [original] | 정수형 데이터를 관리하고, 정렬한 데이터를 가져오는 기능이 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** DataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 [chunk_id] | Misc:710:0

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage: 데이터 갱신(Update) 및 트랜잭션 저장(TransactSet) 본 절에서는 `GlobalDataStorage` 서비스에서 제공하는 데이터 갱신 및 다중 키 저장 API의 동작 방식과 사용법을 설명합니다. 모든 함수는 서버 환경(`[ServerOnly]`)에서만 호출할 수 있으며, 동기(`[Yield]`)와 비동기(`Async`) 버전으로 구분됩니다. ## 1. 개념 설명 ### 데이터 갱신 (Update) `GlobalDataStorage`의 특정 키에 저장된 값을 변경할 때 `Upd [original] | ageKeyInfo, string> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, s [chunk_id] | Misc:708:3

[task] | extract_knowledge [title] | GlobalDataStoragePages [category] | Misc [rephrased] | # GlobalDataStoragePages `GlobalDataStoragePages`는 월드 내 `GlobalDataStorage` 객체를 페이지 단위로 조회하기 위한 컴포넌트입니다. 대량의 데이터를 한 번에 가져오는 대신, 페이지를 순회하며 데이터를 처리하도록 설계되었습니다. ## Properties * **`boolean IsLastPage`** `[ReadOnly]` * 현재 표시 중인 페이지가 마지막 페이지인지 여부를 나타냅니다. * `true`인 경우 더 이상의 페이지가 없습니다. ## [original] | 월드의 GlobalDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<GlobalDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 GlobalDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페 [chunk_id] | Misc:709:0

[task] | extract_knowledge [title] | SortableDataStorage [category] | Misc [rephrased] | # SortableDataStorage ## 개념 설명 `SortableDataStorage`는 서버에서만 동작하며, 데이터의 저장, 삭제, 조회, 정렬된 페이지 조회를 담당하는 서비스입니다. 모든 API는 비동기(`Async`) 또는 동기 대기(`WaitAnd`) 두 가지 형태로 제공되며, 서버 로직의 흐름을 제어할 수 있습니다. ## API 사용법 모든 메서드는 `[ServerOnly]` 속성을 가지며, 클라이언트에서는 호출할 수 없습니다. 1. **저장 (Save)** * `SaveAsync` / `SaveA [original] | lbackFunction) [ServerOnly]** 입력한 DataStorageKeyInfo들로 데이터들을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void Delete [chunk_id] | Misc:710:1

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage: 데이터 일괄 조회 및 페이지 처리 ## 개념 설명 `GlobalDataStorage`는 `_DataStorageService`를 통해 접근하는 전역 데이터 저장소입니다. 대량의 데이터를 한 번에 가져올 때 메모리 문제를 방지하기 위해 **페이지네이션(Pagination)** 방식을 지원합니다. 데이터를 조회하는 주요 방식은 두 가지가 있습니다. 1. **BatchGetByInfoAndWait**: `DataStorageKeyInfo` 객체 목록을 전달하여 특정 키, 버전, 태그 조합으로 데 [original] | 데이터를 DataStorageKeyInfo를 통해 일괄로 가져오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keyInfos = {} local keyInfo1 = DataStorageKeyInfo("Key1", "Version1", "Tag1") local keyInfo2 = DataStorageKeyInfo("Key2", "Version2", "Tag2") table.insert(keyInfos, keyInfo1 [chunk_id] | Misc:708:6

[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage **GlobalDataStorage**는 메이플스토리 월드의 스크립트 언어 mLua에서 `_DataStorageService`를 통해 접근할 수 있는 전역 데이터 저장소 서비스입니다. 이 서비스는 키(Key)와 값(Value) 쌍을 기반으로 데이터를 저장, 조회, 업데이트하는 기능을 제공하며, 특히 **버전 관리** 기능을 통해 특정 시점의 데이터 상태나 변경 이력을 추적하고 복원할 수 있도록 설계되었습니다. ## 주요 기능 및 동작 GlobalDataStorage는 비동기 작업(Await) [original] | 일정 기간 내의 버전 정보를 조회하는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local minDate = DateTime(2023, 03, 09, 20, 20, 0, 0) local maxDate = DateTime(2023, 03, 09, 22, 20, 0, 0) -- 값을 저장할 때 버전 값을 함께 지정한 경우에만 조회할 수 있습니다. local errorCode, versionPages = ds:GetVersion [chunk_id] | Misc:708:7

[task] | distill [title] | SortableDataStorage [category] | Misc [rephrased] | # [Misc] SortableDataStorage **동작 규칙** - 모든 메서드는 `[ServerOnly]`입니다. - `Wait` 계열은 `[Yield]` 속성을 가지며, 실행 중 스크립트 실행을 중단합니다. - `Async` 계열은 비동기로 수행되며, 완료 시 `callbackFunction`을 호출합니다. - 버전 조회 시 `SortDirection`으로 오름/내림차순, `minDate`/`maxDate`로 시간대 범위를 지정할 수 있습니다. ## API 시그니처 ### 버전 조회 ```lua -- 동기 (Yield [original] | rection으로 오름/내림차순 정렬을 설정할 수 있습니다. min, max로 설정한 범위 내의 데이터들을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32, DataStorageVersionPages GetVersionsAndWait(string key, SortDirection sortDirection, DateTime minDate, DateTime maxDate) [ServerOnly] [Yield [chunk_id] | Misc:710:2

[task] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage 일괄 처리 (Batch Operations) `GlobalDataStorage`는 전역 데이터 스토리지에서 여러 키에 해당하는 데이터를 동시에 조회, 저장, 또는 삭제하기 위한 일괄(Batch) API를 제공합니다. 이 절에서는 `_DataStorageService`를 통해 `GlobalDataStorage` 인스턴스를 획득하고, `BatchGetAndWait`, `BatchDeleteAndWait`, `BatchSetByInfoAndWait` 메서드를 사용하는 방법을 다룹니다. ## 1. 개 [original] | 데이터를 일괄로 가져오는 예제입니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keys = {} table.insert(keys, "Key1") table.insert(keys, "Key2") local errorCode, itemPages = ds:BatchGetAndWait(keys) while true do -- GetCurrentPageDatas()로 현재 페이지의 목록을 가져올 수 있습니다. lo [chunk_id] | Misc:708:5

[task] | knowledge_list [title] | SortableDataStorage [category] | Misc [rephrased] | 제시된 문서 원문에서만 추출한 핵심 사실 목록입니다. 1. `SortableDataStorage`는 정수형 데이터를 관리하고 정렬된 데이터를 가져오는 기능을 가진 저장소이며, 메이커 환경과 출시 환경은 저장소를 공유하지 않습니다. 2. `Name` 속성은 `string` 타입의 읽기 전용(`[ReadOnly]`) 값으로, 해당 DataStorage의 이름을 나타냅니다. 3. `BatchDeleteAndWait` 메서드는 `[ServerOnly]` 및 `[Yield]` 제약이 있으며, 매개변수 `List<string> keys`를 [original] | 정수형 데이터를 관리하고, 정렬한 데이터를 가져오는 기능이 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** DataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 [chunk_id] | Misc:710:0

[task] | wikipedia [title] | SortableDataStorage [category] | Misc [rephrased] | # SortableDataStorage **SortableDataStorage**는 정수형 데이터를 관리하고, 정렬된 데이터를 가져오는 기능을 제공하는 저장소 컴포넌트입니다. 메이커(개발) 환경과 출시(운영) 환경은 서로 독립된 저장소를 사용하며, 두 환경 간에는 데이터가 공유되지 않습니다. ## 속성(Properties) **Name** 속성은 읽기 전용(`ReadOnly`)인 문자열(`string`) 타입으로, 해당 DataStorage 인스턴스의 이름을 나타냅니다. ## 메서드(Methods) 이 컴포넌트는 데이터의 [original] | 정수형 데이터를 관리하고, 정렬한 데이터를 가져오는 기능이 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** DataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 [chunk_id] | Misc:710:0

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