constraint

Kısıtlama (constraint) kütüphanesi, fizik motoruna entegre edilmiş kısıtlama sistemini (ip, kaynak, bilyeli mafsal vb.) kontrol etmenizi sağlar.

Metotlar

constraint.AddConstraintTable( Entity ent1, Entity constrt, Entity ent2 = nil, Entity ent3 = nil, Entity ent4 = nil )
Bu, dahili olarak kullanılır - kullanabilmenize rağmen muhtemelen kullanmamalısınız. Bir varlığın tablosunda kısıtlamalar hakkında bilgi depolar.
constraint.AddConstraintTableNoDelete( Entity ent1, Entity constrt, Entity ent2 = nil, Entity ent3 = nil, Entity ent4 = nil )
Bu, dahili olarak kullanılır - kullanabilmenize rağmen muhtemelen kullanmamalısınız. Varlığın tablosunda kısıtlamalar hakkında bilgi depolar. Bununla constraint.AddConstraintTable arasındaki tek fark, varlık kaldırıldığında kısıtlamanın silinmemesidir.
Entity constraint.AdvBallsocket( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2 = nil, number forceLimit = 0, number torqueLimit = 0, number xMin, number yMin, number zMin, number xMax, number yMax, number zMax, number xFric = 0, number yFric = 0, number zFric = 0, number onlyRotation = 0, number noCollide = 0 )
Gelişmiş bir bilyeli mafsal (ragdoll) kısıtlaması oluşturur. Daha basit versiyonu için constraint.Ballsocket'a bakın.
Entity constraint.Axis( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number forceLimit = 0, number torqueLimit = 0, number friction = 0, number noCollide = 0, Vector localAxis = nil, boolean dontAddTable = false )
Bir eksen kısıtlaması oluşturur.
Entity constraint.Ballsocket( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos, number forcelimit = 0, number torquelimit = 0, number nocollide = 0 )
Bir bilyeli mafsal eklemi oluşturur. Dönme açılarını da bir şekilde sınırlamak isterseniz constraint.AdvBallsocket'a bakın.
boolean constraint.CanConstrain( Entity ent, number bone )
Belirtilen varlığın ve kemiğin geçerli olduğundan emin olmak için temel kontroller yapar. Varlığı kısıtlamamamız gerekiyorsa false döndürür.
Entity constraint.CreateKeyframeRope( Vector pos, number width, string material = nil, Entity constraint = nil, Entity ent1, Vector localPos1, number bone1, Entity ent2, Vector localPos2, number bone2, table keyValues = nil )
Herhangi bir kısıtlama olmadan bir ip oluşturur.
Dünyada, nesnelerin bağlanabileceği görünmez, hareket etmeyen bir çapa noktası oluşturur. Bu fonksiyon tarafından dahili olarak kullanılan varlık (gmod_anchor) yalnızca Sandbox türevi oyun modlarında mevcuttur, bu da bu fonksiyonun yalnızca bu oyun modlarında çalışacağı anlamına gelir. Bunu diğer oyun modlarında kullanmak için kendi gmod_anchor varlığınızı oluşturmanız gerekebilir.
Entity, Entity constraint.Elastic( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number constant, number damping, number relDamping, string material = "", number width, boolean stretchOnly = false, table color = color_white )
Elastik bir ip kısıtlaması oluşturur.
Entity constraint.Find( Entity ent1, Entity ent2, string type, number bone1, number bone2 )
Mevcutsa, iki varlık arasındaki belirtilen türde bir kısıtlamayı döndürür.
table constraint.FindConstraint( Entity ent, string type )
Bulunan varlığa doğrudan bağlı belirli bir türdeki ilk kısıtlamayı döndürür.
Entity constraint.FindConstraintEntity( Entity ent, string type )
Varlığa doğrudan bağlı belirli bir türdeki ilk kısıtlamada yer alan diğer varlığı döndürür.
table constraint.FindConstraints( Entity ent, string type )
Varlığa doğrudan bağlı belirli bir türdeki tüm kısıtlamaların bir tablosunu döndürür. Tüm kısıtlamaların bir listesini arıyorsanız, constraint.GetTable'ı kullanın.
constraint.ForgetConstraints( Entity ent )
Bu varlığın bildiği tüm kısıtlamaları unutmasını sağlar. Unutmayın ki bu, kısıtlamaları gerçekten kaldırmaz.
table constraint.GetAllConstrainedEntities( Entity ent, table resultTable = nil )
Bir varlığa özyinelemeli olarak kısıtlanmış tüm varlıkların bir tablosunu döndürür.
table constraint.GetTable( Entity ent )
Varlığa doğrudan bağlı tüm kısıtlamaların bir tablosunu döndürür. Belirli kısıtlama(lar)ın bir listesini arıyorsanız, constraint.FindConstraints'ı kullanın.
boolean constraint.HasConstraints( Entity ent )
Varlığa bağlı kısıtlamalar varsa true döndürür.
Entity, Entity, Entity, Entity constraint.Hydraulic( Player player, Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number length1, number length2, number width, number key, number slider, number speed, string material = "", boolean toggle = true, table color = color_white )
Kontrol edilebilir bir kısıtlama oluşturur. Elastik, yani bir Hidrolik kısıtlaması.
Entity constraint.Keepupright( Entity ent, Angle ang, number bone, number angularLimit )
Bir dik tutma kısıtlaması oluşturur.
Entity, Entity constraint.Motor( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number friction, number torque, number forcetime, number nocollide = 0, number toggle = false, Player player = NULL, number forcelimit = 0, number key_fwd = nil, number key_bwd = nil, number direction = 1, Vector localAxis = nil )
Bir motor kısıtlaması, yani oyuncu tarafından kontrol edilebilen bir Eksen kısıtlaması oluşturur.
Entity, Entity, Entity, Entity constraint.Muscle( Player player, Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number length1, number length2, number width, number key, number fixed, number period, number amplitude, boolean startOn = false, string material = "", table color = color_white )
Bir kas (muscle) kısıtlaması oluşturur. constraint.Hydraulic'e çok benzer, ancak tamamen genişlemiş ve büzülmüş durumlar arasında geçiş yapmak yerine, etkinleştirildiğinde sürekli olarak 2 durum arasında geçiş yapar.
Entity constraint.NoCollide( Entity ent1, Entity ent2, number bone1, number bone2, boolean disableOnRemove = false )
Bir çarpışmasızlık "kısıtlaması" oluşturur. İki varlık arasındaki çarpışmayı devre dışı bırakır. Oyuncularla çalışmaz.
Entity, Entity, Entity, Entity constraint.Pulley( Entity ent1, Entity ent4, number bone1, number bone4, Vector localPos1, Vector localPos4, Vector worldPos2, Vector worldPos3, number forceLimit, boolean rigid = false, number width, string material = "", table color = color_white )
Bir makara kısıtlaması oluşturur. 3 ip segmentinden oluşur, bunlardan 2'si değişken uzunluktadır ve görsel olarak bir 3. tarafından bağlanır. Bir ucun uzunluğunu azaltmak, diğer ucun uzunluğunu artıracaktır. Makarayı şu şekilde görselleştirebilirsiniz: WPos2 --- WPos3 | | | | Ent1 Ent4
boolean, number constraint.RemoveAll( Entity ent )
Bir varlıkla ilişkili tüm kısıtlamaları kaldırmaya çalışır.
boolean, number constraint.RemoveConstraints( Entity ent, string type )
Bir varlıkla ilişkili belirli bir türdeki tüm kısıtlamaları kaldırmaya çalışır.
Entity, Entity constraint.Rope( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number length, number addLength = 0, number forceLimit = 0, number width, string material = "", boolean rigid = false, table color = color_white )
Basit bir ip (uzunluk) tabanlı kısıtlama oluşturur.
Entity, Entity constraint.Slider( Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number width, string material = "", table color = color_white )
Bir kaydırıcı (slider) kısıtlaması oluşturur. Kaydırıcı bir ip gibidir, ancak kısıtlanmış nesnenin yalnızca 1 yönde hareket etmesine izin verir.
Entity constraint.Weld( Entity ent1, Entity ent2, number bone1, number bone2, number forceLimit = 0, boolean noCollide = false, boolean deleteEnt1OnBreak = false )
Bir kaynak (weld) kısıtlaması oluşturur.
Entity, Entity, Entity constraint.Winch( Player player, Entity ent1, Entity ent2, number bone1, number bone2, Vector localPos1, Vector localPos2, number width, number fwdBind, number bwdBind, number fwdSpeed, number bwdSpeed, string material = "", boolean toggle = false, table color = color_white )
Bir vinç (winch) kısıtlaması, yani oyuncu tarafından kontrol edilebilen bir kısıtlama oluşturur. Elastiktir ve uzunluğun kademeli olarak artırılmasına veya azaltılmasına olanak tanır.

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