[task] | extract_knowledge [title] | DataStorageVersionPages [category] | Misc [rephrased] | # DataStorageVersionPages `DataStorageVersionPages`는 DataStorage에 저장된 데이터의 버전 목록을 페이지 단위로 조회하기 위한 기능을 제공합니다. 이 객체를 사용하면 전체 버전 목록을 한 번에 불러오지 않고, 페이지를 순회하며 필요한 버전 정보를 단계적으로 가져올 수 있습니다. ## 개념 설명 DataStorage의 버전 목록은 데이터가 많아질 수 있으므로, `DataStorageVersionPages`는 이를 페이지 단위로 분할하여 관리합니다. 사용자는 현재 페이지의 데이터를 [original] | DataStorage의 데이터의 버전들을 조회하는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<DataStorageVersionInfo> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 버전 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페이지를 불러오고, 에러 코드 [chunk_id] | Misc:706:0
[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `GlobalDataStorage`에서 데이터를 저장하는 작업은 동기 방식으로 수행됩니까? 답변: 아닙니다. eKeyInfo들로 데이터를 저장하는 작업은 비동기로 수행됩니다. 질문: `DeleteAndWait(string key)` 메서드의 실행 공간은 어디입니까? 답변: ServerOnly 입니다. 질문: `DeleteAsync` 메서드가 작업을 완료할 때 콜백 함수에 전달되는 인자는 무엇입니까? 답변: 에러 코드와 키입니다. 질문: 다음 코드는 어떤 작업을 수행하나요? ```lua local errCode, data [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 `eKeyInfo` 기반 데이터 저장/조회/삭제 API입니다. 모든 메서드는 `[ServerOnly]`이며, `Wait` 계열은 `[Yield]` 속성이 있어 호출 시 스크립트 실행을 중단합니다. `Async` 계열은 비동기로 처리되며 완료 시 `callbackFunction`을 호출합니다. ### 주요 API | 메서드 시그니처 | 동작 및 반환값/콜백 인자 | | :--- | :--- | | `int32 DeleteAndWait(string key)` | 키 기반 데이터 삭제 [original] | eKeyInfo들로 데이터들을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callback [chunk_id] | Misc:708:1
[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | **GlobalDataStorage** **GlobalDataStorage**는 다목적 데이터를 관리하기 위한 저장소 컴포넌트이다. 이 저장소는 메이커 환경과 출시 환경 간에 데이터를 공유하지 않는 독립적인 저장 공간을 제공한다. ## 속성 (Properties) **Name** 속성은 읽기 전용(ReadOnly)의 `string` 타입으로, 해당 GlobalDataStorage 인스턴스의 이름을 나타낸다. ## 메서드 (Methods) GlobalDataStorage는 서버에서만 실행 가능한([ServerOnly]) 일련 [original] | 다목적 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** 이 GlobalDataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - [chunk_id] | Misc:708:0
[task] | wikipedia [title] | Foothold [category] | Misc [rephrased] | # Foothold (발판) **Foothold** 컴포넌트는 메이플스토리 월드에서 발판의 기하학적 정보 및 물리적 특성을 정의하는 데 사용됩니다. 이 컴포넌트는 타일맵이나 커스텀 발판 객체에 적용되어 엔티티의 이동, 마찰, 힘 가중 및 충돌 판정 관련 데이터를 제공합니다. ## 속성 (Properties) Foothold 컴포넌트는 발판의 좌표, 식별자, 물리 파라미터, 그리고 시각적 순서 정보를 포함하는 여러 속성을 가집니다. ### 좌표 및 기하학적 정보 발판의 공간적 위치는 시작점과 끝점, 그리고 길이와 기울기 정보 [original] | 발판의 여러 정보를 나타냅니다. # Properties - **Vector2 EndPoint [ReadOnly]** 발판의 끝점을 나타냅니다. 항상 StartPoint보다 오른쪽에 있습니다. - **float FootholdDrag** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 적용되는 마찰력입니다. 값이 클수록 빠르게 감속합니다. - **float FootholdForce** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 가해지는 힘입니다. 값이 양수면 오른쪽, [chunk_id] | Misc:707:0
[task] | diverse_qa [title] | Foothold [category] | Misc [rephrased] | 질문: Foothold 컴포넌트의 `EndPoint` 속성은 어떤 특성을 가집니까? 답변: `EndPoint`는 발판의 끝점을 나타내는 `Vector2` 타입의 읽기 전용 속성이며, 항상 `StartPoint`보다 오른쪽에 위치합니다. 질문: `FootholdDrag` 값이 클수록 RigidbodyComponent가 포함된 엔티티의 움직임에 어떤 영향을 미칩니까? 답변: 발판 위에 있을 때 적용되는 마찰력이 커져서 엔티티가 빠르게 감속합니다. 질문: `FootholdForce` 값이 양수일 때와 음수일 때 엔티티는 각각 어느 방 [original] | 발판의 여러 정보를 나타냅니다. # Properties - **Vector2 EndPoint [ReadOnly]** 발판의 끝점을 나타냅니다. 항상 StartPoint보다 오른쪽에 있습니다. - **float FootholdDrag** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 적용되는 마찰력입니다. 값이 클수록 빠르게 감속합니다. - **float FootholdForce** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 가해지는 힘입니다. 값이 양수면 오른쪽, [chunk_id] | Misc:707:0
[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: GlobalDataStorage는 어떤 목적으로 사용되는 컴포넌트이며, 메이커 환경과 출시 환경의 저장소 공유 여부는 어떻게 되나요? 답변: GlobalDataStorage는 다목적 데이터를 관리할 수 있는 저장소이며, 메이커와 출시 환경은 저장소를 공유하지 않습니다. 질문: GlobalDataStorage의 Name 속성은 어떤 타입이며, 어떤 특징이 있나요? 답변: Name 속성은 string 타입이며, 읽기 전용(ReadOnly)으로 이 GlobalDataStorage의 이름을 나타냅니다. 질문: GlobalData [original] | 다목적 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** 이 GlobalDataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - [chunk_id] | Misc:708:0
[task] | extract_knowledge [title] | CreatorDataStorage [category] | Misc [rephrased] | # CreatorDataStorage: 태그 기반 조회 및 버전 관리 `CreatorDataStorage`는 크리에이터가 사용자 데이터에 태그를 부여하고, 해당 태그를 기준으로 데이터를 조회하거나 버전 단위로 데이터를 관리할 수 있도록 하는 저장소입니다. 이 절에서는 태그를 이용한 페이지네이션 조회와 버전 기반 데이터 저장/조회 방식을 설명합니다. ## 1. 개념 설명 ### 태그 기반 조회 (Tag-based Query) 데이터는 `Key`, `Version`, `Tag`로 구성된 `DataStorageKeyInfo`와 `V [original] | 태그 값을 통해 데이터를 조회하는 예제입니다. ```lua local ds = _DataStorageService:GetCreatorDataStorage() local getResultCode, pages = ds:GetPagesAndWait("Tag") if getResultCode ~= 0 then error("Failed to GetPagesAndWait. Error : " + tostring(getResultCode)) return end while true do -- 현재 페이지의 목록을 가져 [chunk_id] | Misc:701:7
[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage GlobalDataStorage는 `eKeyInfo` 객체를 사용하여 데이터를 저장, 조회, 삭제하는 기능을 제공하는 서비스입니다. 대부분의 연산은 비동기 방식으로 수행되며, 특정 메서드는 실행 중 스크립트 실행을 일시 중단(Yield)하는 동기화 동작을 지원합니다. 모든 메서드는 서버 환경에서만 실행 가능한 `[ServerOnly]` 속성을 가집니다. ## 데이터 저장 및 삭제 데이터 저장은 `eKeyInfo` 리스트를 인수로 받아 비동기 방식으로 수행됩니다. 저장 작업이 완료되면 에러 코 [original] | eKeyInfo들로 데이터들을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callback [chunk_id] | Misc:708:1
[task] | extract_knowledge [title] | CreatorDataStorage [category] | Misc [rephrased] | # CreatorDataStorage 버전 조회 및 데이터 업데이트 `CreatorDataStorage`는 `_DataStorageService`를 통해 접근하며, 저장된 데이터의 버전 히스토리를 조회하거나 특정 조건에 맞는 데이터 업데이트를 수행하는 기능을 제공합니다. 이 절에서는 특정 기간 내 버전 정보 조회와 원자적(Atomic) 데이터 업데이트 방법론을 다룹니다. ## 1. 개념 설명 ### 버전 조회 (GetVersionsAndWait) `CreatorDataStorage`에서 값을 저장할 때 **버전 값(Versio [original] | 일정 기간 내의 버전 정보를 조회하는 예제입니다. ```lua local ds = _DataStorageService:GetCreatorDataStorage() local minDate = DateTime(2023, 03, 09, 20, 20, 0, 0) local maxDate = DateTime(2023, 03, 09, 22, 20, 0, 0) -- 값을 저장할 때 버전 값을 함께 지정한 경우에만 조회할 수 있습니다. local getResultCode, pages = ds:GetVersionsAndWait("Key", [chunk_id] | Misc:701:8
[task] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제시된 문서 내용을 기반으로 GlobalDataStorage 컴포넌트의 핵심 사실을 정리한 목록입니다. 1. GlobalDataStorage는 다목적 데이터를 관리할 수 있는 저장소이며, 메이커 환경과 출시 환경은 서로 다른 저장소를 사용하므로 데이터가 공유되지 않습니다. 2. GlobalDataStorage의 `Name` 속성은 `string` 타입의 읽기 전용(ReadOnly) 값으로, 해당 저장소의 이름을 나타냅니다. 3. `BatchDeleteAndWait(List<string> keys)` 메서드는 서버 전용(Server [original] | 다목적 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** 이 GlobalDataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - [chunk_id] | Misc:708:0
[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `sortDirection` 프로퍼티의 역할은 무엇인가요? 답변: `sortDirection`은 데이터 정렬 방향을 설정하며, 오름차순 또는 내림차순 정렬을 지정할 수 있습니다. 질문: `minDate`와 `maxDate`를 설정했을 때 어떤 기능에 사용할 수 있나요? 답변: `minDate`와 `maxDate`로 설정한 시간대 내에서 생성된 버전을 조회하는 데 사용할 수 있습니다. 질문: `SetAndWait(string key, string value)` 메서드의 실행 특성은 무엇인가요? 답변: 이 메서드는 `[Ser [original] | . sortDirection으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 [chunk_id] | Misc:708:2
[task] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제시된 문서에 포함된 `GlobalDataStorage` API의 핵심 사실을 바탕으로, 각 메서드의 실행 공간, 동기화/비동기 특성, 매개변수, 반환 타입 및 콜백 시그니처를 명시하여 정리한 목록입니다. 1. `GlobalDataStorage`의 데이터 저장은 `DataStorageKeyInfo`를 통해 수행되며, 비동기로 처리되어 완료 시 에러 코드와 저장에 성공한 `DataStorageKeyInfo` 리스트를 인자로 전달받은 `callbackFunction`이 호출된다. 2. `DeleteAndWait(string key)` [original] | eKeyInfo들로 데이터들을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callback [chunk_id] | Misc:708:1
[task] | wikipedia [title] | GlobalDataStorage [category] | Misc [rephrased] | GlobalDataStorage는 데이터의 정렬 방향과 시간대 기반 조회 기능을 제공하는 저장소 서비스입니다. `sortDirection` 파라미터를 통해 결과의 오름차순 또는 내림차순 정렬을 설정할 수 있으며, `minDate`와 `maxDate` 파라미터를 지정하여 해당 시간 범위 내에서 생성된 버전을 조회할 수 있습니다. 이러한 조회 작업은 비동기로 처리되며, 처리가 완료되면 에러 코드, 대상 키, 그리고 조회된 객체가 `callbackFunction`으로 전달된 콜백 함수의 인수로 전달되어 호출됩니다. 데이터 저장 및 삭제 [original] | . sortDirection으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 [chunk_id] | Misc:708:2
[task] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | # [Misc] GlobalDataStorage **공통 규칙** - 모든 메서드는 `[ServerOnly]`입니다. - `TransactSet*` 계열: 한 번에 최대 **20개 Key**까지 조작 가능. 작업 중 하나라도 실패하면 전체 호출이 실패합니다. - `Update*` 계열: 기존 값이 `expectedValue`와 다르면 에러 코드 `UpdateApiFailed(2000000)`와 **기존 값**을 반환/전달합니다. ## API 목록 ### TransactSet (데이터 저장) | 시그니처 | 비고 | | :-- [original] | ageKeyInfo, string> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, s [chunk_id] | Misc:708:3
[task] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | # [Misc] GlobalDataStorage **공통 규칙** * **실행 공간**: 모든 메서드는 `[ServerOnly]`입니다. * **동기/비동기**: `Wait` 접미사 메서드는 `[Yield]`이며 실행 중 스크립트 블로킹(중단) 후 에러 코드를 반환합니다. `Async` 접미사 메서드는 비동기 실행 후 `callbackFunction`으로 결과(에러 코드, 데이터)를 전달합니다. * **트랜잭션(Transact) 제한**: `Transact` 계열 메서드는 **한 번에 최대 20개 Key**만 조작 가능 [original] | . sortDirection으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 [chunk_id] | Misc:708:2
[task] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | ```lua -- GlobalDataStorage API 핵심 사실 정리 ``` 1. `TransactSetByInfoAndWait(Dictionary<DataStorageKeyInfo, string> keyValues)` 함수는 `[ServerOnly]` 및 `[Yield]` 속성을 가지며, 입력된 `DataStorageKeyInfo` 목록으로 데이터를 저장하고, 모든 저장 작업이 성공하면 에러 코드와 성공한 `DataStorageKeyInfo` 목록을 반환하지만 하나라도 실패하면 함수 호출 자체가 실패하며, 수행 중 스크립트 [original] | ageKeyInfo, string> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, s [chunk_id] | Misc:708:3
[task] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage `_DataStorageService:GetGlobalDataStorage("StorageName")` 호출로 인스턴스를 생성합니다. 모든 메서드는 `errorCode`를 반환하며, 동기(`AndWait`) 및 비동기(`Async`) 방식과 `DataStorageKeyInfo` 기반 메서드를 지원합니다. ## API 및 사용 예제 ### 1. 기본 연산 (Key 기반) * **SetAndWait(key, value)** : 동기 저장 * **GetAndWait(key)** : 동기 [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] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제시된 문서 원문에 명시된 정보만을 기반으로 `GlobalDataStorage` API의 핵심 사실을 추출하여 정리했습니다. * `sortDirection` 매개변수를 사용하여 데이터 정렬을 오름차순 또는 내림차순으로 설정할 수 있습니다. * `minDate`와 `maxDate` 매개변수를 설정하여 지정된 시간대 내에서 생성된 버전을 조회할 수 있습니다. * 버전 조회 작업은 비동기로 수행되며, 완료 시 에러 코드, 키, 조회용 객체를 인자로 받아 `callbackFunction`으로 전달된 함수가 호출됩니다. * [original] | . sortDirection으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 [chunk_id] | Misc:708:2
[task] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제시된 문서 내용(코드 예제 및 텍스트)에만 근거하여 핵심 사실을 추출한 목록입니다. 1. `_DataStorageService:GetGlobalDataStorage("StorageName")` 메서드를 호출하여 지정된 이름의 전역 데이터 스토리지 객체를 반환받습니다. 2. `ds:BatchGetAndWait(keys)` 메서드는 문자열 키 배열을 매개변수로 받아 `(errorCode, itemPages)` 형태의 두 가지 값을 반환하며, 여기서 `itemPages`는 페이지네이션을 지원하는 객체입니다. 3. `itemPages: [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] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | # [Misc] GlobalDataStorage `_DataStorageService:GetGlobalDataStorage("StorageName")` 로 저장소를 얻습니다. 모든 일괄(Batch) 메서드는 `errorCode` 와 결과 객체를 반환하며, 페이지네이션이 필요한 경우 `itemPages` 객체를 통해 처리합니다. ### BatchGetAndWait 키 목록으로 데이터를 일괄 조회합니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName [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] | extract_knowledge [title] | Foothold [category] | Misc [rephrased] | # 발판(Foothold) 컴포넌트 발판(Foothold)은 게임 내 지형의 물리적 경계를 정의하며, `RigidbodyComponent`를 가진 엔티티의 이동, 마찰, 그리고 충돌 여부를 제어하는 정보 구조입니다. ## 1. 개념 설명 발판은 고정된 지형(`TileMapComponent`) 또는 커스텀 지형(`CustomFootholdComponent`)에 의해 생성 및 관리됩니다. 발판은 좌표 공간에서 시작점(`StartPoint`)과 끝점(`EndPoint`)으로 정의되며, 이 두 점 사이의 변화량(`Variance`)을 [original] | 발판의 여러 정보를 나타냅니다. # Properties - **Vector2 EndPoint [ReadOnly]** 발판의 끝점을 나타냅니다. 항상 StartPoint보다 오른쪽에 있습니다. - **float FootholdDrag** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 적용되는 마찰력입니다. 값이 클수록 빠르게 감속합니다. - **float FootholdForce** RigidbodyComponent가 포함된 엔티티가 발판 위에 있을 때 가해지는 힘입니다. 값이 양수면 오른쪽, [chunk_id] | Misc:707:0
[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `TransactSetByInfo` 함수의 두 번째 매개변수 타입은 무엇이며, 이 함수는 어떤 실행 공간에서만 사용할 수 있나요? 답변: 두 번째 매개변수의 타입은 `Dictionary<DataStorageKeyInfo, string>`이며, 이 함수는 `[ServerOnly]` 실행 공간에서만 사용할 수 있습니다. 질문: `TransactSetByInfo` 함수를 호출할 때 한 번에 최대 몇 개의 Key를 조작할 수 있나요? 답변: 한 번에 최대 20개 Key까지 조작할 수 있습니다. 질문: `TransactSetByI [original] | ageKeyInfo, string> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, s [chunk_id] | Misc:708:3
[task] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage `_DataStorageService:GetGlobalDataStorage("StorageName")`으로 인스턴스를 얻습니다. ### 1. 일괄 조회 (BatchGetByInfoAndWait) `DataStorageKeyInfo` 객체 배열을 전달하여 데이터를 일괄 가져옵니다. ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local keyInfos = { DataStorageKeyInfo("Key [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] | extract_knowledge [title] | GlobalDataStorage [category] | Misc [rephrased] | # GlobalDataStorage `GlobalDataStorage`는 다목적 데이터를 관리하기 위한 서버 측 저장소 컴포넌트입니다. 메이커(개발) 환경과 출시(운영) 환경은 서로 다른 저장소를 사용하며 데이터를 공유하지 않습니다. ## 1. 개념 `GlobalDataStorage`는 키(Key)와 값(Value) 쌍을 기반으로 데이터를 저장, 조회, 삭제하는 기능을 제공합니다. 모든 데이터 조작 메서드는 서버에서만 실행되며([ServerOnly]), 동기화(AndWait) 또는 비동기(Aync) 방식으로 처리됩니다. - [original] | 다목적 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string Name [ReadOnly]** 이 GlobalDataStorage의 이름입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - [chunk_id] | Misc:708:0
[task] | diverse_qa [title] | GlobalDataStorage [category] | Misc [rephrased] | 질문: `GlobalDataStorage` 객체를 생성하기 위해 어떤 서비스와 메서드를 사용해야 하나요? 답변: `_DataStorageService` 서비스의 `GetGlobalDataStorage` 메서드를 사용합니다. 질문: 아래 코드의 주된 목적은 무엇인가요? ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local errorCode = ds:SetAndWait("key", "value") ``` 답변: "StorageName"이라는 이름 [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] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | 제공된 문서 내용(`[Misc] GlobalDataStorage`)에 기반하여 핵심 사실을 추출한 목록입니다. 1. `_DataStorageService:GetGlobalDataStorage(string)` 메서드를 호출하여 특정 이름의 GlobalDataStorage 객체를 가져올 수 있습니다. 2. `DataStorageKeyInfo(string key, string version, string tag)` 생성자를 사용하여 데이터 저장 키 정보를 생성할 수 있으며, 이는 `BatchGetByInfoAndWait` 메서드의 매개 [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] | knowledge_list [title] | GlobalDataStorage [category] | Misc [rephrased] | ```lua local ds = _DataStorageService:GetGlobalDataStorage("StorageName") local errorCode = ds:SetAndWait("key", "value") ``` `_DataStorageService:GetGlobalDataStorage("StorageName")` 메서드를 호출하여 `GlobalDataStorage` 객체를 생성하며, 생성된 객체의 `SetAndWait(key, value)` 메서드를 호출하면 `errorCode`를 반환합니다. ```lua local [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] | distill [title] | GlobalDataStorage [category] | Misc [rephrased] | # [Misc] GlobalDataStorage `GlobalDataStorage`는 월드 전체에서 공유되는 데이터를 저장 및 관리하는 시스템입니다. ## 핵심 타입 * **table**: 저장되는 데이터의 기본 구조. * **DataStorageKeyInfo**: 키 정보와 메타데이터를 담는 구조체. * **DateTime**: 시간 정보를 나타내는 타입. ## 관련 서비스 * **DataStorageService**: 데이터 저장소 접근 및 조작을 담당하는 서비스. ## 관련 문서 * [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는 mLua 스크립트 환경에서 데이터 저장소(Storage)를 관리하기 위한 글로벌 객체입니다. 이 객체를 통해 개발자는 데이터베이스와 상호작용하여 데이터를 저장하거나 불러올 수 있으며, 사용량 제한을 확인하거나 활용하는 기능을 제공합니다. GlobalDataStorage와 관련된 주요 개념 및 서비스는 다음과 같습니다. 첫째, 데이터의 기본 구조로 **table** 타입을 사용합니다. 저장할 데이터는 주로 table 형태로 조직되며, 이는 구조화된 정보를 [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