آیا همه می خواهند داده ها را ذخیره کنند و هر بار که بازیکنی دوباره وارد بازی می شود ، آنها را بارگذاری کند؟ از زمانی که Data Persistence بیهوده شده است ، ROBLOX ذخیره داده هایی را معرفی می کند که عملکرد بیشتری دارند. راهنمای زیر به شما این امکان را می دهد که با فروشگاه داده برای ROBLOX کار کنید.
مراحل
روش 1 از 3: تنظیم Data Store
مرحله 1. API را پیکربندی کنید
این شامل هیچ گونه اسکریپت نویسی نمی شود ، اما برای فعال کردن تمام API ذخیره داده ها ، ابتدا باید دسترسی API را فعال کنید. برای انجام این کار ، به برگه Develop بروید و روی "Games" کلیک کنید. این باید شما را به همه مکانهای بازی کنونی که شما مالک آن هستید هدایت کند. بازی خود را پیدا کنید و روی چرخ دنده کلیک کنید. باید یک منوی کشویی ظاهر شود و به سادگی "پیکربندی" را فشار دهید. کادر فعال شده "فعالسازی دسترسی استودیو به خدمات API" را فعال کرده و ذخیره کنید. اکنون باید به API کامل دسترسی داشته باشید.
مرحله 2. ذخیره داده ها را بازیابی کنید
برای تماس با ذخیره کننده داده از API فروشگاه داده استفاده کنید ، زیرا ما باید به آن ارجاع دهیم. برای شروع ، یک اسکریپت در ROBLOX باز کنید و متغیری را که می خواهیم از آن برای مرجع استفاده کنیم ، نامگذاری کنید.
local datastore = game: GetService ("DataStoreService"): GetDataStore ("name")
مرحله 3. در صورت نیاز از متغیر استفاده کنید
شما با موفقیت دیتاستور را با متغیر "datastore" نامیده اید. اکنون ، هر زمان که نیاز به بازیابی پایگاه داده دارید ، می توانید به سادگی آن را با متغیر آن نامگذاری کنید.
لطفاً توجه داشته باشید که اگر ذخیره داده ای ایجاد نشده است ، به طور خودکار یک ذخیره جدید ایجاد می کند
روش 2 از 3: استفاده از روشهای ذخیره داده
مرحله 1. GetAsync
از GetAsync برای بازگشت مقدار ورودی در ذخیره داده با کلید داده شده استفاده کنید. مطمئن شوید که به هر بازیکن مجموعه ای منحصر به فرد از کلیدها بدهید ، زیرا تنظیم یک کلید یکسان برای دو بازیکن ، اطلاعات شخصی آنها را در بازی نادیده می گیرد و باعث ایجاد هرج و مرج بین دو طرف می شود. اگر می خواهید بدانید چگونه یک کلید منحصر به فرد تنظیم کنید ، ادامه مطلب را بخوانید.
- کد زیر صفر می شود ، زیرا سرور هیچ مقدار پیوندی به کلید پیدا نکرد. این مهم است که سرور را دقیقاً آنچه را که می خواهیم تولید کنیم نشان دهیم ، به طوری که سرور بداند چه چیزی باید نمایش داده شود.
local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) key local = "user_".. player.userId datastore: GetAsync (کلید) پایان)
مرحله 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) - پایان خروجی را چاپ می کند)
مرحله 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 را به مقدار قدیمی اضافه کنید بازگشت جدید - آن را با پایان مقدار جدید برمی گرداند) پایان)
مرحله 4. از ExpmentAsync برای افزایش مقدار یک کلید استفاده کنید و مقدار افزایش یافته را برمی گرداند
این روش فقط روی اعداد صحیح کار می کند.
روش 3 از 3: رویدادهای ذخیره اطلاعات و به روز رسانی داده ها
مرحله 1. یک کلید منحصر به فرد تنظیم کنید
بسیار مهم است که هر بازیکن یک کلید منحصر به فرد برای خود داشته باشد. آنها آن کلید را نگه می دارند که همه داده های آنها را ذخیره می کند. برای انجام این کار ، از شناسه پخش کننده استفاده می کنیم. پس از تنظیم ذخیره داده ها ، کافی است یک عملکرد را برای بارگیری پخش کننده فراخوانی کرده و سپس شناسه پخش کننده را پیدا کنید. کد باید به صورت زیر باشد:
local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: اتصال (عملکرد (پخش کننده) کلید محلی = "user_".. player.userId پایان)
مرحله 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) پایان)
مرحله 3. تبریک می گویم
شما داده های بازیکن را با موفقیت ذخیره و به روز کرده اید.
هشدارها
- هنگام ایجاد اولین ذخیره داده خود ، مطمئن شوید که "game: GetService (" DataStoreService ")" با حروف بزرگ درست است. اگر نادرست نامیده شود ، به طور کارآمد اجرا نمی شود.
- اطمینان حاصل کنید که از زمان استفاده از "SetAsync" و "UpdateAsync" استفاده کنید ، زیرا استفاده اشتباه از آنها هنگام بازیابی داده ها می تواند همه چیز را به هم بریزد. در بیشتر موارد ، توسعه دهندگان از "UpdateAsync" استفاده می کنند.