Всеки искаше да запише данни и да ги зареди отново всеки път, когато играч влезе отново в играта? Откакто Data Persistence стана безполезен, ROBLOX въвежда много по -функционални хранилища за данни. Следното ръководство ще ви позволи да работите с хранилища за данни за ROBLOX.
Стъпки
Метод 1 от 3: Настройка на хранилището за данни
Стъпка 1. Конфигурирайте API
Това не включва скриптове, но за да активирате целия API на хранилището на данни, първо трябва да разрешите достъпа до API. За да направите това, отидете в раздела Develop и кликнете върху „Games“. Това трябва да ви насочи към всички текущи места за игра, които притежавате. Намерете играта си и кликнете върху зъбното колело. Трябва да се появи падащо меню и просто натиснете „Конфигуриране“. Поставете отметка в квадратчето „Разрешаване на студийния достъп до API услуги“и запишете. Вече трябва да имате достъп до пълния API.
Стъпка 2. Извлечете хранилището за данни
Използвайте API за хранилище на данни, за да извикате хранилището за данни, тъй като ще трябва да го препратим. За да започнете, отворете скрипт на ROBLOX и дайте име на променлива, която бихме искали да използваме, за да извикаме препратката.
локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име")
Стъпка 3. Използвайте променливата според нуждите
Успешно извикахте хранилището с променлива "datastore". Сега, когато трябва да извлечете хранилището за данни, можете просто да го кръстите по неговата променлива.
Моля, имайте предвид, че ако все още не е създадено хранилище за данни, то автоматично ще създаде ново
Метод 2 от 3: Използване на методи за съхранение на данни
Стъпка 1. GetAsync
Използвайте GetAsync, за да върнете стойността на записа в хранилището за данни с дадения ключ. Не забравяйте да дадете на всеки играч уникален набор от ключове, тъй като задаването на двама играчи на един и същ ключ ще замени техните собствени данни в играта, причинявайки хаос между двете страни. Ако искате да знаете как да зададете уникален ключ, прочетете нататък.
- Следният код ще изведе нула, тъй като сървърът не може да намери стойност, свързваща с ключа; важно е да покажем на сървъра точно това, което се опитваме да изведем, така че сървърът да знае какво трябва да се покаже.
локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)
Стъпка 2. SetAsync
Използвайте SetAsync, за да зададете стойността на ключа и заменя всички съществуващи данни, съхранявани за уникалния ключ.
- Ако предишният набор от информация е важен, помислете за използването на UpdateAsync, което ще бъде научено по -долу.
- Следният код ви показва как да внедрите методите ": GetAsync ()" и ": SetAsync ()".
локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Плейъри. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: SetAsync (ключ, 90) - - задава ключа на стойността, 90 локални data_stored = хранилище на данни: GetAsync (ключ) - е в състояние да открие отпечатването на промяната на стойността (data_stored) - отпечатва крайния изход)
Стъпка 3. Използвайте UpdateAsync, за да върнете стойността на ключа и да го актуализирате с нова стойност
Това потвърждава данните и следователно трябва да изчака, докато сървърът намери време да ги актуализира. За да работи това, ще трябва да предадете два параметъра; първият е низ, който взема уникалния ключ, който сте задали: "'user_'.. player.userId", а вторият е функция, която ще приеме старата стойност.
локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Играчи. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: UpdateAsync (ключ, функция (стар)) - свърши нещата край) край)
локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Играчи. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: UpdateAsync (ключ, функция (стар)) локално ново = старо или 0 - може да бъде нула ново = ново + 1 - добавяне на 1 към старата стойност връщане на ново - връща го с новата стойност край) край)
Стъпка 4. Използвайте IncrementAsync, за да увеличите стойността за ключ и връща увеличената стойност
Този метод работи само на цели числа.
Метод 3 от 3: Събития за съхранение на данни и актуализиране на данни
Стъпка 1. Задайте уникален ключ
Изключително важно е всеки играч да има уникален за него ключ. Те ще държат този ключ, който ще съхранява всичките им данни. За да направим това, използваме идентификационния номер на играча. След като сте задали хранилището за данни, просто извикайте функция, за да заредите плейъра, и след това намерете идентификационния номер на плейъра. Кодът трябва да изглежда така:
local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId end)
Стъпка 2. Актуализирайте данните
Сега, когато имате уникален ключ за всеки играч, сте готови да актуализирате хранилището за данни и да извлечете данни. Под вашия ключ ще искате да добавите метод, който е най -подходящ за вашите нужди. В този случай ще използваме „UpdateAsync“.
- Започнете с функция, която да помогне на сървъра да разбере какво възнамерявате да направите.
локално хранилище на данни = игра: GetService ("DataStoreService"): GetDataStore ("име") игра. Играчи. Плейър Добавено: свързване (функция (играч) локален ключ = "потребител_".. player.userId хранилище на данни: UpdateAsync (ключ, функция (стар)) local newValue = старо или 0 - може да бъде нула newValue = newValue + 50 връщане на newValue край) край)
Стъпка 3. Поздравления
Успешно сте съхранили и актуализирали данните на играча.
Предупреждения
- Когато създавате за първи път своето хранилище за данни, уверете се, че има „game: GetService („ DataStoreService “)““, с правилните главни букви. Той няма да работи ефективно, ако бъде извикан неправилно.
- Не забравяйте да знаете кога да използвате „SetAsync“и „UpdateAsync“, тъй като използването на грешен човек може да превърне нещата в бъркотия при извличане на данни. В повечето случаи разработчиците ще използват „UpdateAsync“.