Oyuncu Sınıfları
Oyuncu sınıfları (player class) çalışma zamanında değiştirilebilir ve takas edilebilir. Oyuncunun hızı, boyu, doğarken sahip olduğu silahlar, öldüğünde ne olacağı, doğduğunda ne olacağı gibi şeyleri değiştirirler.
Bir Team Fortress 2 oyun modu hayal edin. Scout'un HWG'den daha hızlı koşmasını istersiniz. Bu yüzden onlar için farklı sınıflar tasarlarsınız. Bir oyuncu doğduğunda onun sınıfını ayarlarsınız ve o oyuncu bu niteliklere sahip olur.
Oyuncu sınıfları türetilebilir (derived). Böylece oyun modunuz tüm oyuncularınız için ortak bir sınıf tanımlayabilir ve buradan farklı sınıflar türetebilir.
Varsayılan alanların bir listesini burada bulabilirsiniz.
Neden
Geleneksel olarak, oyun modunuzda bunu yapmak isteseydiniz ya buna benzer bir sistem kodlardınız ya da spawn fonksiyonlarınızda bir sürü if/else bloğu ile karşılaşırdınız.
Bu sistem, süreci birleşik ve nesne yönelimli hale getirerek bu karmaşayı ortadan kaldırır.
Bir oyuncunun sınıfını ayarlama
Bir oyuncunun sınıfını ayarlamak kolayca yapılır. Bunu yalnızca sunucu tarafında (serverside) yapmanız gerekir.
Bu genellikle PlayerSpawn oyun modu kancasında (hook) yapılır - ancak istediğiniz herhangi bir yerde çağırabilirsiniz.
Bir Oyuncu Sınıfı
Oyuncu sınıfının kendisi çok fazla yoruma ihtiyaç duymaz. Çoğunlukla kendi kendini açıklayıcı olmalıdır.
Aşağıdaki sınıf, "player_default" sınıfından türetilen "player_custom" adında yeni bir oyuncu sınıfı oluşturur. Oyuncu bir tabanca ile doğar.
Bu oyuncu sınıfı dosyaları genellikle `gamemode/player_class/` dizininde bulunur ve otomatik olarak yüklenmezler. Onları oyun modunuzun `shared.lua` dosyasında yüklemelisiniz. Ve doğru sırada yüklenmelidirler - böylece temel sınıflar, onlardan türetilen alt sınıflardan önce yüklenir.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord