3 روش کار با فروشگاه های داده در Roblox

فهرست مطالب:

3 روش کار با فروشگاه های داده در Roblox
3 روش کار با فروشگاه های داده در Roblox
Anonim

آیا همه می خواهند داده ها را ذخیره کنند و هر بار که بازیکنی دوباره وارد بازی می شود ، آنها را بارگذاری کند؟ از زمانی که Data Persistence بیهوده شده است ، ROBLOX ذخیره داده هایی را معرفی می کند که عملکرد بیشتری دارند. راهنمای زیر به شما این امکان را می دهد که با فروشگاه داده برای ROBLOX کار کنید.

مراحل

روش 1 از 3: تنظیم Data Store

7815950 1
7815950 1

مرحله 1. API را پیکربندی کنید

این شامل هیچ گونه اسکریپت نویسی نمی شود ، اما برای فعال کردن تمام API ذخیره داده ها ، ابتدا باید دسترسی API را فعال کنید. برای انجام این کار ، به برگه Develop بروید و روی "Games" کلیک کنید. این باید شما را به همه مکانهای بازی کنونی که شما مالک آن هستید هدایت کند. بازی خود را پیدا کنید و روی چرخ دنده کلیک کنید. باید یک منوی کشویی ظاهر شود و به سادگی "پیکربندی" را فشار دهید. کادر فعال شده "فعالسازی دسترسی استودیو به خدمات API" را فعال کرده و ذخیره کنید. اکنون باید به API کامل دسترسی داشته باشید.

7815950 2
7815950 2

مرحله 2. ذخیره داده ها را بازیابی کنید

برای تماس با ذخیره کننده داده از API فروشگاه داده استفاده کنید ، زیرا ما باید به آن ارجاع دهیم. برای شروع ، یک اسکریپت در ROBLOX باز کنید و متغیری را که می خواهیم از آن برای مرجع استفاده کنیم ، نامگذاری کنید.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name")

7815950 3
7815950 3

مرحله 3. در صورت نیاز از متغیر استفاده کنید

شما با موفقیت دیتاستور را با متغیر "datastore" نامیده اید. اکنون ، هر زمان که نیاز به بازیابی پایگاه داده دارید ، می توانید به سادگی آن را با متغیر آن نامگذاری کنید.

لطفاً توجه داشته باشید که اگر ذخیره داده ای ایجاد نشده است ، به طور خودکار یک ذخیره جدید ایجاد می کند

روش 2 از 3: استفاده از روشهای ذخیره داده

7815950 4
7815950 4

مرحله 1. GetAsync

از GetAsync برای بازگشت مقدار ورودی در ذخیره داده با کلید داده شده استفاده کنید. مطمئن شوید که به هر بازیکن مجموعه ای منحصر به فرد از کلیدها بدهید ، زیرا تنظیم یک کلید یکسان برای دو بازیکن ، اطلاعات شخصی آنها را در بازی نادیده می گیرد و باعث ایجاد هرج و مرج بین دو طرف می شود. اگر می خواهید بدانید چگونه یک کلید منحصر به فرد تنظیم کنید ، ادامه مطلب را بخوانید.

  • کد زیر صفر می شود ، زیرا سرور هیچ مقدار پیوندی به کلید پیدا نکرد. این مهم است که سرور را دقیقاً آنچه را که می خواهیم تولید کنیم نشان دهیم ، به طوری که سرور بداند چه چیزی باید نمایش داده شود.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) key local = "user_".. player.userId datastore: GetAsync (کلید) پایان)

7815950 5
7815950 5

مرحله 2. SetAsync

از SetAsync برای تعیین مقدار کلید استفاده کنید و همه داده های موجود ذخیره شده برای کلید منحصر به فرد را نادیده بگیرید.

  • اگر مجموعه اطلاعات قبلی مهم است ، از UpdateAsync استفاده کنید ، که در زیر آموزش داده می شود.
  • کد زیر نحوه پیاده سازی هر دو روش ": GetAsync ()" و ": SetAsync ()" را به شما نشان می دهد.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) key local = "user_".. player.userId datastore: SetAsync (key، 90) - - کلید را روی مقدار تنظیم می کند ، 90 data_stored = datastore: GetAsync (کلید) - قادر به تشخیص تغییر مقدار چاپ (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) key local = "user_".. player.userId datastore: UpdateAsync (key، function (old) - کارها را تمام کنید) پایان دهید)

  • در این مورد ، ما مقدار قدیمی را "قدیمی" می نامیم. در داخل این تابع ، ما باید متغیری بسازیم که نمره به روز شده ما را در بر می گیرد و سپس آن را برمی گردانیم تا بتواند نمره جدید ما را نمایش دهد.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) key local = "user_".. player.userId datastore: UpdateAsync (key، function (old) محلی جدید = قدیمی یا 0 - می تواند صفر باشد = جدید + 1 - 1 را به مقدار قدیمی اضافه کنید بازگشت جدید - آن را با پایان مقدار جدید برمی گرداند) پایان)

  • توجه داشته باشید که اگر کلید وجود نداشته باشد یا به درستی تعیین نشده باشد ، سرور صفر برمی گردد.
  • اگر تابع وجود نداشته باشد ، به روز رسانی لغو می شود.
7815950 7
7815950 7

مرحله 4. از ExpmentAsync برای افزایش مقدار یک کلید استفاده کنید و مقدار افزایش یافته را برمی گرداند

این روش فقط روی اعداد صحیح کار می کند.

روش 3 از 3: رویدادهای ذخیره اطلاعات و به روز رسانی داده ها

7815950 8
7815950 8

مرحله 1. یک کلید منحصر به فرد تنظیم کنید

بسیار مهم است که هر بازیکن یک کلید منحصر به فرد برای خود داشته باشد. آنها آن کلید را نگه می دارند که همه داده های آنها را ذخیره می کند. برای انجام این کار ، از شناسه پخش کننده استفاده می کنیم. پس از تنظیم ذخیره داده ها ، کافی است یک عملکرد را برای بارگیری پخش کننده فراخوانی کرده و سپس شناسه پخش کننده را پیدا کنید. کد باید به صورت زیر باشد:

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: اتصال (عملکرد (پخش کننده) کلید محلی = "user_".. player.userId پایان)

  • این به طور خودکار کلیدی را ایجاد می کند که فقط مختص آن بازیکن است ، زیرا هر بازیکن یک شناسه منحصر به فرد دارد. "user_" مهم نخواهد بود.
7815950 9
7815950 9

مرحله 2. داده ها را به روز کنید

اکنون که یک کلید منحصر به فرد برای هر پخش کننده در اختیار دارید ، می توانید داده ها را به روز کرده و داده ها را بازیابی کنید. در زیر کلید خود ، می خواهید روشی را که مناسب ترین نیازهای شما است اضافه کنید. در این مورد ، ما از "UpdateAsync" استفاده می کنیم.

  • با یک تابع شروع کنید تا به سرور کمک کند بفهمد که قصد انجام چه کاری را دارید.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) key local = "user_".. player.userId datastore: UpdateAsync (key، function (old) newValue محلی = قدیمی یا 0 - می تواند صفر باشد newValue = newValue + 50 بازگشت پایان newValue) پایان)

  • در این تابع ، یک تابع دیگر ، قدیمی تنظیم می کنیم. "قدیمی" داده های ذخیره شده قبلی ما بود. در این سناریو ، هر بار که بازیکنی وارد سرور می شد ، سرور کلید آن را که userId آنهاست قرار می داد و داده ها را تا 50 امتیاز به روز می کرد و مقدار جدید را باز می گرداند و نمایش می دهد.
7815950 10
7815950 10

مرحله 3. تبریک می گویم

شما داده های بازیکن را با موفقیت ذخیره و به روز کرده اید.

هشدارها

  • هنگام ایجاد اولین ذخیره داده خود ، مطمئن شوید که "game: GetService (" DataStoreService ")" با حروف بزرگ درست است. اگر نادرست نامیده شود ، به طور کارآمد اجرا نمی شود.
  • اطمینان حاصل کنید که از زمان استفاده از "SetAsync" و "UpdateAsync" استفاده کنید ، زیرا استفاده اشتباه از آنها هنگام بازیابی داده ها می تواند همه چیز را به هم بریزد. در بیشتر موارد ، توسعه دهندگان از "UpdateAsync" استفاده می کنند.

توصیه شده: