GlobalDataStore

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
複製されていません

A グローバルデータストアサービス exposes functions for saving and loading data for the DataStoreService .

データ構造、管理、エラー処理などについての詳細については、データストア を参照してください。

オーダーされたデータストアはバージョン管理とメタデータをサポートしていませんので、DataStoreKeyInfo は常に nil でキーが OrderedDataStore にあります。2>バージョン管理とメタデータをサポートする場合は、5> Class.DataStore5> を使用して

概要

方法

プロパティ

方法

GetAsync

イールド

この関数は、提供されたキーの最新値と DataStoreKeyInfo インスタンスを返します。キーが存在しない場合、または最新バージョンが削除された場合、両方の値は nil になります。

キーは最初の既読み取り後、4秒間ローカルにキャッシュされます。 Class.GlobalDataStore:GetAsync() 呼び出しは、この 4 秒間、キャッシュから値を返します。 Class.GlobalDataStore:SetAsync() または Class.GlobalDataStore:UpdateAsync() のキーの変更は、キャッシュにすぐに適用され、4秒

最新バージョン以前のバージョンを取得するには、DataStore:GetVersionAsync() を使用します。

パラメータ

key: string

値が要求されるキー名。DataStoreOptions.AllScopesDataStoreService:GetDataStore() を通じてアクセスするときに キー名 が原始スコープとして設定されている場合、このキー名は「スコープ/キー」 の後に付加されます。

既定値: "nil"

戻り値

入力のデータストアに与えられたキーと、DataStoreKeyInfo インスタンスを含む、バージョン番号、日付、バージョンが作成された時間、および関数を取り戻すメタデータを含むバージョンの値を取得する値。

IncrementAsync

Variant
イールド

この関数は、提供された値でキーの値を増加させます (両方とも整数でなければなりません)。

OrderedDataStore はバージョン管理をサポートしていませんので、OrderedDataStore キーでこのメソッドを呼び出すと、現在の値を上書きし、以前のバージョン をアクセス不可にすることになります。

パラメータ

key: string

値が更新される必要があるキーの名前。DataStoreOptions.AllScopesDataStoreService:GetDataStore() を通じてアクセスすると、このキー名は「スコープ/キー」で原始スコープと一緒に付けられる必要があります。

delta: number

現在の値を増加させる量。

既定値: 1
userIds: Array

(オプション) キーに関連する UserIds を持つテーブル。

既定値: "{}"

(オプション) DataStoreIncrementOptions インスタンス、複数の追加パラメータをカスタムメタデータとして組み合わせ、将来の拡張性をサポートします。

既定値: "nil"

戻り値

Variant

入力のデータストアにあるキーで更新された値。

RemoveAsync

イールド

この関数は、新しい "tombstone" バージョンのキーを作成することで指定されたキーを削除します。以前、削除コールの前に最新バージョンを返します。

この関数を使用してキーが削除された後、 GlobalDataStore:GetAsync() キーの呼び出しは、nil が返されます。これらのキーの以前のバージョンは、DataStore:ListVersionsAsync() および 2>Class.DataStore:GetVersionAsync()2> を通じて、有効期限が切れていない

OrderedDataStore はバージョン管理をサポートしていませんので、RemoveAsync() を Class.OrderedDataStore キーで呼び出すと、永久に削除されます。

削除されたオブジェクトは、30 日後に永久に削除されます。

以前の値が GlobalDataStore:RemoveAsync() または DataStore:RemoveVersionAsync() で削除された場合、関数は nil、1> nil1> の値と 4> Class.DataStoreKeyInfo4> のレイトで返します。

パラメータ

key: string

キー名を削除する必要があります。DataStoreOptions.AllScopesDataStoreService:GetDataStore() を通じてアクセスするときに、このキー名はオリジナルのスコープと一緒に付けられなければなりません。


戻り値

データストアの削除前のデータの値と、DataStoreKeyInfo インスタンス、バージョン番号、データの作成時間、および機能を回収するためのメタデータを含む。

SetAsync

Variant
イールド

この関数は、UserIds 、指定されたキーのメタデータ を設定します。

データストアの値はバージョンで表現され、GlobalDataStore:SetAsync() は、呼び出されるたびに新しいバージョンを作成します。以前のバージョンは、DataStore:ListVersionsAsync() / DataStore:GetVersionAsync() でアクセスできます。これらのバージョンは、永久に削除

OrderedDataStore はバージョン管理をサポートしていませんので、 OrderedDataStore キーでこのメソッドを呼び出すと、現在の値を上書きし、以前のバージョンを無効にします。

メタデータの定義は、現在の値に変更がない場合でも、常に値として更新する必要があります。そうしないと、現在の値が失われる可能性があります。

データストアに保存されている任意の文字列は、有効でなければなりません UTF-8 . UTF-8 では、127 以上の値は、マルチバイトコードポイントを暗号化するために使用されますので、127 以上の値を持つ単一バイトは UTF-8 では無効であり、

設定対比更新

GlobalDataStore:SetAsync() は、特定のキーのクイック更新に最適です。ただし、書き込み限度に対してのみカウントされます。しかし、2つのサーバーが同時に同じキーを設定しようとすると、データの一

パラメータ

key: string

値が設定する定される必要があるキーの名前。DataStoreOptions.AllScopesDataStoreService:GetDataStore() を通じてアクセスすると、このキー名は「スコープ/キー」で原始スコープと一緒に付けられます。

value: Variant

データストアのキーが設定される値。

userIds: Array

Class.Player.UserId|UserIds のテーブル、GDPR トラッキング/削除に役立つことを強くお勧めします。

既定値: "{}"

(オプション) DataStoreSetOptions インスタンス は、キーにメタデータ仕様を指定できるようになります。

既定値: "nil"

戻り値

Variant

新しく作成されたバージョンのバージョン識別子。 GetVersionAsync() を使用して、キー情報を取得するために使用したり、RemoveVersionAsync() を使用して削除することができます。

UpdateAsync

イールド

この関数は、データストアからキーの値とメタデータを取得し、コールバック関数によって指定された新しい値で更新します。コールバックが nil を返すと、書き込み操作がキャンセルされ、値が変更されません。

アップデートが成功すると、新しいバージョンの値が作成され、以前のバージョンは DataStore:ListVersionsAsync() および DataStore:GetVersionAsync() を通じてアクセスできます。

OrderedDataStore はバージョン管理をサポートしていませんので、OrderedDataStore キーでこの関数を呼び出すと、現在の値を上書きし、以前のバージョンを無効にします。

別のゲームサーバーがキーを短時間で更新する場合、 GlobalDataStore:UpdateAsync() はキーの現在の値を取得してキーの値を設定する間の間にキーを再び呼び出します。この関数は、データが保存されるまで nil まで、コールバック関

データストアに保存されている任意の文字列は、有効でなければなりません UTF-8 。UTF-8 では、127 以上の値は、マルチバイトコードポイントを暗号化するために使用されますので、127 以上の値を持つ単一バイトは UTF-8 では無効であり、 <

設定対比更新

GlobalDataStore:SetAsync() は、特定のキーのクイック更新に最適です。ただし、書き込み限度に対してのみカウントされます。しかし、2つのサーバーが同時に同じキーを設定しようとすると、データの一

コールバック関数

コールバック関数は 2つの引数を受け入れます:

  • アップデート前のキーの値。
  • DataStoreKeyInfo インスタンス、最新のバージョン情報を含む (メタデータが使用されていない場合は、この引数を無視できます)。

コールバック関数は、3つの値を返すことができます:

  • キーに設定する新しい値。
  • Class.Player.UserId|UserIds を含む配列をキーに関連付けるために。DataStoreKeyInfo:GetUserIds() が変更されていない場合は、すべての既存の ID がクリアされます。そうでない場合はすべての既存の ID がクリアされます。
  • キーに関連付けるメタデータを含む Lua テーブル。DataStoreKeyInfo:GetMetadata() は、既存のメタデータが変更されていない場合にのみ返される必要があります。そうでない場合は、すべての既存のメタデータがクリアされます。

コールバックが nil で返る場合、現在のサーバーはキーの更新を試行しなくなります。

コールバック関数は生成できませんので、Library.task.wait() のような呼び出しを含めないでください。

パラメータ

key: string

値が更新される必要があるキーの名前。DataStoreOptions.AllScopesDataStoreService:GetDataStore() を通じてアクセスすると、このキー名は「スコープ/キー」で原始スコープと一緒に付けられる必要があります。

transformFunction: function

現在の値と DataStoreKeyInfo をパラメーターとして取得し、新しい値とオプションの UserIds とメタデータを返します。


戻り値

入力のデータストアに、DataStoreKeyInfo インスタンスを含む、キーとUserIds のバージョンを取得するメタデータを更新します。

イベント