सही पहचानकर्ता चुनें#

फ़ंक्शन पहला तर्क परिणाम
GetComponentData(component, ...) UI में मौजूदा घटक हैंडल प्रति अनुरोधित कुंजी एक मान
GetMacroData(macro, ...) string: मैक्रो टेम्पलेट नाम प्रति अनुरोधित कुंजी एक मान
GetWareData(wareID, ...) string: माल पहचान प्रति अनुरोधित कुंजी एक मान

ये X4 UI Lua से संबंधित हैं, मानक Lua या MD नहीं। एक सी पॉइंटर, मैक्रो नाम और वेयर आईडी परस्पर विनिमेय नहीं हैं। स्वीकार किए गए कुंजी कार्य और खेल संस्करण पर निर्भर करते हैं। मामले के मामलेः माल groupName, नहीं groupname. (स)स्रोत कार्ड में पूर्ण कुंजी सेट सूचीबद्ध हैं।

कॉल संदर्भ कार्डः GetComponentData, GetMacroData, GetWareData.

एक वस्तु क्वेरी उदाहरण#

चल रहे 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. (स)ये Lua भाषा सर्वर परिभाषाएं हैं, निष्पादित मॉड फ़ाइलें नहीं हैं। साथ जारी रखें प्रकार, Lua और C पहचानकर्ता और UI/MD.