3 דרכים לעבודה עם חנויות נתונים ב- Roblox

תוכן עניינים:

3 דרכים לעבודה עם חנויות נתונים ב- Roblox
3 דרכים לעבודה עם חנויות נתונים ב- Roblox
Anonim

כל רצית לשמור נתונים, ולטעון אותם שוב בכל פעם ששחקן נכנס למשחק שוב? מאז שהתמדה בנתונים הפכה חסרת תועלת, ROBLOX מציגה מאגרי נתונים המתפקדים הרבה יותר. המדריך הבא יאפשר לך לעבוד עם חנויות נתונים עבור ROBLOX.

צעדים

שיטה 1 מתוך 3: הגדרת מאגר הנתונים

7815950 1
7815950 1

שלב 1. הגדר את ה- API

זה אינו כרוך בשום סקריפט, אך על מנת להפעיל את כל ה- API של מאגר הנתונים, תחילה עליך לאפשר את גישת ה- API. לשם כך, עבור לכרטיסייה פיתוח ולחץ על "משחקים". זה אמור להפנות אותך לכל מקומות המשחק הנוכחיים שבבעלותך. מצא את המשחק שלך ולחץ על גלגל השיניים. תפריט נפתח אמור להופיע ופשוט לחץ על "הגדר". סמן את התיבה "אפשר גישה לסטודיו לשירותי API" ושמור. כעת תהיה לך גישה לממשק ה- API המלא.

7815950 2
7815950 2

שלב 2. אחזר את מאגר הנתונים

השתמש בממשק ה- API של Data Store כדי לקרוא לאחסון הנתונים, מכיוון שנצטרך להתייחס אליו. כדי להתחיל, פתח סקריפט ב- ROBLOX, ותן שם למשתנה שבו נרצה להשתמש כדי לקרוא את ההפניה.

    datastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם")

7815950 3
7815950 3

שלב 3. השתמש במשתנה לפי הצורך

קראת בהצלחה לחנות הנתונים עם המשתנה "חנות נתונים". עכשיו, בכל פעם שאתה צריך לאחזר את חנות הנתונים, אתה יכול פשוט לקרוא לו לפי המשתנה שלו.

שים לב שאם עדיין לא נוצרה מאגר נתונים, היא תיצור אוטומטית אחסון חדש

שיטה 2 מתוך 3: שימוש בשיטות מאגר נתונים

7815950 4
7815950 4

שלב 1. GetAsync

השתמש ב- GetAsync כדי להחזיר את ערך הערך במאגר הנתונים עם המפתח הנתון. הקפד לתת לכל שחקן קבוצת מפתחות ייחודית, מכיוון שקביעת שני שחקנים אותו מפתח יעקוף את הנתונים שלהם במשחק ויגרום לכאוס בין שני הצדדים. אם אתה רוצה לדעת כיצד להגדיר מפתח ייחודי, המשך לקרוא.

  • הקוד הבא יפיק אפס, מכיוון שהשרת לא הצליח למצוא ערך המקשר למפתח; חשוב להראות לשרת בדיוק מה אנו מנסים להוציא, כך שהשרת יידע מה צריך להציג.
  • dataastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם") 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 ()".
  • dataastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (מפתח, 90) - - מגדיר את המפתח לערך, 90 מקומי data_stored = datastore: GetAsync (מפתח) - מסוגל לזהות את שינוי ההדפסה (data_stored) - מדפיס את סוף הפלט)

  • הערה: זה לא יעבוד, אלא אם כן יש לך גישה ל- API מופעלת. לשם כך, קרא את ההוראה הראשונה של מדריך זה.
7815950 6
7815950 6

שלב 3. השתמש ב- UpdateAsync כדי להחזיר את ערך המפתח, ועדכן אותו עם ערך חדש

זה מאמת נתונים, ולכן עליו לחכות עד שהשרת יוכל למצוא את הזמן לעדכן אותם. כדי שזה יעבוד, יהיה עליך לעבור שני פרמטרים; הראשון הוא מחרוזת שלוקחת את המפתח הייחודי שהגדרת: "'user_'.. player.userId", והשנייה היא פונקציה שתקבל את הערך הישן.

    dataastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (מפתח, פונקציה (ישן) - לעשות דברים סוף) סוף)

  • במקרה זה, קראנו לערך הישן "ישן". בתוך פונקציה זו, נצטרך ליצור משתנה שיסביר את הציון המעודכן שלנו ולאחר מכן נחזיר אותו כדי שיוכל להציג את הציון החדש שלנו.
  • dataastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (מפתח, פונקציה (ישן) מקומי חדש = ישן או 0 - יכול להיות אפסי חדש = חדש + 1 - הוסף 1 לערך הישן החזר חדש - מחזיר אותו עם סוף הערך החדש) סוף)

  • שים לב שהשרת יחזיר אפס אם המפתח אינו קיים או אינו מוקצה כראוי.
  • אם הפונקציה לא קיימת, העדכון יבוטל.
7815950 7
7815950 7

שלב 4. השתמש ב- IncrementAsync כדי להגדיל את הערך עבור מפתח, ומחזיר את הערך המוגדל

שיטה זו פועלת רק על מספרים שלמים.

שיטה 3 מתוך 3: אירועי מאגר נתונים ועדכון נתונים

7815950 8
7815950 8

שלב 1. הגדר מפתח ייחודי

חיוני ביותר שלכל שחקן יהיה מפתח ייחודי לו. הם יחזיקו את המפתח הזה, שיאחסן את כל הנתונים שלהם. על מנת לעשות זאת, אנו משתמשים בתעודת הזהות של השחקן. לאחר שהגדרת את מאגר הנתונים, פשוט פנה לפונקציה לטעון את הנגן ולאחר מכן מצא את מזהה השחקן. הקוד צריך להיראות כך:

    dataastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId סוף)

  • פעולה זו תיצור אוטומטית מפתח ייחודי לאותו שחקן בלבד, לכל שחקן יהיה מזהה ייחודי אחד. "User_" לא יהיה חשוב.
7815950 9
7815950 9

שלב 2. עדכן את הנתונים

כעת, לאחר שיש לך מפתח ייחודי לכל שחקן, אתה מוכן לבצע את עדכון מאגר הנתונים ואחזור הנתונים. מתחת למפתח שלך, תרצה להוסיף שיטה המתאימה ביותר לצרכיך. במקרה זה נשתמש ב- "UpdateAsync".

  • התחל בפונקציה שתעזור לשרת להבין מה אתה מתכוון לעשות.
  • dataastore מקומי = game: GetService ("DataStoreService"): GetDataStore ("שם") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (מפתח, פונקציה (ישן) מקומי newValue = ישן או 0 - יכול להיות אפסי newValue = newValue + 50 לחזור newValue סוף) סוף)

  • בפונקציה זו הגדרנו פונקציה נוספת, ישנה. "ישן" היו הנתונים שנשמרו בעבר. בתרחיש זה, בכל פעם ששחקן נכנס לשרת, השרת היה מאתר את המפתח שלו, שהוא ה- userId שלו, והוא היה מעדכן את הנתונים ב -50 נקודות, חוזר ומציג את הערך החדש הזה.
7815950 10
7815950 10

שלב 3. מזל טוב

אחסן ועדכן בהצלחה נתוני שחקן.

אזהרות

  • בעת יצירת מאגר הנתונים הראשון שלך, ודא שיהיה לך "game: GetService (" DataStoreService ")", עם רישיות נכונות. הוא לא יפעל ביעילות, אם הוא נקרא בצורה לא נכונה.
  • הקפד לדעת מתי להשתמש ב- "SetAsync" ו- "UpdateAsync", שכן שימוש לא נכון יכול להפוך דברים לבלגן בעת אחזור הנתונים. ברוב המקרים, מפתחים ישתמשו ב- "UpdateAsync".

מוּמלָץ: