Next Run - मॉड्स
Next Run मॉड गाइड
Next Run के मॉड्स, फाइल संरचना और गेम कंपोनेंट की कार्यप्रणाली का विस्तृत विवरण। अपने मॉड बनाते और प्रकाशित करते समय त्वरित उत्तरों के लिए इस लिंक को सहेज लें।
1. सामान्य
यह दस्तावेज़ Next Run में मॉड सिस्टम का वर्णन करता है: उन्हें कैसे इंस्टॉल करें, अपने मॉड कैसे बनाएं और अन्य खिलाड़ियों के साथ कैसे साझा करें।
- मॉड कैसे बनते हैं और कैसे काम करते हैं, यह समझने के लिए खंड 2 को कम से कम एक बार पढ़ें।
- खंड 3 और 4 को संदर्भ के रूप में उपयोग करें।
- गेम के उदाहरणों का उपयोग करें यह देखने के लिए कि यह व्यवहार में कैसे काम करता है, Steam Workshop में: https://steamcommunity.com/app/1295870/workshop/।
- वर्शन 1.1.0 की गेम फाइलें यहां मिल सकती हैं: https://clarusvictoria.com/files/next_run_files_examples_1.1.0.zip।
2. मॉड सिस्टम
गेम शुरू करने और 'खेलें' और 'गेम बनाएं' बटन दबाने के बाद गेम डायरेक्टरी के भीतर Mods फोल्डर को स्कैन किया जाता है। इस डायरेक्टरी के प्रत्येक सबफोल्डर को modinfo.json फाइल की उपस्थिति में मॉड माना जाता है।
2.1. Steam Workshop, मॉड इंस्टॉल और प्रकाशन
यदि आप Steam क्लाइंट से गेम चलाते हैं, तो 'खेलें' मेनू में 'मॉड्स' पैनल उपलब्ध होगा, जिसमें निम्नलिखित बटन हैं:
- Steam Workshop
- मॉड फोल्डर
- प्रकाशित करें
- गाइड
2.1.1. Steam Workshop
Steam क्लाइंट के भीतर Steam Workshop खोलता है। मॉड डाउनलोड करने के लिए उसकी सदस्यता लेनी होगी। इसके बाद डाउनलोड स्वचालित रूप से शुरू हो जाएगा। यदि मॉड बड़ा है, तो डाउनलोड में कुछ समय लग सकता है। डाउनलोड की स्थिति Steam क्लाइंट में दिखाई देती है।
2.1.2. मॉड फोल्डर
आपके गेम का मॉड फोल्डर खोलता है।
2.1.3. प्रकाशित करें
गेम स्वचालित रूप से Mods फोल्डर को स्कैन करता है और आपके सभी मॉड Steam Workshop में प्रकाशित करता है।
- यदि मॉड नया है, तो उसके लिए स्वचालित रूप से steam_id जेनरेट होता है।
- यदि मॉड पहले से मौजूद है, तो वह अपडेट होगा।
- अपलोड के दौरान प्रकाशन बटन अपना रूप बदलता है।
- मॉड केवल परिवर्तन होने पर ही प्रकाशित होगा।
- modinfo.json फाइल में परिवर्तन को कंटेंट परिवर्तन नहीं माना जाता।
- प्रकाशित मॉड दुनियाभर के अन्य खिलाड़ियों को उपलब्ध होते हैं। Steam Workshop मॉड वितरण का एकमात्र तरीका नहीं है - उन्हें सीधे भी भेजा जा सकता है, बस मॉड फोल्डर को Mods डायरेक्टरी में रखकर।
2.1.4. गाइड
इस गाइड का लिंक।
2.2. JSON-फाइलें
गेम में सभी डेटा और टेक्स्ट JSON फॉर्मेट का उपयोग करते हैं। सामान्य टेक्स्ट फॉर्मेट से मुख्य अंतर यह है कि डेटा को कर्ली ब्रैकेट {} में बंद होना चाहिए।
JSON सिंटैक्स का विवरण:
- https://en.wikipedia.org/wiki/JSON
- https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON
गेम फाइलों के उदाहरणों को देखने की सलाह दी जाती है।
2.3. फाइल संरचना
प्रत्येक मॉड की फाइल संरचना गेम की संरचना के समान है। ये फाइलें या तो नया कंटेंट जोड़ती हैं या मौजूदा को बदलती हैं। JSON फाइलें गेम के अलग-अलग तत्वों को जोड़ती या बदलती हैं। अन्य फॉर्मेट की फाइलें (png, ogg) पूरी तरह बदली जाती हैं।
उदाहरण: यदि आप data/game.json फाइल बनाते हैं और उसमें 'Warrior' (गेम क्लास) एंटिटी बदलते हैं, तो केवल यह क्लास बदलेगा, और game.json में बाकी एंटिटीज अपरिवर्तित रहेंगी। यदि आप portrait_warrior_front.png फाइल जोड़ते हैं, तो यह गेम में संबंधित इमेज को पूरी तरह बदल देगी, क्योंकि नाम मेल खाता है।
मॉड के भीतर अनिवार्य और वैकल्पिक फाइलें और फोल्डर हैं। मानक संरचना इस प्रकार है:
- मॉड फोल्डर का नाम (कुछ भी हो सकता है, यह मॉड का नाम नहीं है)
- modinfo.json
- preview.png
- data/
- icons/
- sounds/
- texts/
- tiles/
बेहतर समझ के लिए गेम के उदाहरणों और मौजूदा मॉड का अध्ययन करने की सलाह दी जाती है। नीचे प्रत्येक फोल्डर और फाइल का विस्तृत विवरण है।
2.3.1. modinfo.json
मॉड मेटाडेटा फाइल। इस डेटा का एक भाग Steam Workshop प्रकाशन के लिए उपयोग किया जाता है।
- title - मॉड का नाम, Steam में प्रदर्शित होता है।
- version - मॉड का वर्शन।
- description - मॉड का विवरण।
- tags - Steam Workshop में नेविगेशन के लिए टैग।
- order - मॉड लोडिंग क्रम। यदि कई मॉड एक ही डेटा बदलते हैं, तो अधिक order वाला मॉड कम वाले को ओवरराइट करेगा।
- steam_id - मैन्युअल रूप से निर्दिष्ट करने की आवश्यकता नहीं, प्रकाशन पर स्वचालित रूप से बनता है।
- created_time - निर्माण समय।
- changed_time - परिवर्तन समय।
- अन्य फील्ड जोड़ने की अनुमति है, लेकिन वे केवल फाइल के भीतर उपयोग होंगे। मॉड का लेखक Steam Workshop द्वारा स्वचालित रूप से निर्धारित होता है।
2.3.2. preview.png
Steam Workshop के लिए मॉड इमेज (आइकन)। अनुशंसित रिज़ॉल्यूशन 256x256 या 512x512। पहलू अनुपात वर्गाकार। पारदर्शी PNG या JPG स्वीकार्य।
2.3.3. data
JSON डेटा फाइलों का फोल्डर। मौजूदा गेम एंटिटीज को बदलने या नई जोड़ने वाली फाइलें शामिल हैं। आप केवल वे फाइलें और फील्ड बना सकते हैं जिन्हें बदलना या जोड़ना है। बदले जाने वाले डेटा का विस्तृत विवरण खंड 3 में है।
2.3.4. icons
गेम आइकन का फोल्डर। GUI और टाइल्स को छोड़कर अधिकांश इमेज शामिल हैं। विभिन्न गेम स्थितियों के लिए कई मानक आकार और लेयर उपयोग किए जाते हैं। गेम में पारदर्शी पृष्ठभूमि वाली PNG फाइलें उपयोग होती हैं।
2.3.5. sounds
ध्वनि और संगीत का फोल्डर। नई फाइलें जोड़ सकते हैं या मौजूदा बदल सकते हैं। उपयोग किया जाने वाला फॉर्मेट OGG है।
2.3.6. texts
गेम के स्थानीयकृत टेक्स्ट का फोल्डर। प्रत्येक फाइल एक भाषा के अनुरूप है और IETF BCP-47 / ISO मानक का उपयोग करती है। वर्तमान में 13 भाषाएं समर्थित हैं: ruRU.json, trTR.json, jaJP.json, koKR.json, zhTW.json, zhCN.json, plPL.json, ptBR.json, itIT.json, esES.json, frFR.json, deDE.json, enUS.json।
2.3.7. tiles
टाइल इमेज का फोल्डर। पारदर्शी पृष्ठभूमि वाली PNG फाइलें उपयोग होती हैं। मानक टाइल आकार 256x384। टाइल कई लेयर से बने होते हैं, जैसे ज़मीन, वस्तुएं, जंगल, पहाड़, सड़कें।
2.4. मॉड सिंक्रनाइज़ेशन
मॉड प्राप्त करने के बाद, गेम शुरू होने पर यह स्वचालित रूप से Steam Workshop में प्रकाशित नवीनतम वर्शन के साथ सिंक्रनाइज़ होता है।
यदि आप मॉड के लेखक हैं, तो सिंक्रनाइज़ेशन नहीं होता और मॉड फाइलें ओवरराइट नहीं होतीं। यह इसलिए है ताकि मॉड पर काम करते समय गेम रीस्टार्ट के बाद आपके परिवर्तन न खोएं।
यदि आप किसी अन्य के मॉड के आधार पर मॉड बनाना चाहते हैं, तो गेम रीस्टार्ट करने से पहले निम्नलिखित कार्य करने होंगे:
- मॉड फोल्डर का नाम उसकी id से भिन्न किसी अन्य नाम में बदलें।
- modinfo.json फाइल में इन फील्ड को हटाएं: 'author', 'created_time', 'steam_id', 'changed_time'।
2.5. डेटा मर्जिंग
मॉड और गेम की JSON डेटा फाइलें बदली नहीं जातीं, बल्कि मर्ज की जाती हैं।
मर्जिंग क्रम:
- गेम की JSON फाइलों से मूल एंटिटीज को आधार के रूप में लिया जाता है।
- उन पर मॉड का डेटा ओवरले किया जाता है। मॉड modinfo.json में order फील्ड द्वारा निर्धारित प्राथमिकता के अनुसार ओवरले होते हैं।
मर्ज करते समय सभी कंपोनेंट के सभी फील्ड अलग-अलग प्रोसेस होते हैं। उदाहरण के लिए, यदि एंटिटी में 'hideIfZero':true है और मान false बनाना है, तो इस फील्ड को हटाना पर्याप्त नहीं - स्पष्ट रूप से 'hideIfZero':false निर्दिष्ट करना होगा।
list.json में सूचियां उसी सिद्धांत पर मर्ज होती हैं। केवल एक तत्व जोड़ने के लिए सभी फील्ड के साथ हर सूची को दोहराना आवश्यक नहीं। हालांकि, केवल सरल डेटा वाली सूचियां पूरी तरह बदली जाती हैं, जैसे RndGoodEvents और RndEvents।
3. कंपोनेंट
Next Run ECS आर्किटेक्चर पर बना है। पूरा गेम एंटिटीज से बना है। एंटिटी कंपोनेंट का कंटेनर है। एंटिटी में केवल id फील्ड है। अन्य सभी डेटा कंपोनेंट द्वारा वर्णित है। सभी डेटा JSON फाइलों में निर्धारित है।
JSON फाइल में तत्व का उदाहरण:
3.1. Button
गेम में बटन का रूप और व्यवहार वर्णित करता है।
- panel = string, बटन का डिफ़ॉल्ट पैनल। गेम में सभी बटन किसी न किसी पैनल और मेनू में होते हैं। अपना बटन किस पैनल में रखना चाहते हैं, चुनने के लिए उदाहरण देखें।
- icon = string, बटन आइकन का नाम। आइकन का नाम icons फोल्डर से लिया जाता है, PNG फाइल।
- iconType = string, बटन का प्रकार, आकार और बटन के तत्वों को प्रभावित करता है। विकल्प: 'btn' - सामान्य बटन, 'btnBig' - नीचे मान वाला बटन।
- color = string, आइकन बैकग्राउंड रंग, जैसे green, yellow। गेम द्वारा पहचाने जाने वाले रंगों की सूची: green, superGreen, lightGreen, darkGreen, red, superRed, darkRed, gray, lightGray, darkGray, lightBlue, blue, darkBlue, darkDarkBlue, grayYellow, yellow, pink, cyan, darkCyan, almostBlack, black, orange, darkOrange, lightViolet, purple, chartreuse, num, gameBack, blank, halfTrans, white, base।
- numText1 = double, आइकन का मान।
- numTextAdd = string, आइकन मान का पूरक, जैसे '%' चिह्न।
- numText1Type = string, आइकन मान का प्रकार, जैसे level, total, duration।
- numCustom = string, आइकन का अद्वितीय मान, जैसे '∞'।
- numIcon = string, मान के बगल में आइकन, जैसे स्तरों के लिए star, सामान के लिए coin।
- hotkey = string, कीबोर्ड हॉटकी।
- hide = bool, बटन छिपा है या नहीं।
- hideIfZero = bool, बटन छिपाता है यदि Total.now कंपोनेंट 0 है।
- disabled = bool, बटन अक्षम या सक्षम है, जैसे कुछ मेनू गेम शुरू होने पर अक्षम होते हैं।
- interactable = bool, बटन इंटरैक्टिव है या नहीं, डिफ़ॉल्ट हां। गैर-इंटरैक्टिव बटन का उदाहरण - इन्वेंटरी स्लॉट।
- cantBeDeselect = bool, इस बटन से चयन हटाने पर प्रतिबंध।
- cantBeSelect = bool, दबाने पर बटन चयन पर प्रतिबंध।
- draggable = bool, बटन को ड्रैग एंड ड्रॉप से ले जा सकते हैं या नहीं।
- x = double, इंटरफ़ेस में बटन की X निर्देशांक स्थिति, बिना पैनल वाले बटनों के लिए उपयोग, जैसे इन्वेंटरी स्लॉट।
- y = double, X के समान, लेकिन Y निर्देशांक के लिए।
- upMiniPred = string, इस एंटिटी के लिए जांचे जाने वाले एक्शन का नाम। यदि एक्शन उपलब्ध है, तो अपग्रेड प्रकार का मिनी-आइकन संकेत प्रकट होता है।
- craftMiniPred = string, क्राफ्ट एक्शन के लिए समान संकेत।
- raiseMiniPred = string, राइज़ एक्शन के लिए समान संकेत।
3.2. Tooltip
बटन टूलटिप की सामग्री वर्णित करता है।
- text = string, गेम में उपलब्ध एंटिटी का नाम।
- dontShowDuration = bool, एंटिटी की अवधि मान दिखाने पर प्रतिबंध।
- hideSources = bool, इस एंटिटी के मान को प्रभावित करने वाली स्रोत एंटिटीज दिखाने पर प्रतिबंध।
- hideAsSubjTT = bool, संबंधित एंटिटीज के लिए इस ऑब्जेक्ट को स्रोत के रूप में दिखाने पर प्रतिबंध।
- desc = string, विवरण टेक्स्ट, टूलटिप की शुरुआत में आता है।
- desc2 = string, विवरण टेक्स्ट, टूलटिप के अंत में आता है।
- redDesc = string, विवरण टेक्स्ट, लाल में हाइलाइट, अंत में आता है।
- totalTextAs = string, 'कुल' के बदले टेक्स्ट।
- ttPos = string, बटन के सापेक्ष टूलटिप की स्थिति, विकल्प 'top', 'left'।
3.3. GameClass
गेम क्लास की मैकेनिक्स वर्णित करता है।
- text = string, गेम में क्लास का नाम।
- portrait_back = string, क्लास चयन में बैकग्राउंड इमेज 391x598।
- portrait_front = string, क्लास चयन में क्लास इमेज 411x620, पारदर्शी।
- figurine = string, नक्शे पर कैरेक्टर अवतार इमेज 149x243।
- doll = string, इन्वेंटरी में क्लास की ब्लैक एंड वाइट इमेज 460x784।
- bonusSkill1 = string, बोनस पाने वाले स्किल 1 का नाम।
- bonusSkillVal1 = double, स्किल 1 बोनस का आकार।
- bonusSkill2 = string, बोनस पाने वाले स्किल 2 का नाम।
- bonusSkillVal2 = double, बोनस 2 का आकार।
- debuffSkill1 = string, पेनल्टी पाने वाले स्किल 1 का नाम।
- debuffSkillVal1 = double, पेनल्टी 1 का आकार।
- debuffSkill2 = string, पेनल्टी पाने वाले स्किल 2 का नाम।
- debuffSkillVal2 = double, पेनल्टी 2 का आकार।
- gold = double, शुरुआत में क्लास का सोना।
- remains = double, शुरुआत में अवशेषों की संख्या।
- equip = List(string), शुरुआत में पहनने के लिए आइटम की सूची।
- units = string, शुरुआत में होने वाले प्राणी का नाम।
- itemName = string, शुरुआत में इन्वेंटरी में आइटम का नाम।
- itemNum = double, शुरुआत में इन्वेंटरी में आइटम की संख्या।
- learnList = string, सीखने के लिए जादू या ब्लूप्रिंट की सूची, सूची list.json फाइल में है।
- learnNum = double, सूची से सीखे जाने वाले जादू या ब्लूप्रिंट की संख्या।
- lessTime = double, नरक हमलों के बीच कितना कम समय।
- manaBonus = double, मैक्सिमम और कुल मना बोनस।
- upgradeDexterityBonusMod = double, Dexterity स्किल से अपग्रेड योग्य वस्तुओं का बोनस।
- skillPointsPerLevel = double, लेवल बढ़ने पर मिलने वाले स्किल पॉइंट।
- upgradeManaCostMod = double, जादू अपग्रेड की प्रभावशीलता बोनस।
- freeRegion = bool, मुफ्त क्षेत्र।
- necroBonus = bool, नेक्रोमैंसर गेमप्ले और बोनस।
- druidBonus = bool, ड्र्यूड गेमप्ले और बोनस।
- stances = bool, स्टांस/फॉर्म/आदेश की उपस्थिति।
- defStance = string, डिफ़ॉल्ट स्टांस।
- notDemo = bool, क्लास डेमो में उपलब्ध नहीं।
- notTutorial = bool, क्लास ट्यूटोरियल मोड में उपलब्ध है या नहीं।
3.4. GameMode
गेम मोड की मैकेनिक्स वर्णित करता है।
- text = string, गेम में मोड का नाम।
- back = string, मोड चयन में बैकग्राउंड इमेज 391x598।
- moreTime = double, नरक हमलों के बीच कितना अधिक समय।
- lessTime = double, नरक हमलों के बीच कितना कम समय।
- woundChance = double, घाव लगने की संभावना।
- notDemo = bool, मोड डेमो में उपलब्ध नहीं।
- scenario = string, इस मोड के लिए अलग नक्शे का नाम।
- noHellAttacks = bool, इस मोड में नरक हमले नहीं (सैंडबॉक्स की तरह)।
- savesOnExitOnly = bool, इस मोड में सेव केवल गेम छोड़ने पर।
3.5. Biome
बायोम मैकेनिक्स निर्धारित करता है।
- frequency = double, नक्शा जेनरेशन में बायोम की उपस्थिति आवृत्ति, जितनी बड़ी संख्या, उतनी बार। 0 पर जेनरेट नहीं होता। Lava बायोम हमेशा अंतिम क्षेत्र के रूप में जेनरेट होता है।
- hexBase = string, इस बायोम का बेस टाइल, बस्तियों के नीचे बैकग्राउंड के रूप में जेनरेट होता है।
- music = string, बायोम के म्यूज़िक ट्रैक की फाइल का नाम।
- hexPatterns = List(string), बायोम में ऑब्जेक्ट टेम्पलेट की सूची। कार्ड डेक के सिद्धांत पर काम करता है: टेम्पलेट रैंडम रूप से मिक्स होते हैं, फिर रैंडम रूप से निकाले जाते हैं, डेक में 0 पहुंचने पर फिर से बनाया जाता है। टेम्पलेट का फॉर्मेट: ऑब्जेक्ट_नाम#ऑब्जेक्ट_नाम, # चिह्न ऑब्जेक्ट के बीच विभाजक है।
- mobLevel1 .. mobLevel8 = string, क्षेत्र स्तर के आधार पर बायोम में जेनरेट होने वाले प्राणियों का नाम।
3.6. TileAsset
गेम नक्शे पर ऑब्जेक्ट का दृश्य रूप निर्धारित करता है।
- tileMap = string, लेयर का नाम LandTilemap - ज़मीन की सतह, ObjectTilemap - सामान्य ऑब्जेक्ट, RoadTilemap - सड़क आदि, अंतर केवल लेयर ओवरले क्रम में है।
- rawSprite = string, नक्शे पर इमेज जोड़ने के लिए 256x384 इमेज।
- icon = string, सभी TileMap के ऊपर जोड़ने के लिए आइकन।
- buttonIcon = bool, Button से आइकन लेना है या नहीं।
- delLevel = double, हटाने का स्तर, एक्शन से ऑब्जेक्ट हटाना कितना कठिन है।
3.7. Shop
दुकान मैकेनिक्स वर्णित करता है।
- slots = int, दुकान में स्लॉट की संख्या।
- type = string, list.json में मौजूद दुकान के सामान का नाम।
3.8. Item
आइटम मैकेनिक्स वर्णित करता है।
- slot = string, उपकरण के लिए स्लॉट का नाम।
- stackable = bool, एक ढेर में आइटम 1 से अधिक हो सकता है।
- upgradable = bool, आइटम को अपग्रेड किया जा सकता है, अपग्रेड की अवधि स्तर पर निर्भर करती है।
- upProgress = double, अपग्रेड की अवधि।
- order = double, दुकान में आइटम का क्रम, जितना कम, उतना ऊपर।
3.9. Mob
प्राणी मैकेनिक्स वर्णित करता है।
- hell = bool, प्राणी नरक का है। रिश्वत पर पेनल्टी। नरक हमलों में भाग लेता है। अवशेष बोनस।
- undead = bool, प्राणी अंडेड है। रिश्वत नहीं दी जा सकती। विशेष अपग्रेड मैकेनिक्स।
- type = string, प्राणी का प्रकार - 'Warriors', 'Defenders', 'Mages', 'Gatherers', 'Crafters'। बैकग्राउंड रंग, खिलाड़ी पर हिट चांस, डैमेज प्रकार, लूट प्रकार निर्धारित करता है।
- upMob = string, प्राणी किसमें अपग्रेड होता है।
- upCostName = string, अपग्रेड के लिए आवश्यक आइटम।
- upCostNum = double, अपग्रेड के लिए आवश्यक संसाधन की संख्या, डिफ़ॉल्ट 1।
3.10. Dungeon
डंजन मैकेनिक्स वर्णित करता है।
- magic = bool, डंजन जादुई है। डैमेज प्रकार, लूट और एडऑन प्रभावित करता है।
- boss = bool, अंतिम डंजन।
3.11. Ruins
खंडहर मैकेनिक्स वर्णित करता है - आइटम खोजने के स्थान।
3.12. Addon
एक्सटेंशन मैकेनिक्स। एक्सटेंशन डंजन या खंडहर वाले हेक्स में स्थित ऑब्जेक्ट हैं जो उनके पैरामीटर बदलते हैं और अलग पुरस्कार देते हैं।
- skill = string, डंजन क्लीयर या खंडहर जांच पर खिलाड़ी को मिलने वाले स्किल का नाम। 'Random', 'Strength' आदि निर्दिष्ट कर सकते हैं।
- unit = string, एक्शन पूरा होने पर बोनस प्राणी का नाम। 'Random' निर्दिष्ट कर सकते हैं।
- item = string, एक्शन पूरा होने पर बोनस आइटम का नाम। 'Random' निर्दिष्ट कर सकते हैं।
- phyChanceMulti = double, क्लीयरिंग में भौतिक डैमेज चांस मॉडिफायर। जैसे 50(%)।
- magChanceMulti = double, क्लीयरिंग में जादुई डैमेज चांस मॉडिफायर। जैसे 50(%)।
- progressMulti = double, क्लीयरिंग या जांच जैसे एक्शन कितने लंबे हैं। जैसे 100(%)।
- dmgMulti = double, क्लीयरिंग में डैमेज आकार मॉडिफायर। जैसे 50(%)।
3.13. Build
निर्धारित करता है कि यह ऑब्जेक्ट एक इमारत है।
3.14. Center
निर्धारण कि यह ऑब्जेक्ट एक बस्ती है।
- captureProgress = double, बस्ती पर कब्जा करने के लिए आवश्यक प्रयास।
- upProgress = double, बस्ती अपग्रेड के लिए आवश्यक प्रयास।
- upCostName1 = string, अपग्रेड के लिए आवश्यक आइटम 1 का नाम।
- upCostNum1 = double, अपग्रेड के लिए आवश्यक आइटम 1 की संख्या।
- upCostName2 = string, आइटम 2 के लिए समान।
- upCostNum2 = double, आइटम 2 के लिए समान।
- upCostName3 = string, आइटम 3 के लिए समान।
- upCostNum3 = double, आइटम 3 के लिए समान।
- upProp = string, किस बस्ती में अपग्रेड होती है।
3.15. Gatherable
निर्धारण कि इस ऑब्जेक्ट से खनन कर संसाधन प्राप्त किए जा सकते हैं।
- gather = string, खनन किए जाने वाले संसाधन का नाम।
- deposit = bool, यह संसाधन खदान है या नहीं, यदि हां तो यहां खदान बनाई जा सकती है।
3.16. AlliedForest
ड्र्यूड के रूप में खेलते समय 'मित्र वन' की मैकेनिक्स और मान निर्धारित करता है।
- allyBonus = double, 'मित्र वन' बोनस का आकार।
3.17. Graveyard
निर्धारण कि यह ऑब्जेक्ट कब्रिस्तान है, जो नेक्रोमैंसर के रूप में खेलते समय महत्वपूर्ण है। यहां मान रैंडम रूप से जेनरेट होता है, कितने अवशेष खनन किए जा सकते हैं।
- now = double, अवशेषों का वर्तमान मान।
- rndMin = double, अवशेषों की न्यूनतम संख्या।
- rndMax = double, अवशेषों की अधिकतम संख्या।
- rndCeil = bool, ऊपरी रैंडम मान पर गोलाई।
3.18. Pred
एक्शन-कंपोनेंट। हालांकि कंपोनेंट की अधिकांश कार्यक्षमता कोड में छिपी है, कुछ भाग उपलब्ध है।
- action = string, एक्शन निष्पादन पर ट्रिगर होने वाले एक्शन का नाम।
- local = bool, इंटरैक्शन के लिए ऑब्जेक्ट के समान हेक्स में होना आवश्यक है या नहीं।
- attackPred = bool, यह एक्शन आक्रामक है, यदि कॉम्बैट स्पेल लागू किया जाए तो स्वचालित रूप से लागू होगा।
- gatherPred = bool, यह एक्शन खनन है, रिसोर्स गैदरिंग स्पेल लागू होने पर स्वचालित रूप से लागू होगा।
- craftPred = bool, यह एक्शन शिल्प है, क्राफ्ट स्पेल लागू होने पर स्वचालित रूप से लागू होगा।
- skill = string, एक्शन निष्पादन के लिए उपयोग किया जाने वाला स्किल, जैसे आक्रामक एक्शन के लिए Attack स्किल।
- longPred = bool, यह एक्शन तात्कालिक नहीं है और समय चाहिए।
- repeat = bool, एक्शन रोकने तक दोहराया जाएगा।
- noOwner = bool, इस एक्शन के लिए किसी ऑब्जेक्ट का चयन आवश्यक नहीं।
- skipLongTooltip = bool, एक्शन के लिए सरलीकृत टूलटिप।
- onlyClass = string, स्टांस/फॉर्म/आदेश प्रकार का यह एक्शन केवल विशिष्ट क्लास के लिए उपलब्ध है।
3.19. Total
एंटिटी का संख्यात्मक मान निर्धारित करने वाला कंपोनेंट, आमतौर पर यह किसी चीज़ की मात्रा है।
- now = double, वर्तमान मान।
- inc = double, प्रति टर्न वृद्धि।
- max = double, अधिकतम मान।
- min = double, न्यूनतम मान।
- rndMin = double, रैंडम संख्या का न्यूनतम मान।
- rndMax = double, रैंडम संख्या का अधिकतम मान, now को बदलता है।
- rndCeil = bool, रैंडम मान जेनरेशन में ऊपर की ओर गोलाई।
- overMax = bool, सीमा से अधिक होने की अनुमति।
- delIfZero = bool, 0 होने पर हटाना।
- numPercent = bool, मान प्रतिशत है या नहीं।
3.20. Level
एंटिटी का स्तर निर्धारित करने वाला कंपोनेंट।
- now = double, वर्तमान मान।
- max = double, अधिकतम मान।
- min = double, न्यूनतम मान।
- localLevelPlus = int, स्थानीय स्तर बोनस, केवल नक्शे की वस्तुओं के लिए काम करता है, उनका स्तर क्षेत्र स्तर + localLevelPlus मान बन जाता है।
3.21. Duration
एंटिटी की अवधि निर्धारित करने वाला कंपोनेंट।
- now = double, वर्तमान मान।
- max = double, अधिकतम मान।
- min = double, न्यूनतम मान।
- delIfZero = bool, 0 होने पर हटाना।
3.22. Mods
मॉडिफायर सूची कंपोनेंट। इस कंपोनेंट के निर्माण पर अन्य एंटिटीज को प्रभावित करने वाले परिवर्तनों का सेट बनता है। एंटिटी हटाने पर ये परिवर्तन गायब हो जाते हैं।
- radius = int, मॉडिफिकेशन का प्रभाव त्रिज्या, केवल नक्शे पर काम करता है।
- objType = string, मॉडिफिकेशन लागू होने वाली एंटिटीज का प्रकार, जैसे 'Stat', 'Skill', 'Prop', 'Item', 'ModableVal', 'PropMod'।
- objName = string, एंटिटी का नाम, जैसे 'Speed'।
- objComp = string, मॉडिफिकेशन लागू होने वाला कंपोनेंट, जैसे 'Total', 'Level'।
- objKey = string, मॉडिफिकेशन लागू होने वाला फील्ड, जैसे 'now', 'inc', 'max'।
- modType = string, फील्ड पर प्रभाव का तरीका: 'add', 'mult', 'addPerLevel', 'multPerLevel'।
- now = double, मॉडिफायर का मान, जिससे परिवर्तन होता है।
- subjTooltipText = string, डायनामिक टूलटिप में सब्जेक्ट का संकेत जोड़ा जाएगा।
- skipPerTooltip = bool, टूलटिप में PerLevel को Plus से बदलना।
- skipSubjTooltip = bool, इस सब्जेक्ट के लिए टूलटिप छोड़ना।
3.23. ModableVals
गेम की वैश्विक वेरिएबल सूची कंपोनेंट। विशिष्ट एंटिटी से जुड़ाव सशर्त है। इन वेरिएबल के साथ काम करने का अधिकांश लॉजिक गेम कोड में छिपा है।
- now = double, वेरिएबल का मान।
3.24. Slot
एंटिटी को इन्वेंटरी में स्लॉट के रूप में निर्धारित करने वाला कंपोनेंट।
- name = string, स्लॉट का नाम। इस स्लॉट में आइटम रखने के लिए Item कंपोनेंट के slot फील्ड का मान मेल खाना चाहिए।
3.25. Container
इस एंटिटी को सेल वाले कंटेनर के रूप में निर्धारित करता है।
- cells = int, कंटेनर में सेल की संख्या।
- cellsPanel = string, पैनल का नाम।
3.26. Tom
निर्धारण कि यह एंटिटी स्पेल टोम है जिसे सीखकर स्पेल प्राप्त या अपग्रेड किया जा सकता है।
- cast = string, स्पेल का नाम।
3.27. Cast
निर्धारण कि एंटिटी एक स्पेल है।
- mana = double, स्पेल की मना कीमत।
- predSkill = string, इस स्पेल को सक्रिय करने पर कौन से प्रकार के एक्शन शुरू होने चाहिए, जैसे Attack-प्रकार के लिए स्वचालित रूप से आक्रामक एक्शन शुरू होते हैं।
- notSkills = string, इस स्पेल के उपयोग के लिए कौन सा एक्शन चाहिए का संकेत।
- attack = double, इस स्पेल के उपयोग से Attack प्रकार का एक्शन कितना तेज़ होता है, सशर्त रूप से यह जादुई डैमेज है।
- gather = double, रिसोर्स गैदरिंग प्रकार का एक्शन कितना तेज़ होता है।
- craft = double, क्राफ्ट प्रकार का एक्शन कितना तेज़ होता है।
- heal = double, खिलाड़ी के हीरो को कितना हील होता है।
- newEvent = string, स्पेल द्वारा ट्रिगर होने वाले इवेंट का नाम, आमतौर पर बफ प्रकार के इवेंट।
- teleport = bool, चयनित लोकेशन पर टेलीपोर्ट।
- explore = double, इस और आसपास के हेक्स की टोह लेता है।
3.28. Blueprint
ब्लूप्रिंट एंटिटी मैकेनिक्स।
- item = string, बनाए जाने वाले आइटम का नाम।
- build = string, बनाई जाने वाली इमारत का नाम।
- costName1 = string, बनाने के लिए आवश्यक आइटम 1 का नाम।
- costNum1 = double, बनाने के लिए आवश्यक आइटम 1 की संख्या।
- costName2 = string, आइटम 2 के लिए समान।
- costNum2 = double, आइटम 2 के लिए समान।
- costName3 = string, आइटम 3 के लिए समान।
- costNum3 = double, आइटम 3 के लिए समान।
3.29. Cost
मूल्य कंपोनेंट, निर्धारित करता है कि एंटिटी खरीदी और बेची जा सकती है।
- raw = double, मूल मूल्य, मॉडिफायर के बिना। खरीद और बिक्री मूल्य इससे गणना होता है।
3.30. Event
इवेंट कंपोनेंट।
- uniq = bool, इवेंट अद्वितीय है, दोहराव इवेंट पुराने को उसी नाम से हटा देगा।
- rndEvent = bool, इवेंट रैंडम है।
- nextEvent1 = string, वर्तमान इवेंट समाप्त होने पर शुरू होने वाले पहले इवेंट का नाम।
- nextEvent2 = string, वर्तमान इवेंट समाप्त होने पर शुरू होने वाले दूसरे इवेंट का नाम।
- castType = string, स्पेल बफ इफेक्ट का प्रकार, समान प्रकार को ओवरराइट करता है।
3.31. Proc
प्रोक (चांस) मैकेनिक्स कंपोनेंट, जैसे बीमारी की संभावना।
- addEvent = string, चांस सफल होने पर ट्रिगर होने वाला इवेंट।
3.32. ProcMod
कंपोनेंट जो एंटिटी को प्रोक चांस प्रभावित करने की क्षमता देता है।
- proc = string, इस कंपोनेंट द्वारा प्रभावित प्रोक का नाम।
- chance = double, प्रभाव की शक्ति, कुछ कार्यक्षमता कोड में है।
- dependsLevel = bool, एंटिटी स्तर पर निर्भरता।
3.33. Usable
एकल-उपयोग कंपोनेंट जो प्रभाव देते हैं, जैसे पोशन। 'उपयोग करें' एक्शन से सक्रिय होता है।
- stat = string, प्रभावित होने वाले स्टैट का नाम।
- skill = string, प्रभावित होने वाले स्किल का नाम।
- nowBonus = double, Total.now फील्ड को प्रभावित करने वाला बोनस।
- maxBonus = double, Total.max फील्ड को प्रभावित करने वाला बोनस।
- cure = bool, आइटम बीमारी के प्रभाव से ठीक करता है या नहीं।
3.34. Drankable
कंपोनेंट जो नक्शे पर ऑब्जेक्ट से पीने की अनुमति देता है, जैसे झील, ओएसिस और समान।
3.35. Sphinx
नक्शे पर क्वेस्ट-कंपोनेंट, स्फिंक्स। पैरामीटर क्षेत्र स्तरों के आधार पर स्वचालित रूप से निर्धारित होते हैं।
3.36. Living_tree
नक्शे पर क्वेस्ट-कंपोनेंट, जीवित वृक्ष। पैरामीटर क्षेत्र स्तरों के आधार पर स्वचालित रूप से निर्धारित होते हैं।
3.37. Vision
नक्शे पर ऑब्जेक्ट मैकेनिज़्म जो खिलाड़ी के हीरो के इस एंटिटी वाली लोकेशन में प्रवेश करने पर बढ़ा हुआ नक्शा त्रिज्या खोलता है।
- explore = int, टोह त्रिज्या। 1 - सामान्य टोह, 2 - एक हेक्स बढ़ी हुई।
3.38. Remains
एंटिटी को अवशेष कंपोनेंट के रूप में वर्णन। ऐसी एंटिटीज को अंडेड में बदलने की अनुमति देता है।
3.39. Audio_comp
कंपोनेंट जो विशिष्ट एंटिटी के लिए उसके प्रकार के आधार पर ध्वनि चलाने की अनुमति देता है।
- click = string, एंटिटी पर क्लिक की ध्वनि, एक्शन और स्पेल के लिए उपयोग।
- added = string, एंटिटी बनने पर चलने वाली ध्वनि, इवेंट के लिए उपयोग।
- ambient1 = string, पर्यावरण ध्वनि, ट्रैक 1।
- ambient2 = string, पर्यावरण ध्वनि, ट्रैक 2।
- ambient3 = string, पर्यावरण ध्वनि, ट्रैक 3।
- process = List(string), एक्शन निष्पादन के दौरान चलने वाली ध्वनियों की सूची।
- waits = List(double), ध्वनि चलने के बीच विराम की सूची।
- finish = string, एक्शन पूरा होने की ध्वनि।
- rndProcess = bool, चलने के दौरान ध्वनियों में छोटे रैंडम इफेक्ट।
3.40. Childs
कंपोनेंट जो रिकर्सिवली नई एंटिटीज बनाता है।
- list = List(Entity), चाइल्ड एंटिटीज की सूची जो स्वचालित रूप से बनती और विशिष्ट एंटिटी से जुड़ती हैं।
3.41. Preds
कंपोनेंट जो विशिष्ट एंटिटी के लिए एक्शन बनाता है, हालांकि अधिकांश एंटिटीज गेम कोड में निर्धारित हैं।
- list = List(string)।
3.42. Equip
मार्कर-कंपोनेंट, मतलब यह आइटम हीरो पर पहना जा सकता है।
3.43. Res
इंडिकेटर-कंपोनेंट कि यह एंटिटी एक संसाधन है। टूलटिप, एनीमेशन और गेम सारांश के लिए आवश्यक।
3.44. TurnAct
कंपोनेंट मतलब एंटिटी को गेम समय के हर टिक पर जांचना है, जैसे Total और Duration कंपोनेंट के लिए।
4. सूचियां
list.json फाइल में डेटा सेक्शन का सेट है जो एंटिटीज या कंपोनेंट नहीं हैं। वे गेम में कंटेंट जेनरेशन के लिए विभिन्न सूचियां निर्धारित करते हैं।
4.1. RndGoodEvents
गेम शुरू होने पर तुरंत जेनरेट होने वाली अच्छी रैंडम इवेंट की सूची।
4.2. RndEvents
गेम के दौरान जेनरेट होने वाली अच्छी और बुरी रैंडम इवेंट की सूची।
4.3. Generator_dungeon_addons_physical
भौतिक डैमेज वाले डंजन के लिए जेनरेट होने वाले एक्सटेंशन (addons) की सूची।
4.4. Generator_dungeon_addons_magical
जादुई डैमेज वाले डंजन के लिए जेनरेट होने वाले एक्सटेंशन (addons) की सूची।
4.5. Generator_ruins_addons
खंडहर के लिए जेनरेट होने वाले एक्सटेंशन (addons) की सूची।
4.6. Generator_settlement_levels
क्षेत्र स्तरों और बस्ती एंटिटी नामों के बीच मैपिंग की सूची, जैसे 'lvl1':'Village' का मतलब पहले स्तर के क्षेत्र में Village प्रकार की बस्ती जेनरेट होगी।
4.7. Generator_rar_metals
क्षेत्र स्तरों और खदान नामों के बीच मैपिंग की सूची, जैसे 'lvl2':'Deposit_tin' का मतलब दूसरे स्तर के क्षेत्र में टिन खदान जेनरेट होगी।
4.8. Generator_mages
क्षेत्र स्तरों और मैज टावर की रक्षा करने वाले मैज नामों के बीच मैपिंग की सूची, जैसे 'lvl3':'Priestesses' का मतलब तीसरे स्तर के क्षेत्र में पुजारिनें जेनरेट होंगी।
4.9. LevelMobs_
विभिन्न क्षेत्र स्तरों के लिए प्राणियों की सूचियां, जो खिलाड़ी को डंजन क्लीयर करने या खंडहर जांच पर बंदियों को मुक्त करने पर मिलती हैं।
4.10. Crafter_start, Lord_start, Mage_start,
विभिन्न वस्तुओं की सूचियां जो विभिन्न गेम क्लास शुरुआत में GameClass कंपोनेंट में learnList फील्ड में प्राप्त करते हैं। वस्तुओं की संख्या learnNum फील्ड में जेनरेट होती है।
- obj = string, वस्तु का नाम।
- min = double, न्यूनतम रैंडम संख्या।
- max = double, अधिकतम रैंडम संख्या।
- chance = double, इस विशिष्ट वस्तु के जेनरेशन की संभावना।
- अन्य सूचियां बना सकते हैं और उन्हें विभिन्न क्लास के लिए जोड़ सकते हैं, यदि अन्य ब्लूप्रिंट या स्पेल सीखने हों।
4.11. Gold_
यह सूची क्षेत्र स्तर के आधार पर जेनरेट होने वाले सोने की मात्रा निर्धारित करती है। सोना नक्शे पर सभी प्रकार के पुरस्कारों में 50% संभावना से प्रकट होता है। सिंटैक्स के लिए बिंदु 4.10 देखें।
4.12. Loot_-
सूचियों का समूह जो क्षेत्र स्तर के आधार पर पुरस्कार जेनरेशन निर्धारित करता है। प्राणियों, डंजन और खंडहर पर लागू। प्राणियों के लिए 50% संभावना से विशिष्ट वस्तुओं का ड्रॉप निर्धारित करता है, शेष 50% के लिए बिंदु 4.13 की सूचियां उपयोग होती हैं। सिंटैक्स के लिए बिंदु 4.10 देखें।
4.13. Warriors_, Defenders_, Mages_, Gatherers_, Crafters_,
सूचियों का समूह जो क्षेत्र स्तर और प्राणी वर्ग के आधार पर पुरस्कार जेनरेशन निर्धारित करता है। केवल प्राणियों पर लागू। ये सूचियां Loot_ प्रकार की सूचियों का विस्तार हैं और वर्ग-निर्भर पुरस्कारों के जेनरेशन के लिए 50% मामलों में सक्रिय होती हैं, जैसे जब मैज से स्पेल टोम और स्टाफ अधिक बार ड्रॉप हों। सिंटैक्स के लिए बिंदु 4.10 देखें।
4.14. Shop_, Books_
विभिन्न क्षेत्र स्तरों की सूचियां, जैसे Books5 या Shop6। दुकानों के सामान जेनरेशन के लिए उपयोग। सिंटैक्स के लिए बिंदु 4.10 देखें। ये सूचियां Shop कंपोनेंट में type फील्ड में निर्धारित हैं, टावर के लिए गेम कोड से जेनरेट होती हैं।
