Robloxтогу маалымат дүкөндөрү менен иштөөнүн 3 жолу

Мазмуну:

Robloxтогу маалымат дүкөндөрү менен иштөөнүн 3 жолу
Robloxтогу маалымат дүкөндөрү менен иштөөнүн 3 жолу
Anonim

Ар бир оюнчу оюнга кирген сайын маалыматтарды сактап, кайра жүктөөнү каалады беле? Data Persistence пайдасыз болуп калгандан бери, ROBLOX алда канча иштей турган маалымат дүкөндөрүн киргизет. Төмөнкү көрсөтмө сизге ROBLOX үчүн маалымат сактоочу жайлар менен иштөөгө мүмкүнчүлүк берет.

Кадамдар

3 методу 1: Маалымат дүкөнүн орнотуу

7815950 1
7815950 1

Step 1. API конфигурациялоо

Бул эч кандай сценарийди камтыбайт, бирок API дүкөнүнүн бардыгын иштетүү үчүн, биринчи кезекте APIге кирүүнү иштетүү керек. Бул үчүн, Иштеп чыгуу өтмөгүнө өтүп, "Оюндарды" чыкылдатыңыз. Бул сизди ээлик кылган учурдагы бардык оюн жерлерине багытташы керек. Оюнуңузду таап, шайманды басыңыз. Ачылуучу меню пайда болушу керек жана жөн гана "Конфигурациялоо" баскычын басыңыз. "API кызматтарына Studio кирүүнү иштетүү" иштетилген кутучаны белгилеңиз жана сактап коюңуз. Сиз азыр толук API мүмкүнчүлүгүнө ээ болушуңуз керек.

7815950 2
7815950 2

Кадам 2. Маалымат дүкөнүн алуу

Маалымат дүкөнүн чакыруу үчүн Data Store API колдонуңуз, анткени биз ага шилтеме кылышыбыз керек. Баштоо үчүн, ROBLOXко скрипт ачыңыз жана шилтеме үчүн биз колдонгубуз келген өзгөрмөнүн атын атаңыз.

    жергиликтүү маалымат базасы = оюн: GetService ("DataStoreService"): GetDataStore ("аты")

7815950 3
7815950 3

Кадам 3. Өзгөрмөнү керектүү учурда колдонуңуз

Сиз "маалымат базасы" өзгөрмөсү бар маалымат базасын ийгиликтүү чакырдыңыз. Эми, качан маалымат базасын алуу керек болсо, аны жөн гана анын өзгөрмөсү менен атаса болот.

Сураныч, эгер маалымат дүкөнү али түзүлө элек болсо, ал автоматтык түрдө жаңысын түзөт

Метод 2 3: Маалыматты сактоо ыкмаларын колдонуу

7815950 4
7815950 4

Кадам 1. GetAsync

Берилген ачкыч менен маалымат дүкөнүндөгү жазуунун маанисин кайтаруу үчүн GetAsyncти колдонуңуз. Ар бир оюнчуга уникалдуу ачкыч топтомун берүүнү унутпаңыз, анткени эки оюнчуга бир эле ачкычты коюу оюндагы өз маалыматтарын жокко чыгарып, эки тараптын ортосундагы башаламандыкка алып келет. Эгер уникалдуу ачкычты кантип орнотууну билгиңиз келсе, окуңуз.

  • Төмөнкү код нөлгө чыгат, анткени сервер ачкычка шилтеме кылган эч кандай маанини таба алган жок; сервер эмнени көрсөтүү керек экенин билиши үчүн, биз чыгарууга аракет кылып жаткан нерсебизди серверге көрсөтүү маанилүү.
  • жергиликтүү маалымат дүкөнү = оюн: GetService ("DataStoreService"): GetDataStore ("аты") game. Players. PlayerAdded: туташтыруу (функция (ойноткуч) жергиликтүү ачкычы = "user_".. player.userId берилиштер дүкөнү: GetAsync (key) аягы)

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 or 0 - nil new = new + 1 болушу мүмкүн

  • Көңүл буруңуз, эгер ачкыч жок болсо же туура эмес дайындалса, сервер нөлгө кайтып келет.
  • Эгерде функция жок болсо, жаңыртуу жокко чыгарылат.
7815950 7
7815950 7

Кадам 4. Ачкычтын маанисин жогорулатуу үчүн IncrementAsync колдонуңуз жана көбөйтүлгөн маанини кайтарыңыз

Бул ыкма бүтүн сандарда гана иштейт.

3 -метод 3: Дүкөндөгү окуялар жана маалыматтарды жаңыртуу

7815950 8
7815950 8

Кадам 1. Уникалдуу ачкычты коюңуз

Ар бир оюнчунун уникалдуу ачкычка ээ болушу өтө маанилүү. Алар бардык дайындарын сактай турган ачкычты кармашат. Бул үчүн, биз оюнчунун ID колдонобуз. Маалымат дүкөнүн орноткондон кийин, жөн гана плеерди жүктөө үчүн функцияны чакырып, андан кийин оюнчунун IDсин табыңыз. Код төмөнкүдөй көрүнүшү керек:

    жергиликтүү маалымат базасы = оюн: GetService ("DataStoreService"): GetDataStore ("аты") game. Players. PlayerAdded: туташтыруу (функция (оюнчу) жергиликтүү ачкычы = "user_".. player.userId аягы)

  • Бул автоматтык түрдө ошол оюнчуга гана тиешелүү ачкычты түзөт, анткени ар бир оюнчу уникалдуу IDге ээ болот. "User_" мааниге ээ болбойт.
7815950 9
7815950 9

Кадам 2. Маалыматтарды жаңыртуу

Эми сизде ар бир оюнчу үчүн уникалдуу ачкыч бар, сиз маалымат дүкөнүн жаңыртууга жана дайындарды алууга даярсыз. Ачкычыңыздын астына сиз керектөөлөрүңүзгө эң ылайыктуу ыкманы кошкуңуз келет. Бул учурда, биз "UpdateAsync" колдонобуз.

  • Серверге эмне кылгыңыз келгенин түшүнүүгө жардам берүүчү функциядан баштаңыз.
  • жергиликтүү маалымат базасы = оюн: GetService ("DataStoreService"): GetDataStore ("аты") game. Players. PlayerAdded: туташтыруу (функция (ойноткуч) жергиликтүү ачкычы = "user_".. player.userId маалымат базасы: UpdateAsync (ачкыч, функция (эски)) local newValue = old or 0 - nil newValue = newValue + 50 return newValue end) end болушу мүмкүн)

  • Бул функцияда биз дагы бир функцияны орноттук, эски. "эски" биздин мурда сакталган маалыматтар болчу. Бул сценарийде, оюнчу серверге кирген сайын, сервер алардын ачкычын табат, бул алардын userId, жана ал маалыматтарды 50 пунктка жаңыртып, кайра кайтарат жана ошол жаңы маанини көрсөтөт.
7815950 10
7815950 10

3 -кадам. Куттуктайбыз

Сиз оюнчунун маалыматын ийгиликтүү сактап жана жаңырттыңыз.

Эскертүүлөр

  • Берилиштер дүкөнүңүздү биринчи түзүп жатканда, туура баш тамгасы менен "game: GetService (" DataStoreService ")" болорун тактаңыз. Туура эмес аталып калса, ал эффективдүү иштебейт.
  • Качан "SetAsync" жана "UpdateAsync" колдонуу керек экенин билиңиз, анткени туура эмес колдонуу маалыматтарды алуу учурунда башаламандыкка айлантып жибериши мүмкүн. Көпчүлүк учурларда, иштеп чыгуучулар "UpdateAsync" колдонушат.

Сунушталууда: