Editable Entities

Bir varlık düzenlenebilir hale getirmek düşündüğünüzden çok daha kolaydır. Bir varlığı sandbox modunda gerçek zamanlı olarak düzenlemek için (veya etkinleştirildiği takdirde kendi oyun modunuzda), sadece C ( bağlam menüsünü tutarak) ve varlık üzerinde sağ tıklayın. Bir alt menü görünür ve özellikleri seçmek aşağıdaki gibi bir pencere gösterecektir.

Düzenlenebilir olarak işaretleyin .

Yapmamız gereken ilk şey onu düzenlenebilir olarak işaretlemektir.

ENT.Editable = true

Yeterince basit mi?

Veriler Tabloları

Büyünün geri kalanı orada olur .ENT:SetupDataTables- umarım ağ değişkenlerinizi varlıklarınız için zaten tanımlıyorsunuzdur.

function ENT:SetupDataTables() self:NetworkVar( "Float", 0, "FogStart" ) self:NetworkVar( "Float", 1, "FogEnd" ) self:NetworkVar( "Float", 2, "Density" ) self:NetworkVar( "Vector", 0, "FogColor" ) end
Tablonun müşteri tarafında da oluşturulduğundan emin olun, aksi takdirde seçenekler müşteri için görünür olmayacaktır.

Yani yapmanız gereken tek şey bunlardan her birinin sonuna seçenekler eklemek.

function ENT:SetupDataTables() self:NetworkVar( "Float", 0, "FogStart", { KeyName = "fogstart", Edit = { type = "Float", order = 1, min = 0, max = 1000000 } } ) self:NetworkVar( "Float", 1, "FogEnd", { KeyName = "fogend", Edit = { type = "Float", order = 2, min = 0, max = 1000000 } } ) self:NetworkVar( "Float", 2, "Density", { KeyName = "density", Edit = { type = "Float", order = 3, min = 0, max = 1 } } ) self:NetworkVar( "Vector", 0, "FogColor", { KeyName = "fogcolor", Edit = { type = "VectorColor", order = 4 } } ) end

Bu biraz karmaşık görünebilir, ama gerçekten basit.

Bir masamız var:

Anahtar Adı

Bu, bu değişkenin anahtar-değer adını tanımlar. Ağlı varyasyon değişkenlerini yönetmek için Source'daki standart yol budur ve düzenlemenin çalışması için gereklidir. Bir bonus olarak, harita yapımcılarının varyasyonunuzu içeren haritalar oluşturmalarını ve bu değişiklikleri Hammer I / O'dan doğrudan ayarlamalarını sağlar.

Düzenle

Bu, bu değişkenin nasıl düzenleneceğini açıklayan bir alt tablo. Bu tablonun gerçek içeriği her değişken türüyle farklıdır ve aşağıda tanımlanmıştır.

Tipler

Bu değişkenler tüm "edit türleri" arasında paylaşıldı:

  • title- bir string - kontrolün sol tarafında gösterilen başlık. Eğer ayarlanmazsa, öntanımlı olarak kontrol adına girer. Bu her öğe için benzersiz olmalıdır.
  • order- bir sayı - önce en düşük siparişleri gösterir.
  • category- a string - kontroller kategorilere göre gruplandırılır (default to General)
  • readonly- içerikleri sadece okunur değer olarak initialize eden bir boolean, kopyalanabilir, ancak değiştirilmez.

Genel ilaçlar

Basit bir mesaj kutusu.

  • waitforenter- Boolean, kullanıcının türleri olarak değer gerçek zamanlı olarak güncellenmeli mi, yoksa sadece girin basıldığında mı.false)

Boolean

Bu tip basit bir kontrol kutusudur. Paylaşılan değerlerden başka herhangi bir ayar yok.

Dönüştürme

Bu, müşteriye numara kaydırıcı sağlar.

  • min- Asgari değer (default to 0)
  • max- Maksimum değer (default to 1)

Int

Aynı Dalga geçiyorAma sadece tam sayıları seçmenizi sağlar.

VectorColor

Bu, müşteriye bir renk seçeneği sağlar - bu bir vektörle temsil edilir. Her renk bileşeninin aralığı 0-1 arasındadır.

Kombo

Bu bir ComboBox.

  • text- Öntanımlı seçim.Select...)
  • values- ComboBox'daki mevcut seçeneklerin anahtar/değer tablosu. Anahtarlar tanımlayıcı dilimidir, değerler ilişkili gerçek değerlerdir. Gereklidir.

Haklar

Değişken Düzenle

Değişebilir EditVariableBir değişken düzenlenmeden önce sunucu tarafı olarak adlandırılır. Burada geçerliliği için kontroller ekleyebilir ve gerekirse düzenlemeyi durdurabilirsiniz.

DeğişkenEdit

DeğişkenEditBir Entite'nin değişkeninin düzenlenmesinden sonra server tarafı olarak adlandırılır.

Gelişmiş

Özellik düzenleyicileri modülerdir ve lua/vgui/- her biri ile başlıyor.prop_*

Bu dosyalara bakarak kendinizi yaratmak oldukça basit olmalı.

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord