3 τρόποι εργασίας με καταστήματα δεδομένων στο Roblox

Πίνακας περιεχομένων:

3 τρόποι εργασίας με καταστήματα δεδομένων στο Roblox
3 τρόποι εργασίας με καταστήματα δεδομένων στο Roblox
Anonim

Όλοι ήθελαν να αποθηκεύσουν δεδομένα και να τα φορτώσουν ξανά κάθε φορά που ένας παίκτης μπαίνει ξανά στο παιχνίδι; Από τότε που η Ανθεκτικότητα των Δεδομένων έχει γίνει μάταιη, το ROBLOX εισάγει αποθήκες δεδομένων που είναι πολύ πιο λειτουργικά. Ο παρακάτω οδηγός θα σας δώσει τη δυνατότητα να εργαστείτε με καταστήματα δεδομένων για το ROBLOX.

Βήματα

Μέθοδος 1 από 3: Ρύθμιση του Data Store

7815950 1
7815950 1

Βήμα 1. Διαμορφώστε το API

Αυτό δεν περιλαμβάνει κανένα σενάριο, αλλά για να ενεργοποιήσετε όλο το API αποθήκευσης δεδομένων, πρέπει πρώτα να ενεργοποιήσετε την πρόσβαση API. Για να το κάνετε αυτό, μεταβείτε στην καρτέλα Ανάπτυξη και κάντε κλικ στο "Παιχνίδια". Αυτό θα πρέπει να σας κατευθύνει σε όλα τα τρέχοντα μέρη παιχνιδιού που έχετε στην κατοχή σας. Βρείτε το παιχνίδι σας και κάντε κλικ στο εργαλείο. Θα πρέπει να εμφανιστεί ένα αναπτυσσόμενο μενού και απλά πατήστε "Διαμόρφωση". Επιλέξτε το πλαίσιο ενεργοποιημένο "Enable Studio Access to API Services" και αποθηκεύστε. Θα πρέπει τώρα να έχετε πρόσβαση στο πλήρες API.

7815950 2
7815950 2

Βήμα 2. Ανακτήστε την αποθήκη δεδομένων

Χρησιμοποιήστε το Data Store API για να καλέσετε για την αποθήκευση δεδομένων, καθώς θα χρειαστεί να το αναφέρουμε. Για να ξεκινήσετε, ανοίξτε ένα σενάριο στο ROBLOX και ονομάστε μια μεταβλητή που θα θέλαμε να χρησιμοποιήσουμε για να καλέσουμε για την αναφορά.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name")

7815950 3
7815950 3

Βήμα 3. Χρησιμοποιήστε τη μεταβλητή όπως απαιτείται

Καλέσατε επιτυχώς το datastore με τη μεταβλητή "datastore". Τώρα, όποτε χρειάζεται να ανακτήσετε το αρχείο δεδομένων, μπορείτε απλά να το ονομάσετε με τη μεταβλητή του.

Λάβετε υπόψη ότι εάν δεν έχει δημιουργηθεί ακόμη ένα αποθετήριο δεδομένων, θα δημιουργήσει αυτόματα ένα νέο

Μέθοδος 2 από 3: Χρήση μεθόδων αποθήκευσης δεδομένων

7815950 4
7815950 4

Βήμα 1. GetAsync

Χρησιμοποιήστε το GetAsync για να επιστρέψετε την τιμή της καταχώρισης στο χώρο αποθήκευσης δεδομένων με το δεδομένο κλειδί. Βεβαιωθείτε ότι έχετε δώσει σε κάθε παίκτη ένα μοναδικό σύνολο κλειδιών, καθώς ο καθορισμός δύο παικτών με το ίδιο κλειδί θα παρακάμψει τα δικά του δεδομένα στο παιχνίδι, προκαλώντας χάος μεταξύ των δύο μερών. Αν θέλετε να μάθετε πώς να ορίσετε ένα μοναδικό κλειδί, διαβάστε παρακάτω.

  • Ο ακόλουθος κώδικας θα εξέλθει μηδενικός, επειδή ο διακομιστής δεν βρήκε καμία τιμή που να συνδέεται με το κλειδί. είναι σημαντικό να δείξουμε στον διακομιστή αυτό ακριβώς που προσπαθούμε να βγάλουμε, έτσι ώστε ο διακομιστής να γνωρίζει τι πρέπει να εμφανίζεται.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (κλειδί) τέλος)

7815950 5
7815950 5

Βήμα 2. SetAsync

Χρησιμοποιήστε το SetAsync για να ορίσετε την τιμή του κλειδιού και παρακάμπτει όλα τα υπάρχοντα δεδομένα που είναι αποθηκευμένα για το μοναδικό κλειδί.

  • Εάν το προηγούμενο σύνολο πληροφοριών είναι σημαντικό, σκεφτείτε να χρησιμοποιήσετε το UpdateAsync, το οποίο θα διδαχθεί παρακάτω.
  • Ο ακόλουθος κώδικας σάς δείχνει πώς να εφαρμόσετε και τις δύο, τις μεθόδους ": GetAsync ()" και ": SetAsync ()".
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - ορίζει το κλειδί στην τιμή, 90 local_stored = datastore: GetAsync (κλειδί) - είναι σε θέση να ανιχνεύσει την εκτύπωση αλλαγής τιμής (data_stored) - εκτυπώνει το τέλος εξόδου)

  • Σημείωση: Αυτό δεν θα λειτουργήσει, εκτός εάν έχετε ενεργοποιήσει την πρόσβαση API. Για να το κάνετε αυτό, διαβάστε την πρώτη οδηγία αυτού του οδηγού.
7815950 6
7815950 6

Βήμα 3. Χρησιμοποιήστε το UpdateAsync για να επιστρέψετε την τιμή του κλειδιού και να το ενημερώσετε με μια νέα τιμή

Αυτό επικυρώνει τα δεδομένα και, ως εκ τούτου, πρέπει να περιμένει μέχρι ο διακομιστής να βρει χρόνο για να τα ενημερώσει. Για να λειτουργήσει αυτό, θα χρειαστεί να περάσετε δύο παραμέτρους. το πρώτο είναι μια συμβολοσειρά που παίρνει το μοναδικό κλειδί που έχετε ρυθμίσει: "'user_'.. player.userId" και το δεύτερο είναι μια συνάρτηση που θα λάβει την παλιά τιμή.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) - τελειώστε τα πράγματα) τέλος)

  • Σε αυτήν την περίπτωση, ονομάσαμε την παλιά τιμή "παλιά". Μέσα σε αυτήν τη συνάρτηση, θα χρειαστεί να δημιουργήσουμε μια μεταβλητή που θα αντιπροσωπεύει την ενημερωμένη βαθμολογία μας και, στη συνέχεια, να την επιστρέψουμε ώστε να εμφανίζει τη νέα μας βαθμολογία.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) τοπικό νέο = παλιό ή 0 - θα μπορούσε να είναι μηδενικό νέο = νέο + 1 - προσθέστε 1 στην παλιά τιμή επιστρέψτε νέο - το επιστρέφει με τη νέα τιμή τέλος) τέλος)

  • Λάβετε υπόψη ότι ο διακομιστής θα επιστρέψει στο μηδέν εάν το κλειδί δεν υπάρχει ή δεν έχει εκχωρηθεί σωστά.
  • Εάν η λειτουργία δεν υπάρχει, η ενημέρωση θα ακυρωθεί.
7815950 7
7815950 7

Βήμα 4. Χρησιμοποιήστε το IncrementAsync για να αυξήσετε την τιμή για ένα κλειδί και επιστρέφει την αυξημένη τιμή

Αυτή η μέθοδος λειτουργεί μόνο σε ακέραιους αριθμούς.

Μέθοδος 3 από 3: Συμβάντα αποθήκευσης δεδομένων και ενημέρωση δεδομένων

7815950 8
7815950 8

Βήμα 1. Ορίστε ένα μοναδικό κλειδί

Είναι εξαιρετικά σημαντικό κάθε παίκτης να έχει ένα κλειδί που είναι μοναδικό για αυτόν. Θα κρατήσουν αυτό το κλειδί, το οποίο θα αποθηκεύσει όλα τα δεδομένα τους. Για να το κάνουμε αυτό, χρησιμοποιούμε το αναγνωριστικό του παίκτη. Μόλις ρυθμίσετε την αποθήκευση δεδομένων, απλώς καλέστε μια λειτουργία για τη φόρτωση της συσκευής αναπαραγωγής και, στη συνέχεια, βρείτε το αναγνωριστικό της συσκευής αναπαραγωγής. Ο κώδικας πρέπει να έχει την εξής μορφή:

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId end)

  • Αυτό θα δημιουργήσει αυτόματα ένα κλειδί που είναι μοναδικό μόνο για αυτόν τον παίκτη, καθώς κάθε παίκτης θα έχει ένα μοναδικό αναγνωριστικό. Το "user_" δεν θα έχει σημασία.
7815950 9
7815950 9

Βήμα 2. Ενημερώστε τα δεδομένα

Τώρα που έχετε ένα μοναδικό κλειδί για κάθε παίκτη, είστε έτοιμοι να αποθηκεύσετε τα δεδομένα και να ανακτήσετε δεδομένα. Κάτω από το κλειδί σας, θα θέλετε να προσθέσετε μια μέθοδο που ταιριάζει περισσότερο στις ανάγκες σας. Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε το "UpdateAsync".

  • Ξεκινήστε με μια λειτουργία που θα βοηθήσει τον διακομιστή να καταλάβει τι σκοπεύετε να κάνετε.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) τοπικό newValue = παλιό ή 0 - θα μπορούσε να είναι μηδενικό newValue = newValue + 50 επιστροφή newValue τέλος) τέλος)

  • Σε αυτήν τη συνάρτηση, ρυθμίζουμε μια άλλη λειτουργία, παλιά. "παλιά" ήταν τα προηγούμενα αποθηκευμένα δεδομένα μας. Σε αυτό το σενάριο, κάθε φορά που ένας παίκτης εισερχόταν στον διακομιστή, ο διακομιστής εντοπίζει το κλειδί του, το οποίο είναι το userId του, και ενημερώνει τα δεδομένα κατά 50 πόντους, επιστρέφοντας και εμφανίζοντας αυτήν τη νέα τιμή.
7815950 10
7815950 10

Βήμα 3. Συγχαρητήρια

Αποθηκεύσατε και ενημερώσατε με επιτυχία τα δεδομένα ενός παίκτη.

Προειδοποιήσεις

  • Κατά την πρώτη δημιουργία του καταστήματος δεδομένων σας, βεβαιωθείτε ότι έχετε "game: GetService (" DataStoreService ")", με τη σωστή κεφαλαιοποίηση. Δεν θα λειτουργεί αποτελεσματικά, εάν καλείται λανθασμένα.
  • Βεβαιωθείτε ότι γνωρίζετε πότε πρέπει να χρησιμοποιείτε το "SetAsync" και το "UpdateAsync", καθώς η χρήση λάθος μπορεί να μετατρέψει τα πράγματα σε ακαταστασία κατά την ανάκτηση δεδομένων. Στις περισσότερες περιπτώσεις, οι προγραμματιστές θα χρησιμοποιήσουν το "UpdateAsync".

Συνιστάται: