هل أراد الجميع حفظ البيانات وتحميلها مرة أخرى في كل مرة يدخل فيها اللاعب اللعبة مرة أخرى؟ منذ أن أصبح ثبات البيانات عديم الجدوى ، أدخل ROBLOX مخازن بيانات تعمل بشكل أكبر بكثير. سيمكنك دليل الكيفية التالي من العمل مع مخازن البيانات لـ ROBLOX.
خطوات
الطريقة الأولى من 3: إعداد مخزن البيانات
الخطوة 1. تكوين API
لا يتضمن هذا أي جزء من البرمجة النصية ، ولكن من أجل تنشيط كل واجهة برمجة تطبيقات مخزن البيانات ، يجب عليك أولاً تمكين الوصول إلى واجهة برمجة التطبيقات. للقيام بذلك ، انتقل إلى علامة التبويب "تطوير" ، وانقر فوق "ألعاب". يجب أن يوجهك هذا إلى جميع أماكن اللعبة الحالية التي تمتلكها. ابحث عن لعبتك ، وانقر على الترس. يجب أن تظهر قائمة منسدلة ، وما عليك سوى الضغط على "تهيئة". حدد المربع الذي تم تمكينه "تمكين وصول الاستوديو إلى خدمات API" ، وحفظه. يجب أن يكون لديك الآن حق الوصول إلى واجهة برمجة التطبيقات الكاملة.
الخطوة 2. استرداد مخزن البيانات
استخدم Data Store API للاتصال بمخزن البيانات ، حيث سنحتاج إلى الرجوع إليه. للبدء ، افتح برنامجًا نصيًا على ROBLOX ، وقم بتسمية متغير نود استخدامه لاستدعاء المرجع.
مخزن البيانات المحلي = game: GetService ("DataStoreService"): GetDataStore ("الاسم")
الخطوة 3. استخدم المتغير حسب الحاجة
لقد نجحت في الاتصال بمخزن البيانات باستخدام المتغير "مخزن البيانات". الآن ، كلما احتجت إلى استرداد مخزن البيانات ، يمكنك ببساطة تسميته بمتغيره.
يرجى ملاحظة أنه إذا لم يتم إنشاء مخزن بيانات بعد ، فسيقوم تلقائيًا بإنشاء مخزن جديد
الطريقة 2 من 3: استخدام أساليب تخزين البيانات
الخطوة 1. GetAsync
استخدم GetAsync لإرجاع قيمة الإدخال في مخزن البيانات باستخدام المفتاح المحدد. تأكد من منح كل لاعب مجموعة فريدة من المفاتيح ، حيث سيؤدي تعيين نفس المفتاح للاعبين إلى تجاوز البيانات الخاصة بهما داخل اللعبة ، مما يتسبب في حدوث فوضى بين الطرفين. إذا كنت تريد معرفة كيفية تعيين مفتاح فريد ، فتابع القراءة.
- سيخرج الكود التالي لا شيء ، لأن الخادم لم يتمكن من العثور على أي قيمة مرتبطة بالمفتاح ؛ من المهم أن نظهر للخادم بالضبط ما نحاول إخراجه ، حتى يعرف الخادم ما يجب عرضه.
مخزن البيانات المحلي = اللعبة: GetService ("DataStoreService"): GetDataStore ("name") game. Players. Player تمت الإضافة: الاتصال (الوظيفة (اللاعب) المفتاح المحلي = "user_".. player.userId datastore: GetAsync (مفتاح) النهاية)
الخطوة 2. SetAsync
استخدم SetAsync لتعيين قيمة المفتاح ، وتجاوز جميع البيانات الموجودة المخزنة للمفتاح الفريد.
- إذا كانت المجموعة السابقة من المعلومات مهمة ، ففكر في استخدام UpdateAsync ، والذي سيتم تدريسه أدناه.
- توضح لك التعليمات البرمجية التالية كيفية تنفيذ كلا الأسلوبين ": GetAsync ()" و ": SetAsync ()".
مخزن البيانات المحلي = اللعبة: GetService ("DataStoreService"): GetDataStore ("name") game. Players. Player تمت الإضافة: الاتصال (الوظيفة (اللاعب) المفتاح المحلي = "user_".. player.userId datastore: SetAsync (مفتاح ، 90) - - يضبط المفتاح على القيمة ، 90 local data_stored = datastore: GetAsync (مفتاح) - قادر على اكتشاف تغيير القيمة print (data_stored) - يطبع نهاية الإخراج)
الخطوة 3. استخدم UpdateAsync لإرجاع قيمة المفتاح وتحديثه بقيمة جديدة
يؤدي هذا إلى التحقق من صحة البيانات ، وبالتالي يجب الانتظار حتى يتمكن الخادم من العثور على الوقت لتحديثها. لكي يعمل هذا ، ستحتاج إلى تمرير معلمتين ؛ الأول عبارة عن سلسلة تأخذ المفتاح الفريد الذي قمت بإعداده: "'user_'.. player.userId" ، والثاني هو دالة تأخذ القيمة القديمة.
مخزن البيانات المحلي = اللعبة: GetService ("DataStoreService"): GetDataStore ("name") game. Players. Player تمت الإضافة: الاتصال (الوظيفة (اللاعب) المفتاح المحلي = "user_".. player.userId datastore: UpdateAsync (مفتاح ، وظيفة (قديمة) - فعل الاشياء نهاية)
مخزن البيانات المحلي = اللعبة: GetService ("DataStoreService"): GetDataStore ("name") game. Players. Player تمت الإضافة: الاتصال (الوظيفة (اللاعب) المفتاح المحلي = "user_".. player.userId datastore: UpdateAsync (مفتاح ، وظيفة (قديمة) local new = old أو 0 - يمكن أن يكون nil new = new + 1 - أضف 1 إلى القيمة القديمة وإرجاع جديد - يعيده بنهاية القيمة الجديدة) end)
الخطوة 4. استخدم IncrementAsync لزيادة قيمة مفتاح ، وإرجاع القيمة المتزايدة
هذه الطريقة تعمل فقط على الأعداد الصحيحة.
الطريقة الثالثة من 3: أحداث مخزن البيانات وتحديث البيانات
الخطوة 1. تعيين مفتاح فريد
من الأهمية بمكان أن يكون لكل لاعب مفتاح خاص به. سيحتفظون بهذا المفتاح الذي سيخزن جميع بياناتهم. للقيام بذلك ، نستخدم معرف اللاعب. بمجرد تعيين مخزن البيانات ، ما عليك سوى الاتصال بوظيفة لتحميل المشغل ، ثم العثور على معرف اللاعب. يجب أن يبدو الرمز كما يلي:
مخزن البيانات المحلي = اللعبة: GetService ("DataStoreService"): GetDataStore ("name") game. Players. Player تمت الإضافة: الاتصال (الوظيفة (اللاعب) المفتاح المحلي = "user_".. نهاية player.userId)
الخطوة 2. قم بتحديث البيانات
الآن بعد أن حصلت على مفتاح فريد لكل لاعب ، فأنت على استعداد لتحديث مخزن البيانات واسترداد البيانات. تحت مفتاحك ، سترغب في إضافة الطريقة الأكثر ملاءمة لاحتياجاتك. في هذه الحالة ، سنستخدم "UpdateAsync".
- ابدأ بوظيفة لمساعدة الخادم على فهم ما تنوي القيام به.
مخزن البيانات المحلي = اللعبة: GetService ("DataStoreService"): GetDataStore ("name") game. Players. Player تمت الإضافة: الاتصال (الوظيفة (اللاعب) المفتاح المحلي = "user_".. player.userId datastore: UpdateAsync (مفتاح ، وظيفة (قديمة) local newValue = old أو 0 - يمكن أن تكون nil newValue = newValue + 50 return newValue end))
الخطوة 3. مبروك
لقد نجحت في تخزين وتحديث بيانات اللاعب.
تحذيرات
- عند إنشاء مخزن البيانات لأول مرة ، تأكد من وجود "game: GetService (" DataStoreService ")" بالأحرف الكبيرة الصحيحة. لن يعمل بكفاءة ، إذا تم استدعاؤه بشكل غير صحيح.
- تأكد من معرفة وقت استخدام "SetAsync" و "UpdateAsync" ، حيث إن استخدام الخطأ الخاطئ يمكن أن يحول الأشياء إلى فوضى عند استرداد البيانات. في معظم الحالات ، سيستخدم المطورون "UpdateAsync".