ब्लॉग पर वापस
Guide7 मिनट पढ़ें

QBCore, ESX या Standalone: Agency Scripts आपके फ्रेमवर्क के साथ कैसे काम करते हैं

हर Agency स्क्रिप्ट को QBCore, ESX और standalone FiveM सर्वरों के साथ सहजता से काम करने के लिए बनाया गया है। जानें, यह अनुकूलता कैसे काम करती है।

Agency Scripts

Agency Scripts के संस्थापक और प्रमुख डेवलपर

फ्रेमवर्क संगतता समस्या

अधिकांश FiveM स्क्रिप्ट एक फ्रेमवर्क को हार्ड-कोडेड के रूप में भेजती हैं। यदि आप QBCore चलाते हैं, तो आप QBCore स्क्रिप्ट का उपयोग करते हैं। ESX उपयोगकर्ता ESX स्क्रिप्ट के साथ फंसे रहते हैं। Standalone उपयोगकर्ता ज्यादातर चीज़ों को जोड़ते हैं। Agency Scripts विपरीत दर्शन के साथ बनाए गए थे: फ्रेमवर्क एक एडेप्टर है, कोई पूर्वधारणा नहीं।

Adapter Pattern

हर Agency स्क्रिप्ट एक छोटे सेट के लुकअप फंक्शंस को एक्सपोज़ करती है: getPlayerData, getInventory, addMoney, removeItem, getJobहम QBCore और ESX इम्प्लीमेंटेशन के लिए आउट ऑफ द बॉक्स एडाप्टर्स भेजते हैं। स्टैंडअलोन के लिए, आप स्वयं चार या पांच फ़ंक्शंस को लागू करते हैं, आमतौर पर एक सुबह का काम, और हर Agency स्क्रिप्ट संगत है।

व्यावहारिक रूप में इसका क्या मतलब है

जब आप अपना सर्वर QBCore से ESX में स्विच करते हैं (जो फ्रेमवर्क के विकास के साथ हर कुछ वर्षों में होता है), तो Agency स्क्रिप्ट्स को पुनः इंस्टॉल या पुनः कॉन्फ़िगर करने की आवश्यकता नहीं होती। आप केवल एडेप्टर बदलते हैं, बाकी सब काम करता रहता है। यह FiveM इकोसिस्टम में बेहद दुर्लभ है और यही मुख्य कारण है कि सर्वर मालिक हमारे टूलिंग को दीर्घकालिक उपयोग के लिए मानकीकृत करते हैं।

हमारे उत्पाद पृष्ठों पर कौन सा Framework लेबल क्या मतलब रखता है

जब किसी उत्पाद पृष्ठ पर "QBCore, ESX" सूचीबद्ध होता है तो इसका मतलब है कि हम दोनों के लिए तैयार-निर्मित एडाप्टर भेजते हैं। जब यह "Standalone" कहता है तो हमारा मतलब है कि स्क्रिप्ट फ्रेमवर्क-एग्नोस्टिक है, इसे किसी एडाप्टर की आवश्यकता नहीं है और यह किसी भी सर्वर पर चलती है। व्यवहार में लगभग हर Agency स्क्रिप्ट छोटे संगतता शिम के साथ standalone सेटअप पर उपयोगी है।

खरीदने से पहले कब पूछें

यदि आपका सेटअप असामान्य है, कस्टम फ्रेमवर्क है, QBCore में भारी संशोधन किया गया है, या कुछ विशेष है, तो खरीदने से पहले हमारे Discord पर टिकट खोलें। हम ईमानदारी से बताएंगे कि क्या काम करेगा, क्या हल्का अनुकूलन चाहिए, और क्या परेशानी के लायक नहीं है। कोई बिक्री दबाव नहीं; हम चाहते हैं कि आप एक ऐसा स्क्रिप्ट खरीदें जो फिट हो बजाय तीन के जो न फिट हों।

एडाप्टर पैटर्न व्यवहार में कैसे काम करता है

जब आप Agency स्क्रिप्ट इंस्टॉल करते हैं, तो संसाधन फ़ोल्डर में एक होता है framework कम से कम तीन फाइलों के साथ उपनिर्देशिका: qb.lua, esx.lua, और standalone.lua. मुख्य स्क्रिप्ट QBCore या ESX एक्सपोर्ट की जांच करके मौजूद फ्रेमवर्क का स्वतः पता लगाता है। मिलान करने वाली एडाप्टर फाइल लोड होती है; अन्य नहीं। यह ऑटो-डिटेक्शन गेमप्ले लॉजिक चलने से पहले होता है, फ्रेमवर्क डिटेक्शन से कोई रनटाइम ओवरहेड नहीं होता।

प्रत्येक एडाप्टर समान आंतरिक API सतह को लागू करता है। यदि किसी स्क्रिप्ट को खिलाड़ी को पैसा देना है, तो वह कॉल करता है Framework.AddMoney(src, amount) आंतरिक रूप से। वह फ़ंक्शन qb.lua QBCore के मनी एक्सपोर्ट को कॉल करता है; में esx.lua यह ESX के अकाउंट सिस्टम को कॉल करता है; में standalone.lua यह उस फ़ंक्शन को कॉल करता है जिसे आपने परिभाषित किया है config.lua। एक कॉल, तीन कार्यान्वयन, फ्रेमवर्क के बीच शून्य स्क्रिप्ट परिवर्तन।

QBCore पर इंस्टॉलेशन

QBCore सर्वरों के लिए, स्थापना आमतौर पर तीन चरणों में होती है: संसाधन डाउनलोड करें, इसे resources फ़ोल्डर में डालें, और server.cfg में जोड़ें। फ्रेमवर्क का पता स्वचालित है। यदि आप एक महत्वपूर्ण रूप से संशोधित QBCore (कस्टम मनी सिस्टम, कस्टम इन्वेंटरी, कस्टम नौकरियां) का उपयोग करते हैं, तो आपको विशिष्ट एडाप्टर फ़ंक्शंस को ओवरराइड करने की आवश्यकता हो सकती है config.lua संपादन करने के बजाय qb.lua सीधे। config override का तरीका यह सुनिश्चित करता है कि रिसोर्स अपडेट होने पर आपके बदलाव न खोएँ।

ESX पर इंस्टॉलेशन

ESX स्थापना समान पैटर्न का पालन करती है। एक अतिरिक्त कदम जो कभी-कभी आवश्यक होता है: यदि आपका ESX संस्करण काफी पुराना है (pre-1.7), तो कुछ एडाप्टर फ़ंक्शन नए ESX एक्सपोर्ट नामों का संदर्भ देते हैं। संसाधन एक लेगसी संगतता फ्लैग के साथ आता है Config.ESXLegacy = true जो सभी Agency स्क्रिप्ट्स में पुराने ESX API कॉल्स पर स्विच करता है जिन्हें इसकी आवश्यकता होती है।

Standalone पर इंस्टॉलेशन

स्टैंडअलोन वह जगह है जहां अधिकांश सर्वर मालिकों को ऐतिहासिक रूप से अन्य स्क्रिप्ट्स के साथ संघर्ष हुआ है। Agency Scripts का स्टैंडअलोन पथ स्पष्ट और अच्छी तरह से प्रलेखित है। प्रत्येक स्क्रिप्ट के लिए, स्टैंडअलोन एडाप्टर फाइल में ठीक से सूचीबद्ध होता है कि आपको कौन-कौन से फंक्शंस लागू करने हैं। अधिकांश स्क्रिप्ट्स को चार से आठ फंक्शंस की आवश्यकता होती है। प्रत्येक फंक्शन में एक टिप्पणी होती है जो बताती है कि इसे क्या लौटाना चाहिए। एक सामान्य स्टैंडअलोन कार्यान्वयन में आपकी कस्टम प्लेयर डेटा प्रणाली की जटिलता के आधार पर एक से तीन घंटे लगते हैं।

एक बार जब आपने एक Agency स्क्रिप्ट के लिए एडाप्टर लागू कर लिया, तो बाद की स्क्रिप्ट्स में काफी कम समय लगता है, अक्सर वही कस्टम फ़ंक्शंस कई संसाधनों में लागू होते हैं।

क्यों यह दीर्घकालिक सर्वर संचालन के लिए महत्वपूर्ण है

FiveM फ्रेमवर्क स्थायी नहीं हैं। तीन या अधिक वर्षों से संचालित सर्वर संभवतः कम से कम एक प्रमुख फ्रेमवर्क विचार को नेविगेट कर चुके हैं, शायद एक समुदाय ESX फोर्क से मुख्य ESX में या पुराने QBCore से वर्तमान संस्करण में माइग्रेट कर चुके हैं। फ्रेमवर्क-कपल्ड स्क्रिप्ट पर निर्भर सर्वर उच्च माइग्रेशन टैक्स देते हैं: जब फ्रेमवर्क में महत्वपूर्ण बदलाव होता है तो हर स्क्रिप्ट को अपडेट या प्रतिस्थापित करना पड़ता है।

Agency Scripts के अडैप्टर आर्किटेक्चर के कारण, फ़्रेमवर्क माइग्रेशन से केवल अडैप्टर लेयर प्रभावित होती है। आपका Agency-Phone डेटा, Agency-Admin लॉग, Agency-Blackmarket ट्रांज़ैक्शन हिस्ट्री और Agency-Minerjob में प्लेयर प्रोग्रेशन, सब सुरक्षित रहते हैं। आप अडैप्टर फ़ाइलें बदलते हैं, config.lua अपडेट करते हैं और स्क्रिप्ट काम करती रहती हैं। कम्पैटिबिलिटी के इस तरीके का यही वास्तविक दीर्घकालिक फ़ायदा है, सिर्फ़ कई फ़्रेमवर्क को सपोर्ट करना नहीं, बल्कि आपके सर्वर को फ़्रेमवर्क के विकास से सुरक्षित रखना।

अक्सर पूछे जाने वाले प्रश्न

क्या सभी Agency स्क्रिप्ट्स एक ही एडाप्टर पैटर्न का उपयोग करती हैं?

हाँ। प्रत्येक भुगतान की गई Agency स्क्रिप्ट और अधिकांश मुफ्त स्क्रिप्ट इस पैटर्न का उपयोग करती हैं। केवल अपवाद पूरी तरह UI संसाधन हैं जैसे Agency-Loadingscreen और Agency-Notify, जिनका कोई फ्रेमवर्क इंटरैक्शन नहीं होता और वे हर जगह समान रूप से काम करते हैं।

क्या मैं फ्रेमवर्क एडाप्टर्स को मिक्स कर सकता हूँ? उदाहरण के लिए, QBCore मनी का उपयोग लेकिन standalone इन्वेंटरी?

हाँ, कॉन्फ़िग ओवरराइड्स के माध्यम से। अपने फ्रेमवर्क डिटेक्शन को QBCore पर सेट करें, फिर config.lua में विशिष्ट एडाप्टर फ़ंक्शंस को ओवरराइड करें ताकि आपकी कस्टम इन्वेंटरी सिस्टम QBCore की बजाय कॉल हो। ओवरराइड सिस्टम हाइब्रिड सेटअप वाले सर्वरों के लिए विशेष रूप से मौजूद है।

अगर कोई नया फ्रेमवर्क लोकप्रिय हो जाता है और अभी समर्थित नहीं है तो क्या होगा?

Discord पर एक सपोर्ट टिकट खोलें। हम समुदाय की स्वीकृति के आधार पर नए फ्रेमवर्क सपोर्ट अनुरोधों का मूल्यांकन करते हैं। जिन फ्रेमवर्क्स के पास महत्वपूर्ण समुदाय हैं, उनके लिए हमने ऐतिहासिक रूप से 2-4 सप्ताह के भीतर सपोर्ट जोड़ा है। इस बीच, standalone एडाप्टर पथ किसी भी फ्रेमवर्क के लिए एक अस्थायी समाधान के रूप में काम करता है।

क्या framework adapters तब अपडेट होते हैं जब framework स्वयं अपडेट होता है?

हाँ। जब QBCore या ESX कोई ब्रेकिंग चेंज रिलीज़ करता है, तो हम फ्रेमवर्क रिलीज़ के कुछ दिनों के भीतर एडाप्टर अपडेट्स पुश करते हैं। सक्रिय सब्सक्राइबर्स को Tebex के माध्यम से अपडेट नोटिफिकेशन मिलते हैं। यही कारण है कि सब्सक्रिप्शन मॉडल मौजूद है, एडाप्टर मेंटेनेंस लगातार काम है, एक बार का खर्च नहीं।

फ्रेमवर्क के अनुसार आवश्यकताओं का सारांश

  • QBCoreकिसी भी हाल की QBCore संस्करण। स्वचालित पता लगाना, मानक सेटअप के लिए शून्य कॉन्फ़िगरेशन।
  • ESX , ESX Legacy 1.7+ या मुख्य ESX। पुराने संस्करणों के लिए legacy फ्लैग सेट करें।
  • स्टैंडअलोन , config.lua में प्रति स्क्रिप्ट 4-8 फ़ंक्शन लागू करें। एक बार सेटअप करें, Agency स्क्रिप्ट्स में पुन: उपयोग करें।
  • सभी सेटअपcfx.re खाता वैध लाइसेंस के साथ, Artifacts 5181 या उच्चतर के साथ FiveM सर्वर की सिफारिश की जाती है।

शुरू करने के लिए तैयार?

हमारी शॉप से स्क्रिप्ट लें, या सपोर्ट, अपडेट और आगे आने वाली चीज़ों की झलक के लिए Discord से जुड़ें।