Roblox -da Məlumat Mağazaları ilə İşləmək üçün 3 Yol

Mündəricat:

Roblox -da Məlumat Mağazaları ilə İşləmək üçün 3 Yol
Roblox -da Məlumat Mağazaları ilə İşləmək üçün 3 Yol
Anonim

Hər bir oyunçu oyuna girəndə hər dəfə məlumatı saxlamaq və yenidən yükləmək istəyirdi? Data Persistence faydasız olduqdan bəri, ROBLOX daha çox işləyən məlumat mağazalarını təqdim edir. Aşağıdakı təlimat, ROBLOX üçün məlumat anbarları ilə işləməyinizə imkan verəcəkdir.

Addımlar

Metod 3 -dən 1: Məlumat Mağazasının qurulması

7815950 1
7815950 1

Addım 1. API -ni konfiqurasiya edin

Bu, bir az da skript tələb etmir, ancaq bütün məlumat mağazası API -ni aktivləşdirmək üçün əvvəlcə API girişini aktiv etməlisiniz. Bunu etmək üçün İnkişaf etdirmə sekmesine gedin və "Oyunlar" düyməsini basın. Bu sizi sahib olduğunuz bütün oyun yerlərinə yönəltməlidir. Oyununuzu tapın və dişli düyməsini vurun. Açılan bir menyu görünməlidir və sadəcə "Yapılandır" düyməsini basın. "Studio Xidmətlərinə API Xidmətlərinə Enable" aktiv olan qutuyu işarələyin və qeyd edin. İndi tam API -yə daxil olmalısınız.

7815950 2
7815950 2

Addım 2. Məlumat mağazasını əldə edin

Məlumat mağazasına zəng etmək üçün Məlumat Mağazası API -dən istifadə edin, çünki ona istinad etməliyik. Başlamaq üçün ROBLOX -da bir skript açın və istinad üçün zəng etmək üçün istifadə etmək istədiyimiz bir dəyişəni adlandırın.

    yerli datastore = oyun: GetService ("DataStoreService"): GetDataStore ("ad")

7815950 3
7815950 3

Addım 3. Lazım olduqda dəyişəni istifadə edin

Məlumat anbarına "məlumat anbarı" dəyişənliyi ilə uğurla zəng etdiniz. İndi, məlumat anbarını almaq istədiyiniz zaman, sadəcə dəyişəninə görə adlandıra bilərsiniz.

Unutmayın ki, bir məlumat mağazası hələ yaradılmayıbsa, avtomatik olaraq yenisini yaradacaq

Metod 2 /3: Məlumat Saxlama Metodlarından istifadə

7815950 4
7815950 4

Addım 1. GetAsync

Verilən düymə ilə məlumat mağazasındakı girişin dəyərini qaytarmaq üçün GetAsync istifadə edin. Hər bir oyunçuya özünəməxsus açar dəsti verdiyinizə əmin olun, çünki iki oyunçuya eyni düyməni qoymaq öz oyun məlumatlarını ləğv edəcək və iki tərəf arasında xaosa səbəb olacaq. Unikal bir açarın necə qurulacağını bilmək istəyirsinizsə, oxuyun.

  • Aşağıdakı kod sıfır çıxacaq, çünki server açarla əlaqələndirən heç bir dəyər tapa bilmədi; Çıxış etməyə çalışdığımız şeyi serverə tam olaraq göstərmək vacibdir ki, server nəyin göstərilməli olduğunu bilsin.
  • local datastore = oyun: GetService ("DataStoreService"): GetDataStore ("ad") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)

7815950 5
7815950 5

Addım 2. SetAsync

Açarın dəyərini təyin etmək üçün SetAsync istifadə edin və unikal açar üçün saxlanılan bütün mövcud məlumatları ləğv edin.

  • Əvvəlki məlumat dəsti vacibdirsə, aşağıda öyrədiləcək UpdateAsync istifadə etməyi düşünün.
  • Aşağıdakı kod, ": GetAsync ()" və ": SetAsync ()" metodlarının hər ikisini necə tətbiq edəcəyinizi göstərir.
  • local datastore = oyun: GetService ("DataStoreService"): GetDataStore ("ad") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - açarı dəyərə təyin edir, 90 yerli data_stored = məlumat anbarı: GetAsync (açar) - çap dəyişikliyini çapdan çıxara bilir (data_stored) - çıxış sonunu çap edir)

  • Qeyd: API girişi aktiv olmadıqda bu işləməyəcək. Bunu etmək üçün bu təlimatın ilk təlimatını oxuyun.
7815950 6
7815950 6

Addım 3. Açarın dəyərini qaytarmaq üçün UpdateAsync istifadə edin və onu yeni bir dəyərlə yeniləyin

Bu məlumatları təsdiqləyir və buna görə də server onu yeniləmək üçün vaxt tapana qədər gözləməlidir. Bunun işləməsi üçün iki parametr keçməlisiniz; birincisi, qurduğunuz unikal açarı götürən bir simdir: "'user_'.. player.userId", ikincisi isə köhnə dəyəri alacaq bir funksiyadır.

    local datastore = oyun: GetService ("DataStoreService"): GetDataStore ("ad") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) - işləri bitirin) bitirin)

  • Bu vəziyyətdə köhnə dəyəri "köhnə" adlandırdıq. Bu funksiyanın içərisində, yenilənmiş hesabımızı hesablayacaq bir dəyişən yaratmalı və sonra yeni hesabımızı göstərə biləcəyik.
  • local datastore = oyun: GetService ("DataStoreService"): GetDataStore ("ad") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) yerli yeni = köhnə və ya 0 - sıfır ola bilər = yeni + 1 - köhnə dəyərə 1 əlavə et yeni qaytar - yeni dəyər sonu ilə qaytar) son)

  • Unutmayın ki, açar yoxdursa və ya düzgün təyin edilmədikdə server sıfıra dönəcək.
  • Funksiya yoxdursa, yeniləmə ləğv ediləcək.
7815950 7
7815950 7

Addım 4. Bir açarın dəyərini artırmaq üçün IncrementAsync istifadə edin və artan dəyəri qaytarın

Bu üsul yalnız tam ədədlər üzərində işləyir.

Metod 3 /3: Məlumat Mağazası Hadisələri və Məlumatları Yeniləmək

7815950 8
7815950 8

Addım 1. Unikal bir açar təyin edin

Hər bir oyunçunun özünəməxsus açarının olması son dərəcə həyati əhəmiyyət daşıyır. Bütün məlumatlarını saxlayacaq açarı tutacaqlar. Bunu etmək üçün oyunçunun şəxsiyyət vəsiqəsindən istifadə edirik. Məlumat mağazasını qurduqdan sonra, pleyeri yükləmək üçün bir funksiyaya zəng edin və sonra oyunçunun şəxsiyyətini tapın. Kod aşağıdakı kimi görünməlidir:

    yerli datastore = oyun: GetService ("DataStoreService"): GetDataStore ("adı") game. Players. PlayerAdded: əlaqə (funksiya (oyunçu) yerli açar = "user_".. player.userId sonu)

  • Bu avtomatik olaraq yalnız bu oyunçuya xas olan bir açar yaradacaq, çünki hər bir oyunçunun bir unikal identifikatoru olacaq. "User_" nin heç bir əhəmiyyəti olmayacaq.
7815950 9
7815950 9

Addım 2. Məlumatları yeniləyin

Hər bir oyunçu üçün unikal bir açarınız olduğuna görə, məlumat mağazasını yeniləməyə və məlumatları almağa hazırsınız. Açarınızın altında ehtiyaclarınıza ən uyğun bir üsul əlavə etmək istəyəcəksiniz. Bu vəziyyətdə "UpdateAsync" istifadə edəcəyik.

  • Serverə nə etmək istədiyinizi anlamağa kömək edəcək bir funksiya ilə başlayın.
  • local datastore = oyun: GetService ("DataStoreService"): GetDataStore ("ad") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) local newValue = old or 0 - no newValue = newValue + 50 return newValue end) son ola bilər)

  • Bu funksiyada köhnə başqa bir funksiya qururuq. "köhnə" əvvəllər saxlanılan məlumatlarımız idi. Bu ssenaridə, hər dəfə bir oyunçu serverə girəndə, server öz istifadəçi kimliyi olan açarını tapar və məlumatları 50 nöqtə yeniləyərək, həmin yeni dəyəri qaytarar və göstərərdi.
7815950 10
7815950 10

Addım 3. Təbrik edirik

Bir oyunçunun məlumatlarını uğurla saxladınız və yenilədiniz.

Xəbərdarlıqlar

  • Məlumat mağazanızı ilk dəfə yaratarkən, doğru hərflərlə "oyun: GetService (" DataStoreService ")" olduğundan əmin olun. Səhv adlandırılarsa, səmərəli işləməyəcək.
  • "SetAsync" və "UpdateAsync" in nə vaxt istifadə olunacağını bildiyinizə əmin olun, çünki yanlış istifadə etmək məlumatları alarkən hər şeyi qarışıqlığa çevirə bilər. Əksər hallarda, inkişaf etdiricilər "UpdateAsync" istifadə edəcəklər.

Tövsiyə: