Varlık Sürme
Entity sürüşü, diğer entity'leri kontrol etmenizi sağlar. Bu sadece arabalarla sınırlı değildir, istediğiniz herhangi bir hareket türü olabilir. Etrafta yuvarlanan basit bir top, noclip, bir helikopter, bir köpek olabilir. Hatta hareket etmek zorunda bile değil. Kontrol edebileceğiniz her şey olabilir.
Sürüş Sınıfı (The Drive Class)
Bir sürüş sınıfı, basitçe bir fonksiyonlar tablosudur. Sürüş sınıfları hem istemci hem de sunucu tarafında bulunur ve tamamen tahmin edilir (fully predicted) - bu da sürüş deneyiminin çok oyunculu modda tek oyunculu moddakiyle aynı hissettirdiği anlamına gelir. Hoş ve tepkisel.
Basit bir Sürüş Sınıfı
İşte basit bir sürüş sınıfı
Bu karmaşık görünebilir ama aslında oldukça basittir. Size hız tabanlı basit bir noclip modu verir.
Dikkat edilmesi gereken bazı şeyler var. Sürüş modunuzu kaydederken bunları sırayla kaydetmelisiniz. Bu, eğer modunuzu bir sınıftan türetiyorsanız, önce o sınıfı kaydetmeniz gerektiği anlamına gelir.
Oyuncuyu Sürüş Moduna Geçirme
Oyuncunun sürüşe başlamasını sağlamak için, sunucuda şunu çağırın
örneğin
Sürüşü durdurmak için şunu çağırabilirsiniz
Veya eğer sürüş sınıfının içindeyseniz şunu çağırabilirsiniz
Örnek
Daha ayrıntılı bir örnek için lua/drive/drive_sandbox.lua dosyasına bakabilirsiniz. Bu, Sandbox modunda entity'leri sürmek için kullanılan sürüş modudur.
lua/drive/drive_base.lua dosyasına da göz atmaya değer - çünkü bu, tüm varsayılan sürüş modları tarafından paylaşılan ortak temeldir ve tüm eklenebilir (hookable) fonksiyonları gösterir.
İç Yapı (Internals)
Sınıf bir kez oluşturulur ve önbelleğe alınır. Sunucuda, bu nesnenin sürüş süresince kalacağı neredeyse garantidir - bu yüzden üzerinde değişkenleri saklamak güvenlidir. Ancak istemcide, eğer gecikme (lag) veya tahmin hataları olursa - nesnenin yeniden oluşturulması mümkündür.
Kontrol eden oyuncu ve entity, her fonksiyona parametre olarak geçilmez çünkü nesnenin kendisinde kayıtlıdırlar. Onlara şunlar aracılığıyla erişilebilir:
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord