Oyun Modu Oluşturma
Oyun Modu İçeriği
Haritalar, modeller ve sesler gibi oyun modu içerikleri gamemodes/content/ klasörüne yerleştirilmelidir. (ör. gamemodes/content/models/..).
Oyun Modu Klasörü
Yeni bir oyun modu oluşturmak için gamemodes klasöründe yeni bir klasör oluşturmanız gerekir. Klasör, oyun modunuzun adını almalıdır. Bu klasörün içinde, klasörünüzle aynı ada sahip bir metin dosyası olmalıdır.
Örneğin, oyun modumun adı SuperKillers olsaydı, garrysmod/gamemodes/ içinde superkillers adında bir klasör oluştururdum. Ardından bu klasörün içinde superkillers.txt adında bir metin dosyası oluştururdum.
Garry's Mod'un önceki sürümlerinde bu dosyanın her zaman info.txt olarak adlandırıldığını, ancak Sürüm 13'te içerikteki değişiklikleri yansıtacak şekilde değiştirildiğini unutmayın.
Oyun Modu Metin Dosyası
Oluşturduğunuz .txt dosyası bir keyvalues dosyası olmalıdır.
| anahtar | açıklama |
|---|---|
| title | Oyun modunuzun 'güzel' başlığı. Boşluklar ve büyük harfler içerebilir. |
| maps | Oyun modunuz için harita filtresi. Bu, harita seçicide haritaları doğru şekilde kategorize etmek için kullanılır. Yalnızca haritalar oyun modunuza özgüyse ayarlanmalıdır. |
| category | Oyun modunuzun ait olduğu kategori. Ayrıntılar için aşağıya bakın. |
| menusystem | Bu oyun modunun ana menüden seçilebilir olması gerekiyorsa ekleyin ve 1'e ayarlayın. |
| workshopid | İsteğe bağlı. Oyun modunuz Atölye'de (Workshop) ise, bu dosyanın workshopid'si olmalıdır. (Yükleyene kadar bir workshopid'niz olmayacak - bu yüzden bunu bir güncellemede ayarlamanız gerekecektir) |
| settings | Ayrıntılar için aşağıya bakın. |
Kategori
Oyun modunuz aşağıdaki seçeneklerden yalnızca bir kategoriye sahip olabilir:
rp- Rol Yapma (Roleplay) - Oyun modunuz Rol Yapma unsurları içerir. Oyun modunuzun adında "RP" varsa, bu kategori tam size göre.pvp- Oyun modunuz çoğunlukla Oyuncuya Karşı Oyuncu (Player versus Player) savaşına dayanır; bu bir rekabet veya sadece bir nişancı (shooter) oyun modu olabilir.pve- Oyun modunuz daha çok hayatta kalma (survival) veya senaryo (campaign) oyun modları gibi Oyuncuya Karşı Çevre (Player versus Environment) savaşına dayanır. Bu, PvP'yi dışlamaz.other- Oyun modunuz, örneğin sandbox veya takılma (hangout) türü oyun modları gibi yukarıdaki kategorilerden hiçbirine uymuyor.
Ayarlar
Ayarlar tablosu, oyun modunuz için sunucu yapılandırma convar'ları oluşturmanıza olanak tanır. Tamamen isteğe bağlıdır. Metin dosyanızın bir ayarlar bölümü olmak zorunda değildir.
GMod'un önceki sürümlerinde bu bölümün gamemode/<gamemode>/content/settings/server_settings/ içinde kendi dosyası vardı. Yükleme sürelerini azaltmak için kök klasöre taşındı.
Bu ayarlar GMod'daki ana menüden yapılandırılabilir. Her girişin bir dizi alanı vardır.
| anahtar | açıklama |
|---|---|
| text | Bu convar'ı tanımlamak için oyun içinde gösterilecek metin. |
| help | Convar üzerinde gösterilecek yardım metni (konsolda). |
| type | Text, CheckBox veya Numeric'ten biri. Bunlar büyük/küçük harfe duyarlıdır! |
| default | Convar için varsayılan değer. |
| singleplayer | Bu convar'ın tek oyunculu modda görünüp görünmeyeceği, sadece bu anahtarın var olması onu etkinleştirir, değerinin ne olduğu önemli değildir. |
| replicate | Bu convar'ın istemcilere otomatik olarak kopyalanıp (ağ üzerinden gönderilip) gönderilmeyeceği. Varsayılan değer 1'dir. |
| dontcreate | Bu convar'ın oluşturulmaması, ancak yine de kullanıcı arayüzünde listelenmesi gerekip gerekmediği. Motor (engine) convar'ları için kullanışlıdır. Varsayılan değer 0'dır. |
Menü Arka Plan Resimleri
Oyun modunuza arka planlar eklemek istiyorsanız bunları gamemodes/<yourgamemode>/backgrounds/ klasörüne yerleştirin. Hepsi jpg formatında resimler olmalıdır.
Menü Logo Resmi
Bir menü logo resmi sağlamak için gamemodes/<yourgamemode>/logo.png konumuna bir .png dosyası yerleştirin. Bu resim 128 piksel yüksekliğinde ve 1024 piksele kadar genişlikte olmalıdır. Varsayılan logo 288 x 128 boyutundadır.
Menü İkonu
Bir menü ikonu sağlamak için gamemodes/<yourgamemode>/icon24.png konumuna bir .png dosyası yerleştirin. Bu resim ideal olarak 24x24 piksel olmalıdır ancak 32x32'ye kadar olabilir. Sunucu listesi ikonları 24x24 olarak gösterirken oyun modu seçimi 32x32 kullanır. İşte görüneceği yer:

Init ve Shared Dosyaları
Oyun modunuzun düzgün çalışması için üç dosya gereklidir. Bunlar <gamemode>/gamemode/ klasörünüze yerleştirilir.
Lütfen unutmayın, aşağıdaki örnekte shared.lua kullanıyor olsak da, bu tamamen isteğe bağlıdır. init.lua ve cl_init.lua ise zorunludur!
init.lua
Bu dosya, sunucu oyun modunu yüklediğinde çağrılır. Aşağıdaki örnek, kaynak sistemine iki dosyayı istemciye göndermesini söyler ve ardından shared.lua dosyasını yükler.
shared.lua
Bu dosya bazı ortak değişkenleri ayarlar ve Initialize fonksiyonunu oluşturur. Bu, tanımlamanız GEREKEN tek fonksiyondur. Diğer hepsi temel oyun modundan çağrılacaktır.
cl_init.lua
Bu dosya, istemci oyun modunu yüklediğinde çağrılır. İstemciye özgü şeyleri buraya koyarsınız. shared.lua dosyasını yüklüyoruz. Unutmayın ki burada yalnızca sunucuda AddCSLuaFile ile kaydedilmiş dosyaları include edebilirsiniz.
GAMEMODE.FolderName
Bu, çalıştırılan oyun modunun mevcut klasör adını döndürecek bir değişkendir.
Örneğin, Trouble In Terrorist Town oyun modunu oynuyorsanız bu değişken terrortown'a eşit olacaktır.
Oyun Modlarını Türetme
Oyun modunuzu 'base' dışında bir şeyden türetiyorsanız, motora bunu bildirmek için bu fonksiyonu kullanın.
Fonksiyonu hem istemcide hem de sunucuda çağırmalısınız ve shared.lua dosyamız hem cl_init.lua hem de init.lua'dan dahil edildiği için bunu bir kez shared.lua içinde yapabiliriz.
Aşağıdaki örnekte, oyun modumuzu sandbox'tan türettiğimizi varsayalım, bu yüzden bunu shared.lua dosyamıza ekliyoruz; tüm fonksiyon tanımlarının üzerinde bir yer iyi bir seçimdir:
Oyun Modlarını Modlama
Bir oyun modunu düzenlemek istiyor ancak sunucu tarayıcısında farklı bir kategori altında görünmesini istemiyorsanız ve düzenlenmiş sürümün orijinalinin üzerine yazmasını istemiyorsanız, örneğin bir oyun güncellemesinin düzenlemelerinizi geri alabileceği Trouble In Terrorist Town'u düzenleme gibi durumlarda, oyun modunu her zamanki gibi kopyalayabilir ve oyun modunun klasör adına (örneğin terrortown_modded) ve oyun modu klasöründeki .txt dosyasına _modded ekini ekleyebilirsiniz.
Sunucunuzda bunu hala terrortown_modded olarak yüklersiniz, ancak dünyanın geri kalanına terrortown olarak görünür.
Sık Karşılaşılan Hatalar
Oyun modu yükleme hatası: info.Valid
Oyun Modu Metin Dosyanız geçersiz veya bulunamadı.
Oyun modu yükleme hatası: !IsValidGamemode
Oyun, oyun modunuzun cl_init.lua veya init.lua dosyasını bulamadı. Bu dosyaların doğru yerde olduğundan emin olun:
gamemodes/oyunmodunuzunadı/gamemode/init.luagamemodes/oyunmodunuzunadı/gamemode/cl_init.lua
Ölümde oyunun çökmesi/donması
Oyuncuya bir oyuncu modeli (playermodel) atamadınız.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord