CCodelab Station
İş akışları

GMod addon nasıl yapılır, adım adım

03
İlk addon

Baştan sona bir sohbet komutu addon'u

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.

01

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ç.

02

Görevi anlat

Addon'un ne yapacağını sade sözlerle yaz; örneğin !hello sohbet komutuna oyuncunun adıyla yanıt versin.

03

Diff'i incele

Ask first modunda çalış. sv_welcome.lua için dosya kartını ve diff'i oku, sonra Accept ya da Reject'e bas.

04

Oyunda test et

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.

Ajanın yazdığı dosya

lua/autorun/server/sv_welcome.lua
-- 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.

İlk addon'dan sonraki adımlar

Sıradaki adım: scripted weapon ekle

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.

Addon'unu yayımla ve oyunculara sun

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.

Windows için Codelab Station

İlk addon'unu yap

Codelab Station'ı indir ↗