--- title: GetComponentData, GetMacroData और GetWareData summary: क्वेरी लक्ष्य चुनें, कई गुण पढ़ें और Lua परिणाम स्थानों को बनाए रखें। section: ui kind: guide status: reference updated: 2026-10-27 tags: ["X4","modding","lua","data","queries"] sources: ["https://chemodun.github.io/x4/modding-support/ui-modding/lua-globals/","https://www.lua.org/manual/5.1/manual.html","https://github.com/chemodun/X4-LuaLSAddon"] --- ## सही पहचानकर्ता चुनें | फ़ंक्शन | पहला तर्क | परिणाम | | --- | --- | --- | | `GetComponentData(component, ...)` | UI में मौजूदा घटक हैंडल | प्रति अनुरोधित कुंजी एक मान | | `GetMacroData(macro, ...)` | `string`: मैक्रो टेम्पलेट नाम | प्रति अनुरोधित कुंजी एक मान | | `GetWareData(wareID, ...)` | `string`: माल पहचान | प्रति अनुरोधित कुंजी एक मान | ये X4 UI Lua से संबंधित हैं, मानक Lua या MD नहीं। एक सी पॉइंटर, मैक्रो नाम और वेयर आईडी परस्पर विनिमेय नहीं हैं। स्वीकार किए गए कुंजी कार्य और खेल संस्करण पर निर्भर करते हैं। मामले के मामलेः माल `groupName`, नहीं `groupname`. (स)स्रोत कार्ड में पूर्ण कुंजी सेट सूचीबद्ध हैं। कॉल संदर्भ कार्डः [GetComponentData](wiki:api-lua-getcomponentdata-466ba6e8), [GetMacroData](wiki:api-lua-getmacrodata-53e483cc), [GetWareData](wiki:api-lua-getwaredata-e67f517f). ## एक वस्तु क्वेरी उदाहरण चल रहे X4 एडऑन संदर्भ मेंः ```lua local wareName, volume = GetWareData("energycells", "name", "volume") if type(wareName) == "string" and type(volume) == "number" then DebugError("[WIKI] ware=" .. wareName .. "; volume=" .. tostring(volume)) end ``` **प्रभाव:** पहला परिणाम में जाता है `wareName`, दूसरे में `volume`. (स)अपेक्षित प्रकारों के साथ, एक निदान रेखा में स्थानीयकृत नाम और प्राप्त मात्रा होती है। सटीक मान गेम डेटा और मॉड पर निर्भर करते हैं; कोई निश्चित नाम या संख्या वादा नहीं की जाती है। सामान्य अनुबंध `any, ...` क्योंकि कुंजी प्रकार निर्धारित करती है। यह क्वेरी उम्मीद `string` और `number`; अन्य कुंजी में उन प्रकारों की आवश्यकता नहीं है। एक अज्ञात कुंजी से प्राप्त हो सकता है `nil` अपनी स्थिति में और इंजन निदान। ## बहुमूल्य तालिका नहीं है खेल के बिना स्वतंत्र सादा Lua उदाहरणः ```lua local function sample() return "Demo", nil, 4 end local title, missing, amount = sample() local first = sample() ``` **मूल्य:** `title == "Demo"`, `missing == nil`, `amount == 4`, `first == "Demo"`. (स)कई चर स्थिति को बनाए रखते हैं। एक चर को पहला परिणाम प्राप्त होता है। एक `{...}` मध्यवर्ती सूची `nil` के लिए एक घने सरणी के रूप में `ipairs`. ## अभ्यास में आगे बढ़ें घटकों के लिए, पहले एक मान्य UI हैंडल स्रोत और जीवनकाल स्थापित करें। मैक्रो को कोई लाइव इंस्टेंस की आवश्यकता नहीं है लेकिन एक वैध टेम्पलेट नाम की आवश्यकता है। कुंजी और संस्करणों की जाँच करें, फिर अंकगणित या स्वरूपण से पहले टाइप करें। इन उदाहरणों को खेल में नहीं चलाया गया; स्रोत लेखक के शोध को हमारे परीक्षण के रूप में प्रस्तुत नहीं किया गया है। संपादक सहायताः [X4-LuaLSAddon](https://github.com/chemodun/X4-LuaLSAddon). (स)ये Lua भाषा सर्वर परिभाषाएं हैं, निष्पादित मॉड फ़ाइलें नहीं हैं। साथ जारी रखें [प्रकार](wiki:types), [Lua और C पहचानकर्ता](wiki:ids-and-precision) और [UI/MD](wiki:md-lua-bridge).