3 начина за работа с магазини за данни на Roblox

Съдържание:

3 начина за работа с магазини за данни на Roblox
3 начина за работа с магазини за данни на Roblox
Anonim

Всеки искаше да запише данни и да ги зареди отново всеки път, когато играч влезе отново в играта? Откакто Data Persistence стана безполезен, ROBLOX въвежда много по -функционални хранилища за данни. Следното ръководство ще ви позволи да работите с хранилища за данни за ROBLOX.

Стъпки

Метод 1 от 3: Настройка на хранилището за данни

7815950 1
7815950 1

Стъпка 1. Конфигурирайте API

Това не включва скриптове, но за да активирате целия API на хранилището на данни, първо трябва да разрешите достъпа до API. За да направите това, отидете в раздела Develop и кликнете върху „Games“. Това трябва да ви насочи към всички текущи места за игра, които притежавате. Намерете играта си и кликнете върху зъбното колело. Трябва да се появи падащо меню и просто натиснете „Конфигуриране“. Поставете отметка в квадратчето „Разрешаване на студийния достъп до API услуги“и запишете. Вече трябва да имате достъп до пълния API.

7815950 2
7815950 2

Стъпка 2. Извлечете хранилището за данни

Използвайте API за хранилище на данни, за да извикате хранилището за данни, тъй като ще трябва да го препратим. За да започнете, отворете скрипт на ROBLOX и дайте име на променлива, която бихме искали да използваме, за да извикаме препратката.

    локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име")

7815950 3
7815950 3

Стъпка 3. Използвайте променливата според нуждите

Успешно извикахте хранилището с променлива "datastore". Сега, когато трябва да извлечете хранилището за данни, можете просто да го кръстите по неговата променлива.

Моля, имайте предвид, че ако все още не е създадено хранилище за данни, то автоматично ще създаде ново

Метод 2 от 3: Използване на методи за съхранение на данни

7815950 4
7815950 4

Стъпка 1. GetAsync

Използвайте GetAsync, за да върнете стойността на записа в хранилището за данни с дадения ключ. Не забравяйте да дадете на всеки играч уникален набор от ключове, тъй като задаването на двама играчи на един и същ ключ ще замени техните собствени данни в играта, причинявайки хаос между двете страни. Ако искате да знаете как да зададете уникален ключ, прочетете нататък.

  • Следният код ще изведе нула, тъй като сървърът не може да намери стойност, свързваща с ключа; важно е да покажем на сървъра точно това, което се опитваме да изведем, така че сървърът да знае какво трябва да се покаже.
  • локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)

7815950 5
7815950 5

Стъпка 2. SetAsync

Използвайте SetAsync, за да зададете стойността на ключа и заменя всички съществуващи данни, съхранявани за уникалния ключ.

  • Ако предишният набор от информация е важен, помислете за използването на UpdateAsync, което ще бъде научено по -долу.
  • Следният код ви показва как да внедрите методите ": GetAsync ()" и ": SetAsync ()".
  • локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Плейъри. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: SetAsync (ключ, 90) - - задава ключа на стойността, 90 локални data_stored = хранилище на данни: GetAsync (ключ) - е в състояние да открие отпечатването на промяната на стойността (data_stored) - отпечатва крайния изход)

  • Забележка: Това няма да работи, освен ако нямате активиран достъп до API. За да направите това, прочетете първата инструкция от това ръководство.
7815950 6
7815950 6

Стъпка 3. Използвайте UpdateAsync, за да върнете стойността на ключа и да го актуализирате с нова стойност

Това потвърждава данните и следователно трябва да изчака, докато сървърът намери време да ги актуализира. За да работи това, ще трябва да предадете два параметъра; първият е низ, който взема уникалния ключ, който сте задали: "'user_'.. player.userId", а вторият е функция, която ще приеме старата стойност.

    локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Играчи. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: UpdateAsync (ключ, функция (стар)) - свърши нещата край) край)

  • В този случай нарекохме старата стойност „стара“. Вътре в тази функция ще трябва да направим променлива, която да отчита актуализирания ни резултат, и след това да го върнем, за да може да покаже новия ни резултат.
  • локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Играчи. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: UpdateAsync (ключ, функция (стар)) локално ново = старо или 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“.

  • Започнете с функция, която да помогне на сървъра да разбере какво възнамерявате да направите.
  • локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Играчи. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: UpdateAsync (ключ, функция (стар)) local newValue = старо или 0 - може да бъде нула newValue = newValue + 50 връщане на newValue край) край)

  • В тази функция ние настройваме друга функция, стара. "old" бяха нашите предварително записани данни. В този сценарий всеки път, когато играч влезе в сървъра, сървърът ще намери своя ключ, който е неговият потребителски идентификатор, и ще актуализира данните с 50 точки, връщайки и показвайки тази нова стойност.
7815950 10
7815950 10

Стъпка 3. Поздравления

Успешно сте съхранили и актуализирали данните на играча.

Предупреждения

  • Когато създавате за първи път своето хранилище за данни, уверете се, че има „game: GetService („ DataStoreService “)““, с правилните главни букви. Той няма да работи ефективно, ако бъде извикан неправилно.
  • Не забравяйте да знаете кога да използвате „SetAsync“и „UpdateAsync“, тъй като използването на грешен човек може да превърне нещата в бъркотия при извличане на данни. В повечето случаи разработчиците ще използват „UpdateAsync“.

Препоръчано: