Roblox дээр өгөгдлийн дэлгүүрүүдтэй ажиллах 3 арга

Агуулгын хүснэгт:

Roblox дээр өгөгдлийн дэлгүүрүүдтэй ажиллах 3 арга
Roblox дээр өгөгдлийн дэлгүүрүүдтэй ажиллах 3 арга
Anonim

Тоглогч тоглоомд дахин орох бүртээ өгөгдлийг хадгалж, дахин ачаалахыг хүсдэг үү? Data Persistence нь утгагүй болсноос хойш ROBLOX нь илүү ажиллагаатай өгөгдлийн дэлгүүрүүдийг танилцуулж байна. Дараахь зааварчилгаа нь танд ROBLOX-ийн өгөгдлийн сантай ажиллах боломжийг олгоно.

Алхам

3 -ийн 1 -р арга: Мэдээллийн дэлгүүрийг тохируулах

7815950 1
7815950 1

Алхам 1. API -г тохируулна уу

Энэ нь ямар ч скрипт шаарддаггүй, гэхдээ бүх өгөгдлийн дэлгүүрийн API -ийг идэвхжүүлэхийн тулд та эхлээд API хандалтыг идэвхжүүлэх ёстой. Үүнийг хийхийн тулд Хөгжүүлэх таб руу очоод "Тоглоомууд" дээр дарна уу. Энэ нь таныг одоо эзэмшдэг тоглоомын бүх газар руу чиглүүлэх ёстой. Тоглоомоо олоод тоног төхөөрөмж дээр дарна уу. Унтраах цэс гарч ирэх бөгөөд "Тохируулах" товчийг дарна уу. "API үйлчилгээнд Studio Access -ийг идэвхжүүлэх" гэсэн хайрцгийг сонгоод хадгална уу. Та одоо бүрэн API -д хандах эрхтэй байх ёстой.

7815950 2
7815950 2

Алхам 2. Өгөгдлийн санг сэргээх

Өгөгдлийн дэлгүүрийн API -г ашиглан өгөгдлийн дэлгүүр рүү залгаарай, учир нь бид үүнийг лавлах шаардлагатай болно. Эхлэхийн тулд ROBLOX дээр скриптийг нээж, лавлахын тулд ашиглахыг хүсч буй хувьсагчийг нэрлэнэ үү.

    орон нутгийн өгөгдлийн сан = тоглоом: GetService ("DataStoreService"): GetDataStore ("нэр")

7815950 3
7815950 3

Алхам 3. Шаардлагатай бол хувьсагчийг ашиглана уу

Та "өгөгдлийн сан" гэсэн хувьсагчтай өгөгдлийн санг амжилттай дуудлаа. Одоо, хэрэв та өгөгдлийн санг авах шаардлагатай бол үүнийг хувьсагчаар нь нэрлэж болно.

Хэрэв дата дэлгүүр хараахан үүсгээгүй байгаа бол автоматаар шинэ агуулах үүсгэх болно гэдгийг анхаарна уу

3 -ийн 2 -р арга: Өгөгдөл хадгалах аргуудыг ашиглах

7815950 4
7815950 4

Алхам 1. GetAsync

Өгөгдсөн түлхүүрээр өгөгдлийн сан дахь оруулгын утгыг буцаахын тулд GetAsync ашиглана уу. Тоглогч бүрт өвөрмөц түлхүүр өгөхөө мартуузай, учир нь хоёр тоглогчийг ижил түлхүүрээр тохируулах нь тоглоом доторх өгөгдлөө дарж, хоёр талын хооронд эмх замбараагүй байдал үүсгэнэ. Хэрэв та өвөрмөц түлхүүрийг хэрхэн тохируулахыг мэдэхийг хүсвэл үргэлжлүүлэн уншина уу.

  • Дараах код нь тэгийг гаргах болно, учир нь сервер түлхүүрийг холбох утгыг олж чадаагүй; Сервер нь яг юу гаргахыг хүсч байгаагаа харуулах нь чухал бөгөөд ингэснээр сервер юу харуулах ёстойг мэдэх болно.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") 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 ()" аргуудыг хоёуланг нь хэрхэн яаж хэрэгжүүлэхийг танд харуулав.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - түлхүүрийг утганд тохируулна, 90 local data_stored = datastore: GetAsync (key) - хэвлэлийн утгын өөрчлөлтийг илрүүлэх боломжтой (data_stored) - гаралтын төгсгөлийг хэвлэнэ)

  • Тэмдэглэл: Хэрэв та API хандалтыг идэвхжүүлээгүй бол энэ нь ажиллахгүй болно. Үүнийг хийхийн тулд энэхүү гарын авлагын эхний зааврыг уншина уу.
7815950 6
7815950 6

Алхам 3. Түлхүүрийн утгыг буцаахын тулд UpdateAsync -ийг ашиглана уу

Энэ нь өгөгдлийг баталгаажуулдаг тул сервер үүнийг шинэчлэх цаг олох хүртэл хүлээх ёстой. Үүнийг ажиллуулахын тулд та хоёр параметрийг дамжуулах шаардлагатай болно; эхнийх нь "'user_'.. player.userId" гэсэн өвөрмөц түлхүүрийг агуулсан мөр бөгөөд хоёр дахь нь хуучин утгыг авах функц юм.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) - юм дуусгах) дуусгах)

  • Энэ тохиолдолд бид хуучин үнэ цэнийг "хуучин" гэж нэрлэв. Энэ функц дотор бид шинэ оноогоо харгалзах хувьсагч гаргаж, дараа нь буцааж өгч шинэ оноогоо харуулах шаардлагатай болно.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) local new = old or 0 - nil new = new + 1 байж болох юм

  • Түлхүүр байхгүй эсвэл буруу оноогдсон тохиолдолд сервер тэгийг буцаана гэдгийг анхаарна уу.
  • Хэрэв функц байхгүй бол шинэчлэлтийг цуцална.
7815950 7
7815950 7

Алхам 4. Түлхүүрийн утгыг нэмэгдүүлэхийн тулд IncrementAsync -ийг ашиглан нэмэгдсэн утгыг буцаана

Энэ арга нь зөвхөн бүхэл тоон дээр ажилладаг.

3 -ийн 3 -р арга: Мэдээллийн дэлгүүрийн үйл явдал ба өгөгдлийг шинэчлэх

7815950 8
7815950 8

Алхам 1. Өвөрмөц түлхүүр тохируулна уу

Тоглогч бүр өөрийн гэсэн түлхүүртэй байх нь маш чухал юм. Тэд өөрсдийн бүх өгөгдлийг хадгалах түлхүүрийг барих болно. Үүнийг хийхийн тулд бид тоглогчийн ID ашигладаг. Өгөгдлийн санг тохируулсны дараа тоглуулагчийг ачаалах функцийг дуудаж, тоглогчийн ID -г олоорой. Код дараах байдлаар харагдах ёстой.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId end)

  • Энэ нь автоматаар зөвхөн тухайн тоглогчийн өвөрмөц түлхүүрийг үүсгэх бөгөөд тоглогч бүрт нэг өвөрмөц ID байх болно. "User_" нь хамаагүй болно.
7815950 9
7815950 9

Алхам 2. Өгөгдлийг шинэчлэх

Тоглогч бүрийн хувьд өвөрмөц түлхүүртэй болсон тул та мэдээллийн санг шинэчлэх, өгөгдлийг авахад бэлэн боллоо. Түлхүүрийнхээ доор та өөрийн хэрэгцээнд хамгийн тохиромжтой аргыг оруулахыг хүсэх болно. Энэ тохиолдолд бид "UpdateAsync" -ийг ашиглах болно.

  • Серверт юу хийх гэж байгаагаа ойлгоход туслах функцээс эхэл.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) local newValue = old or 0 - nil newValue = newValue + 50 return newValue end) end байж болно)

  • Энэ функц дээр бид өөр нэг хуучин функцийг тохируулдаг. "хуучин" бол бидний өмнө хадгалсан өгөгдөл байсан. Энэ тохиолдолд тоглогч сервер рүү орох бүрт сервер нь тэдний түлхүүрийг олдог бөгөөд энэ нь тэдний хэрэглэгчийн ID бөгөөд өгөгдлийг 50 оноогоор шинэчилж, буцааж буцааж харуулдаг.
7815950 10
7815950 10

Алхам 3. Баяр хүргэе

Та тоглогчийн өгөгдлийг амжилттай хадгалж, шинэчилсэн байна.

Анхааруулга

  • Өгөгдлийн дэлгүүрээ анх үүсгэхдээ том үсгээр бичсэн "game: GetService (" DataStoreService ")" байгаа эсэхийг шалгаарай. Буруу дуудсан тохиолдолд энэ нь үр дүнтэй ажиллахгүй болно.
  • "SetAsync" ба "UpdateAsync" -г хэзээ ашиглахаа сайн мэдэж аваарай, учир нь буруу ашиглах нь өгөгдлийг авахад аливаа зүйлийг замбараагүй болгож хувиргадаг. Ихэнх тохиолдолд хөгжүүлэгчид "UpdateAsync" -ийг ашигладаг.

Зөвлөмж болгож буй: