Addon klasörünü aç
Önce garrysmod/addons/welcome klasörünü kendin oluştur, sonra bu klasörü çalışma klasörü olarak seç.
Kendi sunucunda !hello sohbet komutu, en küçük işe yarar addon'dur. Tek bir sunucu tarafı dosyada düz GMod Lua betiği yazmaktır ve GMod addon'unun boş bir klasörden test edilmiş sonuca nasıl gittiğini gösterir. Ajan yazar. Sen incelersin.
Önce garrysmod/addons/welcome klasörünü kendin oluştur, sonra bu klasörü çalışma klasörü olarak seç.
Addon'un ne yapacağını sade sözlerle yaz; örneğin !hello sohbet komutuna oyuncunun adıyla yanıt versin.
Ask first modunda çalış. sv_welcome.lua için dosya kartını ve diff'i oku, sonra Accept ya da Reject'e bas.
Yerel bir test sunucusunda çok oyunculu oyun başlat, katıl, komutu sohbete yaz ve işi bitmiş saymadan önce konsolda Lua hatalarını oku.
lua/autorun/serveroluşturuldulua/autorun/server/sv_welcome.luakaydedildilua/autorun/server/sv_welcome.lua12 satırPlayerSay1 eşleşmeyour 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)Yalnızca sunucu tarafı. hook.Add bir fonksiyonu PlayerSay'e bağlar, string.lower eşleşmenin büyük harfleri yok saymasını sağlar, ChatPrint selamı o oyuncuya gösterir ve boş dize yazılan komutu sohbetten gizler.
Sıradaki adımda bir scripted weapon ekle. Silahlar lua/weapons/ içinde durur; ajandan orada tek bir dosya oluşturmasını ve ayarladığı her alanı açıklamasını iste. Örneğin elle kurulan bir topçu ve havan modu scripted weapon da olabilir scripted entity de; davranışını sade sözlerle anlatırsın. Ajan yeni dosya için write_file, sınıf adının nerede geçtiğini göstermek için grep, test komutun için Shell kullanır. Plan only modu, herhangi bir şey kaydedilmeden önce her dosyayı listeler. Sonra onu gm_flatgrass'ta spawn et ve hatalar için konsolu oku.
Oyuncular addon'unu PC'nden değil, sunucudan indirir. Tüm modlarını elle kurdurmaktan kurtarmanın hızlı yolu bir Workshop koleksiyonu ya da sunucu Lua dosyasında resource.AddWorkshop satırlarıdır. Kendi addon'un önce Workshop'ta yayımlanmış olmalı, çünkü resource.AddWorkshop yayımlanmış bir öğenin kimliğini alır. Yalnızca izin verilen içeriği yayımla. Ajandan satırları edit_file ile eklemesini iste ve diff'i incele. GMod test sunucunda bir oyuncu için Workshop addon'ları inmiyorsa önce resource.AddWorkshop için grep yap. Sonra sunucuyu yeniden başlat ve indirmeyi görmek için oyuncu olarak katıl.