addon फ़ोल्डर खोलें
पहले garrysmod/addons/welcome खुद बनाएँ, फिर उसी फ़ोल्डर को वर्किंग फ़ोल्डर चुनें।
आपके अपने सर्वर पर !hello चैट कमांड सबसे छोटा काम का addon है। यह 1 सर्वर-साइड फ़ाइल में सीधी GMod Lua स्क्रिप्टिंग है, और दिखाता है कि खाली फ़ोल्डर से टेस्ट किए हुए नतीजे तक GMod addon कैसे बनाया जाता है। एजेंट इसे लिखता है। आप इसे जाँचते हैं।
पहले garrysmod/addons/welcome खुद बनाएँ, फिर उसी फ़ोल्डर को वर्किंग फ़ोल्डर चुनें।
सीधे शब्दों में लिखें कि addon को क्या करना है, जैसे !hello चैट कमांड का जवाब खिलाड़ी के नाम से देना।
Ask first में काम करें। sv_welcome.lua का फ़ाइल कार्ड और diff पढ़ें, फिर Accept या Reject दबाएँ।
लोकल टेस्ट सर्वर पर मल्टीप्लेयर गेम शुरू करें, उसमें जुड़ें, चैट में कमांड टाइप करें और काम पूरा मानने से पहले कंसोल में Lua एरर पढ़ें।
lua/autorun/serverबनाया गयाlua/autorun/server/sv_welcome.luaसहेजा गयाlua/autorun/server/sv_welcome.lua12 पंक्तियाँPlayerSay1 मिलानyour server launch scriptexit 0-- sv_welcome.lua: answer the !hello chat command
-- Runs on the server only (lua/autorun/server/).
local command = "!hello"
hook.Add("PlayerSay", "Welcome_Hello", function(ply, text)
if string.lower(text) == command then
local name = ply:Nick()
ply:ChatPrint(string.format("Hello, %s!", name))
return ""
end
end)केवल सर्वर-साइड। hook.Add एक फ़ंक्शन को PlayerSay से जोड़ता है, string.lower मिलान को बड़े अक्षरों से अप्रभावित बनाता है, ChatPrint उस खिलाड़ी को अभिवादन दिखाता है, और खाली स्ट्रिंग टाइप किया गया कमांड चैट से छिपा देती है।
अगला कदम है एक scripted weapon जोड़ना। हथियार lua/weapons/ में रहते हैं, इसलिए एजेंट से वहाँ एक फ़ाइल बनाने और हर सेट किए गए फ़ील्ड को समझाने को कहें। मिसाल के तौर पर हाथ से चलने वाला तोप और मोर्टार mod scripted weapon भी हो सकता है और scripted entity भी, और उसका व्यवहार आप सीधे शब्दों में बताते हैं। एजेंट नई फ़ाइल के लिए write_file, क्लास का नाम कहाँ आता है यह दिखाने के लिए grep, और आपके टेस्ट कमांड के लिए Shell इस्तेमाल करता है। Plan only मोड कुछ भी सहेजने से पहले हर फ़ाइल की सूची देता है। फिर उसे gm_flatgrass पर स्पॉन करें और एरर के लिए कंसोल पढ़ें।
खिलाड़ी आपका addon आपके PC से नहीं, सर्वर से डाउनलोड करते हैं। उन्हें आपके सारे mods हाथ से इंस्टॉल करने से बचाने का आसान तरीका Workshop collection या किसी सर्वर Lua फ़ाइल में resource.AddWorkshop पंक्तियाँ हैं। आपका अपना addon पहले Workshop पर प्रकाशित होना चाहिए, क्योंकि resource.AddWorkshop प्रकाशित आइटम का ID लेता है। केवल अनुमति वाली सामग्री प्रकाशित करें। एजेंट से edit_file के ज़रिए पंक्तियाँ जुड़वाएँ और diff जाँचें। अगर आपके GMod टेस्ट सर्वर पर किसी खिलाड़ी के लिए Workshop addons डाउनलोड नहीं हो रहे, तो पहले resource.AddWorkshop के लिए grep करें। फिर सर्वर रीस्टार्ट करें और खिलाड़ी के रूप में जुड़कर डाउनलोड देखें।