افتح مجلد الإضافة
أنشئ garrysmod/addons/welcome بنفسك أولًا، ثم اختر هذا المجلد مجلدًا للعمل.
أمر الدردشة !hello على خادمك هو أصغر إضافة مفيدة. إنه برمجة Lua عادية لـ GMod في ملف واحد من جهة الخادم، ويُظهر كيف تصنع إضافة GMod من مجلد فارغ إلى نتيجة مختبَرة. يكتبها الوكيل. وتراجعها أنت.
أنشئ garrysmod/addons/welcome بنفسك أولًا، ثم اختر هذا المجلد مجلدًا للعمل.
اكتب بكلمات بسيطة ما يجب أن تفعله الإضافة، مثل أن تردّ على أمر الدردشة !hello باسم اللاعب.
اعمل في وضع Ask first. اقرأ بطاقة الملف والـ diff الخاص بـ sv_welcome.lua، ثم اضغط Accept أو Reject.
ابدأ لعبة متعددة اللاعبين على خادم اختبار محلي، وادخل إليه، واكتب الأمر في الدردشة، واقرأ وحدة التحكم بحثًا عن أخطاء Lua قبل أن تعدّ العمل منتهيًا.
lua/autorun/serverتم الإنشاءlua/autorun/server/sv_welcome.luaتم الحفظlua/autorun/server/sv_welcome.lua12 سطرًاPlayerSayنتيجة واحدة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/، فاطلب من الوكيل إنشاء ملف واحد هناك وشرح كل حقل يضبطه. فمثلًا قد يكون تعديل مدفعية وهاون يدويّ scripted weapon أو scripted entity، وتصف أنت سلوكه بكلمات بسيطة. يستخدم الوكيل write_file للملف الجديد وgrep ليُظهر أين يظهر اسم الصنف وShell لأمر الاختبار لديك. يسرد وضع Plan only كل ملف قبل حفظ أي شيء. ثم أنشئه على gm_flatgrass واقرأ وحدة التحكم بحثًا عن أخطاء.
يُنزّل اللاعبون إضافتك من الخادم، لا من حاسوبك. وطريقة سريعة لتجنيبهم تثبيت كل تعديلاتك يدويًا هي مجموعة Workshop أو أسطر resource.AddWorkshop في ملف Lua الخاص بالخادم. يجب أن تُنشر إضافتك في Workshop أولًا، لأن resource.AddWorkshop يأخذ معرّف عنصر منشور. انشر المحتوى المسموح به فقط. اطلب من الوكيل إضافة الأسطر بواسطة edit_file وراجع الـ diff. وإذا لم تُنزَّل إضافات Workshop عند لاعب على خادم الاختبار الخاص بك في GMod، فابحث أولًا بـ grep عن resource.AddWorkshop. ثم أعد تشغيل الخادم وادخل لاعبًا لترى التنزيل.