GlobalDataStore

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Non Replicato

Un GlobalDataStore espose funzioni per il salvataggio e il caricamento dei dati per il DataStoreService .

Vedi Data Stores per una guida in dettaglio sulla struttura dei dati, la gestione, l'handling degli errori, ecc.

I negozi di dati ordinati non supportano la versionizzazione e i metadati, quindi DataStoreKeyInfo è sempre nil per le chiavi in un OrderedDataStore . Se hai bisogno di Assistenzala versionizzazione e i metadati, usa un 1> Class.DataStore1> .

Sommario

Metodi

Proprietà

Metodi

GetAsync

Resa

Questa funzione restituisce il valore più recente della chiave fornita e un'esempioDataStoreKeyInfo . Se la chiave non esiste o se la versione più recente è stata contrassegnata come eliminata, entrambi i valori di restituzione saranno nil .

Le chiavi vengono memorizzate localmente per 4 secondi dopo la prima lettura. Un GlobalDataStore:GetAsync() chiamata in questi 4 secondi restituisce un valore dalla cache. Le modifiche apportate alla chiave da GlobalDataStore:SetAsync() o GlobalDataStore:UpdateAsync() applicano immediatamente e riavviano il timer di 4 secondi.

Per ottenere una versione specifica, come una versione prima della versione più recente, usa DataStore:GetVersionAsync() .

Parametri

key: string

Il nome chiave per il quale viene richiesto il valore. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".

Valore predefinito: "nil"

Restituzioni

Il valore dell'elemento nel data store con la chiave fornita e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui la versione è stata creata e le funzioni per recuperare UserIds e le metadati.

IncrementAsync

Variant
Resa

Questa funzione incrementa il valore di una chiave della quantità fornita (entrambi devono essere interi).

OrderedDataStore non supporta la versionizzazione, quindi chiamare questo metodo su una chiave OrderedDataStore sostituirà il valore corrente con il valore incrementato e renderà le versioni precedenti non accessibili.

Parametri

key: string

Nome chiave per il quale il valore dovrebbe essere aggiornato. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".

delta: number

Importo per aumentare il valore corrente di.

Valore predefinito: 1
userIds: Array

(Opzionale) Una tabella di UserIds per associare con la chiave.

Valore predefinito: "{}"

(Facoltativo) DataStoreIncrementOptions istanza che combina più parametri aggiuntivi come metadati personalizzati e consente una futura estensibilità.

Valore predefinito: "nil"

Restituzioni

Variant

Il valore aggiornato dell'elemento nel data store con la chiave fornita.

RemoveAsync

Resa

Questa funzione contrassegna la chiave specificata come eliminata creando una nuova versione "tombstone" della chiave. Prima di questo, restituisce la versione più recente prima dell'invio della richiesta di rimozione.

Dopo che una chiave viene rimossa tramite questa funzione, GlobalDataStore:GetAsync() chiami per la chiave restituiranno nil . Le versioni più vecchie della chiave sono ancora accessibili tramite DataStore:ListVersionsAsync() e 1> Class.DataStore:GetVersionAsync()1>, supponendo che non siano scadute.

OrderedDataStore non supporta la versionizzazione, quindi chiamare RemoveAsync() su una chiave OrderedDataStore la eliminerà permanentemente.

Gli oggetti rimossi verranno permanentemente eliminati dopo 30 giorni.

Se i valori precedenti sono stati già eliminati tramite GlobalDataStore:RemoveAsync() o DataStore:RemoveVersionAsync() , la funzione restituirà nil , 1> nil1> per il valore e 4> Class.DataStoreKeyInfo4> per il parametro rispettivamente.

Parametri

key: string

Nome chiave da rimuovere. Se DataStoreOptions.AllScopes è stato impostato su vero quando si accede al data store attraverso DataStoreService:GetDataStore() , questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".


Restituzioni

Il valore del data store prima della cancellazione e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui la versione è stata creata e le funzioni per recuperare UserIds e metadati.

SetAsync

Variant
Resa

Questa funzione imposta il valore più recente, UserIds , e i metadati per la chiave fornita.

I valori nei datastore sono versionati, il che significa che GlobalDataStore:SetAsync() creerà una nuova versione ogni volta che viene chiamato. Le versioni precedenti possono essere accedute tramite DataStore:ListVersionsAsync() / DataStore:GetVersionAsync() per un massimo di 30 giorni, al quale punto vengono permanentemente eliminati.

OrderedDataStore non supporta la versionizzazione, quindi chiamare questo metodo su una chiave OrderedDataStore sovrascriverà il valore corrente e renderà le versioni precedenti non accessibili.

Le definizioni dei metadati devono sempre essere aggiornate con un valore, anche se non ci sono cambiamenti nel valore corrente; altrimenti il valore corrente verrà perso.

Qualsiasi stringa memorizzata in un data store deve essere valida UTF-8 . In UTF-8, i valori più grandi di 127 vengono utilizzati esclusivamente per l'encodifica di punti di codice multi-byte, quindi un singolo bit più grande di 127 non sarà valido UTF-8 e l'attempt GlobalDataStore:SetAsync() fallirà.

Imposta vs. Aggiornamento

GlobalDataStore:SetAsync() è la soluzione migliore per un aggiornamento rapido di una chiave specifica, e conta solo contro il limite di scrittura. Tuttavia, potrebbe causare una non coerenza dei dati se due server cercano di impostare la stessa chiave in contemporaneo. Class.GlobalDataStore:

Parametri

key: string

Nome della chiave per cui il valore deve essere Impostare. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome della chiave deve essere aggiunto con lo scopo originale come in "scope/key".

value: Variant

Il valore che la chiave del data store verrà impostata.

userIds: Array

Tavola di UserIds , altamente raccomandata per l'assistenza con il tracciamento/rimozione del GDPR.

Valore predefinito: "{}"

(Facoltativo) DataStoreSetOptions istanza che consente la specificazione dei metadati sulla chiave.

Valore predefinito: "nil"

Restituzioni

Variant

L'identificatore della versione appena creata. Può essere utilizzato per recuperare informazioni chiave utilizzando GetVersionAsync() o per rimuoverlo utilizzando RemoveVersionAsync() .

UpdateAsync

Resa

Questa funzione recupera il valore e i metadati di una chiave dal data store e li aggiorna con un nuovo valore determinato dalla funzione richiamata specificata attraverso il secondo parametro. Se la richiamata restituisce nil, l'operazione di write è annullata e il valore rimane inalterato.

Se l'aggiornamento ha successo, una nuova versione del valore verrà creata e le versioni precedenti saranno accessibili attraverso DataStore:ListVersionsAsync() e DataStore:GetVersionAsync() .

OrderedDataStore non supporta la versionizzazione, quindi chiamare questa funzione su una chiave OrderedDataStore sovrascriverà il valore corrente e renderà le versioni precedenti non accessibili.

In casi in cui un altro server di gioco ha aggiornato la chiave in breve periodo di tempo tra il recupero della chiave corrente e l'impostazione del suo valore, GlobalDataStore:UpdateAsync() chiamerà la funzione nuovamente, scartando il risultato della chiamata precedente. La funzione verrà chiamata il maggior numero di volte possibile fino a quando i dati non

Qualsiasi stringa memorizzata in un archivio di dati deve essere valida UTF-8 . In UTF-8, i valori più grandi di 127 vengono utilizzati esclusivamente per l'encodifica di punti di codice multi-byte, quindi un singolo bit più grande di 127 non sarà valido UTF-8 e l'attento GlobalDataStore:UpdateAsync() fallirà.

Imposta vs. Aggiornamento

GlobalDataStore:SetAsync() è la soluzione migliore per un aggiornamento rapido di una chiave specifica, e conta solo contro il limite di scrittura. Tuttavia, potrebbe causare una non coerenza dei dati se due server cercano di impostare la stessa chiave in contemporaneo. Class.GlobalDataStore:

Funzione di richiamata

La funzione callback accetta due argomenti:

  • Valore corrente della chiave prima dell'Aggiornarmento.
  • DataStoreKeyInfo istanza che contiene le informazioni sulla versione più recente (questo argomento può essere ignorato se non viene utilizzato il metadato).

A sua volta, la funzione callback restituisce fino a tre valori:

  • Il nuovo valore da impostare per la chiave.
  • Un array di UserIds per associare con la chiave. DataStoreKeyInfo:GetUserIds() dovrebbe essere restituito a meno che non siano cambiati gli ID esistenti; altrimenti tutti gli ID esistenti saranno cancellati.
  • Una tabella Lua che contiene metadati per associare alla chiave. DataStoreKeyInfo:GetMetadata() dovrebbe essere restituita a meno che non venga cambiata la metadati esistente; altrimenti tutte le metadati esistenti verranno cancellate.

Se il callback restituisce nil invece, il server attuale smetterà di tentare di aggiornare la chiave.

La funzione di callback non può rendere, quindi non Library.task.wait() includere chiami come task.wait() .

Parametri

key: string

Nome chiave per il quale il valore dovrebbe essere aggiornato. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".

transformFunction: function

Transform function that takes the current value and DataStoreKeyInfo as parameters and returns the new value along with optional UserIds and metadata.


Restituzioni

Il valore aggiornato dell'entry in the data store con il key e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui la versione è stata creata e le funzioni per recuperare UserIds e metadati.

Eventi