duplicator
Duplicator kütüphanesi, birisi kopyalayıcı aracıyla özel varlığınızı kopyalamaya çalıştığında neyin kaydedilmesi gerektiğini belirtmenize olanak tanır. Ayrıca, yerleşik sistemi kullanmak için 3. taraf kopyalayıcı araçları tarafından da kullanılabilir.
Alanlar
table duplicator.BoneModifiers
duplicator.RegisterBoneModifier ile kaydedilmiş tüm varlık kemik düzenleyicilerinin bir listesi.
table duplicator.ConstraintType
Kopyalanabilen tüm kısıtlamaların bir listesi. duplicator.RegisterConstraint ile kaydedilir.
table duplicator.EntityClasses
Özel bir kopyalama oluşturma fonksiyonuna sahip tüm varlık sınıflarının bir listesi. duplicator.RegisterEntityClass ile kaydedilir.
Eğer belirli bir varlık sınıfı tablosu almak isterseniz, duplicator.FindEntityClass kullanın.
table duplicator.EntityModifiers
duplicator.RegisterEntityModifier ile kaydedilmiş tüm varlık düzenleyicilerinin bir listesi.
Metotlar
Verilen sınıf adına sahip varlıkların kopyalanmasına izin verir. Tersi etki için duplicator.Disallow'a bakın.
duplicator.RegisterBoneModifier ile kaydedilen her fonksiyonu, varlığın sahip olduğu her kemik üzerinde çağırır.
duplicator.RegisterEntityModifier ile kaydedilen her fonksiyonu varlık üzerinde çağırır.
Seçilen varlık düzenleyicisini varlıktan temizler/kaldırır.
Varlığı ve tüm kısıtlamalarını ve varlıklarını kopyalar, ardından bunları bir tablo içinde döndürür.
Daha sonra kaydetmek için iletilen varlık tablosunu kopyalar.
duplicator.CreateEntityFromTable ile yeni bir varlık oluşturmak için kullanılabilecek bazı varlık verilerini içeren bir tablo döndürür.
Bu dahili olarak kullanılır - kullanabilseniz de muhtemelen kullanmamalısınız.
Kaydedilmiş/kopyalanmış bir kısıtlama tablosundan bir kısıtlama oluşturur.
"Bir tablodan bir varlık oluşturun. "
Bu, EntTable'daki verileri kullanarak bir varlık oluşturur.
Varlığın Sınıfı için bir varlık fabrikası kaydedilmişse, o çağrılır.
Aksi takdirde, bunun yerine duplicator.GenericDuplicatorFunction çağrılır.
Bu varlığın kopyalanmasını engeller. duplicator.Allow'ın tersidir.
Varsayılan olarak, tüm sınıfların kopyalanması engellenmiştir. Bu fonksiyon, daha önce izin verilmiş olabilecek belirli varlık sınıflarının kopyalanmasını geçici olarak devre dışı bırakmak için kullanışlıdır.
"Kemiğin verilerini geri yükler. "
Bones içinde döngü kurar ve sırasıyla tablo anahtarları ve s, a ve p alt tablo değerleri ile ent üzerinde Entity:ManipulateBoneScale, Entity:ManipulateBoneAngles ve Entity:ManipulateBonePosition fonksiyonlarını çağırır.
Entity:SetFlexWeight ve Entity:SetFlexScale kullanarak flex verilerini geri yükler.
"Veri tablosundan ent için genel, gündelik varlık işlerini uygular. "
Veri tablosundaki Model, Angle, Pos, Skin, Flex, Bonemanip, ModelScale, ColGroup, Name ve BodyG (birden çok değer içeren tablo) değerlerine bağlı olarak, bu fonksiyon ent üzerinde Entity:SetModel, Entity:SetAngles, Entity:SetPos, Entity:SetSkin, duplicator.DoFlex, duplicator.DoBoneManipulator, Entity:SetModelScale, Entity:SetCollisionGroup, Entity:SetName, Entity:SetBodygroup fonksiyonlarını çağırır.
Eğer ent bir RestoreNetworkVars fonksiyonuna sahipse, bu fonksiyon data.DT ile çağrılır.
"Kemik verilerini genel olarak uygular. "
Eğer veri bir PhysicsObjects tablosu içeriyorsa, belirtilen tüm kemikleri önce yerel koordinatlardan dünya koordinatlarına dönüştürerek taşır, yeniden açılandırır ve ilgiliyse dondurur.
duplicator.FigureOutRequiredAddons( table dupe )
Verilen kopyalama tablosunu kontrol eder ve kopyalamayı doğru bir şekilde oluşturmak için gerekebilecek eklentileri bulmaya çalışır. Şu anda bu, kopyalamada kaydedilen modeller ve materyal geçersiz kılmaları ile sınırlıdır.
duplicator.RegisterEntityClass ile kaydedilmiş varlık sınıfı fabrikasını döndürür.
"Eşyaları kopyalamak için genel fonksiyon"
Bu, duplicator.CreateEntityFromTable'ın inşa edilecek bir varlık fabrikası bulamadığında çağrılır. Model ve pozisyon gibi standart kopyalayıcıda saklanan şeyleri uygulamak için duplicator.DoGeneric ve duplicator.DoGenericPhysics'i çağırır.
table, table duplicator.GetAllConstrainedEntitiesAndConstraints( Entity ent, table entStorageTable, table constraintStorageTable )
Bu dahili olarak kullanılır - kullanabilseniz de muhtemelen kullanmamalısınız.
entStorageTable'ı kısıtlamalarla bağlı bir gruptaki tüm varlıklarla doldurur. constraintStorageTable'ı grubu kısıtlayan tüm kısıtlamalarla doldurur.
"Verilen varlık listesi ve kısıtlama listesi ile tüm varlıkları oluşturun ve tablolarını döndürün"
EntityList'in her bir alt tablosunda duplicator.CreateEntityFromTable'ı çağırır. Eğer bir varlık gerçekten oluşturulursa, varlığın kopyalayıcı verileriyle ENTITY:OnDuplicated'ı, ardından duplicator.ApplyEntityModifiers, duplicator.ApplyBoneModifiers'ı ve son olarak ENTITY:PostEntityPaste'i çağırır.
Kısıtlamalar daha sonra duplicator.CreateConstraintFromTable ile oluşturulur.
duplicator.ApplyBoneModifiers çağrıldığında bir varlığın her kemiği üzerinde çağrılacak bir fonksiyon kaydeder.
Bu fonksiyon istemcide çağrılabilir, ancak kaydedilen fonksiyonlar hiçbir yerde kullanılmaz!
Kopyalanmış bir kısıtlama oluşturmak için kullanılan bir fonksiyonu kaydeder.
Bu, SENT'iniz kopyalayıcı ile yapıştırıldığında, genel otomatik fonksiyonlara güvenmek yerine çalıştırılacak belirli bir fonksiyon belirtmenize olanak tanır.
Varlık sınıfı için otomatik olarak duplicator.Allow'u çağırır.
Bu, varlıklara yönelik ince ayarları kaydetmenizi sağlar. Örneğin, bir "kırılmaz" eklentisi yapıyorsanız, varlıkların "kırılmaz" durumunu kopyalamalar arasında kaydetmeyi etkinleştirmek için bunu kullanırsınız.
Bu fonksiyon, bu düzenleyiciye sahip tüm varlıklarda çalışan genel bir kod parçası kaydeder. Gerçekten çalışmasını sağlamak için duplicator.StoreEntityModifier'ı kullanın.
Bu fonksiyon istemci tarafında çalıştırıldığında hiçbir şey yapmaz.
duplicator.RemoveMapCreatedEntities()
Kaydedilmiş varlıkları oluşturmadan önce harita tarafından oluşturulan belirli varlıkları kaldırmaya yardımcı olur.
Bu, açıkçası her yerde yinelenen proplar elde etmememiz içindir.
Paste çağrılmadan önce çağrılmalıdır.
duplicator.SetLocalAng( Angle v )
"Bir kopya kopyalandığında, bunlara göre çevrilecektir.
Eğer bunları ayarlarsanız - onları tekrar 0 0 0'a ayarladığınızdan emin olun!"
duplicator.SetLocalPos( Vector v )
"Bir kopya kopyalandığında, bunlara göre çevrilecektir.
Eğer bunları ayarlarsanız - onları tekrar 0 0 0'a ayarladığınızdan emin olun!"
Kaydedilmiş bir kemik modifikasyon fonksiyonu için kemik modu verilerini saklar.
Kaydetmek için bir varlık düzenleyicisini bir varlığa saklar.
Kopyalamanın AABB boyutunu hesaplar.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord