Passer au contenu

rbxdss — Gestion des Magasins de Données

Code source: BLuau/Libraries/rbxdss.luau

Informations

rbxdss est une interface simple et sécurisée pour utiliser le DataStoreService de Luau.

Si le paramètre d'accès aux services API n'est pas activé, le module ne fonctionnera pas, tout comme le DataStoreService. Il sera donc inutile d'appeler une fonction ou le module en lui-même et renverra un message d'erreur si c'est le cas.

WARNING

Le serveur ne peut accéder aux magasins de données que via des Scripts. La tentative d'accès côté client dans un LocalScript provoquera une erreur.

Cela vaut aussi pour le module, qui utilise lui aussi les magasins de données pour pouvoir accéder aux données persistantes.

Fonctions

Les fonctions énumérées dans cette section ont été nommées de façon à rendre plus simple la compréhension des développeurs qui ont l'habitude de manipuler les DataStores.

NOTE

Des similitudes peuvent être constatées entre cette documentation et celle de Roblox. Cela est parfaitement normal, rbxdss a été créé dans le but d'éviter aux développeurs de réinventer la roue et de devoir réécrire les mêmes lignes de code en boucle.


Créer des Données

rbxdss:SetAsync(player, datastore, objectValue)

Enregistre les données d'un joueur spécifique dans le DataStore donné.

Cette fonction définit la dernière valeur des métadonnées pour la clé donnée.

Les erreurs réseau sont nativement gérées et encapsulées dans pcall(), il est donc inutile de gérer vous-mêmes ce type d'erreur. Toutefois, il est recommandé de se documenter sur la fonction SetAsync() native de Roblox pour que vous puissiez mieux comprendre son utilisation.

luau
Players.PlayerAdded:Connect(function(player)
   -- Sauvegarde des données du joueur à partir de `YOUR_DATASTORE`
   rbxdss:SetAsync(player, "YOUR_DATASTORE", "YOUR_DATA")
end)

Paramètres

ArgumentsDescriptions
player: PlayerLe joueur dont les données seront sauvegardées vers la clé du magasin de données.
dataStore: stringClée d'accès vers les données que vous souhaitez sauvegarder.
objectValue: anyValeur à laquelle la clé du magasin de données sera définie.

Retours

ValeursDescriptions
BooleanLa valeur correspond au résultat de l'exécution de la fonction. Elle renvoie true si la fonction a été exécutée avec succès et false si un problème est survenu.
String?Si une erreur est survenue lors de la tentative d'exécution de la fonction, alors le message d'erreur sera envoyé comme deuxième valeur.

Lire les Données

rbxdss:GetAsync(player, datastore)

Récupération des données d'un joueur spécifique à partir du DataStore donnée.

Cette fonction permet de lire la valeur d'une entrée de magasin de données.

Vous pouvez rencontrer certains problème de synchronisation avec le backend en raison du comportement de mise en cache. Ces problèmes ne sont pas géré par la fonction mais peuvent être réglé en désactivant la mise en cache. Nous vous conseillons de le faire à partir du moment où plusieurs serveurs écrivent sur une clé avec une fréquence élevée et doivent obtenir la dernière valeur des serveurs.

WARNING

Attention, désactiver la mise en cache peut vous amener à consommer davantage de limites et de quotas de vos magasins de données.

Si vous dépassez cette limite, alors les requêtes seront placées dans une file d'attente. À savoir que les files d'attente sont limitées à 30 requêtes, si elles sont dépassées alors les nouvelles requêtes échouent.

luau
Players.PlayerAdded:Connect(function(player)
   -- Récupération des données du joueur à partir de `YOUR_DATASTORE`
   local data = rbxdss:GetAsync(player, "YOUR_DATASTORE", "YOUR_DATA")
   print(data)
end)

Paramètres

ArgumentsDescriptions
player: PlayerLe joueur dont les données seront récupérées à partir de la clé du magasin de données.
dataStore: stringClée d'accès vers les données que vous souhaitez récupérer.

Retours

ValeursDescriptions
TupleLa valeur de l'entrée dans le magasin de données avec la clé donnée et une instance DataStoreKeyInfo qui inclut le numéro de version, la date et l'heure de création de la version, ainsi que des fonctions permettant de récupérer les identifiants utilisateur et les métadonnées.

Publié sous Apache-2.0 License.