Roblox -та деректер қоймаларымен жұмыс істеудің 3 әдісі

Мазмұны:

Roblox -та деректер қоймаларымен жұмыс істеудің 3 әдісі
Roblox -та деректер қоймаларымен жұмыс істеудің 3 әдісі
Anonim

Барлығы деректерді сақтап, ойыншы ойынға қайта кірген сайын қайта жүктегісі келді ме? Data Persistence пайдасыз болғаннан бері, ROBLOX әлдеқайда жұмыс істейтін деректер қоймаларын ұсынады. Келесі нұсқаулық сізге ROBLOX дерекқорларымен жұмыс жасауға мүмкіндік береді.

Қадамдар

3 -ші әдіс 1: Деректер қоймасын орнату

7815950 1
7815950 1

Қадам 1. API конфигурациялаңыз

Бұл ешқандай сценарийді қажет етпейді, бірақ барлық деректер қоймасының API қызметін белсендіру үшін алдымен API қатынасын қосу керек. Мұны істеу үшін Әзірлеу қойындысына өтіп, «Ойындар» түймесін басыңыз. Бұл сізді қазіргі барлық ойын орындарына бағыттайды. Өз ойын тауып, құралдарды басыңыз. Ашылмалы мәзір пайда болуы керек және жай ғана «Конфигурациялау» түймесін басыңыз. «Studio қызметтеріне API қызметтеріне кіруді қосу» құсбелгісін қойып, сақтаңыз. Енді сіз толық API -ге қол жеткізе аласыз.

7815950 2
7815950 2

Қадам 2. Деректер қоймасын шығарыңыз

Деректер қоймасына қоңырау шалу үшін Data Store API пайдаланыңыз, өйткені біз оған сілтеме жасауымыз керек. Бастау үшін ROBLOX -та сценарийді ашып, сілтеме жасау үшін қолданғымыз келетін айнымалыны атаңыз.

    жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты»)

7815950 3
7815950 3

Қадам 3. Қажет болса, айнымалы мәнді қолданыңыз

Сіз «мәліметтер қоймасы» айнымалысы бар деректер қоймасын сәтті шақырдыңыз. Енді, қашан деректер қоймасын алу қажет болса, оны айнымалысы бойынша атауыңызға болады.

Назар аударыңыз, егер деректер қоймасы әлі жасалмаса, ол автоматты түрде жаңасын жасайды

3 -ші әдіс 2: Деректерді сақтау әдістерін қолдану

7815950 4
7815950 4

Қадам 1. GetAsync

Берілген кілт көмегімен деректер қоймасындағы жазбаның мәнін қайтару үшін GetAsync пайдаланыңыз. Әр ойыншыға бірегей кілттер жиынтығын беруді ұмытпаңыз, себебі екі ойыншыға бір кілтті орнату ойын ішіндегі деректерді жоққа шығарады, бұл екі жақ арасындағы тәртіпсіздікке әкеледі. Егер сіз бірегей кілт орнатуды білгіңіз келсе, оқыңыз.

  • Келесі код нөлге тең болады, себебі сервер кілтке сілтеме жасайтын мән таба алмады; Сервер нені шығарғысы келетінін дәл көрсету маңызды, осылайша сервер нені көрсету керектігін біледі.
  • жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты») game. Players. PlayerAdded: қосылу (функция (ойнатқыш) жергілікті кілт = «user_».. player.userId дерекқоры: GetAsync (кілт) соңы)

7815950 5
7815950 5

Қадам 2. SetAsync

Кілт мәнін орнату үшін SetAsync пайдаланыңыз және бірегей кілт үшін сақталған барлық бар деректерді қайта анықтайды.

  • Егер алдыңғы ақпарат жиынтығы маңызды болса, төменде оқылатын UpdateAsync бағдарламасын қолдануды қарастырыңыз.
  • Келесі код «: GetAsync ()» және «: SetAsync ()» әдістерінің екеуін де қалай іске асыру керектігін көрсетеді.
  • жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты») game. Players. PlayerAdded: қосылу (функция (ойнатқыш) жергілікті кілт = «user_».. player.userId дерекқор: SetAsync (кілт, 90) - - кілт мәнге орнатады, 90 жергілікті data_stored = мәліметтер қоймасы: GetAsync (кілт) - мәннің өзгеруін анықтай алады (data_stored) - шығыс соңын басып шығарады)

  • Ескерту: Егер сізде API қатынасы қосылмаған болса, бұл жұмыс істемейді. Ол үшін осы нұсқаулықтың бірінші нұсқаулығын оқыңыз.
7815950 6
7815950 6

Қадам 3. Кілттің мәнін қайтару үшін UpdateAsync пайдаланыңыз және оны жаңа мәнмен жаңартыңыз

Бұл деректерді тексереді, сондықтан сервер оны жаңартуға уақыт таба алатынша күту керек. Бұл жұмыс істеу үшін сізге екі параметрді беру қажет болады; біріншісі - сіз орнатқан бірегей кілтті алатын жол: «'user_'.. player.userId», екіншісі - ескі мәнді алатын функция.

    жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты») game. Players. PlayerAdded: қосылу (функция (ойнатқыш) жергілікті кілт = «user_».. player.userId дерекқоры: UpdateAsync (кілт, функция (ескі)) - істі аяқтау) соңы)

  • Бұл жағдайда біз ескі құндылықты «ескі» деп атадық. Бұл функцияның ішінде біз жаңартылған баллды есептейтін айнымалыны жасауымыз керек, содан кейін ол біздің жаңа ұпайымызды көрсетуі үшін оны қайтарады.
  • жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты») game. Players. PlayerAdded: қосылу (функция (ойнатқыш) жергілікті кілт = «user_».. player.userId дерекқоры: UpdateAsync (кілт, функция (ескі)) local new = old немесе 0 - nil new = new + 1 болуы мүмкін - ескі мәнге 1 қосу new қайтару - оны жаңа мән соңымен қайтарады) соңы)

  • Егер кілт жоқ болса немесе дұрыс тағайындалмаса, сервер нөлге оралады.
  • Егер функция жоқ болса, жаңарту тоқтатылады.
7815950 7
7815950 7

Қадам 4. Кілт мәнін ұлғайту үшін IncrementAsync пайдаланыңыз және ұлғайтылған мәнді қайтарады

Бұл әдіс тек бүтін сандарда жұмыс істейді.

3 -ші әдіс 3: Деректер қоймасындағы оқиғалар және деректерді жаңарту

7815950 8
7815950 8

Қадам 1. Бірегей кілтті орнатыңыз

Әр ойыншының өзіне ғана тән кілті болуы өте маңызды. Олар барлық деректерді сақтайтын кілтті ұстайды. Мұны істеу үшін біз ойыншының жеке куәлігін қолданамыз. Деректер қоймасын орнатқаннан кейін, ойнатқышты жүктеу үшін функцияға қоңырау шалыңыз, содан кейін ойыншының идентификаторын табыңыз. Код келесідей болуы керек:

    жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты») game. Players. PlayerAdded: қосылу (функция (ойыншы) жергілікті кілт = «user_».. player.userId соңы)

  • Бұл автоматты түрде тек сол ойыншыға ғана тән кілт жасайды, әр ойыншының бірегей идентификаторы болады. «User_» маңызды емес.
7815950 9
7815950 9

Қадам 2. Деректерді жаңартыңыз

Енді сізде әр ойыншының бірегей кілті бар, сіз деректер қоймасын жаңартуға және деректерді алуға дайын болдыңыз. Сіздің кілтіңіздің астына сіздің қажеттіліктеріңізге сәйкес келетін әдісті қосқыңыз келеді. Бұл жағдайда біз «UpdateAsync» қолданамыз.

  • Серверге не істегіңіз келетінін түсінуге көмектесетін функциядан бастаңыз.
  • жергілікті деректер қоймасы = ойын: GetService («DataStoreService»): GetDataStore («аты») game. Players. PlayerAdded: қосылу (функция (ойнатқыш) жергілікті кілт = «user_».. player.userId дерекқоры: UpdateAsync (кілт, функция (ескі)) жергілікті newValue = ескі немесе 0 - нөлге тең болуы мүмкін емесValue = newValue + 50 қайтару newValue соңы) соңы)

  • Бұл функцияда біз басқа функцияны орнаттық, ескі. «ескі» біздің бұрын сақталған деректеріміз болды. Бұл сценарийде, ойыншы серверге кірген сайын, сервер өз идентификаторы болып табылатын кілтін табады және ол деректерді 50 пунктке жаңартады, сол мәнді қайтарады және көрсетеді.
7815950 10
7815950 10

3 -қадам. Құттықтаймыз

Сіз ойыншының деректерін сәтті сақтадыңыз және жаңарттыңыз.

Ескертулер

  • Деректер қоймасын бірінші рет жасаған кезде, бас әріппен дұрыс жазылған «game: GetService (» DataStoreService «)» болуын тексеріңіз. Егер ол қате шақырылса, ол тиімді жұмыс істемейді.
  • «SetAsync» пен «UpdateAsync» қашан қолдану керектігін біліңіз, себебі қате пайдалану деректерді алу кезінде заттарды шатастыруы мүмкін. Көп жағдайда әзірлеушілер «UpdateAsync» қолданады.

Ұсынылған: