कैसे स्पष्ट करने के लिए


जवाब 1:

ओह, अब यह एक दिलचस्प सवाल है, और एक जिसका मैं जवाब दे सकता हूं, जैसा कि रॉबॉक्स के डेटास्टोर सिस्टम से परिचित है।

शुरू करने के लिए, डेटा को बचाने के लिए कुछ तरीके हैं। एक Roblox के अंतर्निहित सिस्टम (सबसे सामान्य विधि) का उपयोग कर रहा है, फिर डेटा को गैर-रोबोक्स डेटाबेस में भेजने के लिए http GET, POST और REQUESTs का उपयोग कर रहा है। 99.9% समय डेवलपर्स अंतर्निहित प्रणाली का उपयोग करते हैं, इसलिए मैं उस पर ध्यान केंद्रित करूंगा।

अब, आइए डेटास्टोर सिस्टम को देखें। प्रत्येक रोबोक्स गेम के लिए, एक पृथक डेटास्टोर वातावरण है, अर्थात आप गेम ए से दूसरे व्यक्ति के गेम बी में डेटा स्थानांतरित नहीं कर सकते हैं। इस वातावरण में, डेवलपर एक डेटास्टोर बनाता है, इसे एक नाम देता है। चलो इसे "प्लेयरडाटा" कहते हैं। लुआ में यह कैसे होता है नीचे दिखाया गया है।

"PlayerData" और "ServerData" में आपका कोई भी नाम हो सकता है, लेकिन प्रासंगिक नाम सर्वोत्तम हैं।

तो हमारे पास हमारे डेटास्टोर्स हैं। अब, मान लें कि हम किसी विशिष्ट खिलाड़ी के लिए डेटा सहेजना चाहते हैं। ऐसा करने के लिए, हम एक "कुंजी" के तहत प्लेयरडेटा स्टोर में डेटा सेव करते हैं जो सभी के लिए अद्वितीय है। हम इसे दो अलग-अलग तरीकों से कर सकते हैं:

1) खिलाड़ी के उपयोगकर्ता नाम का उपयोग करें, क्योंकि कोई भी दो लोगों का नाम समान नहीं हो सकता है

2) खिलाड़ी के UserId का उपयोग करें, क्योंकि किसी भी दो लोगों के पास एक ही उपयोगकर्ता आईडी नहीं हो सकती है

मान लें कि हम उपयोगकर्ता नाम का उपयोग करते हैं। तो, हम "xXRobloxMasterXx" डेटा को डेटास्टोर में सहेजते हैं, कुंजी के रूप में उनके उपयोगकर्ता नाम के साथ। फिर जब वे खेल को फिर से शुरू करते हैं, तो स्क्रिप्ट उनके उपयोगकर्ता नाम को देखती है, और डेटा को पुनः प्राप्त करने के लिए इसका उपयोग करती है। यह काम करता हैं। इतना ही आसान।

लेकिन ... वहाँ एक पकड़ है। "XXRobloxMasterXx" उनका नाम क्या बदलता है? मान लें कि वे इसे “RoMaster1234 to में बदल देते हैं। फिर वे खेल में एक बार फिर शामिल हो जाते हैं। लेकिन यह क्या? स्क्रिप्ट "XXRobloxMasterXx" के बजाय खिलाड़ी "RoMaster1234" के लिए डेटा देखने का फैसला करता है, और कोई भी नहीं मिल सकता है। लगता है कि वे एक नए खिलाड़ी हैं!

ऐसा तब होता है जब डेवलपर डेटा बचाने के लिए उपयोगकर्ता नाम का उपयोग करने का निर्णय लेता है। यदि आप प्रत्येक खिलाड़ी के लिए डेटा-बचत प्रणाली बनाने की कोशिश कर रहे हैं, तो उपयोगकर्ता नाम बदल सकते हैं, और यह एक समस्या है। तो हम उसके आसपास कैसे पहुँचते हैं?

आइए खिलाड़ी के UserId का उपयोग करके विधि # 2 पर एक नज़र डालें। यदि आप किसी के रॉफ्लो प्रोफाइल में जाते हैं, तो आपको URL में एक बड़ी संख्या दिखाई देगी। यह कुछ इस तरह दिखना चाहिए:

वह संख्या उनका "यूजर आईडी" है; एक ऐसा नंबर जो रोबोक्स पर प्रत्येक खिलाड़ी के लिए अद्वितीय है, और इसे प्राप्त करें ... यह नहीं बदलता है! यहां तक ​​कि अगर आप कई बार अपना उपयोगकर्ता नाम बदलना चाहते थे, तो भी आपका UserId कभी नहीं बदलेगा। अब हमारे डेटास्टोर सिस्टम में इसका इस्तेमाल करते हैं ...

मान लें कि "xXRobloxMasterXx" में 12345678 का यूजर आईडी है। उनका डेटा "xXRobloxMasterXx" के बजाय "12345678" की कुंजी का उपयोग करके सहेज लिया जाता है। अब हमारा खिलाड़ी अपना नाम "RoMaster1234" में बदल लेता है। उनका UserId अभी भी 12345678 है। अब जब वे गेम को फिर से जोड़ते हैं, तो स्क्रिप्ट डेटा देखने के लिए UserId का उपयोग करता है, और लो और निहारना, यह अभी भी है! ऐसा इसलिए है क्योंकि यह दोनों मामलों में एक ही "कुंजी" का उपयोग कर रहा है।

लेकिन यह काफी आपके सवाल का जवाब नहीं है, यह करता है? खैर, संक्षिप्त जवाब "यह जटिल है"।

लंबे उत्तर के लिए, यह डेवलपर पर निर्भर करता है। अधिक अनुभवी डेवलपर्स के बीच, UserId का उपयोग करना बहुत अधिक मानक अभ्यास है, और आप फ्रंट पेज पर एक लोकप्रिय गेम नहीं पाएंगे जो डेटा को बचाने के लिए उपयोगकर्ता नाम का उपयोग करता है जो एक महीने से अधिक समय तक चला है। दुर्भाग्य से, कुछ शुरुआती हैं जो गलत यूट्यूब ट्यूटोरियल देखते हैं, और अपने यूज़रआईड के बजाय खिलाड़ी के उपयोगकर्ता नाम का उपयोग करने का प्रयास करते हैं, लेकिन उन्हें आमतौर पर ठीक किया जाता है यदि वे एक सक्रिय विकास मंच (जैसे कि डेफ़ॉर्म, हिडन डेवलपर्स डिस्ऑर्डर सर्वर) में हैं या रोबोक्स और रॉबेलगामेदेव सबरडिट्स), इसलिए यह आमतौर पर लंबे समय तक नहीं रहता है। हालांकि, हमेशा कुछ देवता होने जा रहे हैं जो आसानी से नहीं जानते हैं, और अपने डेटास्टोर सिस्टम में उपयोगकर्ता नाम का उपयोग करते हैं।


जवाब 2:

शायद हां, शायद नहीं।

बड़े खेल, नहीं। कोई भी स्मार्ट देव UserId के साथ डेटा बचाता है जिसे बदला नहीं जा सकता है। कुछ शौकीन उपयोगकर्ता नाम का उपयोग करते हैं, जिस स्थिति में डेटा मिटा दिया जाएगा।


जवाब 3:

ख्रीस्तियन सदरलैंड द्वारा किया गया अन्य उत्तर इसे बहुत अच्छी तरह से समझाता है, लेकिन उनका उत्तर देने के लिए, नहीं, यह गेम डेटा को नष्ट नहीं करता है क्योंकि आपका खाता एक ही है, बस एक अलग उपयोगकर्ता नाम के तहत।